News:

Printed Amstrad Addict magazine announced, check it out here!

Main Menu
avatar_HAL6128

Firmware address location?

Started by HAL6128, 16:01, 27 March 19

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

HAL6128

According to firmware guide there is a table with the regular firmware memory locations from &0000 to &0170 and from &A6FC to &BFFF (end of stack). All the memory locations for system variables have fixed addresses.

But I've seen that putting (some) ROMs into the CPC will shift the addresses.

E.g. placing the three Orgams-ROMs on slot 10 to 12 are shifting those addresses 4 bytes lower.
Before inserting the three ROMs the firmware address for reading out "number of first sector" (normally at &A89F) is now located at &A89B.

How can I detect / calculate such kind of effect if I need the exact location of a firmware system variable address?
...proudly supported Schnapps Demo, Pentomino and NQ-Music-Disc with GFX

Duke

I think, what you want is the workspace of AMSDOS, which will indeed change if other roms present above it.
You can read it by taking the pointer at 0xBE7D, which under normal conditions is 0xA700

HAL6128

Thank you Duke, that is exactly I was looking for!(I've read quickly it in the firmware guide but wasn't aware of this possibility because it said something about "AMSDOS reserved area". I was misreading it and was thinking about a size instead of a starting point.)
...proudly supported Schnapps Demo, Pentomino and NQ-Music-Disc with GFX

Powered by SMFPacks Menu Editor Mod