cwahlmann / vz200-remake

A remake of the VZ200 Color Computer (Vtech / Dick Smith 1983) - ein Nachbau des VZ200 Color Computers (Vtech / Dick Smith 1983)
9 stars 0 forks source link

Graphic additions #14

Open oss003 opened 4 years ago

oss003 commented 4 years ago

Hi, nice project ....

Did you implement some graphics additions like the German Mod or the Australian mod? If so, then I have a few files for testing, using 32KB RAM expansion and a German or Australian mod:

Current state (by @cwahlmann)

VZ testgames MPAGD_GAMES.zip

kashban commented 4 years ago

Thanks OSS, we will give it a try.

So far I am not aware of any support for those mods, since we only adapted the emulator, but did not develop it.

cwahlmann commented 4 years ago

Hi! Do you know where to find any specification for these mods? If I get any, I will give it a try.

bushy555 commented 4 years ago

Hi, The Modifications are available in the FILES section of the 'VZ200 / VZ300 fans' group on Facebook. Failing that, they are NOW available on my little website. https://vz200.org/bushy/ Both these "German Mod" and the "Australian Mod" are sitting under the title "HARDWARE" as downloadable PDF files.

Article German 256x192 graphics mod. "German Mod" Article German 256x192 graphics mod in English. "German Mod" Article Joe Leon's super high graphics mod. part #1. "Australian Mod" Article Joe Leon's super high graphics mod. part #2. "Australian Mod"


A quick summary about these modifications; taken from Guy Thomason's VZEM Emulator readme file.

EXTENDED GRAPHICS

The “Super VZ Graphics” hardware modification is emulated. This provides support for all the graphics modes the video chip is capable of (Motorola 6847)

To active the extended graphics modes, type the following from the emulator:

GM0 OUT 32,0 64x64 Color 1024 bytes GM1 OUT 32,4 128x64 Monochrome 1024 bytes GM2 OUT 32,8 128x64 Color 2048 bytes GM3 OUT 32,12 128x96 Monochrome 1536 bytes GM4 OUT 32,16 128x96 Color 3072 bytes GM5 OUT 32,20 128x192 Monochrome 3072 bytes GM6 OUT 32,24 128x192 Color 6144 bytes GM7 OUT 32,28 256x192 Monochrome 6144 bytes

Then activate the mode using the MODE(1) command or POKE 26624,8.

The VZ200 memory map can only access 2k video ram. For graphics modes that occupy more than 2k (eg GM7), bank switching is used.

The byte written to port 32 is decoded via the following bits

xxxmmmbb

Where xxx is not used, mmm is the graphics mode, and bb is the bank. So to activate GM7 bank 0, the output byte would be 0011100 binary or 28 decimal. To activate GM7 bank 1, the output byte would be 0011101 binary or 29 decimal.

For whatever bank is active, reads/writes to the 2k video memory at 7000h will affect the screen. For GM7, pixel rows 0-63 are active for bank 0, 64-127 for bank 1 and 128-191 for bank 2.

For further information on extended vz graphics, read the following articles (available from VZAlive)

VZ Super Graphics by Joe Leon Ultra Graphics Adapter by Matthew Sorrell.

Support has been added for the German Graphics Mod. From the main menu, select options -> extended graphics -> german. The German modification only supports GM7, the 256x192 monochrome mode. To enable the mode, set bit 4 of address 30779, eg POKE 30779,8 Then activate the hi-res screen by either the MODE(1) command or POKE 26624,8.

The bank switching is controlled by port 222, eg

OUT 222,0 selects bank 0 OUT 222,1 selects bank 1 OUT 222,2 selects bank 2 OUT 222,3 selects bank 3