Detailed Memory map of MSX?

By MSXGuy

Supporter (4)

MSXGuy's picture

15-01-2022, 12:45

Hello.

I have been trying to find a full and detailed memory map for the MSX computers, but I couldn't find anything.
Is there somewhere where I can find something like the next link for the C64?

https://sta.c64.org/cbm64mem.html

Thanks.

Login or register to post comments

By aoineko

Master (253)

aoineko's picture

15-01-2022, 13:18

For MSX:
- In page #0 (address 0000h-3FFFh) you have the Main-ROM's BIOS that contain many routines and some data.

- In page #3 (address A000h-FFFFh) you have BIOS working area with many variables (staring from F380h or F30Fh)

By Manuel

Ascended (18390)

Manuel's picture

15-01-2022, 17:19

Don't forget, C64 is a single machine. MSX is a standard, which allows for more variation and there are mechanisms in place to compensate for that.
It would be interesting though to understand what part is the most interesting for you and what you want to use the information for. Then we can give more detailed information.

By MSXGuy

Supporter (4)

MSXGuy's picture

17-01-2022, 08:56

Yes, that is exactly what I was looking for. Thanks.

Manuel wrote:

Don't forget, C64 is a single machine. MSX is a standard, which allows for more variation and there are mechanisms in place to compensate for that.
It would be interesting though to understand what part is the most interesting for you and what you want to use the information for. Then we can give more detailed information.

Coming from the C64 world, the MSX is somehow confusing.
If MSX is a standard, wouldn't memory addressing, BIOS calls and other key parts of the computers be the same?
Otherwise, software and hardware would be incompatible between machines. What kind of variation are you refering to?

By gdx

Enlighted (5011)

gdx's picture

17-01-2022, 09:37

On MSX, you need to understand how slots work and how the system handles them. You need to have an overview of the existing configurations and anticipate how they might differ depending on the situation in which your program will be run.

If you look up the routines in the ROMs and call them directly, you'll get a program that only works on your model (and a few others with luck). You have to go as much as possible through the BIOS jump tables and the few routines that have been declared standard.

Some I/O ports react differently depending on the MSX used. And don't consider free RAM to contain the same values at boot.