Kernel : how to code a rom

Building a new rom

Twilighte card and Sittler card  handle 7 banks. For instance, only 3 banks are used. In the future the Twilighte card will handle 31 banks of 16 KB

Standalone ROM

In this case, the rom is like basic11 commands. It switchs to bank 6. In that case, Bank6 erase Orix memory. If you need to create a standalone rom, you need to set in your rom the signature orix bank : $fff8 & $fff9 of your rom contains the adress of the rom string. If you want to do a new rom, you can use this : https://github.com/oric-software/orix/blob/master/src/orixbank1.asm

ROM working with Orix

If you want to do a rom working with Orix, it’s possible. For example, if you want to do an assembler (or any langage), you can do a new rom. In that case, you can get this empty file : https://github.com/oric-software/orix/blob/master/src/orixbank1.asm

And you start your code. At this step, each BRK_ORIX(PRIMITIVE) will call Orix bank7.

In that case, you can register your command in Orix bank 5. When you will type your command, the code will switch into the bank.

for example, you could do a simple ca65 assembler in a bank.

When you call

# ca65 myfile.asm

The command could call the new rom and a pointer to the command line