Block availability map

Last updated

In computer file systems, a block availability map (BAM) [1] [2] [3] [4] [5] is a data structure used to track disk blocks that are considered free (available for new data). It is used along with a directory to manage files on a disk (originally only a floppy disk, and later also a hard disk).

In terms of Commodore DOS (CBM DOS) compatible disk drives, the BAM was a data structure stored in a reserved area of the disk (its size and location varied based on the physical characteristics of the disk). For each track, the BAM consisted of a bitmap of available blocks and (usually) a count of the available blocks. The count was held in a single byte, as all formats had 256 or fewer blocks per track. The count byte was simply the sum of all 1-bits in the bitmap of bytes for the current track.

The following table illustrates the layout of Commodore 1541 BAM. The table would be larger for higher-capacity disks (described below).

Total byteBitmap byte 1Bitmap byte 2Bitmap byte 3
Track 1blocks availableBlocks 0-7Blocks 8-15Blocks 16-23
Track 2blocks availableBlocks 0-7Blocks 8-15Blocks 16-23
...............
Track 35blocks availableBlocks 0-7Blocks 8-15Blocks 16-23

The bitmap was contained in 3 bytes for Commodore 1541 format (single-sided) disks because it had 17 to 20 sectors per track (note 3 bytes can hold at least 20 bits). [6] Similarly, the Commodore 1571 used 3 bytes for the bitmap of each track, but the BAM was twice the size because there were twice as many tracks when formatted as double-sided. [7] In contrast, the Commodore 1581 disk drive used 5 bytes for the bitmap because the disk format had 40 blocks per track (note 5 bytes can hold 40 bits). [8]

In the bitmap of any format, a 1 bit indicated the block was available (free), while a 0 bit indicated the block was not available (used), and the bitmap data was stored low-byte first. So the first byte held a map for blocks 0 to 7, the second byte held a map for blocks 8 to 15, and so on. Within a byte, the bitmap was ordered low-bit first. For example, the first byte would represent block 0 with the least significant bit and block 7 with the most significant bit.

Storage devices by Creative Micro Designs, intended for use with CBM computers, also used a Block Availability Map which served the same purpose. However, these devices (FD-2000, FD-4000, and CMD-HD) did not include a count byte, and the bits in each byte were reversed (high-bit first). Although the bits were reversed (compared to CBM formats), the bytes were still stored in the same order (low-byte first). [9]

Bitmap byte 1Bitmap byte 2...Bitmap byte 32
Track 1Blocks 0-7Blocks 8-15...Blocks 248-255
Track 2Blocks 0-7Blocks 8-15...Blocks 248-255
...............

See also

Related Research Articles

<span class="mw-page-title-main">Commodore 1541</span> External 5¼-inch floppy disk drive for the Commodore C64 homecomputer

The Commodore 1541 is a floppy disk drive which was made by Commodore International for the Commodore 64 (C64), Commodore's most popular home computer. The best-known floppy disk drive for the C64, the 1541 is a single-sided 170-kilobyte drive for 5¼" disks. The 1541 directly followed the Commodore 1540.

<span class="mw-page-title-main">Commodore 1581</span>

The Commodore 1581 is a 3½-inch double-sided double-density floppy disk drive that was released by Commodore Business Machines (CBM) in 1987, primarily for its C64 and C128 home/personal computers. The drive stores 800 kilobytes using an MFM encoding but formats different from the MS-DOS, Amiga, and Mac Plus formats. With special software it's possible to read C1581 disks on an x86 PC system, and likewise, read MS-DOS and other formats of disks in the C1581, provided that the PC or other floppy handles the "720 kB" size format. This capability was most frequently used to read MS-DOS disks. The drive was released in the summer of 1987 and quickly became popular with bulletin board system (BBS) operators and other users.

<span class="mw-page-title-main">Commodore 64</span> 8-bit home computer introduced in 1982

The Commodore 64, also known as the C64, is an 8-bit home computer introduced in January 1982 by Commodore International. It has been listed in the Guinness World Records as the highest-selling single computer model of all time, with independent estimates placing the number sold between 12.5 and 17 million units. Volume production started in early 1982, marketing in August for US$595. Preceded by the VIC-20 and Commodore PET, the C64 took its name from its 64 kilobytes(65,536 bytes) of RAM. With support for multicolor sprites and a custom chip for waveform generation, the C64 could create superior visuals and audio compared to systems without such custom hardware.

<span class="mw-page-title-main">Commodore 1571</span> Floppy disk drive

The Commodore 1571 is Commodore's high-end 5¼" floppy disk drive, announced in the summer of 1985. With its double-sided drive mechanism, it has the ability to use double-sided, double-density (DS/DD) floppy disks, storing a total of 360 kB per floppy. It also implemented a "burst mode" that doubled transfer speeds, helping address the very slow performance of previous Commodore drives.

<span class="mw-page-title-main">Commodore PET</span> Personal computer system

The Commodore PET is a line of personal computers produced starting in 1977 by Commodore International. A single all-in-one case combines a MOS Technology 6502 microprocessor, Commodore BASIC in read-only memory, keyboard, monochrome monitor, and, in early models, a cassette deck.

Commodore BASIC, also known as PET BASIC or CBM-BASIC, is the dialect of the BASIC programming language used in Commodore International's 8-bit home computer line, stretching from the PET (1977) to the Commodore 128 (1985).

<span class="mw-page-title-main">Commodore Datasette</span> Dedicated magnetic tape data storage device

The Commodore 1530 (C2N) Datasette, later also Datassette, is Commodore's dedicated magnetic tape data storage device. Using compact cassettes as the storage medium, it provides inexpensive storage to Commodore's 8-bit computers, including the PET, VIC-20, and Commodore 64. A physically similar model, Commodore 1531, was made for the Commodore 16 and Plus/4 series computers.

<span class="mw-page-title-main">Commodore 65</span> Prototype computer

The Commodore 65 is a prototype computer created at Commodore Business Machines in 1990–1991. It is an improved version of the Commodore 64, and it was meant to be backwards-compatible with the older computer, while still providing a number of advanced features close to those of the Amiga.

<span class="mw-page-title-main">Commodore DOS</span>

Commodore DOS, also known as CBM DOS, is the disk operating system used with Commodore's 8-bit computers. Unlike most other DOSes, which are loaded from disk into the computer's own RAM and executed there, CBM DOS is executed internally in the drive: the DOS resides in ROM chips inside the drive, and is run there by one or more dedicated MOS 6502 family CPUs. Thus, data transfer between Commodore 8-bit computers and their disk drives more closely resembles a local area network connection than typical disk/host transfers.

<span class="mw-page-title-main">Commodore 4040</span>

The Commodore 4040 is the replacement for the previous models 2040 (U.S.) and 3040 (Europe). It's a dual-drive 5¼" floppy disk subsystem for Commodore Business Machines. It uses a wide-case form, and uses the parallel IEEE-488 interface common to Commodore PET/CBM computers.

<span class="mw-page-title-main">Commodore 8050</span>

The Commodore 8050, Commodore 8250, and Commodore SFD-1001 are 5¼-inch floppy disk drives manufactured by Commodore International, primarily for its 8-bit CBM and PET series of computers. The drives offered improved storage capacities over previous Commodore drive models.

<span class="mw-page-title-main">Commodore 64 peripherals</span>

The Commodore 64 home computer used various external peripherals. Due to the backwards compatibility of the Commodore 128, most peripherals would also work on that system. There is also some compatibility with the VIC-20 and Commodore PET.

<span class="mw-page-title-main">MSD Super Disk</span>

The MSD Super Disk were a series of 5¼-inch floppy disk drives compatible to some degree with the Commodore 1541 disk drive. produced by Micro Systems Development for use with Commodore 8-bit home computers. Two different versions of the MSD Super Disk were available: the single-drive model, SD-1; and the dual-drive model, SD-2.

The CMD FD series was Creative Micro Designs (CMD)'s range of third-party floppy disk drives for the Commodore 8-bit line of home computers. Using 3½" floppy disks, they provided a significantly larger storage capacity than Commodore-produced drives; the FD-2000 offered 1600 kB of storage using standard double-sided, high-density floppies, while the FD-4000 also allowed the use of 3200 kB extra-high density (ED) floppies. In contrast, the Commodore 1581 3½" drive only supported 800 kB double-sided, double-density disks.

Blue Board is a bulletin board system software created by Martin Sikes (1968–2007) for the Commodore 64 in the 1980s in Vancouver, British Columbia, Canada, and sold worldwide. Due to optimized code and memory allocation, Blue Board boasted very fast performance for a BBS on that hardware platform. In fact, Blue Board was faster than most if not all BBSs run on 8-bit computers. This speed combined with its use of the ASCII character set and XModem file transfer protocol rather than PETSCII and the Commodore-specific Punter protocol sometimes led users to believe that they were calling a BBS running on a much larger and faster computer.

The floppy disk is a data storage and transfer medium that was ubiquitous from the mid-1970s well into the 2000s. Besides the 3½-inch and 5¼-inch formats used in IBM PC compatible systems, or the 8-inch format that preceded them, many proprietary floppy disk formats were developed, either using a different disk design or special layout and encoding methods for the data held on the disk.

Commodore 64 disk/tape emulation and data transfer comprises hardware and software for Commodore 64 disk & tape emulation and for data transfer between either Commodore 64 (C64), Commodore (1541) disk drive or Commodore tape deck and newer computers.

<span class="mw-page-title-main">Commodore D9060</span>

The Commodore D9060/D9090 Hard Disks were the only family of hard drives that Commodore made for both the home and business market. The electronics are identical in the D9060 and the larger D9090 unit; the only difference is the size of the installed hard drive, with a jumper set to distinguish between 4 or 6 disk heads. Originally intended for the metal-cased PET/CBM series of computers, they are compatible with the VIC-20, Commodore 64 and later models with an adapter.

The Commodore 8060, 8061, and 8062 are a series of 8" floppy disk drives developed by Commodore Business Machines. These disk drives use the parallel interface IEEE-488 to connect with Commodore's PET and CBM-II line of microcomputers. The 8060 is a single-disk model, while the 8061 and 8062 are both double-drive models similar to the later Commodore 8280 8" drive. The drives in the 806x series are full-height Shugart SA-800s.

<span class="mw-page-title-main">Commodore bus</span> Serial bus of the home computers series of Commodore

The Commodore serial IEEE-488 bus, is Commodore's interface for primarily magnetic disk data storage and printers for Commodore 8-bit home computers: the VIC-20, Commodore 64, Commodore 128, Plus/4, Commodore 16, and Commodore 65.

References

  1. Englisch, Lothar (1984). The Anatomy of the 1541 Disk Drive. Grand Rapids, MI: Abacus Software. p.  89. ISBN   0-916439-01-1.
  2. 1541 User's Guide. Commodore Business Machines. 1982. p. 9.
  3. 1571 User's Guide. Commodore Business Machines. 1985. p. 23.
  4. 1581 User's Guide. Commodore Business Machines. 1987. p. 34.
  5. FD Series User's Manual. Creative Micro Designs. 1992. p. 108.
  6. 1541 User's Guide. Commodore Business Machines. 1982. p. 65.
  7. 1571 User's Guide. Commodore Business Machines. 1985. pp. 108–109.
  8. 1581 User's Guide. Commodore Business Machines. 1987. pp. 119–120.
  9. FD Series User's Manual. Creative Micro Designs. 1992. pp. 112–114.