summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author hap <happppp@users.noreply.github.com>2026-01-13 19:49:12 +0100
committer hap <happppp@users.noreply.github.com>2026-01-13 19:49:22 +0100
commit8c0c61ac003b795e05a2110d2edcede52a7bbfd4 (patch)
treefd3e7ac3d5be65044266cb72c00429ed08ab1b92
parent75979f544f51f69cd59745f7bc9e9ad587dda567 (diff)
m57: add screen raw params based on m52 and add todo notes,
20pacgal: update notes
-rw-r--r--src/devices/cpu/z180/z180op.hxx2
-rw-r--r--src/mame/irem/m57.cpp35
-rw-r--r--src/mame/namco/20pacgal.cpp8
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 )