Created System Flash Disk
Created a 256kb system disk with 128 directories with a 2048b block size.
Well actually I just flashed the lower 16kb of the system disk as that is all that is needed to boot up.
First Power Up
Well I got:
My CP/M 2.2 V1A
A:
But Serial In did not work (i.e. no response to the terminal input). That is not too bad. A lot has to work to get here. I am guessing I have interrupts disabled and not re-enabled somewhere.
A Day Later
Managed to find (most of) the bugs, seems to be working:
my CP/M 2.2 V1A
A>DIRA: STAT COM
A>STAT
A: R/W, Space: 238k
A>STAT DSK:
A: Drive Characteristics
1984: 128 Byte Record Capacity
248: Kilobyte Drive Capacity
128: 32 Byte Directory Entries
0: Checked Directory Entries
256: Records/ Extent
16: Records/ Block
16: Sectors/ Track
4: Reserved Tracks
dding More Files to the Flash Disk
I am have some problems here. I cannot download hex via the serial port as the software serial code is not up to the task (I can't download while writing to disk).
Using my makeDisk code and programming the flash disk via an Ardunio Nano is pretty clumsy. This can be improved by using an ATMEGA1284 for the programmer.
I think however, it is time to use an UART.
The alternative is to have a clocked interrupt to manage software serial and disk writes. But do I really want to go there? Only to show off I suppose!
makeDisk Debug
I managed to find a benign bug (not benign for flash disks with more than 32kb) in my makeDisk code. I knew it was there but I could not see it! So time to load up some more programs to flash disk.
Found another bug in the directory structure code. Fixed. Now all the files are visible.
i8HEX
I have to edit my i8hex code to add segment information as the address rolls over after 64k. Checking the Internet, there are a couple of ways to do this. The Intel 8086 segment type command is an easy option.
AlanX
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.