diff options
| author | 2026-01-13 19:49:12 +0100 | |
|---|---|---|
| committer | 2026-01-13 19:49:22 +0100 | |
| commit | 8c0c61ac003b795e05a2110d2edcede52a7bbfd4 (patch) | |
| tree | fd3e7ac3d5be65044266cb72c00429ed08ab1b92 | |
| parent | 75979f544f51f69cd59745f7bc9e9ad587dda567 (diff) | |
m57: add screen raw params based on m52 and add todo notes,
20pacgal: update notes
| -rw-r--r-- | src/devices/cpu/z180/z180op.hxx | 2 | ||||
| -rw-r--r-- | src/mame/irem/m57.cpp | 35 | ||||
| -rw-r--r-- | src/mame/namco/20pacgal.cpp | 8 |
3 files changed, 25 insertions, 20 deletions
diff --git a/src/devices/cpu/z180/z180op.hxx b/src/devices/cpu/z180/z180op.hxx index 824f95dccaa..c38113bd449 100644 --- a/src/devices/cpu/z180/z180op.hxx +++ b/src/devices/cpu/z180/z180op.hxx @@ -343,7 +343,7 @@ int z180_device::take_interrupt(int irq) case 0xcd0000: /* call */ PUSH( PC ); _PCD = irq_vector & 0xffff; - /* CALL $xxxx + 'interrupt latency' cycles */ + /* CALL $xxxx + 'interrupt latency' cycles */ cycles += m_cc[Z180_TABLE_op][0xcd] - m_cc[Z180_TABLE_ex][0xff]; break; case 0xc30000: /* jump */ diff --git a/src/mame/irem/m57.cpp b/src/mame/irem/m57.cpp index 0ebb0d01170..00dc62fa56a 100644 --- a/src/mame/irem/m57.cpp +++ b/src/mame/irem/m57.cpp @@ -3,13 +3,21 @@ /**************************************************************************** - Irem M57 hardware + Irem M57 hardware (Tropical Angel) + driver by Phil Stroffolino -***************************************************************************** + Locations based on m58.cpp driver - Tropical Angel + BTANB: + - the sea has a purple tint, the flyer photos are blue/cyan, but those + don't match multiple PCB references - driver by Phil Stroffolino + TODO: + - accurate palette resnet verified with PCB, take away any doubt exactly + how much purple the sea looks + - flipscreen/cocktail mode is glitchy + +***************************************************************************** IREM M57 board stack with a M52-SOUND-E sound PCB. @@ -44,10 +52,6 @@ The "new" ROMs have hand written labels, while those that match the current Tropical Angel set look to be factory labeled chips. -***************************************************************************** - - Locations based on m58.cpp driver - ****************************************************************************/ #include "emu.h" @@ -302,6 +306,7 @@ void m57_state::draw_background(screen_device &screen, bitmap_ind16 &bitmap, con } } + /************************************* * * Sprite rendering @@ -442,6 +447,7 @@ static INPUT_PORTS_START( m57 ) PORT_SERVICE_DIPLOC( 0x80, IP_ACTIVE_LOW, "SW2:8" ) INPUT_PORTS_END + /************************************* * * Games port definitions @@ -528,18 +534,13 @@ GFXDECODE_END void m57_state::m57(machine_config &config) { // basic machine hardware - Z80(config, m_maincpu, 18.432_MHz_XTAL / 6); // verified on PCB + Z80(config, m_maincpu, 18.432_MHz_XTAL / 6); // verified on PCB m_maincpu->set_addrmap(AS_PROGRAM, &m57_state::main_map); m_maincpu->set_vblank_int("screen", FUNC(m57_state::irq0_line_hold)); // video hardware screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); - screen.set_refresh_hz(57); - screen.set_vblank_time(ATTOSECONDS_IN_USEC(1790)); // accurate frequency, measured on a Moon Patrol board, is 56.75Hz. - /* the Lode Runner manual (similar but different hardware) - talks about 55Hz and 1790ms vblank duration. */ - screen.set_size(32*8, 32*8); - screen.set_visarea(1*8, 31*8-1, 1*8, 31*8-1); + screen.set_raw(18.432_MHz_XTAL / 3, 384, 8, 248, 282, 8, 248); // based on m52 screen.set_screen_update(FUNC(m57_state::screen_update)); screen.set_palette(m_palette); @@ -627,5 +628,5 @@ ROM_END * *************************************/ -GAME( 1983, troangel, 0, m57, troangel, m57_state, empty_init, ROT0, "Irem", "Tropical Angel", MACHINE_SUPPORTS_SAVE ) -GAME( 1983, newtangl, troangel, m57, troangel, m57_state, empty_init, ROT0, "Irem", "New Tropical Angel", MACHINE_SUPPORTS_SAVE ) +GAME( 1983, troangel, 0, m57, troangel, m57_state, empty_init, ROT0, "Irem", "Tropical Angel", MACHINE_SUPPORTS_SAVE | MACHINE_NO_COCKTAIL ) +GAME( 1983, newtangl, troangel, m57, troangel, m57_state, empty_init, ROT0, "Irem", "New Tropical Angel", MACHINE_SUPPORTS_SAVE | MACHINE_NO_COCKTAIL ) diff --git a/src/mame/namco/20pacgal.cpp b/src/mame/namco/20pacgal.cpp index 4ed4ed90a1e..f332bea2e5c 100644 --- a/src/mame/namco/20pacgal.cpp +++ b/src/mame/namco/20pacgal.cpp @@ -41,7 +41,7 @@ Known issues/to-do's: * Starfield is not 100% accurate - * Music tempo is slightly slower than the real thing (internal Z180 timer?) + * Music tempo of 20pacgalr4 and newer is is slightly slower, or is this normal? * Check the ASCI interface, there probably is fully working debug code. * Galaga attract mode isn't correct. At the score information screen, enemies are supposed to dive down like on the original Galaga. CPU opcode bug? @@ -86,6 +86,10 @@ Graphics: CY37256P160-83AC x 2 (Ultra37000 CPLD family - 160 pin TQFP, 256 Macro HSync: 15.5174kHz VSync: 60.60175Hz + The DAC (of the Namco sound chip, apparently combined with the generic DAC) + is the same as on the old Pac-Man hardware, digital output is 8 lines from + a CPLD. + ***************************************************************************/ #include "emu.h" @@ -439,7 +443,7 @@ void _20pacgal_state::_20pacgal(machine_config &config) namco.set_voices(3); namco.add_route(ALL_OUTPUTS, "speaker", 0.5); - DAC_8BIT_R2R(config, "dac", 0).add_route(ALL_OUTPUTS, "speaker", 0.5); // unknown DAC + DAC_8BIT_R2R(config, "dac", 0).add_route(ALL_OUTPUTS, "speaker", 0.5); } static DEVICE_INPUT_DEFAULTS_START( null_modem_57600 ) |
