CPCWiki forum

General Category => Programming => Topic started by: Fran123 on 18:35, 07 January 25

Title: ROM types
Post by: Fran123 on 18:35, 07 January 25
Hello

I read that the meaning of the first 4 bytes of a ROM is:
1st bit: type of rom
2nd bit: brand or developer
3rd: version
and 4th: revision

But I have analysed the first byte of many rom files and I have seen that several types are used, I have seen 00, 01 (the vast majority, including firmware ones), 80 (used in BASIC roms), F3 (Ianna), 02 (Symbos secondaries).

Is this byte free?  Is there a table that specifies the types of ROMs?

Thank you.

Translated with DeepL.com (free version)
Title: Re: ROM types
Post by: Prodatron on 18:50, 07 January 25
AFAIK...

byte 0 - ROM type
byte 1 - major version
byte 2 - minor version
byte 3 - sub number

ROM type can be:
#00, #80 -> foreground rom (don't remember anymore what is the difference between #00 and #80; these are probably Basic ROM etc.)
#01 -> primary ROM, which contains RSX commands and is initialized during startup (has sub number 0)
#02 -> expansion ROM (is an expansion of a primary ROM; starts with sub number 1)
#ff -> empty


*EDIT* seems that there is no specific article on CPCWiki about this, or I missed it?
Title: Re: ROM types
Post by: GUNHED on 21:29, 07 January 25
Quote from: Fran123 on 18:35, 07 January 25Hello

I read that the meaning of the first 4 bytes of a ROM is:
1st bit: type of rom
2nd bit: brand or developer
3rd: version
and 4th: revision

But I have analysed the first byte of many rom files and I have seen that several types are used, I have seen 00, 01 (the vast majority, including firmware ones), 80 (used in BASIC roms), F3 (Ianna), 02 (Symbos secondaries).

Is this byte free?  Is there a table that specifies the types of ROMs?

Thank you.

Translated with DeepL.com (free version)

Byte 0: ROM type
Byte 1: ROM mark
Byte 2: ROM version
Byte 3: ROM modification

Byte 0 = ...
&00 - Foreground ROM
&01 - Regular expansion ROM, with initialisation
&02 - Silent expansion ROM, no initialisation
&80 - BASIC ROM

Byte 1 = &09 for FutureOS expansion ROMs. They use no bytes from native Firmware.

Here an example of an ROM setup...
Title: Re: ROM types
Post by: Prodatron on 11:14, 08 January 25
Thanks!
So it seems, that bytes 1-3 have no real important meaning at all.
(it's 20 years ago since I had a look at this)
Title: Re: ROM types
Post by: GUNHED on 15:47, 08 January 25
Quote from: Prodatron on 11:14, 08 January 25Thanks!
So it seems, that bytes 1-3 have no real important meaning at all.
(it's 20 years ago since I had a look at this)
Exactly! They can be used for what ever you want. However some ROM software has problems to display the content of bytes 1-3 if the content is bigger than 9.
Powered by SMFPacks Menu Editor Mod