If you want to not take for granted how easy and seamless computers have become, take up vintage computing as a hobby. If you venture down the retro path, you’ll quickly question how anyone ever got any useful work done with computers, and the farther back you go in computer history, the more difficult everything seems to become.
Case in point: how do you easily transfer files between a home-brew PC/XT and your modern desktop? Back in the day we did it with null modem cables or by sneaker-netting stacks of floppies, but [Scott M. Baker] found another way — putting a Raspberry Pi on the ISA bus as a virtual floppy drive. The heart of the ISA card is an IDT7130, a 1-kb RAM chip that allows simultaneous asynchronous access over dual ports. One port talks to the ISA bus and the other talks to the GPIO of the Pi, after level-shifting to make everything voltage compatible, of course. [Scott] wrote a driver for the card, plugged a Pi Zero W into the header pins, and threw a Python server together that makes local images available to the shared memory on the card. The upshot of this is that the retro machine thinks it has a floppy in it, but it’s actually a server. The video below has tons of detail and shows the card in action. Pretty slick.
[Scott]’s projects are always fun to check out, and he really seems to have the retro life dialed in. Whether it’s old jukebox hacks or a Unix-ish OS for Z80s, there’s plenty to learn. Although we’d like to see more about that PC/XT in the video; are those Nixies we spy along the front panel?
The Pi Zero has more computational power then the XT it’s interfacing to.
So I call this a cheat, but it’s a nice cheat lol. Well done.
I agree, this is a tight little project!
Call it what you will. People probably used to think driving an automobile instead of dealing with horses and horse upkeep was cheating as well. Or wearing a wrist watch instead of checking a clock. Or using a telephone instead of heading to the telegraph office. Now we just use a cell phone and try to find other things to improve upon.
Yes, but this is a bit like putting a horse on the back of a truck and saying “Hey, now I’m riding again!”
Or maybe it’s like putting a saddle, stirrup and reins on a horse, rigging them up so they can be controlled via a large truck then jumping in, setting off and saying “Hey, now I’m riding again!”
so does USB mouse ;)
I have to admit before watching Scotts video last week I was very skeptical. Why not lan card? why not XTIDE serial drive emulation? pretty much same things he mentions in the video. But at the end of the day this is wireless, meaning more convenient, and the speed seems nice too.
Technically even the atmega 328 in an Arduino is more powerful.
Great work :) Thanks for sharing.
The best part by far is the fact that it can boot from the pi! Very cool!
I love this kind of thing. There is a fellow out there who has an MFM disk simulator based on a BBB, exactly the same concept of this, except using a Beaglebone black to act like it is a hard drive.
Imagine going back to 1983 with one of these. Plug it in and suddenly the computer has seemingly limitless storage on a microchip the size of a pinky finger nail. Nevermind the processing power…
Well, SDXC cards can currently hold 2 TB by file system convention.
And back win a Double Sided High Density 5.25″ floppy disk held 1.2MB, even a 32GB SD card would be essentially limitless storage.
Imagine telling Mr. 1983 Man, “No, it’s not my clock, it’s an iPhone. Oh, never mind- yeah, cool clock”
In 1983 the PC would have been incapable of using that limitless storage because the disc parameters were coded into the operating system. Later you would have to edit the in the BIOS setup for hard drives. The modern idea that you could plug a generic device in and have files read to and from it simply didn’t exist. That would have required all those drives to have, *gasp* computers onboard to sort out all the system differences. And who ever heard of a disc drive with its own on-board computer? * except C64 people of course.
Well you didn’t watch the full video then because it uses disk image files. He even demonstrates using DOS that you can format the disk.
He didn’t watch the video because he tells it like it was?
Originally there were a few floppy formats hard encoded into the BIOS with the first sector on the floppy (the boot sector) including a byte saying which of the formats it stored data in.
Later that was made more flexible but not in 1983. And it wasn’t too flexible – to boot one of the special formats created for binary distribution (that packed data in a way that made normal writes hard if not impossible) had to keep the first track of data in a standard format and boot into a special driver that handled floppy access.
So no, a 1983 PC could’t use limitless storage.
Sure, but couldn’t you have a hacky solution like intercepting a “Insert Disk 2 to continue” message, and automatically loading / unloading the VM floppy? You could write some sort of wrapper around a program that says “Disk 1 = VMimage1.img, Disk 2 = xxx.img”, and then when the program thinks it needs a floppy swap, the VM floppy is smart enough to do that in the background.
Indeed, the original limits were 32 MB per lettered disk drive. I remember having partitioned an 80 MB disk into C: D: and E: to make use of all of it. Back in 1983, hard disks of 5 MB or 10 MB were mostly what was available for these PCs. Larger disks became available soon after; that 80 MB disk mentioned above came in 1987. As for the disk mapping, the early disk driver cards had the parameters of the attached disk hardcoded and a small selection of them could be made via jumpers. The operating system in the PC would just get the size of the hard disk reported from the card.
Changeable BIOS settings in CMOS memory didn’t exist until the mid to late 80286 era. Even then, you couldn’t enter arbitrary numbers for Cylinders, Heads, Sectors for a hard drive. There was a list of 20 or so options.
If you had a drive newer than the motherboard, with a CHS combo not in the list, you might have gotten away with selecting an option with fewer cylinders and/or heads and giving up some capacity. Then along came software that could ‘translate’ the format between BIOS and drive. You’d select one of the entries that added up to the same capacity (same total number of sectors) then use the software to setup the drive instead of using DOS’s FDISK.
Same story with ISA slot controllers with a fixed list of supported drive geometries, except with those you had to use DEBUG to access the BIOS functions. This was before DOS included the full screen EDIT so the way to create the AUTOEXEC.BAT and CONFIG.SYS files was with EDLIN and COPY CON to build them one line at a time, and if you got something wrong you had to delete the files and start over.
Then along came IDE drives. The controller was now the dumb half of the system while the ‘smarts’ were put onto the drive. The drive parameters were set in the motherboard BIOS, still with no whatever you want choice in the early models. Since 8088/8086 clones had no user settable BIOS stuff, they required special XT-IDE controllers and drives. Back to using DEBUG to set them up, just like old MFM/RLL/ESDI drives. Yay.
Do I miss those days? Not a bit.
I vividly recall spending about 2 days getting an old RLL drive to low level format correctly, also using debug and the necessary tools to get it going. I cut my teeth on refurbing XT’s and 286’s in the early 90’s and selling them for a sometimes handsome profit. That was back when computers still cost $2k+
It’s 2018. Many computers still cost $2k+ and quite a bit more. Even after adjusting for inflation. At least a basic model is more economical, quicker, compact and far more portable.
g c800:5
:)
Edlin was “just” the DOS port of ed. It supported line-by-line editing, replacement, insertion, deletion.
Fortunately no-one needs to worry about editors being usable on a 300bps line anymore.
Nostalgia does come with a bit of a tint to it.
ISA network card in the PC/XT plus running cross-over cable between the two computers should do the trick.
Yes, I Know, everything now has to use a Raspberry or Arduino to be fashionable.
If the modern PC has Auto-MDIX he might not even need the crossover cable.
You’ve forgotten the need for a tcp/ip stack – there’s none at the DOS prompt by default.
TCP/IP is easier nowadays, but Netbios could work on the bare level 2 Ethernet frame, and that was done in the ’80s a lot.
afaik Microsoft patched out all older protocols(cheese security), you can forget about sharing Win10 drive with vintage dos/3.11/95 computers
yes, you could plug that network cable to raspberry Pee! oh wait ….
I think I would have used a IDT7202 FIFO instead. Same principle but less pins and as long as you set-up the empty/full strobes to interrupts, you can be writing a transfer while the other side is reading (faster).
Of course, there’s always this: https://www.retrotronics.org/home-page/netpi-ide/
He actually loads a boot-time expansion card ROM into the RAM before the XT boots, and the BIOS obligingly loads it and lets it replace int13h functions. So something that supports random access by the XT is required here.
This is a nice hack, but to be honest I would prefer an old retro computer hanging on ehternet on my home computer network, in line with my Blu-ray player, my amazon tv, my tablet, my smartphone, my laptop, my phillips hue lights and my NAS. Oh and don’t forget the whole internet.
In the IoT category, put an abacus online.
I had an SCSI Controller for my Amiga back then using similiar Chips… AM2130 from AMD. I thought this kind of RAM was a neat idea.
http://amiga.resource.cx/exp/kronos
yeah, scsi, for all those “no c/h/s settings for large drives in the xt” folk… I’m booting my xt off a 1GB, single-partition, no overlay, scsi drive. boot-roms/bios-extensions are rad!
but this thing’s perty rad, too. all sortsa doors open up with this sorta thing. why just lan/floppy/hd? why not all? hdmi cga/vga card, ram expansions…