OS or Filesystem for a 65C02
Posted: Thu Jan 23, 2020 3:14 am
As Ed suggested in the recent DOS/65 thread, here's an attempt to start a new thread and hopefully get some traction for a more modern OS or filesystem that is based on the 65C02. Note that I purposely specify the CMOS version only.
Perhaps a simple recap to start. The 8080 and Z80 were very popular in their day and CP/M became the de facto OS for them. It is somewhat odd to realize that with the overwhelming popularity of the 6502 that nothing equivalent ever really came along that became a de facto OS for it. Lots of different ones of course, but nothing that bridged across platforms like CP/M.
Also, I tend to agree that implementing an OS form the 70's/80's is probably not the goal here, much less having filesystem compatibility for things like CP/M. I'm also specifically stating the 65C02 as an 8-bit implementation, not the 65C816 (at least not for now).
For the past two years, I've been sporadically working on a 16-bit IDE interface for my own C02 Pocket SBC. This is a separate I/O adapter which has a 44-pin (2.5-inch) IDE port and a realtime clock. I'm about ready to pull the trigger on getting the PCBs made, but as of yet to have written any code, except for adding I/O port definitions to my existing BIOS. Having giving this lots of thought, I'm basically taking the path of using the older (16-bit) FAT filesystem for disk layout. The reasons are fairly simple:
1- It's well documented and shouldn't be overly complex to implement.
2- Every current OS supports the file format for compatibility.
3- Based on above, you can always use another OS to format the media and check (and hopefully) repair the filesystem.
I also tend to like the Commodore concept of using a separate CPU system to implement the filesystem and have a simple, albeit faster, connection to a main SBC setup. It offloads a lot of work and allows a more complex subsystem to be implemented without worrying too much about the resources (ROM/RAM, CPU cycles) required. I also opted to use the older IDE interface as it too is well documented and is easily interfaced to a 65xx system.
Needless to say, this could turn out to be a very long project for me personally, given my retirement status and the fact that I'm now more busy than I ever imagined! So... post away... the good, the bad and even the ugly!
Perhaps a simple recap to start. The 8080 and Z80 were very popular in their day and CP/M became the de facto OS for them. It is somewhat odd to realize that with the overwhelming popularity of the 6502 that nothing equivalent ever really came along that became a de facto OS for it. Lots of different ones of course, but nothing that bridged across platforms like CP/M.
Also, I tend to agree that implementing an OS form the 70's/80's is probably not the goal here, much less having filesystem compatibility for things like CP/M. I'm also specifically stating the 65C02 as an 8-bit implementation, not the 65C816 (at least not for now).
For the past two years, I've been sporadically working on a 16-bit IDE interface for my own C02 Pocket SBC. This is a separate I/O adapter which has a 44-pin (2.5-inch) IDE port and a realtime clock. I'm about ready to pull the trigger on getting the PCBs made, but as of yet to have written any code, except for adding I/O port definitions to my existing BIOS. Having giving this lots of thought, I'm basically taking the path of using the older (16-bit) FAT filesystem for disk layout. The reasons are fairly simple:
1- It's well documented and shouldn't be overly complex to implement.
2- Every current OS supports the file format for compatibility.
3- Based on above, you can always use another OS to format the media and check (and hopefully) repair the filesystem.
I also tend to like the Commodore concept of using a separate CPU system to implement the filesystem and have a simple, albeit faster, connection to a main SBC setup. It offloads a lot of work and allows a more complex subsystem to be implemented without worrying too much about the resources (ROM/RAM, CPU cycles) required. I also opted to use the older IDE interface as it too is well documented and is easily interfaced to a 65xx system.
Needless to say, this could turn out to be a very long project for me personally, given my retirement status and the fact that I'm now more busy than I ever imagined! So... post away... the good, the bad and even the ugly!