News:

Printed Amstrad Addict magazine announced, check it out here!

Main Menu
avatar_Fran123

ROM types

Started by Fran123, 18:35, 07 January 25

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Fran123

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)

Prodatron

#1
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?

GRAPHICAL Z80 MULTITASKING OPERATING SYSTEM

GUNHED

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...
http://futureos.de --> Get the revolutionary FutureOS (Update: 2024.10.27)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> Get the RSX-ROM for LambdaSpeak :-) (Updated: 2021.12.26)

Prodatron

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)

GRAPHICAL Z80 MULTITASKING OPERATING SYSTEM

GUNHED

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.
http://futureos.de --> Get the revolutionary FutureOS (Update: 2024.10.27)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> Get the RSX-ROM for LambdaSpeak :-) (Updated: 2021.12.26)

Powered by SMFPacks Menu Editor Mod