Most PCs are inclined to boot from a predominant media storage, be it a onerous disk pressure, or a solid-enlighten pressure, presumably from a community, or – if all else fails – the USB stick or the boot DVD involves the rescue… Relaxing, eh? Dead! Why don’t we strive to boot from a tale player for a alternate?
64 512 byte DOS boot disk on a 10″ tale, total taking half in time 06: 10 on 45 rpm
So this nutty small experiment connects a PC, or an IBM PC to be accurate, at as soon as onto a tale player thru an amplifier. There is a small ROM boot loader that operates the constructed-in “cassette interface” of the PC (that became as soon as no longer continuously ever mature), invoked by the BIOS if the total other boot alternatives fail, i.e. floppy disk and the onerous pressure. The turntable spins an analog recording of a small bootable be taught-most reasonable RAM pressure, which is 64K in dimension. This contains a FreeDOS kernel, modified by me to cram it into the memory constraint, a micro variant of COMMAND.COM and a patched model of INTERLNK, that permits file transfer thru a printer cable, modified to be runnable on FreeDOS. The bootloader reads the disk image from the audio recording thru the cassette modem, hundreds it to memory and boots the system on it. Easy huh?
The vinyl loader code, in a ROM
(It will additionally stay on a onerous pressure or a floppy, however that’d be cheating)
And now to win more technical: this is mainly a merge between BootLPT/86 and 5150CAXX, minus the printer port abet. It additionally resides in a ROM, in the BIOS enlargement socket, however it doesn’t have to. The connecting cable between the PC and the tale player amplifier is the the same as with 5150CAXX, factual without the line-in (PC files out) jack.
The “cassette interface” itself is factual PC speaker timer channel 2 for the output, and 8255A-5 PPI port C channel 4 (PC4, I/O port 62h bit 4) for the enter. BIOS INT 15h routines are mature for application (de)modulation.
The boot image is the the same 64K BOOTDISK.IMG “example” RAM pressure that could presumably perchance presumably be downloaded at the bottom of the BootLPT article. This has been grew to change into into an “IBM cassette tape”-protocol compliant audio trace the enlighten of 5150CAXX, and despatched straight to a tale slicing lathe.
Vinyls are minimize with an RIAA equalization curve that a preamp on the total reverses all the contrivance in which thru playback, however no longer perfectly. So some trace correction had to be utilized from the amplifier, as I couldn’t invent it work upright with the line output straight from the phono preamp. In my case, sharp a traditional Harman&Kardon 6300 amplifier with an integrated MM phono preamp, I had to proceed the treble the total formulation down to -10dB/10kHz, broaden bass equalization to approx. +6dB/50Hz and minimize the amount level to roughly 0.7 volts height, so it doesn’t distort. All this, naturally, with any segment and loudness correction grew to change into off.
For effective, the cassette modem doesn’t give a hoot in hell in regards to the set the trace is coming from. Notwithstanding, the recording wants to be pristine and possess no pops or loud crackles (vinyl) or modulation/frequency tumble-outs (tape) that can ruin the records chase from continuing. On the other hand, some wow is tolerated, and the lunge could presumably perchance presumably be 2 or 3 percent elevated or decrease too.
Bootloader in a ROM; being an EPROM for a upright measure
And that’s it! For these , the bootloader binary designed for a 2364 chip (2764s could presumably perchance presumably be mature, thru an adaptor), could presumably perchance presumably be obtained here. It assumes an IBM 5150 with a monochrome show mask mask and at the very least 512K of RAM, which roughly reminds me of my setup (what a twist of fate). The boot disk image could presumably perchance presumably be obtained at the bottom of the BootLPT/86 article, and here’s its analog variant, straight from the grooves 🙂