Discrepancy between OpenMSX and real hardware (color palette change)

Page 1/2
| 2

By santiontanon

Champion (505)

santiontanon's picture

17-04-2018, 03:27

Hi!

I Was watching this video on Youtube ( https://www.youtube.com/watch?v=GHjpNPUUH8Y ) [in Spanish, sorry], and starting at 10:05, there is something interesting. Pipagerardo was writing a program that in an MSX2 changed the color palette to display an image. He assumed that the code to change the color palette would have no effect on an MSX1, so he left it there. When running it in OpenMSX, that's what he observed. So, he decided to try it on a real MSX1 (Philips VG8020), and to his surprise (and mine), the colors were all wrong! (you can see on 13:04 how it runs on a real MSX1, while in OpenMSX it looks like shown in 9:27)

I haven't tried this myself, but just wondering if this was a known thing (at least I didn't know about it :))

Login or register to post comments

By Vampier

Prophet (2135)

Vampier's picture

17-04-2018, 18:36

this is weird indeed

By l_oliveira

Champion (511)

l_oliveira's picture

17-04-2018, 18:38

Hi there, santi. As we talked on the IRC, here's some links where stuff related to this are discussed on OpenMSX development:

https://github.com/openMSX/openMSX/issues/794
https://github.com/openMSX/openMSX/issues/1024

By l_oliveira

Champion (511)

l_oliveira's picture

17-04-2018, 22:00

I retract what I said about palettes. After a chat with Quibus at OpenMSX IRC, I watched the video. I understand he was trying to write into the V9938 palete registers on a VG8020 computer with TMS9929 VDP. It doesn't have those registers and any writes to those I/O ports will end into the first two I/O ports (98h and 99h). So the problem is that the palette writes are actually corrupting the TMS9929 registers due to I/O port mirroring.

By Grauw

Enlighted (7010)

Grauw's picture

17-04-2018, 22:10

So if it’s mirroring then it should be easy to fix in the emulator… Smile.

Pipagerardo should also be aware that writing to registers 8 and up mirrors on some versions of the MSX1 VDP, and does not mirror on others.

Here’s some VDP detection code, so he can also support the palette on those Yamaha MSX1 computers with V9938 (like the CX5MII).

By Manuel

Ascended (14122)

Manuel's picture

17-04-2018, 22:50

Except that it is already implemented... so, if the guy of that video used a clean install without modifications, it should already have been in. I implemented it on May 21 2014.

By santiontanon

Champion (505)

santiontanon's picture

17-04-2018, 23:56

I'll double check with him which version of OpenMSX he was using. I naively assumed he was using the latest one, but I actually do not know Smile

By FiXato

Scribe (1400)

FiXato's picture

18-04-2018, 01:15

Looking at the openMSX title bar at https://youtu.be/GHjpNPUUH8Y?t=572 (9:32) it looks like he's using openMSX 0.14.0, which would be from August 2017.

By Manuel

Ascended (14122)

Manuel's picture

18-04-2018, 13:40

If the author can send me the ROM file, I can investigate this.

By santiontanon

Champion (505)

santiontanon's picture

18-04-2018, 15:39

Thanks Manuel! I'll ask Pipagerardo if he minds sharing the ROM

By santiontanon

Champion (505)

santiontanon's picture

18-04-2018, 16:41

Gerardo just told me via twitter that he emailed you the files via email Manuel Smile

Page 1/2
| 2
My MSX profile