OSI related questions
Posted: Thu Mar 14, 2024 11:37 pm
During some discussions on what the oldest micro computer platforms that could run Fuzix someone brought up the OSI machines as having banked memory, hard disk options and the like. I've been on a fascinating spelunk through the archive and I understand how most of it works now but I am stumped on a couple of things related to OS porting
- The bigger hard disk interfaces don't seem to be well described or have any useful disassembly. I can kind of guess most of it but not all. So looking for more info
- For all the hard disks I've not seen anything documenting what goes in the areas around the data for writes. I know contemporary controllers in the S100 space your transfers tended to include a bunch of header bytes and sometimes a checksum that was your problem, but also they expected you to put the right bytes (or often only some of the right bytes or at different offsets) in a write. Does anyone know what has to go in E000 before the data for writes on these machines ?
Also some emulator questions
- The emulated disk format doesn't appear to keep the parity. Is there any way to fix that as I was going to try and implement "proper" soft sectoring by using odd and even parity to separate data from headers so I don't have to wait for the index hole (akin to the way standard controllers using non standard FM encodings for those bytes)
- Is there any emulator source available as the other thing Fuzix supports already is attaching compact flash to just about anything with a pair of 8bit I/O ports one reversible - 82C55, PIO, 6522's etc. And for that matter does anyone run anything like that with a real machine ?
I'm very sure I can get it running on the C3 Z80. The 6502 mode is going to be very tight on memory though as the 6502 isn't quite so C compiler friendly and the fact banking appears to switch 0000-01FF is sure going to make it interesting in a few spots.
Alan
- The bigger hard disk interfaces don't seem to be well described or have any useful disassembly. I can kind of guess most of it but not all. So looking for more info
- For all the hard disks I've not seen anything documenting what goes in the areas around the data for writes. I know contemporary controllers in the S100 space your transfers tended to include a bunch of header bytes and sometimes a checksum that was your problem, but also they expected you to put the right bytes (or often only some of the right bytes or at different offsets) in a write. Does anyone know what has to go in E000 before the data for writes on these machines ?
Also some emulator questions
- The emulated disk format doesn't appear to keep the parity. Is there any way to fix that as I was going to try and implement "proper" soft sectoring by using odd and even parity to separate data from headers so I don't have to wait for the index hole (akin to the way standard controllers using non standard FM encodings for those bytes)
- Is there any emulator source available as the other thing Fuzix supports already is attaching compact flash to just about anything with a pair of 8bit I/O ports one reversible - 82C55, PIO, 6522's etc. And for that matter does anyone run anything like that with a real machine ?
I'm very sure I can get it running on the C3 Z80. The 6502 mode is going to be very tight on memory though as the 6502 isn't quite so C compiler friendly and the fact banking appears to switch 0000-01FF is sure going to make it interesting in a few spots.
Alan