Skip to main content

Posts

Showing posts from February, 2018

Disk Selection

So I've started work on the BIOS-ROM for the Z80-based Zephyr computer in preparation for use with BP-DOS, and I needed to decide between SCSI or IDE for a storage disk. The SCSI disk I have would be ideal on the hardware level, since both commands and data are 8-bit (with hardware generated/checked parity), plus it would make for a nice auditory experience being a full-height 5.25" disk. However, an issue arose when reading through the commands section of the SCSI standard, there are several different bus phases, and the flow path can be quite confusing at times. I'm sure given time it could be done, but I'm interested in getting the Zephyr computer running in a reasonable time frame. Instead, I have opted for using one or two IDE disks, for simplicity of the bus and command-set. Data transfers are done on 16-bit words, so a data read/write takes two input/output cycles from the CPU, and the ordering of which byte of the word will vary between reads and writes. On

Operating System

I've decided to write a small and very limited operating system called BluePrint-DOS (BP-DOS) for my computers, with the goal being to require a minimal amount of hardware, and to more easily facilitate running programs, by loading them from a block-storage device than burning an EEPROM every time a new program is to be tested/run. The hardware requirements will be: 32KB of RAM, to hold both OS routines and the running program A free-running timer to facilitate CPU 'sleeping' when no action is being done. A block storage device to store OS and program files. User I/O, for hopefully obvious reasons. The function of the OS itself will be to: Load, run, and return from user programs. Provide file system routines for reading/writing files to the selected block device. Lower level functions will be stored in ROM, and these include: Block-storage sector read/write routines. User input hardware routines. Timer interrupt service routine. Display hardware routin