Yea, that’s always the nit isn’t it?
For some, it all stops when the thing boots “Successful assembly!”. Obviously perhaps more interesting the more difficult the project is. I read some vintage forums and look at the work folks go through to get their legacy machines to boot up. Much less getting some real legacy project like a legacy mini computer or something.
But in the end, computers are tools and without application, tend to sit on the shelf.
I considered getting one of those boards and assembling it. But I’ve also done some work with machine simulators. And while these z80 boards are pretty neat, they’re functional to be sure, and perhaps a nice platform to do some hardware hacking from, they lack something for me.
After playing around with this stuff for a while, myself, I’m striving to get my SB180 board up. And I’m striving to get it going simply because it’s a floppy based system.
I’ve learned a few things working with the simulators and such.
One, box stock CP/M is quite awful as an OS. It’s really and truly is designed for a floppy based system. Using CP/M with a hard drive is borderline a disaster. Have 10’s of MB of files in a single flat structure is…terrible.
Now, to be fair, CP/M has User areas which can be used to break up the disk. But each of these User Areas is separate, and support for them is weak to say the least. Consider that if you want to use the ubiquitous PIP command (which is not part of the CP/M CPP, but must be run from disk), if your PIP.COM file is in User Area 0, it’s not accessible to, say, User Area 1. And this means that to use it, you need to make a copy of PIP.COM to the other User Areas where you want to access it. And that would suggest that you would use PIP to copy itself (because PIP is the utility you use to copy files on CP/M).
But PIP has no concept of User Areas. You can’t use PIP to copy from one User Area to another. Instead, you have to load PIP in to memory, switch User Areas, then SAVE the memory back out to a file. Hardly intuitive, and you have to do that for any other utility you want in the other User Areas.
And that’s just a single example. Now, if you’re running the classic, two floppy CP/M, with limited size floppies, it’s a much different world. You wouldn’t use User Areas. But part and parcel to that experience is being able to swap floppies. Using a single floppy disk as an organizational unit.
This is something you can’t easily do on the modern Z80s, because nobody does floppies anymore. (With good reason.) They’re not really set up for yanking Flash cards in and out. And a 32G flash card makes for a pretty lousy floppy. So, you end up with a floppy based OS with no floppies.
Mind, if you go beyond CP/M, such as Z system, or find other utilities, they all address issues like this to some degree. But out of the box, CP/M and large drives is just not a good experience.
Which brings us back to the SB180. Which does have floppies, and will give me a more “authentic” experience of trying to write software in that environment.
It was fun doing some BASIC on that fellows Altair that he’s live streaming.
So, that’s my goal. To actually do work on an actual system, with their tools, and their constraints. Build a fire rubbing two sticks together. Limited memory, slow CPUs, S L O W floppy systems. Folks used to get real work done on these things, so I’m going to try.
Conider the thread about the mini Unix on an LSI-11 with, what, 28K of RAM? A system that can regenerate itself, with a C compiler, run two tasks, and floppy disks, with 28K of RAM? Interesting challenge.