"BASIC ROM" type of ROM

Door cax

Prophet (3735)

afbeelding van cax

30-09-2003, 17:24

I just discovered that there exists some ROM format I am not familiar with - a so-called BASIC ROM (no, I am not confused with the rom containing MSX-BASIC for use in emulators).
If I understand correctly, it can't be bigger than 16K and maps to 8000-BFFF.
This format is intended for running BASIC programs from cartridges.

On the ExecROM page
I saw that this type is supported by ExecROM, and I even started to read the ExecROM source in order to understand the format, but it seems too complicated for me.

1) Can someone point me to some documentation about BASIC ROM format ?
2) How can I convert BASIC program to this type of ROM ?
3) Are there any known ROMs in this format I can look at ?

Aangemeld of registreer om reacties te plaatsen

Van anonymous

incognito ergo sum (118)

afbeelding van anonymous

30-09-2003, 18:59

By default, BASIC programs start at &H8000. The first thing you have to do is to set the start address at a higher point in order to make room for the ROM header.

For example, try

POKE &HF676,&H11
POKE &HF677,&H80
POKE &H8010,0

Now you have to edit the ROM file (with a HEX editor) to set the correct header. First at all, remove the seven 'bsave' bytes from the header (FE 00 80 FF BF 00 80). After that it should be something like this:

00000000: 41 42 00 00 00 00 00 00 10 80 00 00 00 00 00 00
00000010: 00 basic code starts here...............................

After saving changes you should have the ROM you're looking for.

Anyways, I typed this as I remember so I could be wrong.
Take a look at:


and search 'POKE &HF676,&H21' string.