mame 0.288完善了 Namco System 21 驱动
本帖最后由 sjy960525 于 2026-5-28 06:28 编辑0.288:
. Namco System 21 3D Rasterizer: Fixed x/y end limits. Bit 7 of code really doesn't seem depth cue related, fixes Air Combat 3D colors. Guard against possible array OOB. Shorthand variable types. Removed some obsolete stuff. Z param can be negative. Added backface culling. Added per-poly representative Z (namco\namcos21_3d.cpp)
. Namco System 21 DSP Setup (1x TMS320C25 type): Moved draw_quads to 3D device. Shorthand variable types. Removed winrun_ prefix. Saftety mask for possible array OOB. Different method for sending data to renderer. Added poly size mismatch check. Improved DSP comram (namco\namcos21_dsp.cpp).
. Namco System 21 DSP Setup (5x C67 type)
. Removed Cyber Sled specific kickstart delay, fixes title screen appearance. Issue a DSP chip reset when the line is high, fixes Solvalou and Starblade 3D graphics after exiting service mode (namco\namcos21_dsp_c67.cpp).
. Reorder display command processing, fixes Cyber Sled crash after defeating round 3 in Vs. Computer Combat and Solvalou crashes during the first level. Removed obsolete yield_hack and other hacks. Moved draw_quads to 3D device. Shorthand variable types. Added a missing side effects check (namco\namcos21_dsp_c67.cpp).
. Correct some dsp edge triggered ports and removed C67 underclock hack. Saftety mask for possible array OOB. Added poly size mismatch check (namco\namcos21_dsp_c67.cpp).
- namcos21.cpp
. Upper palette entries 0 & 1 controls mixing, fixes winrun/winrungp/winrun91 title screen priority. Mark winrungp GPU prg roms as bad dump.
. Improved bgpen. Imperfect sound flag for the driving games. Removed GPU maskram and winrun_ prefix from functions/variables. Tweak analog controls for the driving games.
. Improved non-3d layer a bit. Removed unneeded maincpu yield and mark savestates as supported. Small cleanup. Moved draw_quads to 3D device (namco\namcos21_dsp.cpp). Correction to sound bank write.
. Use memory_share_creator for the NVRAM. Winning Run shifter was the wrong way around.
. Hook up 'Fujitsu MB87077 Volume Controller' to the driving games. Lower number of mixers to 2. audiocpu irq0 is unused. Assume audiocpu rom range is c000-ffff. Assume reset_all_subcpus also resets the associated C148.
. Added note about GPU regs. Tweak video timing and some other clocks. GPU c148 ext input is screen field. Added video enable flag. Workaround for service mode bug. Improved posirq. Small tweak to analog controls.
. Assume keyon reg 0x40 is some kind of retrigger (sound\c140.cpp), fixes winrun engine sound is too high pitched compared to real HW (ID 08087).
- namcos21_c67.cpp
. Promoted Air Combat (AC1, Japan), Air Combat (AC2, US), Cyber Sled (CY1, World?), Cyber Sled (CY2, World) and Solvalou (SV1, Japan) to working. Added default NVRAM to Solvalou and Starblade. 'uninvert' analog y anyway in Starblade.
. Preliminary mixing register hookup, fixes Air Combat gameplay priority. Bit 7 of code really doesn't seem depth cue related (namco\namcos21_3d.cpp), fixes Air Combat 3D colors (namco\namcos21_3d.cpp). Updated aircomb QA note.
. Hookup video enable bit (Solvalou after POST). Issue a DSP chip reset when the line is high, fixes Starblade/Solvalou 3D graphics after exiting service mode (namco\namcos21_dsp_c67.cpp). Added internal artwork (layout\solvalou.lay). Reorder display command processing, fixes Solvalou crashes during the first level (namco\namcos21_dsp_c67.cpp) (ID 02085). Solvalou uses less poly colors. Added more views to Solvalou internal artwork.
. Removed Cyber Sled specific kickstart delay, fixes title screen appearance. Reorder display command processing, fixes Cyber Sled crash after defeating round 3 in Vs. Computer Combat (namco\namcos21_dsp_c67.cpp) (ID 06302). Correct cybsled speaker placement.
. Tweak analog controls. Improved bgpen blend. Added note about DSP clock. Correction to sound bank write. audiocpu irq0 is unused. Small improvement to sprite layer 0 priority.
. Video disable bg is black. Assume audiocpu rom range is c000-ffff. Assume reset_all_subcpus also resets the associated C148. Tighter quantum just to be sure (by same factor of previous DSP underclock). Tweak video timing and some other clocks. Removed unneeded scanline timer.
- namcos21_de.cpp: Improved bgpen blend. Correction to sound bank write. Hook up 'Fujitsu MB87077 Volume Controller'. audiocpu irq0 is unused. Video disable bg is black. Assume audiocpu rom range is c000-ffff. Assume reset_all_subcpus also resets the associated C148. Tweak video timing and some other clocks. Disable sound output for left and right PCBs. Small tweak to analog controls. Removed unneeded scanline timer.
模拟器:
Namco System 21全套ROMS:
链接: https://pan.baidu.com/s/1HUSadHk5SeDNfbJjDBJt3Q 提取码: nwqb
主要是修复了Solvalou,Cyber Sled死机的问题。
胜利之路(Winning Run)系列+赛车手之眼(Driver's Eyes)
链接: https://pan.baidu.com/s/1daG67NMogCj1lPZGoAyD8g 提取码: 76jb
Solvalou 太空大战
链接:https://pan.baidu.com/s/1_2BeiWLnsQ945Oau_aBt2A 提取码:5fep
Starblade 星际保卫战
https://pan.baidu.com/s/1_dOJukYU4Yzk3VgzKhWbAw 提取码: cej2
Cyber Sled 究极坦克
链接: https://pan.baidu.com/s/1XfmhdpGm3C6YeDUKczkyCQ 提取码: far4
Air Combat 皇牌空战
链接: https://pan.baidu.com/s/1moM0TFUx_FtrveCi_lrccw 提取码: 7idp 胜利之路 Winning Run + 胜利之路铃木大奖赛 Winning Run Suzuka Grand Prix + 胜利之路91 Winning Run '91 + 赛车手之眼(Driver's Eyes)
https://pan.baidu.com/s/1Q4_RaabMofP8oAH14KgSaQ
Solvalou 太空大战
链接:https://pan.baidu.com/s/1strFfcTNIh28TYokLL2RwA 提取码:ncsh
Starblade 星际保卫战
链接: https://pan.baidu.com/s/1Ju1jruOrjinO6jP_2VtgJQ 提取码: s9ns
Air Combat 皇牌空战
https://pan.baidu.com/s/1ge2VZ15
Cyber Sled 究极坦克
链接: https://pan.baidu.com/s/1cn-sykFOEEDfmxS5_i2JIg 提取码: rh57 本帖最后由 sjy960525 于 2026-5-6 08:24 编辑
胜利之路 Winning Run使用的nvram:
胜利之路铃木大奖赛 Winning Run Suzuka Grand Prix使用的nvram:
胜利之路91 Winning Run '91使用的nvram:
太空大战 Solvalou 使用的Nvram:
皇牌空战 Air Combat使用的nvram:
页:
[1]