diff options
| author | 2026-05-16 15:00:38 +0200 | |
|---|---|---|
| committer | 2026-05-16 15:00:43 +0200 | |
| commit | 17ea65c1ad0196f2cf7443ca293dede7818329ca (patch) | |
| tree | 2eb45661ef5a56faf7d3232eddf38370fbe12b5a | |
| parent | bf4a723d29f56faacfa1c900d283e36d65742bee (diff) | |
ces/cesclass.cpp: default NVRAM is 1-filled
| -rw-r--r-- | src/devices/machine/arm_iomd.cpp | 22 | ||||
| -rw-r--r-- | src/mame/amiga/cubo.cpp | 6 | ||||
| -rw-r--r-- | src/mame/bmc/popobear.cpp | 4 | ||||
| -rw-r--r-- | src/mame/ces/cesclass.cpp | 15 |
4 files changed, 28 insertions, 19 deletions
diff --git a/src/devices/machine/arm_iomd.cpp b/src/devices/machine/arm_iomd.cpp index 8053f697949..9dd082407d7 100644 --- a/src/devices/machine/arm_iomd.cpp +++ b/src/devices/machine/arm_iomd.cpp @@ -2,17 +2,20 @@ // copyright-holders:Angelo Salese /************************************************************************************************** - ARM IOMD device emulation +ARM IOMD device emulation - ARM7 SoC or stand-alone device, upgraded version(s) of the IOC found in Acorn Archimedes. +ARM7 SoC or stand-alone device, upgraded version(s) of the IOC found in Acorn Archimedes. - TODO: - - IOCR / IOLINES hookups can be further improved, also DDR bits needs verifying; - - word-boundary accesses for 8-bit ports; - - split into different types, add quick notes about where they diverges do in this header; - - keyboard/mouse interface hookup is wrong for PS/2 and unimplemented for quadrature. - I guess we can use connectors over a custom handling, with a terminal mock for testing it - without the overhead of everything else. +TODO: +- IOCR / IOLINES hookups can be further improved, also DDR bits needs verifying; +- word-boundary accesses for 8-bit ports; +- split into different types, add quick notes about where they diverges do in this header; +- keyboard/mouse interface hookup is wrong for PS/2 and unimplemented for quadrature. + I guess we can use connectors over a custom handling, with a terminal mock for testing it + without the overhead of everything else. +- Make interrupts falling or rising edge (depending on type); +- tetfight: sets the two timers only as irq sources (no flyback), T0 controls gameplay, T1 to QS1000 + sound engine. IRQs are unevenly accepted, if latter is disabled makes framerate stable ... **************************************************************************************************/ @@ -426,6 +429,7 @@ inline u8 arm_iomd_device::update_irqa_type(u8 data) inline void arm_iomd_device::flush_irq(unsigned Which) { + // TODO: use external setters, don't use pulse_input_line if (m_irq_status[Which] & m_irq_mask[Which]) m_host_cpu->pulse_input_line(arm7_cpu_device::ARM7_IRQ_LINE, m_host_cpu->minimum_quantum_time()); } diff --git a/src/mame/amiga/cubo.cpp b/src/mame/amiga/cubo.cpp index 04b139d030d..cad37f06faa 100644 --- a/src/mame/amiga/cubo.cpp +++ b/src/mame/amiga/cubo.cpp @@ -7,6 +7,8 @@ The CuboCD32 is a stock retail CD32 unit with additional hardware to adapt it for JAMMA use. + Hold coin1 at startup for service mode in all games + TODO: - remove m_input_hack functions, needed to make inputs working; - extra RTC device mapped on i2c bus (shared with the Akiko one?); @@ -1440,8 +1442,8 @@ GAME( 1995, lasstixx, cubo, cubo, lasstixx, cubo_state, init_lasstixx, ROT0, "C GAME( 1995, mgnumber, cubo, cubo, mgnumber, cubo_state, init_mgnumber, ROT0, "CD Express", "Magic Number", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND ) GAME( 1996, mgprem11, cubo, cubo, mgprem11, cubo_state, init_mgprem11, ROT0, "CD Express", "Magic Premium (v1.1)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND ) GAME( 1997, eldoralg, cubo, cubo, eldoralg, cubo_state, init_cubo, ROT0, "Shangai Games", "Eldorado (4.2)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND ) // touchscreen is offset and throws errors in calibration menu, joystick buttons aren't recognized properly in places, uses SPRES=3 (SHRES) for roulette ball in attract -GAME( 1998, odeontw, cubo, cubo, eldoralg, cubo_state, init_cubo, ROT0, "CD Express", "Odeon Twister (v1.4)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND ) // claims invalid RAM config once intialized (i2c RTC?), hangs with NVRAM viewer in service mode -GAME( 1998, odeontw2, cubo, cubo, eldoralg, cubo_state, init_cubo, ROT0, "CD Express", "Odeon Twister 2 (v202.19)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND ) // "Security checking failed" once initialized +GAME( 1998, odeontw, cubo, cubo, eldoralg, cubo_state, init_cubo, ROT0, "CD Express", "Odeon Twister (v1.4)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND ) // claims invalid RAM config once intialized (i2c RTC? bp c217e,1,{curpc=c2184;g}), hangs with NVRAM viewer in service mode, no touchscreen inputs in gameplay +GAME( 1998, odeontw2, cubo, cubo, eldoralg, cubo_state, init_cubo, ROT0, "CD Express", "Odeon Twister 2 (v202.19)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND | MACHINE_UNEMULATED_PROTECTION ) // PIC "Security checking failed" once initialized // Laser Gate 2, alt title for Eldorado? // Lucky Five // Greyhound Race diff --git a/src/mame/bmc/popobear.cpp b/src/mame/bmc/popobear.cpp index b69cee41ac1..3e4db384bd9 100644 --- a/src/mame/bmc/popobear.cpp +++ b/src/mame/bmc/popobear.cpp @@ -11,8 +11,8 @@ TODO: - complete I/Os (BMC-A00211 PCB has 4 banks of DIPs but only 1 is hooked up?); - Identify what's on $600000 & $620000; - Uses tas opcode to sync to irq, from VDP? -- magkengo: doesn't boot, same as popobear would do without the 0x620000 work-around, but it doesn't - read there. +- magkengo: doesn't boot, expects $530000 bit 7 to be low but then doesn't upload any + meaningful GFX (different bpp? qiwang does the same checks); - qiwang: uses unhandled GFX features, needs correct I/O =================================================================================================== diff --git a/src/mame/ces/cesclass.cpp b/src/mame/ces/cesclass.cpp index 6002cea4785..12b8760904d 100644 --- a/src/mame/ces/cesclass.cpp +++ b/src/mame/ces/cesclass.cpp @@ -6,7 +6,7 @@ CES Classic wall games Notes: - to play Home Run Classic you have to select a pitcher shot and hold the remote button. - When you release the strobe, batter does the swing. + When you release the strobe, batter does the swing. TODO: - artwork; @@ -18,6 +18,8 @@ TODO: - hookup m68681 + 2x max232; - tsclass: runs on a single LCD, needs mods - tsclass: throws bad U43 and U44 at POST, should also be two roms not one. +- tsclass: understand how it draws score and trophy segments +\- cfr. artwork, doesn't seem from lamps? **************************************************************************************************/ @@ -169,7 +171,7 @@ void cesclassic_state::main_map(address_map &map) map(0x480000, 0x481fff).ram().share("nvram"); //8k according to schematics (games doesn't use that much tho) map(0x600000, 0x600001).portr("SYSTEM"); map(0x610000, 0x610001).w(FUNC(cesclassic_state::outputs_w)); -// map(0x640000, 0x640001).nopw(); +// map(0x640000, 0x640001).nopw(); // more lamp strobe? cfr. tsclass test mode map(0x640040, 0x640041).w(FUNC(cesclassic_state::lamps_w)); map(0x670000, 0x670001).portr("DSW"); map(0x70ff00, 0x70ff01).nopw(); // writes 0xffff at irq 3 end of service, watchdog? @@ -291,7 +293,8 @@ void cesclassic_state::cesclassic(machine_config &config) m_maincpu->set_vblank_int("l_lcd", FUNC(cesclassic_state::irq2_line_assert)); // TODO: unknown sources m_maincpu->set_periodic_int(FUNC(cesclassic_state::irq3_line_assert), attotime::from_hz(60*8)); - NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0); + // tsclass wants 1 fill for init correctly, other games don't seem to care + NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_1); // DS1232 MicroMonitor @@ -345,6 +348,6 @@ ROM_END } // anonymous namespace -GAME(1997, hrclass, 0, cesclassic, cesclassic, cesclassic_state, empty_init, ROT0, "Creative Electronics And Software", "Home Run Classic (v1.21 12-feb-1997)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND | MACHINE_REQUIRES_ARTWORK ) -GAME(1997, ccclass, 0, cesclassic, cesclassic, cesclassic_state, empty_init, ROT0, "Creative Electronics And Software", "Country Club Classic (v1.10 03-apr-1997)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND | MACHINE_REQUIRES_ARTWORK ) -GAME(1997, tsclass, 0, cesclassic, cesclassic, cesclassic_state, empty_init, ROT0, "Creative Electronics And Software", "Trap Shoot Classic (v1.0 21-mar-1997)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND | MACHINE_REQUIRES_ARTWORK ) +GAME(1997, hrclass, 0, cesclassic, cesclassic, cesclassic_state, empty_init, ROT0, "Creative Electronics and Software", "Home Run Classic (v1.21 12-feb-1997)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND | MACHINE_REQUIRES_ARTWORK ) +GAME(1997, ccclass, 0, cesclassic, cesclassic, cesclassic_state, empty_init, ROT0, "Creative Electronics and Software", "Country Club Classic (v1.10 03-apr-1997)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND | MACHINE_REQUIRES_ARTWORK ) +GAME(1997, tsclass, 0, cesclassic, cesclassic, cesclassic_state, empty_init, ROT0, "Creative Electronics and Software", "Trap Shoot Classic (v1.0 21-mar-1997)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND | MACHINE_REQUIRES_ARTWORK ) |
