by ferris
Not plural; suck it, Al..
Still taking it a bit easy this week. Since I got my msx one thing that bugged me was that I couldn't put software on it with the USB FDD I purchased recently, so I looked into that a bit this week..
The USB FDD is kinda shit in that its controller is really picky about disk formatting, and won't give block access most of the time. It even goes so far as to give incorrect file listings, bad file data, etc - it's pretty shit. After doing some research it seems this is a quite common problem with USB FDD's - they're built to be cheap and have a controller that's just barely good enough to read/write disks in common formats, and that's about it. And unfortunately that kinda sucks when my plan was to be able to read/write whole disk images in MSX-DOS format.
Well, it's actually not the worst though, if you don't mind using another machine to actually do the disk imaging. After looking around a bit on finn and asking my colleagues if they had any old PC's with a FDD, it turns out one of them did - a Compaq Prolinea 575! Sometime during the week he dropped it off at my place with everything included but a hard disk. And after buying a modern SATA disk and some adapters/cables, this weekend I got to work.
My plan was to basically turn it into a disk station of sorts - get some sort of linux running on there (with pretty tight runtime constraints, but luckily a few suitable distributions appear to exist) and turn it into a small server (it has an ethernet card) that I can push disk images to and have it write them out properly (and the other way round too ofc). However, there were a couple problems with this.
The first is that this line of machines actually has a kind of weird split BIOS - there's a main BIOS on the mobo that contains some basic hardware configuration info and selects which disk to boot, and then the menu/configuration utilities are normally stored on a hidden partition on the hard disk. And since I got ahold of the machine with the original hard disk removed, this meant I couldn't select which drive to boot from, so the only possibility was to boot from FDD. Also I couldn't create such a partition, as nobody has seemed to have grabbed such a disk image and uploaded it online anywhere. Interestingly, HP still hosts the original disk creation utility, so I was able to grab that. But since it's a 16-bit executable and several megabytes in size, I have yet to come up with a way to actually run it properly on the machine...
The second problem is that while I could get the hw to recognize the hard disk, I couldn't ever actually get it to read the disk properly, even from DOS and linux (the details of how I got these OS' to boot follows). But I did end up coming up with a solution that works and avoids the hard disk entirely - keep reading for that :) . But yeah, problems problems problems..
So since the machine could only boot from floppy, I had to transfer some kind of OS via the shit USB FDD. I had a hard time getting any disk format that it would read/write properly and allow me to image to any reliable degree on most disks. However, there was one disk I was able to image, which ironically was labelled "The Cure" and was part of our prize winnings from revision this year. With this, I was able to image the first of 3 install disks for DOS 5.0.
This was actually an awesome step forward, as from there, I could use the format
utility on the disk to format a bunch of my other disks (oh yeah, I only have 720kb disks currently, so that was another constraint to keep in mind and why I chose DOS 5.0 rather than 6.2 or similar). These DOS-formatted disks appeared to work nicely with my USB FDD, so I was able to image the other installation disks from there. Peculiarly, this also allowed me block access to the disks, so I was able to get ELKS and fart-os onto these disks (and hence rendering them useless to the USB FDD again until another DOS format), and the pentium booted properly in those. But it seemed to have trouble with the MSX formatted disks; for some reason I was never able to write those properly from there. Also, ELKS doesn't come with dd
, which I was hoping to use to image the disks, and I couldn't quite figure out how to use its networking capabilities.. And at this point I was still desperately trying to get something to/from the hard disk from the machine, but with no luck.
Anyways, my current setup ended up being quite simple actually. What I ended up doing was install DOS 5.0 from the previously imaged disks onto 4 other floppies (typical install). Since the pentium box has 32MB RAM, there's plenty of space for a ramdrive, so I configured DOS to use as much mem as possible for that. This allows me to copy a small disk image writing utility into the ramdrive when DOS boots, so that I can use it without relying on the contents of the disk in drive a. From there, I can put a disk image (360kb max due toe the 720kb limit on my current disks, but many msx disks are in this format) onto a disk via the USB FDD on my main PC, load that into the ramdrive on the pentium, put in a target disk (which has to be DOS formatted for some reason) into the pentium, and use the imaging utility to write out the image from the ramdrive onto the target floppy. Whew!
But what do you know - it actually works!! This way I've been able to write out some proper demo disks (seriously, check out that link - I don't konw who this guy is but the stuff he's making is just so rad) and boot them on the msx, and apart from the tedious "write to transfer floppy then load to ramdrive" step, the setup isn't actually that bad. From here it'd be cool to look into getting a DOS driver for the ethernet card in the machine and making a simple transfer utility as I described earlier that I could drive from my main PC, but without a proper hard disk it's looking a little grim. Luckily the colleague that brought the pentium over in the first place has a spare IDE HDD laying around, so perhaps we'll have better luck with that (and I'm not going to dig further until we know whether or not that works because that should make this all so much easier) - but for now it was fun to spend all Saturday on such a silly problem that took some creativity and ingenuity to solve.
I also hope to get a little dev environment going and see if I can't come up with something interesting on my demoscene stream this evening.. :)
Until next time!
Last Edited on Sun Jul 30 2017 10:43:18 GMT-0400 (EDT)