Page 1 of 3

Monarch Open ROM Description and FAQ

Posted: Fri Mar 11, 2022 12:06 am
by TomXP411

This is a place to discuss the alternative Open ROM for the CX16. This operating system will be called "Monarch OS". 

This is designed as a new OS that will not be compatible with Cloanto KERNAL/BASIC. So it will not run Commander X16 programs.

Some quick notes:


  • The long term goal is an independent OS that runs on 6502 hardware. This may or may not resemble the Commander X16... over the long term, it's likely it will have a different memory layout with different ROM, RAM, and memory banking capabilities. 


  • Unlike Commodore and Commodore-like computers, Monarch will not have BASIC embedded. Instead, it will have  a BIOS and a simple command processor, roughly equivalent to the CP/M or DOS command line. Typing a program name will run it. CD, MD, REN, COPY, and DEL will work as expected... other tools and utilities will be provided on disk. 


  • This will use ASCII character order. The upper 128 characters have not yet been decided.


Monarch is NOT meant to be a clone of any existing operating system. It's not CP/M for 6502. It is not DOS/65. It is not a KERNAL clone. The point of building Monarch is to develop a complete, new operating system that does not rely on any existing development scheme. While it may borrow ideas from CP/M, ProDOS, and KERNAL, it is not meant to be a clone or 1:1 substitute for any of those. It will be its own thing, as different from Commodore KERNAL as Commodore is from Apple or Atari...


Monarch Open ROM Description and FAQ

Posted: Sun Mar 13, 2022 10:26 am
by Stefan

Who runs this project, and how could you contribute if interested?


Monarch Open ROM Description and FAQ

Posted: Mon Mar 14, 2022 8:26 am
by TomXP411


On 3/13/2022 at 3:26 AM, Stefan said:




Who runs this project, and how could you contribute if interested?



Keep an eye on the Github pages... and post here in this forum. The folks who had this idea also hang out in the Discord community, so you can check over there. For right now, there hasn't really been much discussion, aside from the initial "Let's make an open ROM" idea.

 


Monarch Open ROM Description and FAQ

Posted: Mon Apr 25, 2022 6:52 am
by xanthrou

Silly question, but would there be more alternative OSes for the X16? 


Monarch Open ROM Description and FAQ

Posted: Mon Apr 25, 2022 7:21 am
by TomXP411


On 4/24/2022 at 11:52 PM, xanthrou said:




Silly question, but would there be more alternative OSes for the X16? 



It depends on what people come up with. The most likely answer is "probably not." 


Monarch Open ROM Description and FAQ

Posted: Mon May 23, 2022 11:52 pm
by BruceMcF


On 4/25/2022 at 2:52 AM, xanthrou said:




Silly question, but would there be more alternative OSes for the X16? 



Open Sourcing the ROM ... that would be a reason to provide an alternative "OS". I'm not 100% sure that there is another one.

See, the thing is that the X16 "OS" is more a BIOS ("Basic Input/Output System") kernel than what most people would think of as an "operating system" today. Since it allows you to program on the bare metal, what would be an "alternative operating system" in a modern computer doesn't actually need to REPLACE the X16 "OS" ... the X16 "OS" will happily load anything and let it take over completely.

 


Monarch Open ROM Description and FAQ

Posted: Fri Oct 07, 2022 3:50 pm
by kelli217

It looks like the project is sort of (but not quite) a CP/M-ish thing. Rather like DOS/65 but without that project's cross-platform file system.


Monarch Open ROM Description and FAQ

Posted: Sat Oct 08, 2022 12:13 am
by TomXP411


On 10/7/2022 at 8:50 AM, kelli217 said:




It looks like the project is sort of (but not quite) a CP/M-ish thing. Rather like DOS/65 but without that project's cross-platform file system.



That's a good way to look at it. While the user interface will look like CP/M, I don't expect it to resemble CP/M much under the covers. We will implement a BIOS and command interpreter that live in ROM, but the system calls, file structure, and applications are not expected to be compatible with CP/M or with DOS/65. (Actually, I see no reason to use a special file system, so we'll just use whatever native file system is supported by the storage devices.)

 

 

 

 


Monarch Open ROM Description and FAQ

Posted: Fri Oct 21, 2022 6:07 am
by neutrino


On 3/11/2022 at 1:06 AM, TomXP411 said:




This is designed as a new OS that will not be compatible with Cloanto KERNAL/BASIC.



Is there any inherent reason for the incompatibility? If the Kernal APIs addresses and registers are the same it should work?

Also is the aim something multitasking like GeckOS, ConTiki, OS-9 etc? or just a plain single task Kernal ?

In the latter case a BasicV2.PRG should be able to run CX16 basic programs at least.


Monarch Open ROM Description and FAQ

Posted: Fri Oct 21, 2022 6:21 am
by TomXP411


On 10/20/2022 at 11:07 PM, neutrino said:




Is there any inherent reason for the incompatibility? If the Kernal APIs addresses and registers are the same it should work?



Also is the aim something multitasking like GeckOS, ConTiki, OS-9 etc? or just a plain single task Kernal ?



In the latter case a BasicV2.PRG should be able to run CX16 basic programs at least.



The whole point is to design an operating system, not just to copy what Commodore has already done. If you like the existing KERNAL/BASIC operating system, then KERNAL/BASIC is already there.

The whole point of Monarch is to create something from scratch, not just to copy an existing thing as open source. 

Whether a BASIC interpreter would be compatible with BASIC 2 is a question that has yet to be answered, since we don't yet have a Monarch to run the interpreter on. Personally, if I do build a BASIC interpreter (for Monarch or otherwise), it will likely not be source compatible with BASIC 2. There are too many problems and shortcomings with BASIC 2, compared to BASIC 4 and 5. 

In fact, any BASIC interpreter I build will probably look more like QuickBASIC, with no line numbers and things like subroutines and functions...