mirror of
https://github.com/holub/mame
synced 2025-06-09 14:22:41 +03:00
Cps1 bootlegs, some more new sets (#5895)
* added captcommb2 * added knightsb3 * added dinopic3 * confirm clocks * bootleg reshuffle
This commit is contained in:
parent
f4cf0cc86a
commit
3ad635d94f
@ -256,6 +256,8 @@ copsnrob.cpp
|
|||||||
corona.cpp
|
corona.cpp
|
||||||
cosmic.cpp
|
cosmic.cpp
|
||||||
cps1.cpp
|
cps1.cpp
|
||||||
|
cps1bl_5205.cpp
|
||||||
|
cps1bl_pic.cpp
|
||||||
cps2.cpp
|
cps2.cpp
|
||||||
cps3.cpp
|
cps3.cpp
|
||||||
cpzodiac.cpp
|
cpzodiac.cpp
|
||||||
|
@ -2156,8 +2156,7 @@ static INPUT_PORTS_START( kodr1 )
|
|||||||
PORT_DIPSETTING( 0x00, DEF_STR( None ) )
|
PORT_DIPSETTING( 0x00, DEF_STR( None ) )
|
||||||
INPUT_PORTS_END
|
INPUT_PORTS_END
|
||||||
|
|
||||||
|
INPUT_PORTS_START( captcomm )
|
||||||
static INPUT_PORTS_START( captcomm )
|
|
||||||
PORT_INCLUDE( cps1_4players )
|
PORT_INCLUDE( cps1_4players )
|
||||||
|
|
||||||
PORT_MODIFY("IN0")
|
PORT_MODIFY("IN0")
|
||||||
@ -13399,6 +13398,25 @@ WRITE16_MEMBER( cps_state::sf2m3_layer_w )
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
A note reguarding bootlegs:
|
||||||
|
In order to keep the cps source in some sort of order, the idea is to group similar bootleg hardware into seperate
|
||||||
|
derived classes and source files.
|
||||||
|
|
||||||
|
Rom swaps, hacks etc. (on original Capcom hardware) -> cps1.cpp
|
||||||
|
Sound: Z80, 2x YM2203, 2x m5205 ("Final Crash" h/w) -> fcrash.cpp
|
||||||
|
Sound: Z80, 1x YM2151, 2x m5205 -> cps1bl_5205.cpp
|
||||||
|
Sound: PIC, 1x M6295 *1 -> cps1bl_pic.cpp
|
||||||
|
Sound: Z80, 1x YM2151, 1x M6295 *2 -> fcrash.cpp (for now...)
|
||||||
|
|
||||||
|
*1 these seem to be only CPS1.5/Q sound games?
|
||||||
|
*2 this is original configuration, but non-Capcom (usually single-board) hardware.
|
||||||
|
|
||||||
|
|
||||||
|
This file currently contains games in first and last catergories.
|
||||||
|
Eventually only official/genuine/non-bootleg Capcom-hardware games and those in first catergory will remain here.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
/*************************************************** Game Macros *****************************************************/
|
/*************************************************** Game Macros *****************************************************/
|
||||||
|
|
||||||
|
1194
src/mame/drivers/cps1bl_5205.cpp
Normal file
1194
src/mame/drivers/cps1bl_5205.cpp
Normal file
File diff suppressed because it is too large
Load Diff
1284
src/mame/drivers/cps1bl_pic.cpp
Normal file
1284
src/mame/drivers/cps1bl_pic.cpp
Normal file
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -13,6 +13,7 @@
|
|||||||
#include "sound/qsound.h"
|
#include "sound/qsound.h"
|
||||||
#include "sound/okim6295.h"
|
#include "sound/okim6295.h"
|
||||||
#include "machine/gen_latch.h"
|
#include "machine/gen_latch.h"
|
||||||
|
#include "machine/74157.h"
|
||||||
#include "machine/timekpr.h"
|
#include "machine/timekpr.h"
|
||||||
#include "machine/timer.h"
|
#include "machine/timer.h"
|
||||||
#include "cpu/m68000/m68000.h"
|
#include "cpu/m68000/m68000.h"
|
||||||
@ -120,8 +121,6 @@ protected:
|
|||||||
, m_audiocpu(*this, "audiocpu")
|
, m_audiocpu(*this, "audiocpu")
|
||||||
, m_oki(*this, "oki")
|
, m_oki(*this, "oki")
|
||||||
, m_m48t35(*this,"m48t35")
|
, m_m48t35(*this,"m48t35")
|
||||||
, m_msm_1(*this, "msm1")
|
|
||||||
, m_msm_2(*this, "msm2")
|
|
||||||
, m_gfxdecode(*this, "gfxdecode")
|
, m_gfxdecode(*this, "gfxdecode")
|
||||||
, m_screen(*this, "screen")
|
, m_screen(*this, "screen")
|
||||||
, m_palette(*this, "palette")
|
, m_palette(*this, "palette")
|
||||||
@ -129,225 +128,105 @@ protected:
|
|||||||
, m_soundlatch2(*this, "soundlatch2")
|
, m_soundlatch2(*this, "soundlatch2")
|
||||||
, m_region_stars(*this, "stars")
|
, m_region_stars(*this, "stars")
|
||||||
, m_led_cboard(*this, "led_cboard%u", 0U)
|
, m_led_cboard(*this, "led_cboard%u", 0U)
|
||||||
, bootleg_sprite_renderer(&cps_state::fcrash_render_sprites)
|
|
||||||
{ }
|
{ }
|
||||||
|
|
||||||
public:
|
public:
|
||||||
DECLARE_READ16_MEMBER(cps1_hack_dsw_r);
|
void cps1_10MHz(machine_config &config);
|
||||||
|
void forgottn(machine_config &config);
|
||||||
|
void cps1_12MHz(machine_config &config);
|
||||||
|
void pang3(machine_config &config);
|
||||||
|
void ganbare(machine_config &config);
|
||||||
|
void qsound(machine_config &config);
|
||||||
|
void wofhfh(machine_config &config);
|
||||||
|
void sf2m3(machine_config &config);
|
||||||
|
void sf2cems6(machine_config &config);
|
||||||
|
void sf2m10(machine_config &config);
|
||||||
|
|
||||||
|
void init_cps1();
|
||||||
|
void init_sf2ee();
|
||||||
|
void init_wof();
|
||||||
|
void init_dino();
|
||||||
|
void init_punisher();
|
||||||
|
void init_slammast();
|
||||||
|
void init_pang3();
|
||||||
|
void init_ganbare();
|
||||||
|
void init_pang3b();
|
||||||
|
void init_sf2rb();
|
||||||
|
void init_sf2rb2();
|
||||||
|
void init_sf2thndr();
|
||||||
|
void init_sf2hack();
|
||||||
|
void init_sf2rk();
|
||||||
|
void init_sf2dongb();
|
||||||
|
void init_sf2ceblp();
|
||||||
|
void init_sf2m8();
|
||||||
|
void init_dinohunt();
|
||||||
|
|
||||||
|
protected:
|
||||||
|
DECLARE_MACHINE_START(common);
|
||||||
|
DECLARE_MACHINE_START(cps1);
|
||||||
|
DECLARE_MACHINE_START(qsound);
|
||||||
|
DECLARE_MACHINE_START(ganbare);
|
||||||
|
DECLARE_MACHINE_RESET(cps);
|
||||||
|
|
||||||
|
DECLARE_READ16_MEMBER(cps1_dsw_r);
|
||||||
DECLARE_READ16_MEMBER(cps1_in1_r);
|
DECLARE_READ16_MEMBER(cps1_in1_r);
|
||||||
DECLARE_READ16_MEMBER(cps1_in2_r);
|
DECLARE_READ16_MEMBER(cps1_in2_r);
|
||||||
DECLARE_READ16_MEMBER(cps1_in3_r);
|
DECLARE_READ16_MEMBER(cps1_in3_r);
|
||||||
DECLARE_WRITE8_MEMBER(cps1_snd_bankswitch_w);
|
DECLARE_WRITE16_MEMBER(cps1_coinctrl_w);
|
||||||
|
DECLARE_WRITE16_MEMBER(cpsq_coinctrl2_w);
|
||||||
|
DECLARE_WRITE16_MEMBER(cps1_cps_a_w);
|
||||||
|
DECLARE_READ16_MEMBER(cps1_cps_b_r);
|
||||||
|
DECLARE_WRITE16_MEMBER(cps1_cps_b_w);
|
||||||
|
DECLARE_WRITE16_MEMBER(cps1_gfxram_w);
|
||||||
DECLARE_WRITE16_MEMBER(cps1_soundlatch_w);
|
DECLARE_WRITE16_MEMBER(cps1_soundlatch_w);
|
||||||
DECLARE_WRITE16_MEMBER(cps1_soundlatch2_w);
|
DECLARE_WRITE16_MEMBER(cps1_soundlatch2_w);
|
||||||
DECLARE_WRITE16_MEMBER(cpsq_coinctrl2_w);
|
DECLARE_WRITE8_MEMBER(cps1_snd_bankswitch_w);
|
||||||
|
DECLARE_WRITE8_MEMBER(cps1_oki_pin7_w);
|
||||||
DECLARE_READ16_MEMBER(qsound_rom_r);
|
DECLARE_READ16_MEMBER(qsound_rom_r);
|
||||||
|
DECLARE_READ16_MEMBER(qsound_sharedram1_r);
|
||||||
|
DECLARE_WRITE16_MEMBER(qsound_sharedram1_w);
|
||||||
DECLARE_READ16_MEMBER(qsound_sharedram2_r);
|
DECLARE_READ16_MEMBER(qsound_sharedram2_r);
|
||||||
DECLARE_WRITE16_MEMBER(qsound_sharedram2_w);
|
DECLARE_WRITE16_MEMBER(qsound_sharedram2_w);
|
||||||
DECLARE_WRITE8_MEMBER(qsound_banksw_w);
|
DECLARE_WRITE8_MEMBER(qsound_banksw_w);
|
||||||
|
DECLARE_READ16_MEMBER(ganbare_ram_r);
|
||||||
|
DECLARE_WRITE16_MEMBER(ganbare_ram_w);
|
||||||
|
DECLARE_READ16_MEMBER(cps1_hack_dsw_r);
|
||||||
DECLARE_READ16_MEMBER(sf2rb_prot_r);
|
DECLARE_READ16_MEMBER(sf2rb_prot_r);
|
||||||
DECLARE_READ16_MEMBER(sf2rb2_prot_r);
|
DECLARE_READ16_MEMBER(sf2rb2_prot_r);
|
||||||
DECLARE_READ16_MEMBER(sf2dongb_prot_r);
|
DECLARE_READ16_MEMBER(sf2dongb_prot_r);
|
||||||
DECLARE_READ16_MEMBER(sf2ceblp_prot_r);
|
DECLARE_READ16_MEMBER(sf2ceblp_prot_r);
|
||||||
DECLARE_WRITE16_MEMBER(sf2ceblp_prot_w);
|
DECLARE_WRITE16_MEMBER(sf2ceblp_prot_w);
|
||||||
DECLARE_READ16_MEMBER(cps1_dsw_r);
|
|
||||||
DECLARE_WRITE16_MEMBER(cps1_coinctrl_w);
|
|
||||||
DECLARE_READ16_MEMBER(qsound_sharedram1_r);
|
|
||||||
DECLARE_WRITE16_MEMBER(qsound_sharedram1_w);
|
|
||||||
DECLARE_READ16_MEMBER(ganbare_ram_r);
|
|
||||||
DECLARE_WRITE16_MEMBER(ganbare_ram_w);
|
|
||||||
DECLARE_WRITE16_MEMBER(cps1_cps_a_w);
|
|
||||||
DECLARE_READ16_MEMBER(cps1_cps_b_r);
|
|
||||||
DECLARE_WRITE16_MEMBER(cps1_cps_b_w);
|
|
||||||
DECLARE_WRITE16_MEMBER(cps1_gfxram_w);
|
|
||||||
DECLARE_WRITE8_MEMBER(cps1_oki_pin7_w);
|
|
||||||
DECLARE_WRITE16_MEMBER(sf2m1_layer_w);
|
|
||||||
DECLARE_WRITE16_MEMBER(sf2m3_layer_w);
|
DECLARE_WRITE16_MEMBER(sf2m3_layer_w);
|
||||||
DECLARE_READ16_MEMBER(dinohunt_sound_r);
|
DECLARE_READ16_MEMBER(dinohunt_sound_r);
|
||||||
void init_sf2rb();
|
|
||||||
void init_sf2rb2();
|
|
||||||
void init_sf2thndr();
|
|
||||||
void init_dinohunt();
|
|
||||||
void init_sf2hack();
|
|
||||||
void init_sf2rk();
|
|
||||||
void init_slammast();
|
|
||||||
void init_pang3b();
|
|
||||||
void init_pang3();
|
|
||||||
void init_sf2ee();
|
|
||||||
void init_sf2m8();
|
|
||||||
void init_cps1();
|
|
||||||
void init_dino();
|
|
||||||
void init_punisher();
|
|
||||||
void init_wof();
|
|
||||||
void init_ganbare();
|
|
||||||
void init_sf2dongb();
|
|
||||||
void init_sf2ceblp();
|
|
||||||
TILEMAP_MAPPER_MEMBER(tilemap0_scan);
|
TILEMAP_MAPPER_MEMBER(tilemap0_scan);
|
||||||
TILEMAP_MAPPER_MEMBER(tilemap1_scan);
|
TILEMAP_MAPPER_MEMBER(tilemap1_scan);
|
||||||
TILEMAP_MAPPER_MEMBER(tilemap2_scan);
|
TILEMAP_MAPPER_MEMBER(tilemap2_scan);
|
||||||
TILE_GET_INFO_MEMBER(get_tile0_info);
|
TILE_GET_INFO_MEMBER(get_tile0_info);
|
||||||
TILE_GET_INFO_MEMBER(get_tile1_info);
|
TILE_GET_INFO_MEMBER(get_tile1_info);
|
||||||
TILE_GET_INFO_MEMBER(get_tile2_info);
|
TILE_GET_INFO_MEMBER(get_tile2_info);
|
||||||
DECLARE_MACHINE_START(cps1);
|
|
||||||
virtual void video_start() override;
|
virtual void video_start() override;
|
||||||
DECLARE_MACHINE_START(common);
|
|
||||||
DECLARE_MACHINE_START(qsound);
|
INTERRUPT_GEN_MEMBER(cps1_interrupt);
|
||||||
DECLARE_MACHINE_START(ganbare);
|
TIMER_DEVICE_CALLBACK_MEMBER(ganbare_interrupt);
|
||||||
DECLARE_MACHINE_RESET(cps);
|
|
||||||
DECLARE_MACHINE_START(sf2m1);
|
|
||||||
virtual void render_layers(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
virtual void render_layers(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||||
uint32_t screen_update_cps1(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
uint32_t screen_update_cps1(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||||
DECLARE_WRITE_LINE_MEMBER(screen_vblank_cps1);
|
DECLARE_WRITE_LINE_MEMBER(screen_vblank_cps1);
|
||||||
INTERRUPT_GEN_MEMBER(cps1_interrupt);
|
|
||||||
TIMER_DEVICE_CALLBACK_MEMBER(ganbare_interrupt);
|
|
||||||
void cpu_space_map(address_map &map);
|
|
||||||
|
|
||||||
void kabuki_setup(void (*decode)(uint8_t *src, uint8_t *dst));
|
void kabuki_setup(void (*decode)(uint8_t *src, uint8_t *dst));
|
||||||
|
|
||||||
/* fcrash handlers */
|
/* maps */
|
||||||
void init_kodb();
|
void cpu_space_map(address_map &map);
|
||||||
void init_cawingbl();
|
|
||||||
void init_dinopic();
|
|
||||||
void init_knightsb();
|
|
||||||
void init_mtwinsb();
|
|
||||||
void init_punipic();
|
|
||||||
void init_punipic3();
|
|
||||||
void init_sf2m1();
|
|
||||||
void init_sf2mdt();
|
|
||||||
void init_sf2mdta();
|
|
||||||
void init_sf2mdtb();
|
|
||||||
void init_sf2b();
|
|
||||||
void init_slampic();
|
|
||||||
void init_slampic2();
|
|
||||||
void init_wofabl();
|
|
||||||
DECLARE_MACHINE_START(fcrash);
|
|
||||||
DECLARE_MACHINE_RESET(fcrash);
|
|
||||||
DECLARE_MACHINE_START(cawingbl);
|
|
||||||
DECLARE_MACHINE_START(dinopic);
|
|
||||||
DECLARE_MACHINE_START(knightsb);
|
|
||||||
DECLARE_MACHINE_START(kodb);
|
|
||||||
DECLARE_MACHINE_START(mtwinsb);
|
|
||||||
DECLARE_MACHINE_START(punipic);
|
|
||||||
DECLARE_MACHINE_START(sf2mdt);
|
|
||||||
DECLARE_MACHINE_START(slampic);
|
|
||||||
DECLARE_MACHINE_START(slampic2);
|
|
||||||
DECLARE_MACHINE_START(sgyxz);
|
|
||||||
DECLARE_WRITE16_MEMBER(cawingbl_soundlatch_w);
|
|
||||||
DECLARE_WRITE16_MEMBER(dinopic_layer_w);
|
|
||||||
DECLARE_WRITE16_MEMBER(dinopic_layer2_w);
|
|
||||||
DECLARE_WRITE16_MEMBER(knightsb_layer_w);
|
|
||||||
DECLARE_WRITE16_MEMBER(kodb_layer_w);
|
|
||||||
DECLARE_WRITE16_MEMBER(mtwinsb_layer_w);
|
|
||||||
DECLARE_WRITE16_MEMBER(punipic_layer_w);
|
|
||||||
DECLARE_WRITE16_MEMBER(sf2mdt_layer_w);
|
|
||||||
DECLARE_WRITE16_MEMBER(sf2mdta_layer_w);
|
|
||||||
DECLARE_WRITE16_MEMBER(sf2b_layer_w);
|
|
||||||
DECLARE_WRITE16_MEMBER(slampic_layer_w);
|
|
||||||
DECLARE_WRITE16_MEMBER(slampic_layer2_w);
|
|
||||||
DECLARE_READ16_MEMBER(slampic2_cps_a_r);
|
|
||||||
DECLARE_WRITE16_MEMBER(slampic2_sound_w);
|
|
||||||
DECLARE_WRITE16_MEMBER(slampic2_sound2_w);
|
|
||||||
DECLARE_WRITE16_MEMBER(fcrash_soundlatch_w);
|
|
||||||
DECLARE_WRITE8_MEMBER(fcrash_snd_bankswitch_w);
|
|
||||||
DECLARE_WRITE8_MEMBER(sf2mdt_snd_bankswitch_w);
|
|
||||||
DECLARE_WRITE8_MEMBER(knightsb_snd_bankswitch_w);
|
|
||||||
DECLARE_WRITE8_MEMBER(fcrash_msm5205_0_data_w);
|
|
||||||
DECLARE_WRITE8_MEMBER(fcrash_msm5205_1_data_w);
|
|
||||||
DECLARE_WRITE16_MEMBER(varthb_layer_w);
|
|
||||||
uint32_t screen_update_fcrash(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
|
||||||
void fcrash_update_transmasks();
|
|
||||||
void fcrash_render_sprites(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
|
||||||
void slampic2_render_sprites(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
|
||||||
void fcrash_render_layer(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect, int layer, int primask);
|
|
||||||
void fcrash_render_high_layer(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect, int layer);
|
|
||||||
void fcrash_build_palette();
|
|
||||||
|
|
||||||
|
|
||||||
/* cps video */
|
|
||||||
inline uint16_t *cps1_base( int offset, int boundary );
|
|
||||||
void cps1_get_video_base();
|
|
||||||
int gfxrom_bank_mapper(int type, int code);
|
|
||||||
void cps1_update_transmasks();
|
|
||||||
void cps1_build_palette(const uint16_t* const palette_base);
|
|
||||||
virtual void find_last_sprite();
|
|
||||||
void cps1_render_sprites(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
|
||||||
void cps1_render_stars(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
|
||||||
void cps1_render_layer(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect, int layer, int primask);
|
|
||||||
void cps1_render_high_layer(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect, int layer);
|
|
||||||
|
|
||||||
|
|
||||||
/* cps2 driver */
|
|
||||||
DECLARE_WRITE_LINE_MEMBER(m5205_int1);
|
|
||||||
DECLARE_WRITE_LINE_MEMBER(m5205_int2);
|
|
||||||
void cawingbl(machine_config &config);
|
|
||||||
void sf2mdt(machine_config &config);
|
|
||||||
void sf2m1(machine_config &config);
|
|
||||||
void kodb(machine_config &config);
|
|
||||||
void mtwinsb(machine_config &config);
|
|
||||||
void varthb(machine_config &config);
|
|
||||||
void sgyxz(machine_config &config);
|
|
||||||
void wofabl(machine_config &config);
|
|
||||||
void punipic(machine_config &config);
|
|
||||||
void dinopic(machine_config &config);
|
|
||||||
void slampic(machine_config &config);
|
|
||||||
void slampic2(machine_config &config);
|
|
||||||
void sf2b(machine_config &config);
|
|
||||||
void knightsb(machine_config &config);
|
|
||||||
void fcrash(machine_config &config);
|
|
||||||
void sf2m10(machine_config &config);
|
|
||||||
void sf2m3(machine_config &config);
|
|
||||||
void sf2cems6(machine_config &config);
|
|
||||||
void forgottn(machine_config &config);
|
|
||||||
void ganbare(machine_config &config);
|
|
||||||
void qsound(machine_config &config);
|
|
||||||
void cps1_12MHz(machine_config &config);
|
|
||||||
void wofhfh(machine_config &config);
|
|
||||||
void cps1_10MHz(machine_config &config);
|
|
||||||
void pang3(machine_config &config);
|
|
||||||
void dinopic_map(address_map &map);
|
|
||||||
void fcrash_map(address_map &map);
|
|
||||||
void forgottn_map(address_map &map);
|
|
||||||
void knightsb_map(address_map &map);
|
|
||||||
void knightsb_z80map(address_map &map);
|
|
||||||
void kodb_sound_map(address_map &map);
|
|
||||||
void main_map(address_map &map);
|
void main_map(address_map &map);
|
||||||
void mtwinsb_map(address_map &map);
|
void forgottn_map(address_map &map);
|
||||||
void punipic_map(address_map &map);
|
|
||||||
void qsound_decrypted_opcodes_map(address_map &map);
|
|
||||||
void qsound_main_map(address_map &map);
|
void qsound_main_map(address_map &map);
|
||||||
|
void qsound_decrypted_opcodes_map(address_map &map);
|
||||||
|
void sub_map(address_map &map);
|
||||||
void qsound_sub_map(address_map &map);
|
void qsound_sub_map(address_map &map);
|
||||||
void sf2b_map(address_map &map);
|
|
||||||
void sf2m10_map(address_map &map);
|
|
||||||
void sf2m1_map(address_map &map);
|
|
||||||
void sf2m3_map(address_map &map);
|
void sf2m3_map(address_map &map);
|
||||||
void sf2cems6_map(address_map &map);
|
void sf2cems6_map(address_map &map);
|
||||||
void sf2mdt_map(address_map &map);
|
void sf2m10_map(address_map &map);
|
||||||
void sf2mdt_z80map(address_map &map);
|
|
||||||
void sgyxz_map(address_map &map);
|
|
||||||
void sgyxz_sound_map(address_map &map);
|
|
||||||
void wofabl_map(address_map &map);
|
|
||||||
void slampic_map(address_map &map);
|
|
||||||
void slampic2_map(address_map &map);
|
|
||||||
void sound_map(address_map &map);
|
|
||||||
void sub_map(address_map &map);
|
|
||||||
void varthb_map(address_map &map);
|
|
||||||
|
|
||||||
protected:
|
|
||||||
/* memory pointers */
|
|
||||||
// cps1
|
|
||||||
optional_shared_ptr<uint16_t> m_mainram;
|
|
||||||
required_shared_ptr<uint16_t> m_gfxram;
|
|
||||||
required_shared_ptr<uint16_t> m_cps_a_regs;
|
|
||||||
required_shared_ptr<uint16_t> m_cps_b_regs;
|
|
||||||
uint16_t * m_scroll1;
|
|
||||||
uint16_t * m_scroll2;
|
|
||||||
uint16_t * m_scroll3;
|
|
||||||
uint16_t * m_obj;
|
|
||||||
uint16_t * m_other;
|
|
||||||
std::unique_ptr<uint16_t[]> m_buffered_obj;
|
|
||||||
optional_shared_ptr<uint8_t> m_qsound_sharedram1;
|
|
||||||
optional_shared_ptr<uint8_t> m_qsound_sharedram2;
|
|
||||||
std::unique_ptr<uint8_t[]> m_decrypt_kabuki;
|
|
||||||
|
|
||||||
// game-specific
|
// game-specific
|
||||||
uint16_t sf2ceblp_prot;
|
uint16_t sf2ceblp_prot;
|
||||||
@ -374,12 +253,6 @@ protected:
|
|||||||
|
|
||||||
bitmap_ind16 m_dummy_bitmap;
|
bitmap_ind16 m_dummy_bitmap;
|
||||||
|
|
||||||
/* fcrash sound hw */
|
|
||||||
int m_sample_buffer1;
|
|
||||||
int m_sample_buffer2;
|
|
||||||
int m_sample_select1;
|
|
||||||
int m_sample_select2;
|
|
||||||
|
|
||||||
/* video config (never changed after video_start) */
|
/* video config (never changed after video_start) */
|
||||||
const struct CPS1config *m_game_config;
|
const struct CPS1config *m_game_config;
|
||||||
int m_scroll_size;
|
int m_scroll_size;
|
||||||
@ -389,27 +262,40 @@ protected:
|
|||||||
int m_palette_size;
|
int m_palette_size;
|
||||||
int m_stars_rom_size;
|
int m_stars_rom_size;
|
||||||
uint8_t m_empty_tile[32*32];
|
uint8_t m_empty_tile[32*32];
|
||||||
int m_cps_version;
|
|
||||||
|
|
||||||
/* fcrash video config */
|
/* video/cps1.cpp */
|
||||||
uint8_t m_layer_enable_reg;
|
inline uint16_t *cps1_base( int offset, int boundary );
|
||||||
uint8_t m_layer_mask_reg[4];
|
void cps1_get_video_base();
|
||||||
int m_layer_scroll1x_offset;
|
int gfxrom_bank_mapper(int type, int code);
|
||||||
int m_layer_scroll2x_offset;
|
void cps1_update_transmasks();
|
||||||
int m_layer_scroll3x_offset;
|
void cps1_build_palette(const uint16_t* const palette_base);
|
||||||
int m_sprite_base;
|
virtual void find_last_sprite();
|
||||||
int m_sprite_list_end_marker;
|
void cps1_render_sprites(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||||
int m_sprite_x_offset;
|
void cps1_render_stars(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||||
std::unique_ptr<uint16_t[]> m_bootleg_sprite_ram;
|
void cps1_render_layer(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect, int layer, int primask);
|
||||||
std::unique_ptr<uint16_t[]> m_bootleg_work_ram;
|
void cps1_render_high_layer(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect, int layer);
|
||||||
|
|
||||||
|
/* memory pointers */
|
||||||
|
optional_shared_ptr<uint16_t> m_mainram;
|
||||||
|
required_shared_ptr<uint16_t> m_gfxram;
|
||||||
|
required_shared_ptr<uint16_t> m_cps_a_regs;
|
||||||
|
required_shared_ptr<uint16_t> m_cps_b_regs;
|
||||||
|
uint16_t * m_scroll1;
|
||||||
|
uint16_t * m_scroll2;
|
||||||
|
uint16_t * m_scroll3;
|
||||||
|
uint16_t * m_obj;
|
||||||
|
uint16_t * m_other;
|
||||||
|
std::unique_ptr<uint16_t[]> m_buffered_obj;
|
||||||
|
optional_shared_ptr<uint8_t> m_qsound_sharedram1;
|
||||||
|
optional_shared_ptr<uint8_t> m_qsound_sharedram2;
|
||||||
|
std::unique_ptr<uint8_t[]> m_decrypt_kabuki;
|
||||||
|
int m_cps_version;
|
||||||
|
|
||||||
/* devices */
|
/* devices */
|
||||||
required_device<m68000_base_device> m_maincpu;
|
required_device<m68000_base_device> m_maincpu;
|
||||||
optional_device<cpu_device> m_audiocpu;
|
optional_device<cpu_device> m_audiocpu;
|
||||||
optional_device<okim6295_device> m_oki;
|
optional_device<okim6295_device> m_oki;
|
||||||
optional_device<m48t35_device> m_m48t35;
|
optional_device<m48t35_device> m_m48t35;
|
||||||
optional_device<msm5205_device> m_msm_1; // fcrash
|
|
||||||
optional_device<msm5205_device> m_msm_2; // fcrash
|
|
||||||
required_device<gfxdecode_device> m_gfxdecode;
|
required_device<gfxdecode_device> m_gfxdecode;
|
||||||
required_device<screen_device> m_screen;
|
required_device<screen_device> m_screen;
|
||||||
required_device<palette_device> m_palette;
|
required_device<palette_device> m_palette;
|
||||||
@ -417,9 +303,6 @@ protected:
|
|||||||
optional_device<generic_latch_8_device> m_soundlatch2;
|
optional_device<generic_latch_8_device> m_soundlatch2;
|
||||||
optional_memory_region m_region_stars;
|
optional_memory_region m_region_stars;
|
||||||
output_finder<3> m_led_cboard;
|
output_finder<3> m_led_cboard;
|
||||||
|
|
||||||
// fcrash
|
|
||||||
void (cps_state::*bootleg_sprite_renderer)(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
|
||||||
};
|
};
|
||||||
|
|
||||||
class cps2_state : public cps_state
|
class cps2_state : public cps_state
|
||||||
@ -525,7 +408,184 @@ private:
|
|||||||
int m_ecofghtr_dial_last1;
|
int m_ecofghtr_dial_last1;
|
||||||
};
|
};
|
||||||
|
|
||||||
/*----------- defined in drivers/cps1.c -----------*/
|
class fcrash_state : public cps_state
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
fcrash_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||||
|
: cps_state(mconfig, type, tag, 1)
|
||||||
|
, m_msm_1(*this, "msm1")
|
||||||
|
, m_msm_2(*this, "msm2")
|
||||||
|
, m_bootleg_sprite_renderer(&fcrash_state::fcrash_render_sprites)
|
||||||
|
{ }
|
||||||
|
|
||||||
|
void fcrash(machine_config &config);
|
||||||
|
void cawingbl(machine_config &config);
|
||||||
|
void kodb(machine_config &config);
|
||||||
|
void mtwinsb(machine_config &config);
|
||||||
|
void sf2m1(machine_config &config);
|
||||||
|
void sgyxz(machine_config &config);
|
||||||
|
void wofabl(machine_config &config);
|
||||||
|
void varthb(machine_config &config);
|
||||||
|
|
||||||
|
void init_cawingbl();
|
||||||
|
void init_kodb();
|
||||||
|
void init_mtwinsb();
|
||||||
|
void init_sf2m1();
|
||||||
|
void init_wofabl();
|
||||||
|
|
||||||
|
protected:
|
||||||
|
DECLARE_MACHINE_START(fcrash);
|
||||||
|
DECLARE_MACHINE_RESET(fcrash);
|
||||||
|
DECLARE_MACHINE_START(cawingbl);
|
||||||
|
DECLARE_MACHINE_START(kodb);
|
||||||
|
DECLARE_MACHINE_START(mtwinsb);
|
||||||
|
DECLARE_MACHINE_START(sf2m1);
|
||||||
|
DECLARE_MACHINE_START(sgyxz);
|
||||||
|
|
||||||
|
DECLARE_WRITE16_MEMBER(fcrash_soundlatch_w);
|
||||||
|
DECLARE_WRITE8_MEMBER(fcrash_snd_bankswitch_w);
|
||||||
|
DECLARE_WRITE_LINE_MEMBER(m5205_int1);
|
||||||
|
DECLARE_WRITE_LINE_MEMBER(m5205_int2);
|
||||||
|
DECLARE_WRITE8_MEMBER(fcrash_msm5205_0_data_w);
|
||||||
|
DECLARE_WRITE8_MEMBER(fcrash_msm5205_1_data_w);
|
||||||
|
DECLARE_WRITE16_MEMBER(cawingbl_soundlatch_w);
|
||||||
|
DECLARE_WRITE16_MEMBER(kodb_layer_w);
|
||||||
|
DECLARE_WRITE16_MEMBER(mtwinsb_layer_w);
|
||||||
|
DECLARE_WRITE16_MEMBER(sf2m1_layer_w);
|
||||||
|
DECLARE_WRITE16_MEMBER(varthb_layer_w);
|
||||||
|
DECLARE_WRITE16_MEMBER(varthb_layer2_w);
|
||||||
|
|
||||||
|
uint32_t screen_update_fcrash(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||||
|
void fcrash_update_transmasks();
|
||||||
|
void fcrash_render_sprites(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||||
|
void fcrash_render_layer(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect, int layer, int primask);
|
||||||
|
void fcrash_render_high_layer(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect, int layer);
|
||||||
|
void fcrash_build_palette();
|
||||||
|
|
||||||
|
void fcrash_map(address_map &map);
|
||||||
|
void mtwinsb_map(address_map &map);
|
||||||
|
void sf2m1_map(address_map &map);
|
||||||
|
void sgyxz_map(address_map &map);
|
||||||
|
void wofabl_map(address_map &map);
|
||||||
|
void varthb_map(address_map &map);
|
||||||
|
|
||||||
|
void fcrash_sound_map(address_map &map);
|
||||||
|
void kodb_sound_map(address_map &map);
|
||||||
|
void sgyxz_sound_map(address_map &map);
|
||||||
|
|
||||||
|
/* sound hw */
|
||||||
|
int m_sample_buffer1;
|
||||||
|
int m_sample_buffer2;
|
||||||
|
int m_sample_select1;
|
||||||
|
int m_sample_select2;
|
||||||
|
|
||||||
|
/* video config */
|
||||||
|
uint8_t m_layer_enable_reg;
|
||||||
|
uint8_t m_layer_mask_reg[4];
|
||||||
|
int m_layer_scroll1x_offset;
|
||||||
|
int m_layer_scroll2x_offset;
|
||||||
|
int m_layer_scroll3x_offset;
|
||||||
|
int m_sprite_base;
|
||||||
|
int m_sprite_list_end_marker;
|
||||||
|
int m_sprite_x_offset;
|
||||||
|
std::unique_ptr<uint16_t[]> m_bootleg_sprite_ram;
|
||||||
|
std::unique_ptr<uint16_t[]> m_bootleg_work_ram;
|
||||||
|
|
||||||
|
optional_device<msm5205_device> m_msm_1;
|
||||||
|
optional_device<msm5205_device> m_msm_2;
|
||||||
|
|
||||||
|
void (fcrash_state::*m_bootleg_sprite_renderer)(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||||
|
};
|
||||||
|
|
||||||
|
class cps1bl_5205_state : public fcrash_state
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
cps1bl_5205_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||||
|
: fcrash_state(mconfig, type, tag)
|
||||||
|
, m_msm_mux(*this, "msm_mux%u", 1)
|
||||||
|
{ }
|
||||||
|
|
||||||
|
void captcommb2(machine_config &config);
|
||||||
|
void sf2b(machine_config &config);
|
||||||
|
void sf2mdt(machine_config &config);
|
||||||
|
|
||||||
|
void init_captcommb2();
|
||||||
|
void init_knightsb();
|
||||||
|
void init_sf2b();
|
||||||
|
void init_sf2mdt();
|
||||||
|
void init_sf2mdta();
|
||||||
|
void init_sf2mdtb();
|
||||||
|
|
||||||
|
private:
|
||||||
|
DECLARE_MACHINE_START(captcommb2);
|
||||||
|
DECLARE_MACHINE_RESET(captcommb2);
|
||||||
|
DECLARE_MACHINE_START(sf2mdt);
|
||||||
|
|
||||||
|
DECLARE_WRITE16_MEMBER(captcommb2_layer_w);
|
||||||
|
DECLARE_WRITE16_MEMBER(captcommb2_soundlatch_w);
|
||||||
|
DECLARE_READ8_MEMBER(captcommb2_soundlatch_r);
|
||||||
|
DECLARE_WRITE8_MEMBER(captcommb2_snd_bankswitch_w);
|
||||||
|
DECLARE_WRITE_LINE_MEMBER(captcommb2_mux_select_w);
|
||||||
|
DECLARE_WRITE16_MEMBER(knightsb_layer_w);
|
||||||
|
DECLARE_WRITE16_MEMBER(sf2b_layer_w);
|
||||||
|
DECLARE_WRITE16_MEMBER(sf2mdt_layer_w);
|
||||||
|
DECLARE_WRITE16_MEMBER(sf2mdt_soundlatch_w);
|
||||||
|
DECLARE_WRITE16_MEMBER(sf2mdta_layer_w);
|
||||||
|
|
||||||
|
void captcommb2_map(address_map &map);
|
||||||
|
void sf2b_map(address_map &map);
|
||||||
|
void sf2mdt_map(address_map &map);
|
||||||
|
void captcommb2_z80map(address_map &map);
|
||||||
|
|
||||||
|
bool m_captcommb2_mux_toggle;
|
||||||
|
|
||||||
|
optional_device_array<ls157_device, 2> m_msm_mux;
|
||||||
|
|
||||||
|
void captcommb2_render_sprites(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||||
|
};
|
||||||
|
|
||||||
|
class cps1bl_pic_state : public fcrash_state
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
cps1bl_pic_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||||
|
: fcrash_state(mconfig, type, tag)
|
||||||
|
{ }
|
||||||
|
|
||||||
|
void dinopic(machine_config &config);
|
||||||
|
void punipic(machine_config &config);
|
||||||
|
void slampic(machine_config &config);
|
||||||
|
void slampic2(machine_config &config);
|
||||||
|
|
||||||
|
void init_dinopic();
|
||||||
|
void init_punipic();
|
||||||
|
void init_punipic3();
|
||||||
|
void init_slampic();
|
||||||
|
void init_slampic2();
|
||||||
|
|
||||||
|
private:
|
||||||
|
DECLARE_MACHINE_START(dinopic);
|
||||||
|
DECLARE_MACHINE_START(punipic);
|
||||||
|
DECLARE_MACHINE_START(slampic);
|
||||||
|
DECLARE_MACHINE_START(slampic2);
|
||||||
|
|
||||||
|
DECLARE_WRITE16_MEMBER(dinopic_layer_w);
|
||||||
|
DECLARE_WRITE16_MEMBER(dinopic_layer2_w);
|
||||||
|
DECLARE_WRITE16_MEMBER(punipic_layer_w);
|
||||||
|
DECLARE_WRITE16_MEMBER(slampic_layer_w);
|
||||||
|
DECLARE_WRITE16_MEMBER(slampic_layer2_w);
|
||||||
|
DECLARE_READ16_MEMBER(slampic2_cps_a_r);
|
||||||
|
DECLARE_WRITE16_MEMBER(slampic2_sound_w);
|
||||||
|
DECLARE_WRITE16_MEMBER(slampic2_sound2_w);
|
||||||
|
|
||||||
|
void dinopic_map(address_map &map);
|
||||||
|
void punipic_map(address_map &map);
|
||||||
|
void slampic_map(address_map &map);
|
||||||
|
void slampic2_map(address_map &map);
|
||||||
|
|
||||||
|
void slampic2_render_sprites(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||||
|
};
|
||||||
|
|
||||||
|
/*----------- defined in drivers/cps1.cpp -----------*/
|
||||||
|
|
||||||
extern gfx_decode_entry const gfx_cps1[];
|
extern gfx_decode_entry const gfx_cps1[];
|
||||||
|
|
||||||
@ -536,6 +596,6 @@ INPUT_PORTS_EXTERN( punisher );
|
|||||||
INPUT_PORTS_EXTERN( sf2 );
|
INPUT_PORTS_EXTERN( sf2 );
|
||||||
INPUT_PORTS_EXTERN( slammast );
|
INPUT_PORTS_EXTERN( slammast );
|
||||||
INPUT_PORTS_EXTERN( varth );
|
INPUT_PORTS_EXTERN( varth );
|
||||||
|
INPUT_PORTS_EXTERN( captcomm );
|
||||||
|
|
||||||
#endif // MAME_INCLUDES_CPS1_H
|
#endif // MAME_INCLUDES_CPS1_H
|
||||||
|
@ -10661,6 +10661,27 @@ wofr1 // 02/10/1992 (c) 1992 (World) (CPS1 + QSound)
|
|||||||
wofu // 31/10/1992 (c) 1992 (USA) (CPS1 + QSound)
|
wofu // 31/10/1992 (c) 1992 (USA) (CPS1 + QSound)
|
||||||
wonder3 // 20/05/1991 (c) 1991 (Japan)
|
wonder3 // 20/05/1991 (c) 1991 (Japan)
|
||||||
|
|
||||||
|
@source:cps1bl_5205.cpp
|
||||||
|
captcommb2 // bootleg
|
||||||
|
knightsb // bootleg
|
||||||
|
knightsb3 // bootleg
|
||||||
|
sf2b // bootleg
|
||||||
|
sf2b2 // bootleg
|
||||||
|
sf2ceb // bootleg
|
||||||
|
sf2mdt // bootleg
|
||||||
|
sf2mdta // bootleg
|
||||||
|
sf2mdtb // bootleg
|
||||||
|
|
||||||
|
@source:cps1bl_pic.cpp
|
||||||
|
dinopic // bootleg
|
||||||
|
dinopic2 // bootleg
|
||||||
|
dinopic3 // bootleg
|
||||||
|
punipic // bootleg
|
||||||
|
punipic2 // bootleg
|
||||||
|
punipic3 // bootleg
|
||||||
|
slampic // bootleg
|
||||||
|
slampic2 // bootleg
|
||||||
|
|
||||||
@source:cps2.cpp
|
@source:cps2.cpp
|
||||||
1944 // 20/06/2000 (c) 2000 Eighting/Raizing (USA)
|
1944 // 20/06/2000 (c) 2000 Eighting/Raizing (USA)
|
||||||
1944d //
|
1944d //
|
||||||
@ -13170,28 +13191,14 @@ fcombat // (c) 1985 Jaleco
|
|||||||
@source:fcrash.cpp
|
@source:fcrash.cpp
|
||||||
cawingb2 // bootleg
|
cawingb2 // bootleg
|
||||||
cawingbl // bootleg
|
cawingbl // bootleg
|
||||||
dinopic // bootleg
|
|
||||||
dinopic2 // bootleg
|
|
||||||
fcrash // bootleg of Final Fight
|
fcrash // bootleg of Final Fight
|
||||||
ffightbl // bootleg
|
ffightbl // bootleg
|
||||||
ffightbla // bootleg
|
ffightbla // bootleg
|
||||||
knightsb // bootleg
|
|
||||||
kodb // bootleg
|
kodb // bootleg
|
||||||
mtwinsb // bootleg
|
mtwinsb // bootleg
|
||||||
punipic // bootleg
|
|
||||||
punipic2 // bootleg
|
|
||||||
punipic3 // bootleg
|
|
||||||
sf2b // bootleg
|
|
||||||
sf2b2 // bootleg
|
|
||||||
sf2ceb // bootleg
|
|
||||||
sf2m1 // hack
|
sf2m1 // hack
|
||||||
sf2m9 // bootleg
|
sf2m9 // bootleg
|
||||||
sf2mdt // bootleg
|
|
||||||
sf2mdta // bootleg
|
|
||||||
sf2mdtb // bootleg
|
|
||||||
sgyxz // bootleg (All-In Electronics)
|
sgyxz // bootleg (All-In Electronics)
|
||||||
slampic // bootleg
|
|
||||||
slampic2 // bootleg
|
|
||||||
varthb // bootleg
|
varthb // bootleg
|
||||||
wofabl // bootleg
|
wofabl // bootleg
|
||||||
|
|
||||||
|
@ -1530,12 +1530,14 @@ static const struct CPS1config cps1_config_table[]=
|
|||||||
{"captcommj", CPS_B_21_BT3, mapper_CC63B, 0x36, 0x38, 0x34 },
|
{"captcommj", CPS_B_21_BT3, mapper_CC63B, 0x36, 0x38, 0x34 },
|
||||||
{"captcommjr1", CPS_B_21_BT3, mapper_CC63B, 0x36, 0x38, 0x34 },
|
{"captcommjr1", CPS_B_21_BT3, mapper_CC63B, 0x36, 0x38, 0x34 },
|
||||||
{"captcommb", CPS_B_21_BT3, mapper_CC63B, 0x36, 0x38, 0x34, 3 },
|
{"captcommb", CPS_B_21_BT3, mapper_CC63B, 0x36, 0x38, 0x34, 3 },
|
||||||
|
{"captcommb2", CPS_B_21_BT4, mapper_CC63B }, // junk around health bar with default cps2 mapper, uses BT4(knights) config
|
||||||
{"knights", CPS_B_21_BT4, mapper_KR63B, 0x36, 0, 0x34 },
|
{"knights", CPS_B_21_BT4, mapper_KR63B, 0x36, 0, 0x34 },
|
||||||
{"knightsu", CPS_B_21_BT4, mapper_KR63B, 0x36, 0, 0x34 },
|
{"knightsu", CPS_B_21_BT4, mapper_KR63B, 0x36, 0, 0x34 },
|
||||||
{"knightsj", CPS_B_21_BT4, mapper_KR63B, 0x36, 0, 0x34 },
|
{"knightsj", CPS_B_21_BT4, mapper_KR63B, 0x36, 0, 0x34 },
|
||||||
{"knightsja", CPS_B_21_BT4, mapper_KR63B, 0x36, 0, 0x34 }, // wrong, this set uses KR22B, still not dumped
|
{"knightsja", CPS_B_21_BT4, mapper_KR63B, 0x36, 0, 0x34 }, // wrong, this set uses KR22B, still not dumped
|
||||||
{"knightsb2", CPS_B_21_BT4, mapper_KR63B, 0x36, 0, 0x34 }, // wrong, knightsb bootleg doesn't use the KR63B PAL
|
{"knightsb2", CPS_B_21_BT4, mapper_KR63B, 0x36, 0, 0x34 }, // wrong, knightsb bootleg doesn't use the KR63B PAL
|
||||||
//{"knightsb", CPS_B_21_BT4, mapper_KR63B, 0x36, 0, 0x34 }, // wrong, knightsb bootleg doesn't use the KR63B PAL
|
//{"knightsb", CPS_B_21_BT4, mapper_KR63B, 0x36, 0, 0x34 }, // wrong, knightsb bootleg doesn't use the KR63B PAL
|
||||||
|
{"knightsb3", CPS_B_21_BT4, mapper_KR63B },
|
||||||
{"pokonyan", CPS_B_21_DEF, mapper_pokonyan, 0x36 },
|
{"pokonyan", CPS_B_21_DEF, mapper_pokonyan, 0x36 },
|
||||||
{"sf2ce", CPS_B_21_DEF, mapper_S9263B, 0x36 },
|
{"sf2ce", CPS_B_21_DEF, mapper_S9263B, 0x36 },
|
||||||
{"sf2ceea", CPS_B_21_DEF, mapper_S9263B, 0x36 },
|
{"sf2ceea", CPS_B_21_DEF, mapper_S9263B, 0x36 },
|
||||||
|
Loading…
Reference in New Issue
Block a user