Bit nibbler

Last updated

A bit nibbler, or nibbler, is a computer software program designed to copy data from a floppy disk one bit at a time. It functions at a very low level directly interacting with the disk drive hardware to override a copy protection scheme that the floppy disk's data may be stored in. In most cases the nibbler software still analyses the data on a byte level, only looking to the bit level when dealing with synchronization marks (syncs), zero-gaps and other sector & track headers. When possible, nibblers will work with the low-level data encoding format used by the disk system, being Group Coded Recording (GCR - Apple, Commodore), Frequency Modulation (FM - Atari), or Modified Frequency Modulation (MFM - Amiga, Atari, IBM PC).

Contents

Overview

Software piracy began to be a concern when floppy disks became the common storage media. [1] The ease of copying depended on the system; Jerry Pournelle wrote in BYTE in 1983 that "CP/M doesn't lend itself to copy protection" so its users "haven't been too worried" about it, while "Apple users, though, have always had the problem. So have those who used TRS-DOS, and I understand that MS-DOS has copy protection features". [2] Apple and Commodore 64 copy protection schemes were extremely varied and creative because most of the floppy disk reading and writing was controlled by software (or firmware), not by hardware.

Pournelle disliked copy protection and, except for games, refused to review software that used it. He did not believe that it was useful, writing "For every copy protection scheme there's a hacker ready to defeat it. Most involve so-called nybble copiers, which try to analyze the original disk and then make a copy". [2] By 1980, the first 'nibble' copier, Locksmith, was introduced for the Apple II. These copiers reproduced copy protected floppy disks an entire track at a time, ignoring how the sectors were marked. This was harder to do than it sounds for two reasons: firstly, Apple disks did not use the index hole to mark the start of a track; their drives could not even detect the index hole. Tracks could thus start anywhere, but the copied track had to have this "write splice", which always caused some bits to be lost or duplicated due to speed variations, roughly in the same (unused for payload data) place as the original, or it would not work. Secondly, Apple used special "self-sync" bytes to achieve agreement between drive controller and computer about where any byte ended and the next one started on the disk. These bytes were written as normal data bytes followed by a slightly longer than normal pause, which was notoriously unreliable to detect on read-back; still, you had to get the self-sync bytes roughly right as without them being present in the right places, the copy would not work, and with them present in too many places, the track would not fit on the destination disk.

Apple II

Locksmith copied Apple II disks by taking advantage of the fact that these sync fields between sectors almost always consisted of a long string of FF (hex - all '1' bits) bytes. It found the longest string of FFs, which usually occurred between the last and first sectors on each track, and began writing the track in the middle of that; also it assumed that any long string of FF bytes was a sync sequence and introduced the necessary short pauses after writing each of them to the copy. Ironically, Locksmith would not copy itself. The first Locksmith measured the distance between sector 1 of each track. Copy protection engineers quickly figured out what Locksmith was doing and began to use the same technique to defeat it. Locksmith countered by introducing the ability to reproduce track alignment and prevented itself from being copied by embedding a special sequence of nibbles, that if found, would stop the copy process. Henry Roberts (CTO of Nalpeiron), a graduate student in computer science at the University of South Carolina, reverse engineered Locksmith, found the sequence and distributed the information to some of the 7 or 8 people producing copy protection at the time.[ citation needed ]

For some time, Locksmith continued to defeat virtually all of the copy protection systems in existence. The next advance came from Henry Roberts' thesis on software copy protection, which devised a way of replacing Apple’s sync field of FFs with random appearing patterns of bytes. Because the graduate student had frequent copy protection discussions with Apple’s copy protection engineer, Apple developed a copy protection system which made use of this technique. Henry Roberts then wrote a competitive program to Locksmith, Back It UP. He devised several methods for defeating that, and ultimately a method was devised for reading self sync fields directly, regardless of what nibbles they contained. The back and forth struggle between copy protection engineers and nibble copiers continued until the Apple II became obsolete and was replaced by the IBM PC and its clones.

Commodore 64

Part of the Fast Hack'em disk copy software was a nibbler used to produce copies of copy protected Commodore 64 commercial software. When using the nibbler, disk copying was done on a very low level, bit-by-bit rather than using standard Commodore DOS commands. This effectively nullified the efficacy of deliberate disk errors, non-standard track layouts, and related forms of copy prevention. Copying a protected disk took approximately 60 seconds if being copied directly to another disk drive, or 3 minutes (plus several disk swaps) if performed using a single disk drive.

Super Kit/1541 [3] was sold by Prism Software around 1986 written by Joe Peter who also did Wrap Speed and some of the VMax copy protection. It included many different copiers like a Normal Copier, Nibbler, File Copier, Super Nibbler, Disk Surgeon, and disk Editors. There was also parameters on Side-B (see the list below). 2 Drives could also be daisy chained and once programmed the computer itself could be disconnected and let the drives do the copying by checking the disk insertion key in around 20 seconds.

Interesting fact is that the program could make a copy of itself, BUT could not make a copy of the copy because the sync length of the original was shorter than the copy made and the loader checked for this length and the copy would have a much longer sync. V3 was later released to PD by the author.

NIBtools is a modern (circa 2006) open source software that performs the same function, intended mainly for archiving data from old floppies that may be copyright-protected or damaged. [4] Instead of reading bit-by-bit, one can also read many 1.25 KB stretches and then assemble them together in a way akin to shotgun sequencing, an approach necessary for using slow connections on the Commodore 1541. [5]

Rapidlok was a copy protection scheme used widely by many companies and all versions of it never were successfully copied. They used a $00 value in between sectors which caused copiers to become "flaky" as it was an illegal GCR value. [6]

Related Research Articles

Commodore 1541 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.

Commodore 1581

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.

Commodore 1571 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.

Floppy disk Removable disk storage medium

A floppy disk or floppy diskette is a type of disk storage composed of a thin and flexible disk of a magnetic storage medium in a square or nearly square plastic enclosure lined with a fabric that removes dust particles from the spinning disk. Floppy disks store digital data which can be read and written when the disk is inserted into a floppy disk drive (FDD) connected to or inside a computer or other device.

Software cracking is the modification of software to remove or disable features which are considered undesirable by the person cracking the software, especially copy protection features or software annoyances like nag screens and adware.

In computer science, group coded recording or group code recording (GCR) refers to several distinct but related encoding methods for representing data on magnetic media. The first, used in 6250 bpi magnetic tape since 1973, is an error-correcting code combined with a run length limited (RLL) encoding scheme, belonging into the group of modulation codes. The others are different mainframe hard disk as well as floppy disk encoding methods used in some microcomputers until the late 1980s. GCR is a modified form of a NRZI code, but necessarily with a higher transition density.

The Amiga Fast File System is a file system used on the Amiga personal computer. The previous Amiga filesystem was never given a specific name and known originally simply as "DOS" or AmigaDOS. Upon the release of FFS, the original filesystem became known as Amiga Old File System (OFS). OFS, which was primarily designed for use with floppy disks, had been proving slow to keep up with hard drives of the era. FFS was designed as a full replacement for the original Amiga filesystem. FFS differs from its predecessor mainly in the removal of redundant information. Data blocks contain nothing but data, allowing the filesystem to manage the transfer of large chunks of data directly from the host adapter to the final destination.

Sirius Systems Technology was a personal computer manufacturer in Scotts Valley, California. It was founded in 1980 by Chuck Peddle and Chris Fish, formerly of MOS Technology and capitalized by Walter Kidde Inc. In late 1982 Sirius acquired Victor Business Systems from Kidde and changed its name to Victor Technologies. It made the Victor/Sirius series of personal computers. The company made a public stock offering in the first half of 1983, but went into Chapter 11 protection from bankruptcy before the end of 1984. The company's assets were acquired by Datatronic AB, a Swedish software/hardware distribution company headed by Mats Gabrielsson. Gabrielsson signed a distribution deal with Kyocera, which began to supply PC clones to Victor.

Commodore DOS

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.

Zone bit recording

In computer storage, zone bit recording (ZBR) is a method used by disk drives to optimise the tracks for increased data capacity. It does this by placing more sectors per zone on outer tracks than on inner tracks. This contrasts with other approaches, such as constant angular velocity (CAV) -drives, where the number of sectors per track are the same. On a disk consisting of roughly concentric tracks – whether realized as separate circular tracks or as a single spiral track – the physical track length (circumference) is increased as it gets farther from the centre hub.

Commodore 4040

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.

Floppy disk format and density refer to the logical and physical layout of data stored on a floppy disk. Since their introduction, there have been many popular and rare floppy disk types, densities, and formats used in computing, leading to much confusion over their differences. In the early 2000s, most floppy disk types and formats became obsolete, leaving the 3+12-inch disk, using an IBM PC compatible format of 1440 KB, as the only remaining popular format.

Floppy-disk controller Circuitry that controls reading from and writing to a computers floppy disk drive

A floppy-disk controller (FDC) is a special-purpose integrated circuit and associated disk controller circuitry that directs and controls reading from and writing to a computer's floppy disk drive (FDD). The FDC is responsible for reading data presented from the host computer and converting it to the drive's on-disk format using one of a number of encoding schemes, like FM encoding or MFM encoding, and reading those formats and returning it to its original binary values.

Commodore 64 peripherals

This article is about the various external peripherals of the Commodore 64 home computer. Due to the backwards compatibility of the Commodore 128, most peripherals will work on that system, as well. There's some compatibility with the VIC-20 and PET too.

Fast Hackem

Fast Hack'em is a Commodore 64 fast disk/file copier, nibbler and disk editor written by Mike J. Henry and released in 1985. It was distributed in the U.S. and Canada via Henry's "Basement Boys Software", and in the U.K. via Datel Electronics. In the U.S., it retailed for $29.95.

Fast loader Software acceleration program for file loading

A fast loader is a software program for a home computer, such as the Commodore 64 or ZX Spectrum, that accelerates the speed of file loading from floppy disk or compact cassette.

MSD Super Disk

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.

Amiga support and maintenance software performs service functions such as formatting media for a specific filesystem, diagnosing failures that occur on formatted media, data recovery after media failure, and installation of new software for the Amiga family of personal computers—as opposed to application software, which performs business, education, and recreation functions.

History of the floppy disk

A floppy disk is a disk storage medium composed of a disk of thin and flexible magnetic storage medium encased in a rectangular plastic carrier. It is read and written using a floppy disk drive (FDD). Floppy disks were an almost universal data format from the 1970s into the 1990s, used for primary data storage as well as for backup and data transfers between computers.

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.

References

  1. Copy Protection: A History and Outlook http://www.studio-nibble.com/countlegger/01/HistoryOfCopyProtection.html
  2. 1 2 Pournelle, Jerry (June 1983). "Zenith Z-100, Epson QX-10, Software Licensing, and the Software Piracy Problem". BYTE. p. 411. Retrieved 20 October 2013.
  3. Steverd. "Super Kit/1541".
  4. "NIBtools". Commodore 64 (C64) Preservation Project.
  5. Steil, Michael (27 April 2019). "Reading the Raw Bits of a C64/1541 Disk without a Parallel Cable". pagetable.
  6. Rittwage, Pete (10 Nov 2019). "Rapidlok info". page.