openMSX bugs

Page 13/13
6 | 7 | 8 | 9 | 10 | 11 | 12 |

By gdx

Enlighted (4632)

gdx's picture

09-07-2021, 09:36

I noticed amazing something on OpenMSX and other emulators, when I enter PRINT PEEK(&HFFE8) on an emulated MSX1, I get 255. I get 0 on my real MSX1s (TMS9918A). I was thinking the BIOS writes 0 in reserved values but it seems not always the case.

By Grauw

Ascended (10011)

Grauw's picture

09-07-2021, 13:30

gdx wrote:

I was thinking the BIOS writes 0 in reserved values but it seems not always the case.

The MSX1 BIOS does not initialise the VDP mirrors that only the MSX2 BIOS and up knows about. The simplest way to confirm for yourself whether the address is initialised by the BIOS is to boot the machine, POKE a value to it, reset the machine, and PEEK it. OpenMSX also has a setting which tells you when uninitialised memory is read from (outputs to system console).

The initial value on a cold boot depends on the brand & type of RAM chips used in the particular machine, and could be 0, 255 or something else, and could be constant or form a repeating pattern like 255 255 0 0 255 255 0 0. OpenMSX tries to emulate this on some machines, it has configuration for initial RAM patterns, but this is not defined (not known) for every machine and also may not be accurate for all revisions or batches of a machine.

By gdx

Enlighted (4632)

gdx's picture

09-07-2021, 13:54

Ok, I thought that the BIOS initializes also the reserved variables but that it isn't. It's annoying.

Page 13/13
6 | 7 | 8 | 9 | 10 | 11 | 12 |