Sunday, 8 July 2012

Dreamcast virtual display - 50% off!

gxemul -XEdreamcast booting NetBSD-3.1.1
Not having a great deal of time to spare this evening for Retrochallenge 2012, and having neither the Dreamcast or the VAX to hand, I decided to have a quick run of the gxemul Dreamcast emulator to see how easy it was to use as a test environment.

It turned out to be amazingly easy to run - just install gxemul, download a NetBSD kernel and run gxemul -XEdreamcast kernel.gz.

Interesting display though - the entire bottom part of the display appears to be blank for NetBSD-{6,5,4} and intermittently for NetBSD-3.1.1.

The fact that booting a NetBSD 3.1.1 kernel *sometimes* displays correctly is quite curious - fortunately gxemul outputs various debug output:

Bad boot:
[ pvr: DIWMODE set to: clock_double=0, ...
[ pvr: SYNCCONF set to: video_enabled=1, NTSC, interlaced=1, ...
...
[ pvr_geometry_updated: 640 x 240, RGB565 (16-bit) ]

Good boot:
[ pvr: DIWMODE set to: clock_double=1, ...
[ pvr: SYNCCONF set to: video_enabled=1, VGA, interlaced = 0, ...
...
[ pvr_geometry_updated: 640 x 480, RGB565 (16-bit) ]

So... a happy boot thinks its setting up a VGA output and an unhappy one has picked the American "Never Twice Same Colour" TV standard. Could be an uninitialised (virtual) register?

Completely irrelevant to what I was intending to look at, but I definitely think I'll be having a poke around with this further, just not tonight :)


No comments:

Post a Comment