hjalfi wrote:
but is otherwise essentially CP/M 2.2, just rewritten for the 6502. Naturally, there is no software whatsoever for it...
Also, if you're interested in watching about 45 hours of Youtube, I recorded myself programming it.
I have given this some thought as well as watching the first of the videos.
I hope you are open to constructive criticism because I am about to give you some...
* You chose to dispense with the sector number translation table for dealing with sector interleaving on disk.
The only truly "standard" CP/M disk format is the 8" single-sided, single-density floppy disk with 128 bytes per sector. Sector interleaving is done via the number translation table instead of formatting them out of order. This was because some of the early systems were not able to format a diskette; those users were told to buy preformatted "IBM" media.
Without the translation table, you lose the ability to deal with virtual disk files in the "standard" format.
Try this: can you interchange files with CP/M-80 running on a C128 or a C64 cartridge? Or if there is a port to the Apple II in the future, with the CP/M Softcard? I do not know whether they are physically or logically interleaved, but why preclude the possibility?
* The 6809 is not compatible with the 6800 at the machine code level. The designers of FLEX for the 6809 made a sad mistake of reusing the .CMD file extension for executable files, condemning users with the likelihood of running programs on the "wrong" processor.
It is probably best to choose something other than .COM for CPM65 executables.
* To encourage new software for the system, it would be helpful to have written documentation about
- the memory map of the system.
- the BDOS calls and which registers are used.
- the BIOS calling convention.
- sample code not obscured by macros or assembler-specific directives for interfacing with the system. Not everyone is going to want or be able to use them.
- a hexadecimal dump of the binary of a small executable program to illustrate how the relocation tables work.