VDP indirect register access

By lintweaker

Champion (437)

lintweaker's picture

20-02-2022, 14:47

Learned something today about the V9938/58 indirect register access which I never gave a thought before Cool
I am playing with an FPGA VGA text mode adapter which mirrors the MSX text screen (screen 0 and 1) by snooping on VDP IO access.
As the BIOS of MSX2 and up uses the VDP indirect register access to fill the control registers to setup the screen mode I also had to implement that.
It worked quite well until I noticed that mode bit M5 was not being reset after the graphical boot screen. This prevented the VGA text console from outputting any further text as it checks the screen mode.
I implemented indirect register access with the assumption that direct and indirect register access are mutually exclusive, but apparently they are not Smile Looking at the BIOS subrom code I noticed the VDP status registers being accessed after indirect register had been setup.
It seems indirect register access stays enabled once setup.

Login or register to post comments