diff options
| author | 2026-02-16 23:12:42 +0100 | |
|---|---|---|
| committer | 2026-02-16 23:32:47 +0100 | |
| commit | 1be66a0678f3171d9dc147d3d468e6af46258ce3 (patch) | |
| tree | 2bb585156a7cebad0fcc661d8d92867e1e926065 | |
| parent | 2d741f30a0381f6df435329a2e44631600ba213d (diff) | |
skeleton/pullttrigger.cpp: move to pc/pulltrig.cpp, add base sis630 chipset
| -rw-r--r-- | src/devices/bus/isa/ncr53c400.cpp | 2 | ||||
| -rw-r--r-- | src/mame/mame.lst | 6 | ||||
| -rw-r--r-- | src/mame/misc/gfamily.cpp | 5 | ||||
| -rw-r--r-- | src/mame/misc/startouch.cpp | 60 | ||||
| -rw-r--r-- | src/mame/namco/rbowlorama.cpp | 19 | ||||
| -rw-r--r-- | src/mame/pc/pulltrig.cpp | 194 | ||||
| -rw-r--r-- | src/mame/pinball/newcanasta.cpp | 14 | ||||
| -rw-r--r-- | src/mame/skeleton/pullttrigger.cpp | 94 |
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) |
