summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author angelosa <lordkale4@gmail.com>2026-02-16 23:12:42 +0100
committer angelosa <lordkale4@gmail.com>2026-02-16 23:32:47 +0100
commit1be66a0678f3171d9dc147d3d468e6af46258ce3 (patch)
tree2bb585156a7cebad0fcc661d8d92867e1e926065
parent2d741f30a0381f6df435329a2e44631600ba213d (diff)
skeleton/pullttrigger.cpp: move to pc/pulltrig.cpp, add base sis630 chipset
-rw-r--r--src/devices/bus/isa/ncr53c400.cpp2
-rw-r--r--src/mame/mame.lst6
-rw-r--r--src/mame/misc/gfamily.cpp5
-rw-r--r--src/mame/misc/startouch.cpp60
-rw-r--r--src/mame/namco/rbowlorama.cpp19
-rw-r--r--src/mame/pc/pulltrig.cpp194
-rw-r--r--src/mame/pinball/newcanasta.cpp14
-rw-r--r--src/mame/skeleton/pullttrigger.cpp94
8 files changed, 252 insertions, 142 deletions
diff --git a/src/devices/bus/isa/ncr53c400.cpp b/src/devices/bus/isa/ncr53c400.cpp
index ee2aadfffd4..c6c23cb04dd 100644
--- a/src/devices/bus/isa/ncr53c400.cpp
+++ b/src/devices/bus/isa/ncr53c400.cpp
@@ -77,7 +77,7 @@ static INPUT_PORTS_START(rt1000b)
PORT_CONFSETTING(0x06, "D800h")
PORT_CONFSETTING(0x07, "DC00h")
// J4
- // TODO: what's this exactly, is "floptical" a typo?
+ // TODO: "floptical" is a LS-120 SuperDisk
PORT_CONFNAME(0x08, 0x08, "Drive A: setting")
PORT_CONFSETTING( 0x00, "Floptical drive") // closed
PORT_CONFSETTING( 0x08, "Other drive") // open
diff --git a/src/mame/mame.lst b/src/mame/mame.lst
index 8d4b4ef0c9c..07b19842650 100644
--- a/src/mame/mame.lst
+++ b/src/mame/mame.lst
@@ -37643,6 +37643,9 @@ i8555081
i8580071
i8580111
+@source:pc/pulltrig.cpp
+pulltrig
+
@source:pc/quakeat.cpp
ga6la7
quake
@@ -44294,9 +44297,6 @@ pt68k4
@source:skeleton/ptcsol.cpp
sol20
-@source:skeleton/pullttrigger.cpp
-pullttrig
-
@source:skeleton/pv9234.cpp
pv9234
diff --git a/src/mame/misc/gfamily.cpp b/src/mame/misc/gfamily.cpp
index d8c10224498..5af8ae419f6 100644
--- a/src/mame/misc/gfamily.cpp
+++ b/src/mame/misc/gfamily.cpp
@@ -71,9 +71,6 @@ private:
};
-static INPUT_PORTS_START( gfamily )
-INPUT_PORTS_END
-
static void isa_com(device_slot_interface &device)
{
device.option_add("microsoft_mouse", MSFT_HLE_SERIAL_MOUSE);
@@ -206,4 +203,4 @@ ROM_END
} // Anonymous namespace
-GAME( 200?, gmfamily, 0, gfamily, gfamily, gfamily_state, empty_init, ROT0, "bootleg", "Games Family", MACHINE_NO_SOUND | MACHINE_NOT_WORKING )
+GAME( 200?, gmfamily, 0, gfamily, 0, gfamily_state, empty_init, ROT0, "bootleg", "Games Family", MACHINE_NO_SOUND | MACHINE_NOT_WORKING )
diff --git a/src/mame/misc/startouch.cpp b/src/mame/misc/startouch.cpp
index e78753adf50..15e94a5e9fb 100644
--- a/src/mame/misc/startouch.cpp
+++ b/src/mame/misc/startouch.cpp
@@ -2,36 +2,36 @@
// copyright-holders:
/**************************************************************************************************
- Skeleton driver for "EuroByte Electronics & Multimedia IASA" PC-based touch
- games, sold in Spain by Sleic / Petaco.
-
- -----+----------------------------+------+----------------------------------
- Dump | Game | Year | Notes
- -----+----------------------------+------+----------------------------------
- NO | Superchip | 1999 |
- NO | Star Touch | 2000 |
- YES | Star Touch / EuroPlay 2001 | 2001 | Original Game: http://www.eurobyte.com.gr/gb_europlay.htm
-
- Hardware overview:
- MB Soyo M5EH or similar (e.g. Biostar M5ATD)
- 16384 KB RAM
- Intel Pentium MMX 233 MHz or compatible (e.g. Cyrix M II-300GP 66MHz Bus 3.5x 2.9V)
-
- Soyo M5EH uses a VIA Apollo MVP3 chipset with VT82C597 + VT82C586B
-
- MicroTouch ISA
- ExpertColor Med3931 ISA sound card or other 82C931-based similar card (e.g. BTC 1817DS OPTi ISA)
- PCI VGA ExpertColor M50-02 (S3, Trio64V2/DX 86C775, 512KB RAM)
- Parallel port dongle HASP4
- Creative Video Blaster camera (parallel port)
- HDD Samsung SV0322A or other IDE HDD with similar capacity (e.g. Seagate ST32122A).
-
- TODO:
- - europl01 boots Windows 3.11 fine in pcipc & shutms11 but will:
- 1. "could not find sound card" in C:\wingk\audio\sndinit (which has a poor attempt at
- suppressing the log, should be NUL but it's NULL instead)
- 2. Fails loading windows for "video device conflict" (s3vcp64.drv)
- Note that the underlying .ini files will also load a Greek driver keyboard ...
+Skeleton driver for "EuroByte Electronics & Multimedia IASA" PC-based touch
+games, sold in Spain by Sleic / Petaco.
+
+-----+----------------------------+------+----------------------------------
+Dump | Game | Year | Notes
+-----+----------------------------+------+----------------------------------
+NO | Superchip | 1999 |
+NO | Star Touch | 2000 |
+YES | Star Touch / EuroPlay 2001 | 2001 | Original Game: http://www.eurobyte.com.gr/gb_europlay.htm
+
+Hardware overview:
+MB Soyo M5EH or similar (e.g. Biostar M5ATD)
+16384 KB RAM
+Intel Pentium MMX 233 MHz or compatible (e.g. Cyrix M II-300GP 66MHz Bus 3.5x 2.9V)
+
+Soyo M5EH uses a VIA Apollo MVP3 chipset with VT82C597 + VT82C586B
+
+MicroTouch ISA
+ExpertColor Med3931 ISA sound card or other 82C931-based similar card (e.g. BTC 1817DS OPTi ISA)
+PCI VGA ExpertColor M50-02 (S3, Trio64V2/DX 86C775, 512KB RAM)
+Parallel port dongle HASP4
+Creative Video Blaster camera (parallel port)
+HDD Samsung SV0322A or other IDE HDD with similar capacity (e.g. Seagate ST32122A).
+
+TODO:
+- europl01 boots Windows 3.11 fine in pcipc & shutms11 but will:
+1. "could not find sound card" in C:\wingk\audio\sndinit (which has a poor attempt at
+ suppressing the log, should be NUL but it's NULL instead)
+2. Fails loading windows for "video device conflict" (s3vcp64.drv)
+- Note that the underlying .ini files will also load a Greek driver keyboard ...
**************************************************************************************************/
diff --git a/src/mame/namco/rbowlorama.cpp b/src/mame/namco/rbowlorama.cpp
index 366dfa748f0..5289c3de409 100644
--- a/src/mame/namco/rbowlorama.cpp
+++ b/src/mame/namco/rbowlorama.cpp
@@ -1,13 +1,18 @@
// license:BSD-3-Clause
// copyright-holders:
/*
- Cosmodog / Namco Rockin' Bowl-o-Rama.
-
- PC hardware running Linux:
- -Motherboard: Elitegroup P4M800PRO-M478 v1.0.
- -CPU: Celeron, socket 478, 800/533MHz
- -Video: R9600PRO 256M DDR AGP.
- -Boot from USB flash drive.
+Cosmodog / Namco Rockin' Bowl-o-Rama.
+
+PC hardware running Linux:
+- Motherboard: Elitegroup P4M800PRO-M478 v1.0.
+- CPU: Celeron, socket 478, 800/533MHz
+- Video: R9600PRO 256M DDR AGP a.k.a. PowerColor R96 a.k.a. ATi Radeon 9600 Pro
+- Boot from USB flash drive.
+- VIA P4M800 Pro
+- VIA VT8237
+- Realtek ALC655
+- VIA VT6103L
+- ITE IT8705F Super I/O
Additional I/O board that serves also as protection (labeled "HYdra V2.3"),
connected via RS-232 (DB9):
diff --git a/src/mame/pc/pulltrig.cpp b/src/mame/pc/pulltrig.cpp
new file mode 100644
index 00000000000..dfb505f0ee5
--- /dev/null
+++ b/src/mame/pc/pulltrig.cpp
@@ -0,0 +1,194 @@
+// license:BSD-3-Clause
+// copyright-holders:
+/**************************************************************************************************
+
+"Pull The Trigger"
+developed by the Korean company "Digital Silkroad Co. Ltd." and distributed by Covielsa.
+
+TODO:
+- Needs bump to SiS651;
+- At startup it needs a missing soft reset trigger;
+- It then draw a basic Phoenix BIOS but afterwards it accesses a missing BAR I/O
+ which craps out the flash memory somehow;
+- In shutms11 HDD image just resets during loading;
+
+===================================================================================================
+
+Standard PC with:
+-Elitegroup L4S5MG/651+ V5.0 motherboard.
+-512MB RAM, DDR PC2100 (one SIMM).
+-Wibu Systems WibuKey USB security dongle.
+-GeForce 4 MX440 8X 64MB DDR TV-OUT video card.
+-Exact CPU model and speed unknown.
+-Samsung SP0411N/OMD 40GB HDD.
+
+And an external PCB for inputs (guns, etc.) with:
+-ATF1502AS
+-AT89C51
+-AT89C2051
+-11.0592 MHz xtal near the AT89C2051
+-11.0592 MHz xtal near the AT89C51
+-4.9152 MHz xtal near the ATF1502AS.
+
+Also, the machine allows players to keep their scores on military dogtag like cards with a SEEPROM,
+named "DSR-PT1 MEMORY" (they were probably for sale).
+
+**************************************************************************************************/
+
+#include "emu.h"
+#include "cpu/i386/i386.h"
+#include "bus/isa/isa_cards.h"
+#include "bus/pc_kbd/keyboards.h"
+#include "bus/rs232/hlemouse.h"
+#include "bus/rs232/null_modem.h"
+#include "bus/rs232/rs232.h"
+#include "bus/rs232/sun_kbd.h"
+#include "bus/rs232/terminal.h"
+#include "machine/intelfsh.h"
+#include "machine/it8705f.h"
+#include "machine/pci.h"
+#include "machine/sis5513_ide.h"
+#include "machine/sis630_host.h"
+#include "machine/sis630_gui.h"
+#include "machine/sis7001_usb.h"
+#include "machine/sis7018_audio.h"
+#include "machine/sis900_eth.h"
+#include "machine/sis950_lpc.h"
+#include "machine/sis950_smbus.h"
+
+
+namespace {
+
+class pulltrig_state : public driver_device
+{
+public:
+ pulltrig_state(const machine_config &mconfig, device_type type, const char *tag)
+ : driver_device(mconfig, type, tag)
+ , m_maincpu(*this, "maincpu")
+ , m_ide_00_1(*this, "pci:00.1")
+ , m_lpc_01_0(*this, "pci:01.0")
+ { }
+
+
+ void pulltrig(machine_config &config);
+
+private:
+ required_device<pentium4_device> m_maincpu;
+ required_device<sis5513_ide_device> m_ide_00_1;
+ required_device<sis950_lpc_device> m_lpc_01_0;
+
+ static void ite_superio_config(device_t *device);
+};
+
+static void isa_com(device_slot_interface &device)
+{
+ device.option_add("microsoft_mouse", MSFT_HLE_SERIAL_MOUSE);
+ device.option_add("logitech_mouse", LOGITECH_HLE_SERIAL_MOUSE);
+ device.option_add("wheel_mouse", WHEEL_HLE_SERIAL_MOUSE);
+ device.option_add("msystems_mouse", MSYSTEMS_HLE_SERIAL_MOUSE);
+ device.option_add("rotatable_mouse", ROTATABLE_HLE_SERIAL_MOUSE);
+ device.option_add("terminal", SERIAL_TERMINAL);
+ device.option_add("null_modem", NULL_MODEM);
+ device.option_add("sun_kbd", SUN_KBD_ADAPTOR);
+}
+
+static void isa_internal_devices(device_slot_interface &device)
+{
+ device.option_add("it8705f", IT8705F);
+}
+
+void pulltrig_state::ite_superio_config(device_t *device)
+{
+ it8705f_device &fdc = *downcast<it8705f_device *>(device);
+// fdc.set_sysopt_pin(1);
+ fdc.irq1().set(":pci:01.0", FUNC(sis950_lpc_device::pc_irq1_w));
+ fdc.irq8().set(":pci:01.0", FUNC(sis950_lpc_device::pc_irq8n_w));
+ fdc.txd1().set(":serport0", FUNC(rs232_port_device::write_txd));
+ fdc.ndtr1().set(":serport0", FUNC(rs232_port_device::write_dtr));
+ fdc.nrts1().set(":serport0", FUNC(rs232_port_device::write_rts));
+ fdc.txd2().set(":serport1", FUNC(rs232_port_device::write_txd));
+ fdc.ndtr2().set(":serport1", FUNC(rs232_port_device::write_dtr));
+ fdc.nrts2().set(":serport1", FUNC(rs232_port_device::write_rts));
+}
+
+
+
+void pulltrig_state::pulltrig(machine_config &config)
+{
+ PENTIUM4(config, m_maincpu, 100'000'000); // Exact CPU and frequency unknown
+ m_maincpu->set_irq_acknowledge_callback("pci:01.0:pic_master", FUNC(pic8259_device::inta_cb));
+// m_maincpu->smiact().set("pci:00.0", FUNC(sis950_lpc_device::smi_act_w));
+
+ // TODO: everything below needs upgrading to SiS651
+ // TODO: unknown flash ROM type (wrong one)
+ // Needs a $40000 sized ROM, not $80000
+ AMD_29F400T(config, "flash");
+
+ PCI_ROOT(config, "pci", 0);
+ SIS630_HOST(config, "pci:00.0", 0, "maincpu", 256*1024*1024);
+ SIS5513_IDE(config, m_ide_00_1, 0, "maincpu");
+ // TODO: both on same line as default, should also trigger towards LPC
+ m_ide_00_1->irq_pri().set("pci:01.0:pic_slave", FUNC(pic8259_device::ir6_w));
+ //FUNC(sis950_lpc_device::pc_irq14_w));
+ m_ide_00_1->irq_sec().set("pci:01.0:pic_slave", FUNC(pic8259_device::ir7_w));
+ //FUNC(sis950_lpc_device::pc_mirq0_w));
+
+ SIS950_LPC(config, m_lpc_01_0, XTAL(33'000'000), "maincpu", "flash");
+ m_lpc_01_0->fast_reset_cb().set([this] (int state) {
+ if (state)
+ machine().schedule_soft_reset();
+ });
+ LPC_ACPI(config, "pci:01.0:acpi", 0);
+ SIS950_SMBUS(config, "pci:01.0:smbus", 0);
+
+ SIS900_ETH(config, "pci:01.1", 0);
+ SIS7001_USB(config, "pci:01.2", 0, 3);
+ SIS7001_USB(config, "pci:01.3", 0, 2);
+ SIS7018_AUDIO(config, "pci:01.4", 0);
+ // documentation doesn't mention modem part #, derived from Shuttle MS11 MB manual
+// SIS7013_MODEM_AC97(config, "pci:01.6"
+
+ // "Virtual PCI-to-PCI Bridge"
+ SIS630_BRIDGE(config, "pci:02.0", 0, "pci:02.0:00.0");
+ // GUI must go under the virtual bridge
+ // This will be correctly identified as bus #1-dev #0-func #0 by the Award BIOS
+ SIS630_GUI(config, "pci:02.0:00.0", 0);
+
+ // TODO: 3 PCI slots, 1 AGP, whatever is CNR slot
+
+ // confirmed IT8705F
+ ISA16_SLOT(config, "superio", 0, "pci:01.0:isabus", isa_internal_devices, "it8705f", true).set_option_machine_config("it8705f", ite_superio_config);
+
+ rs232_port_device& serport0(RS232_PORT(config, "serport0", isa_com, "microsoft_mouse"));
+ serport0.rxd_handler().set("superio:it8705f", FUNC(it8705f_device::rxd1_w));
+ serport0.dcd_handler().set("superio:it8705f", FUNC(it8705f_device::ndcd1_w));
+ serport0.dsr_handler().set("superio:it8705f", FUNC(it8705f_device::ndsr1_w));
+ serport0.ri_handler().set("superio:it8705f", FUNC(it8705f_device::nri1_w));
+ serport0.cts_handler().set("superio:it8705f", FUNC(it8705f_device::ncts1_w));
+
+ rs232_port_device &serport1(RS232_PORT(config, "serport1", isa_com, nullptr));
+ serport1.rxd_handler().set("superio:it8705f", FUNC(it8705f_device::rxd2_w));
+ serport1.dcd_handler().set("superio:it8705f", FUNC(it8705f_device::ndcd2_w));
+ serport1.dsr_handler().set("superio:it8705f", FUNC(it8705f_device::ndsr2_w));
+ serport1.ri_handler().set("superio:it8705f", FUNC(it8705f_device::nri2_w));
+ serport1.cts_handler().set("superio:it8705f", FUNC(it8705f_device::ncts2_w));
+}
+
+
+ROM_START(pulltrig)
+ ROM_REGION32_LE(0x80000, "flash", ROMREGION_ERASE00)
+ ROM_LOAD("51402.bin", 0x00000, 0x40000, CRC(33bed7c0) SHA1(169374b6dac5bbba335e113a97ac34dc830c2599))
+ ROM_COPY("flash", 0x00000, 0x40000, 0x40000 )
+
+ ROM_REGION(0x50000, "io", 0)
+ ROM_LOAD("at89c51.bin", 0x00000, 0x01000, NO_DUMP) // AT89C51, protected
+ ROM_LOAD("at89c2051.u3", 0x10000, 0x04000, NO_DUMP) // 2 Kbytes internal ROM
+
+ DISK_REGION("pci:00.1:ide1:0:hdd")
+ DISK_IMAGE("pullthetrigger", 0, SHA1(438d57499e435e9e4e4a5980e9b1ca0df4f4ccca))
+ROM_END
+
+} // anonymous namespace
+
+
+GAME(2003, pulltrig, 0, pulltrig, 0, pulltrig_state, empty_init, ROT0, "Digital Silkroad", "Pull The Trigger", MACHINE_UNEMULATED_PROTECTION | MACHINE_NOT_WORKING)
diff --git a/src/mame/pinball/newcanasta.cpp b/src/mame/pinball/newcanasta.cpp
index a38921dd2ea..a3f0e821751 100644
--- a/src/mame/pinball/newcanasta.cpp
+++ b/src/mame/pinball/newcanasta.cpp
@@ -1,10 +1,18 @@
// license:BSD-3-Clause
// copyright-holders:
/*
- New Canasta, pinball with PC-based electronics, from the Spanish company Marsaplay.
+New Canasta, pinball with PC-based electronics, from the Spanish company Marsaplay.
+
+AsRock ConRoe 1333-d677 Pressler P4FSB1333-650 motherboard.
+USB-DIO-96 (96 channel digital I/O module from "Access I/O Products, Inc.".
+
+Intel 945GC + ICH7 + ALC888 + RTL8101E
+Winbond W83627EHC Super I/O
+2x PCI slots
+1x PCIe x1
+1x PCIe x16
+1x "ASRock HDMR"
- AsRock Conroe 1333-d677 Pressler P4FSB1333-650 motherboard.
- USB-DIO-96 (96 channel digital I/O module from "Access I/O Products, Inc.".
*/
#include "emu.h"
diff --git a/src/mame/skeleton/pullttrigger.cpp b/src/mame/skeleton/pullttrigger.cpp
deleted file mode 100644
index 316b208e78b..00000000000
--- a/src/mame/skeleton/pullttrigger.cpp
+++ /dev/null
@@ -1,94 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:
-/***********************************************************************************************************
-
-"Pull The Trigger", developed by the Korean company "Digital Silkroad Co. Ltd." and distributed by Covielsa.
-
-Standard PC with:
--Elitegroup L4S5MG/651+ V5.0 motherboard.
--512MB RAM, DDR PC2100 (one SIMM).
--Wibu Systems WibuKey USB security dongle.
--GeForce 4 MX440 8X 64MB DDR TV-OUT video card.
--Exact CPU model and speed unknown.
--Samsung SP0411N/OMD 40GB HDD.
-
-And an external PCB for inputs (guns, etc.) with:
--ATF1502AS
--AT89C51
--AT89C2051
--11.0592 MHz xtal near the AT89C2051
--11.0592 MHz xtal near the AT89C51
--4.9152 MHz xtal near the ATF1502AS.
-
-Also, the machine allows players to keep their scores on military dogtag like cards with a SEEPROM, named
-"DSR-PT1 MEMORY" (they were probably for sale).
-
-***********************************************************************************************************/
-
-#include "emu.h"
-#include "cpu/i386/i386.h"
-#include "machine/pci.h"
-
-
-namespace {
-
-class pullttrig_state : public driver_device
-{
-public:
- pullttrig_state(const machine_config &mconfig, device_type type, const char *tag)
- : driver_device(mconfig, type, tag)
- , m_maincpu(*this, "maincpu")
- { }
-
-
- void pullttrig(machine_config &config);
-
-private:
- required_device<cpu_device> m_maincpu;
- void pullttrig_io(address_map &map) ATTR_COLD;
- void pullttrig_map(address_map &map) ATTR_COLD;
-};
-
-
-void pullttrig_state::pullttrig_map(address_map &map)
-{
- map(0x00000000, 0x0009ffff).ram();
- map(0x000e0000, 0x000fffff).rom().region("bios", 0x20000);
- map(0xfffc0000, 0xffffffff).rom().region("bios", 0);
-}
-
-void pullttrig_state::pullttrig_io(address_map &map)
-{
-}
-
-static INPUT_PORTS_START(pullttrig)
-INPUT_PORTS_END
-
-void pullttrig_state::pullttrig(machine_config &config)
-{
- PENTIUM4(config, m_maincpu, 100'000'000); // Exact CPU and frequency unknown
- m_maincpu->set_addrmap(AS_PROGRAM, &pullttrig_state::pullttrig_map);
- m_maincpu->set_addrmap(AS_IO, &pullttrig_state::pullttrig_io);
-
- PCI_ROOT(config, "pci", 0);
- // ...
-}
-
-
-ROM_START(pullttrig)
- ROM_REGION32_LE(0x40000, "bios", 0)
- ROM_LOAD("51402.bin", 0x00000, 0x40000, CRC(33bed7c0) SHA1(169374b6dac5bbba335e113a97ac34dc830c2599))
-
- ROM_REGION(0x50000, "io", 0)
- ROM_LOAD("at89c51.bin", 0x00000, 0x01000, NO_DUMP) // AT89C51, protected
- ROM_LOAD("at89c2051.u3", 0x10000, 0x04000, NO_DUMP) // 2 Kbytes internal ROM
-
-
- DISK_REGION("ide:0:hdd")
- DISK_IMAGE("pullthetrigger", 0, SHA1(438d57499e435e9e4e4a5980e9b1ca0df4f4ccca))
-ROM_END
-
-} // anonymous namespace
-
-
-GAME(2003, pullttrig, 0, pullttrig, pullttrig, pullttrig_state, empty_init, ROT0, "Digital Silkroad", "Pull The Trigger", MACHINE_NO_SOUND | MACHINE_NOT_WORKING)