|実機資料||低||解決済み||修正済み||2009-01-19 02:08||2009-01-29 18:22|
|セット||schaser, schasercv, polaris|
schaser - スペースチェイサー (set 1)
schasercv - スペースチェイサー (CV version - set 1)
|詳 細||(I see that this game has the GAME_IMPERFECT_COLORS flag, which might refer to the problem described here, but there is no sign of any specific source comment or existing bug related to this.)|
The program address map for Space Chaser, schaser_map, shows that the color RAM area (0xC000-0xDFFF) only uses 10 of its address bits: it's an 8K region, but the use of AM_MIRROR(0x00E0) means that 3 address bits are mirrored.
Likewise, the video update functions for both Space Chaser versions, schaser and schasrcv, address the color RAM with a mask of 0x1F1F, so the 3 mirrored address bits are masked out. Thus only 1K of color RAM locations are being used.
Taito's service manual for Space Chaser can be found here:
This manual lists two different motherboards, RTN00003 and RTN00005. The schematics, layout diagrams, and parts lists for both motherboards all show that the color RAM is provided by two type-2114 1K x 4-bit RAMs. 11 address bits are sent to the two RAMs; the uppermost of these bits is the chip select signal. Of the 4 output bits from the color RAM, one is dropped; that aspect is consistent with the emulation.
From examining both schematics (pages 11 and 12 of the PDF), the difference appears to be bit 5 of the color RAM's address, whose input comes from 4V'/AD7 in both cases. (You have to be careful when examining the RTN00003 schematic on page 12, because the signal naming and routing appears to be obfuscated, but the correspondence turns out to be the same.) Thus the schematics show that CPU address bit 7 is used for the color RAM; this bit is being ignored in MAME.
Based on this, I would suggest changing the color RAM's AM_MIRROR to 0x0060 and the color RAM's address mask in the video update functions to 0x1F9F. Unfortunately, I don't have a working build system at the moment, so I can't test this change myself.
(Since bit 5 of the color RAM's address comes from signal 4V' during raster scanout, one might expect color artifacts that show up on 4-scanline boundaries.)
|追加情報||schasrcv -> schasercv in 0.133u1|