Electronics » Z80 Laptop Project... OS etc..
 Steaming Hot OS Action.. |
I've been developing my own operating system throughout the course of
the ongoing Z80 project and I was able to use pretty much the same code
for Version 4. It takes the form of a command line interface,
the kind you might find on a freezer cartridge from back in the day (Action
Replay et al). Most of the usual DOS commands are there and there's
a memory monitor / disassembler etc. Executables can be run by entering
their filenames as a command. On power up, the OS loads from the first few
sectors of the HDD if found (if not you're prompted to download some code via the serial port.)
With this version some improvements were made.. For a start I'm no longer fixed by
hardware to a 32x24 character display so the editor window has been made more flexible.
The main improvement has been in the storage dept though..
Originally I/O was fixed to the IDE port allowing master
and slave drives called IDE0: and IDE1: but now drive names are more
virtual and are assigned to devices ("DRV0:", "DRV1:" etc) as they are
found upon boot (or when manually mounted). Each device has its own
Get_ID, Read_Sector, Write_Sector routine, and these are called as
appropriate for the currently selected device. This way, any storage
device that allows access via 512 byte sectors can accepted by the
operating / file system (with an appropriately written driver of course).
I also changed the primative serial IO protocol to sends files in packets
with a checksum at the end of each. This way, any error is detected almost
immediately instead of waiting for the whole file to be sent and then issuing
an error.
|