A 10-inch record that plays 6 minutes 10 seconds at 45 rpm is a 64512 byte DOS boot disk
To carry out this unusual experiment, a personal computer (or rather, an IBM PC ) is connected to a turntable through an amplifier. There is a small ROM bootloader that controls the built-in "cassette interface" of the PC (which is probably never used by anyone). This bootloader is called by the BIOS if all other boot methods did not work (that is, booting from a floppy disk and from a hard disk). The player plays an analog read-only recording of the contents of a small RAM disk, which is 64 KB in size. This entry contains the FreeDOS kernel, which I have modified to fit within the existing limits. There is also a compact version
COMMAND.COM
and a patched version.INTERLNK
which allows you to transfer files over a printer cable and has been redesigned to work in FreeDOS. The loader reads the disk image from the plate through the cassette modem, writes the image into memory and loads the OS using it. I guess it's not all that difficult.
"Vinyl" bootloader in ROM (it can still be written to a hard disk or to a floppy disk, but that will not be fair)
If you delve a little into the technical details, it turns out that we are faced with a symbiosis of BootLPT / 86 and 5150CAXX without printer port support ... It is also stored in ROM, in the BIOS expansion slot, but this is optional. To connect the amplifier to a computer, a cable similar to that used in the 5150CAXX is used, but there is no data transfer from the computer to the device connected to it.
"Cassette Interface" is just an output represented by channel 2 of the PC speaker timerand an input, which is represented by the 4 channel of port C 8255A-5 PPI (PC4, I / O port 62h, bit 4). BIOS INT 15h features are used for software (de) modulation.
The boot image is the same 64K RAM disk image
BOOTDISK.IMG
, the download link for which can be found here . The image data using the 5150CAXX is converted to an IBM cassette tape compatible format, and the resulting audio signal goes directly to the vinyl record system.
Recording is done using the RIAA equalization curve, which the preamplifier typically reverses during audio reproduction. But he does not do it perfectly. This means that you need to perform signal correction on the amplifier. That is why I used the amplifier, since I could not get the desired signal by feeding the sound to the computer directly from the preamplifier. In my case, using a vintage Harman & Kardon 6300 amplifier and an integrated MM Phono preamplifier, I had to turn down the high frequencies (-10dB / 10kHz), turn up the bass (+ 6dB / 50Hz) and turn down the volume until peaks of about 0.7 volts were obtained. allowed to prevent sound distortion. All this was done, of course, with the phase and volume correction disabled.
Of course, the cassette modem doesn't give a damn about where the signal comes from. In this case, of course, it is important that the recording is clean, does not contain clicks and crackles (vinyl) or deficiencies associated with the modulation or frequency of the signal (tape). All of this can interrupt the data flow. True, the sound may well "float" a little, the playback speed can vary within 2-3%. This does not interfere with the correct transfer of data.
EPROM module with bootloader
Outcome
Booting your computer from your turntable
That's it! If someone needs a bootloader made for the 2364 chip (you can also use 2764 chips through the adapter), then its code can be found here . It is designed to work with an IBM 5150 with a monochrome display and at least 512KB of RAM, which (coincidentally) resembles the computer I am experimenting with. A link to the boot disk image can be found in this article. And here is the same image, but in sound form.
Have you ever booted computers using any unusual methods?