MykeLawson
Experienced Member
- Joined
- Mar 21, 2014
- Messages
- 395
So, now that to test code is finished, and the hardware design has finally been debugged, and in large part by all the great help you all have given me, the next thing to do is format the memory so I can actually use it. At some point, I suspect as I migrate to the S-100 version of this thing, I will incorporate this memory disk as NVRAM and into CP/M 2.2 or 3.0. But for now, it will be a standalone entity.
The file directory structure I'm going for has 12 entries for each of the first 12 blocks of 256 bytes, for a total of 96 directory entries. Each file entry contains track & sector addresses for 8 blocks of 256 bytes, so each file consumes 2,048 bytes of memory. Not the most efficient method I'm sure, but it is a start for me to build with. Each of the 96 file entries will look like this:
U will be a 0 if unused and a 1 if used. P will be a 0 if unprotected and a 1 if write protected. S will indicate the sequence; 0 if only one block used and 1 through n for files larger than 2,048 bytes. Similar to CP/M, if I issue MDSAVE 'n' FILENAME.EXT, the file will take up as many directory entries as the 'n' indicates, each one having the same filename but the S value will contain the sequence. For file that are equal to 2,048 bytes or less, S will equal 0.
I'll see how well that works and tweak it as I go.
The file directory structure I'm going for has 12 entries for each of the first 12 blocks of 256 bytes, for a total of 96 directory entries. Each file entry contains track & sector addresses for 8 blocks of 256 bytes, so each file consumes 2,048 bytes of memory. Not the most efficient method I'm sure, but it is a start for me to build with. Each of the 96 file entries will look like this:
U will be a 0 if unused and a 1 if used. P will be a 0 if unprotected and a 1 if write protected. S will indicate the sequence; 0 if only one block used and 1 through n for files larger than 2,048 bytes. Similar to CP/M, if I issue MDSAVE 'n' FILENAME.EXT, the file will take up as many directory entries as the 'n' indicates, each one having the same filename but the S value will contain the sequence. For file that are equal to 2,048 bytes or less, S will equal 0.
I'll see how well that works and tweak it as I go.