mirror of
https://github.com/holub/mame
synced 2025-04-24 09:20:02 +03:00
seta2.cpp: Add notes for hardware configs, emulation issues in some game
Fix clock for P0-113A PCBs Fix source file name (.cpp instead .c)
This commit is contained in:
parent
60592a35f6
commit
6e4b099562
@ -10,7 +10,7 @@
|
||||
CPU : TMP68301*
|
||||
or ColdFire + H8/3007 + PIC12C508 (for EVA2 & EVA3 PCBs)
|
||||
|
||||
Video : DX-101
|
||||
Video : DX-101 or X1-020 (for P0-113A & P0-121A PCBs, compatible?)
|
||||
DX-102 x3
|
||||
|
||||
Sound : X1-010
|
||||
@ -55,6 +55,10 @@ TODO:
|
||||
- Fix some graphics imperfections (e.g. color depth selection, "tilemap" sprites) [all done? - NS]
|
||||
- I added a kludge involving a -0x10 yoffset, this fixes the lifeline in myangel.
|
||||
I didn't find a better way to do it without breaking pzlbowl's title screen.
|
||||
- 1 rightmost pixel columns are not drawn when zoomed
|
||||
|
||||
gundamex:
|
||||
- slowdowns, music tempo is incorrect
|
||||
|
||||
mj4simai:
|
||||
- test mode doesn't work correctly, the grid is ok but when you press a key to go to the
|
||||
@ -2281,7 +2285,7 @@ INTERRUPT_GEN_MEMBER(seta2_state::samshoot_interrupt)
|
||||
|
||||
void seta2_state::seta2(machine_config &config)
|
||||
{
|
||||
TMP68301(config, m_maincpu, XTAL(50'000'000)/3); // !! TMP68301 !!
|
||||
TMP68301(config, m_maincpu, XTAL(50'000'000)/3); // Verified on some PCBs
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &seta2_state::mj4simai_map);
|
||||
m_maincpu->set_vblank_int("screen", FUNC(seta2_state::seta2_interrupt));
|
||||
|
||||
@ -2304,16 +2308,30 @@ void seta2_state::seta2(machine_config &config)
|
||||
// sound hardware
|
||||
SPEAKER(config, "mono").front_center();
|
||||
|
||||
x1_010_device &x1snd(X1_010(config, "x1snd", XTAL(50'000'000)/3)); // clock?
|
||||
x1_010_device &x1snd(X1_010(config, "x1snd", XTAL(50'000'000)/3)); // Verified on some PCBs
|
||||
x1snd.add_route(ALL_OUTPUTS, "mono", 1.0);
|
||||
x1snd.set_addrmap(0, &seta2_state::x1_map);
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
P0-113A PCB has different sound/cpu input clock (32.53047MHz / 2, common input clock is 50MHz / 3)
|
||||
and/or some PCB variant has uses this input clock?
|
||||
reference:
|
||||
https://youtu.be/6f-znVzcrmg, https://youtu.be/zJi_d463UQE (gundamex)
|
||||
https://youtu.be/Ung9XeLisV0 (grdiansa)
|
||||
*/
|
||||
void seta2_state::seta2_32m(machine_config &config)
|
||||
{
|
||||
m_maincpu->set_clock(XTAL(32'530'470)/2);
|
||||
subdevice<x1_010_device>("x1snd")->set_clock(XTAL(32'530'470)/2);
|
||||
}
|
||||
|
||||
|
||||
void seta2_state::gundamex(machine_config &config)
|
||||
{
|
||||
seta2(config);
|
||||
m_maincpu->set_clock(XTAL(32'530'470)/2); // verified
|
||||
seta2_32m(config);
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &seta2_state::gundamex_map);
|
||||
|
||||
downcast<tmp68301_device &>(*m_maincpu).in_parallel_callback().set(FUNC(seta2_state::gundamex_eeprom_r));
|
||||
@ -2323,21 +2341,24 @@ void seta2_state::gundamex(machine_config &config)
|
||||
|
||||
// video hardware
|
||||
m_screen->set_visarea(0x00, 0x180-1, 0x000, 0x0e0-1);
|
||||
|
||||
subdevice<x1_010_device>("x1snd")->set_clock(XTAL(32'530'470)/2); // verified; reference : https://youtu.be/6f-znVzcrmg
|
||||
}
|
||||
|
||||
|
||||
// run in P-FG01-1 PCB, uses common input clock for sound/cpu - 32.53047MHz XTAL not populated
|
||||
// reference: https://youtu.be/qj-TyKyAAVY
|
||||
void seta2_state::grdians(machine_config &config)
|
||||
{
|
||||
seta2(config);
|
||||
m_maincpu->set_clock(XTAL(32'530'470)/2); // verified
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &seta2_state::grdians_map);
|
||||
|
||||
// video hardware
|
||||
m_screen->set_visarea(0x00, 0x130-1, 0x00, 0xe8 -1);
|
||||
}
|
||||
|
||||
subdevice<x1_010_device>("x1snd")->set_clock(XTAL(32'530'470)/2); // verified; reference : https://youtu.be/Ung9XeLisV0
|
||||
// run in P0-113A PCB, different sound/cpu input clock compared to P-FG01-1 PCB, same as gundamex?
|
||||
void seta2_state::grdiansa(machine_config &config)
|
||||
{
|
||||
grdians(config);
|
||||
seta2_32m(config);
|
||||
}
|
||||
|
||||
|
||||
@ -4385,7 +4406,7 @@ ROM_END
|
||||
GAME( 1994, gundamex, 0, gundamex, gundamex, seta2_state, empty_init, ROT0, "Banpresto", "Mobile Suit Gundam EX Revue", 0 )
|
||||
|
||||
GAME( 1995, grdians, 0, grdians, grdians, seta2_state, empty_init, ROT0, "Winkysoft (Banpresto license)", "Guardians / Denjin Makai II (P-FG01-1 PCB)", MACHINE_NO_COCKTAIL | MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1995, grdiansa, grdians, grdians, grdians, seta2_state, empty_init, ROT0, "Winkysoft (Banpresto license)", "Guardians / Denjin Makai II (P0-113A PCB)", MACHINE_NO_COCKTAIL | MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1995, grdiansa, grdians, grdiansa, grdians, seta2_state, empty_init, ROT0, "Winkysoft (Banpresto license)", "Guardians / Denjin Makai II (P0-113A PCB)", MACHINE_NO_COCKTAIL | MACHINE_IMPERFECT_GRAPHICS )
|
||||
|
||||
GAME( 1996, mj4simai, 0, seta2, mj4simai, mj4simai_state, empty_init, ROT0, "Maboroshi Ware", "Wakakusamonogatari Mahjong Yonshimai (Japan)", MACHINE_NO_COCKTAIL )
|
||||
|
||||
|
@ -43,7 +43,9 @@ public:
|
||||
{ }
|
||||
|
||||
void seta2(machine_config &config);
|
||||
void seta2_32m(machine_config &config);
|
||||
void grdians(machine_config &config);
|
||||
void grdiansa(machine_config &config);
|
||||
void myangel(machine_config &config);
|
||||
void penbros(machine_config &config);
|
||||
void pzlbowl(machine_config &config);
|
||||
@ -58,6 +60,8 @@ public:
|
||||
void init_namcostr();
|
||||
|
||||
protected:
|
||||
virtual void machine_start() override;
|
||||
virtual void video_start() override;
|
||||
|
||||
DECLARE_WRITE8_MEMBER(grdians_lockout_w);
|
||||
|
||||
@ -112,9 +116,6 @@ protected:
|
||||
void telpacfl_map(address_map &map);
|
||||
void x1_map(address_map &map);
|
||||
|
||||
virtual void machine_start() override;
|
||||
virtual void video_start() override;
|
||||
|
||||
required_device<cpu_device> m_maincpu;
|
||||
optional_device<cpu_device> m_sub;
|
||||
required_device<gfxdecode_device> m_gfxdecode;
|
||||
|
@ -95,8 +95,8 @@
|
||||
|
||||
Offset: Bits: Value:
|
||||
|
||||
0/2/4/6 Horizontal: Sync, Blank, DSPdot, Cycle (same as ssv.c?)
|
||||
8/a/c/e Vertical : Sync, Blank, DSPdot, Cycle (same as ssv.c?)
|
||||
0/2/4/6 Horizontal: Sync, Blank, DSPdot, Cycle (same as ssv.cpp?)
|
||||
8/a/c/e Vertical : Sync, Blank, DSPdot, Cycle (same as ssv.cpp?)
|
||||
|
||||
10 Offxet X low bits (sub pixels)
|
||||
12 Offset X high bits (pixels)
|
||||
|
Loading…
Reference in New Issue
Block a user