In my last post I managed to flash the HxC firmware onto Gotek hardware, add a display, and test it on my Amstrad CPC 6128.
Next up: get it working with my Video Genie II (a TRS-80 clone).
Well that didn’t seem too hard. I’ve managed to get it to boot off the USB disk
But there’s a slight problem. NEWDOS (and I think any DOS for the TRS-80 architecture) can’t do *anything* without a system disk in a drive.
I’ve downloaded a boot disk image, and I’ve download lots of game disk images from the Internet. So I can boot off the system disk, but if I swap to a game disk, the Genie no longer has access to NEWDOS so can’t read the game disk!
Real systems usually have two disk drives for this reason – boot off disk 0, run programs off disk 1. Indeed this boot disk defaults to disk 1 for everything. I’ve just worked out how to change that so it defaults to disk 0:
- “SYSTEM x AN=y” edits the NEWDOS image on drive x to default to doing directory listings on drive y if you don’t specific a drive number
- “SYSTEM x AO=y” edits the NEWDOS image on drive x to default to creating files on drive y if you don’t specific a drive number
- “SYSTEM x” shows you the current parameters for drive x
So “SYSTEM 0 AN=0” and “SYSTEM 0 AO=0” sorts me out for a single drive system.
I suppose I could buy another USB disk drive, but that seems a little excessive…
It seems the only solution for single-drive systems is to have system files on every disk you use. Or at least a minimal system.
So now to figure out if there’s a way to copy the system files onto an existing disk without reformatting it…
I’ve figured out how to display the hidden system files on a directory listing (“DIR S”). All those SYS1/SYS files are what I’m after:
I’ve found some very convoluted instructions on how to do what I think I want. Basically in the context of how to update NEWDOS to a new version on single-drive systems (you have to copy the upgraded files to every disk).
To simplify this, the method involves putting the file names of all the system files in a text file. Then you can create a ‘chain file’ (kind of a batch file thing I think) that takes that list of files. The CHAINBLD.BAS program edits them I think. And I think CHAINTST.JCL is a test Job Control List which is what I’m after.
Then there is a special copy command that will take one of these JCL files and copy each file in one go. But because it’s a single drive system it will prompt you to swap the disk at regular intervals.
More reading and testing required.
It took an afternoon and evening of ploughing through obscure manuals, but I’ve succeeded in getting Internet-downloaded games on the Video Genie via the USB disk!
I discovered you can’t copy system files onto a non-system disk, as they have to be at a fixed location on the disk, so can only be put there during formatting. (You *can* update them in place if changes need to be made due to an upgrade, you just can’t copy them if they’ve never been there before.)
So I needed to copy games files the other way, onto a system disk. But that’s hard when you can’t boot from that disk, so can’t see what you’re doing! There is a way to copy files with disk swapping, and there is a way to get a directory listing also by disk swapping, but it’s all a bit of a pain. Sadly you can’t just run a program via disk swapping.
But then I had a ‘doh!’ moment. I was doing this using a physical computer, with a single virtual disk drive manipulating virtual disks. But on the computer upstairs I have a TRS-80 emulator, with 4 virtual disk drives, which can manipulate 4 virtual disks at a time!
So I did it all happily on the emulator, and then copied the disks onto USB for use on the Video Genie.
I’ve also worked out what you need on a system disk, so I’ve now created four blank disk images I can use to copy other software onto:
- full NEWDOS/80 including utilities
- as 1 without the utilities
- as 2 without BASIC (so can run machine code software only)
- completely cut down minimal NEWDOS/80 so it can do directory listings and launch machine code programs, but nothing else (not even copy or rename files)
Each of those is smaller than the last, so I can choose whichever I need to fit the software on. (4) has 185KB free (out of a 200KB) disk, so should fit almost anything.
So, for reference “COPY x,y,,CBF,NFMT,USR” will copy from x drive to y drive, files with any date, “copy by file” (rather than by sector), “no format”, “all user files” (no system files).
And here’s Scarfman (an early Pacman clone) downloaded off the net, and running on the physical hardware as a proof of concept: