summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/photoply.cpp
diff options
context:
space:
mode:
author ClawGrip <clawgrip@hotmail.com>2020-08-20 02:57:41 +0200
committer GitHub <noreply@github.com>2020-08-19 20:57:41 -0400
commit8971f091b73fe5e1e103ff7c3f4bb4e2ccd6a89c (patch)
treebc0cd45f04acf1df6bfafb0f995c9f29a5186c6b /src/mame/drivers/photoply.cpp
parent9bec3ed3d3402caee642677e0efb64e6154480e9 (diff)
New machines marked as NOT_WORKING (#7104)
New clones marked as NOT_WORKING -------------------------------- Photo Play 1999 (Spanish) [jordigahan, ArcadeHacker, ClawGrip, Recreativas.org]
Diffstat (limited to 'src/mame/drivers/photoply.cpp')
-rw-r--r--src/mame/drivers/photoply.cpp131
1 files changed, 95 insertions, 36 deletions
diff --git a/src/mame/drivers/photoply.cpp b/src/mame/drivers/photoply.cpp
index 60ead8953d2..680ef32e967 100644
--- a/src/mame/drivers/photoply.cpp
+++ b/src/mame/drivers/photoply.cpp
@@ -42,6 +42,7 @@ public:
}
void photoply(machine_config &config);
+ void photoply_dx4_100(machine_config &config);
private:
required_device<eeprom_serial_93cxx_device> m_eeprom;
@@ -203,8 +204,6 @@ void photoply_state::photoply_map(address_map &map)
map(0xfffe0000, 0xffffffff).lr8([this] (offs_t offset) { return m_main_bios[offset]; }, "bios_upper_r");
}
-
-
void photoply_state::photoply_io(address_map &map)
{
pcat32_io_common(map);
@@ -231,43 +230,43 @@ void photoply_state::photoply_io(address_map &map)
static INPUT_PORTS_START( photoply )
PORT_START("pc_keyboard_0")
- PORT_BIT ( 0x0001, 0x0000, IPT_UNUSED ) /* unused scancode 0 */
- AT_KEYB_HELPER( 0x0002, "Esc", KEYCODE_Q ) /* Esc 01 81 */
- AT_KEYB_HELPER( 0x0004, "1", KEYCODE_1 )
- AT_KEYB_HELPER( 0x0008, "2", KEYCODE_2 )
- AT_KEYB_HELPER( 0x0010, "3", KEYCODE_3 )
- AT_KEYB_HELPER( 0x0020, "4", KEYCODE_4 )
- AT_KEYB_HELPER( 0x0040, "5", KEYCODE_5 )
- AT_KEYB_HELPER( 0x0080, "6", KEYCODE_6 )
- AT_KEYB_HELPER( 0x0100, "7", KEYCODE_7 )
- AT_KEYB_HELPER( 0x0200, "8", KEYCODE_8 )
- AT_KEYB_HELPER( 0x0400, "9", KEYCODE_9 )
- AT_KEYB_HELPER( 0x0800, "0", KEYCODE_0 )
+ PORT_BIT ( 0x0001, 0x0000, IPT_UNUSED ) // Unused scancode 0
+ AT_KEYB_HELPER( 0x0002, "Esc", KEYCODE_Q ) // Esc 01 81
+ AT_KEYB_HELPER( 0x0004, "1", KEYCODE_1 )
+ AT_KEYB_HELPER( 0x0008, "2", KEYCODE_2 )
+ AT_KEYB_HELPER( 0x0010, "3", KEYCODE_3 )
+ AT_KEYB_HELPER( 0x0020, "4", KEYCODE_4 )
+ AT_KEYB_HELPER( 0x0040, "5", KEYCODE_5 )
+ AT_KEYB_HELPER( 0x0080, "6", KEYCODE_6 )
+ AT_KEYB_HELPER( 0x0100, "7", KEYCODE_7 )
+ AT_KEYB_HELPER( 0x0200, "8", KEYCODE_8 )
+ AT_KEYB_HELPER( 0x0400, "9", KEYCODE_9 )
+ AT_KEYB_HELPER( 0x0800, "0", KEYCODE_0 )
PORT_START("pc_keyboard_1")
- AT_KEYB_HELPER( 0x0020, "Y", KEYCODE_Y ) /* Y 15 95 */
- AT_KEYB_HELPER( 0x1000, "Enter", KEYCODE_ENTER ) /* Enter 1C 9C */
+ AT_KEYB_HELPER( 0x0020, "Y", KEYCODE_Y ) // Y 15 95
+ AT_KEYB_HELPER( 0x1000, "Enter", KEYCODE_ENTER ) // Enter 1C 9C
PORT_START("pc_keyboard_2")
PORT_START("pc_keyboard_3")
- AT_KEYB_HELPER( 0x0002, "N", KEYCODE_N ) /* N 31 B1 */
- AT_KEYB_HELPER( 0x0800, "F1", KEYCODE_F1 ) /* F1 3B BB */
- AT_KEYB_HELPER( 0x1000, "F2", KEYCODE_F2 )
- AT_KEYB_HELPER( 0x4000, "F4", KEYCODE_F4 )
+ AT_KEYB_HELPER( 0x0002, "N", KEYCODE_N ) // N 31 B1
+ AT_KEYB_HELPER( 0x0800, "F1", KEYCODE_F1 ) // F1 3B BB
+ AT_KEYB_HELPER( 0x1000, "F2", KEYCODE_F2 )
+ AT_KEYB_HELPER( 0x4000, "F4", KEYCODE_F4 )
PORT_START("pc_keyboard_4")
PORT_START("pc_keyboard_5")
PORT_START("pc_keyboard_6")
- AT_KEYB_HELPER( 0x0040, "(MF2)Cursor Up", KEYCODE_UP ) /* Up 67 e7 */
- AT_KEYB_HELPER( 0x0080, "(MF2)Page Up", KEYCODE_PGUP ) /* Page Up 68 e8 */
- AT_KEYB_HELPER( 0x0100, "(MF2)Cursor Left", KEYCODE_LEFT ) /* Left 69 e9 */
- AT_KEYB_HELPER( 0x0200, "(MF2)Cursor Right", KEYCODE_RIGHT ) /* Right 6a ea */
- AT_KEYB_HELPER( 0x0800, "(MF2)Cursor Down", KEYCODE_DOWN ) /* Down 6c ec */
- AT_KEYB_HELPER( 0x1000, "(MF2)Page Down", KEYCODE_PGDN ) /* Page Down 6d ed */
- AT_KEYB_HELPER( 0x4000, "Del", KEYCODE_A ) /* Delete 6f ef */
+ AT_KEYB_HELPER( 0x0040, "(MF2)Cursor Up", KEYCODE_UP ) // Up 67 e7
+ AT_KEYB_HELPER( 0x0080, "(MF2)Page Up", KEYCODE_PGUP ) // Page Up 68 e8
+ AT_KEYB_HELPER( 0x0100, "(MF2)Cursor Left", KEYCODE_LEFT ) // Left 69 e9
+ AT_KEYB_HELPER( 0x0200, "(MF2)Cursor Right", KEYCODE_RIGHT ) // Right 6a ea
+ AT_KEYB_HELPER( 0x0800, "(MF2)Cursor Down", KEYCODE_DOWN ) // Down 6c ec
+ AT_KEYB_HELPER( 0x1000, "(MF2)Page Down", KEYCODE_PGDN ) // Page Down 6d ed
+ AT_KEYB_HELPER( 0x4000, "Del", KEYCODE_A ) // Delete 6f ef
PORT_START("pc_keyboard_7")
INPUT_PORTS_END
@@ -283,7 +282,6 @@ void photoply_state::machine_reset()
m_pci_shadow_reg = 0;
}
-
static const gfx_layout CGA_charlayout =
{
8,8,
@@ -297,7 +295,7 @@ static const gfx_layout CGA_charlayout =
static GFXDECODE_START( gfx_photoply )
GFXDECODE_ENTRY( "video_bios", 0x6000+0xa5*8+7, CGA_charlayout, 0, 256 )
- //there's also a 8x16 entry (just after the 8x8)
+ // There's also a 8x16 entry (just after the 8x8)
GFXDECODE_END
void photoply_state::photoply(machine_config &config)
@@ -332,19 +330,79 @@ void photoply_state::photoply(machine_config &config)
.erase_all_time(attotime::from_usec(10));
}
+void photoply_state::photoply_dx4_100(machine_config &config)
+{
+ photoply(config);
+ m_maincpu->set_clock(100000000); // 100MHz
+}
+
+/* Intel A80486DX4100
+ 4096KB RAM
+ SiS 85C496 + 85C497
+ 5 x ISSI IS61C256AN-15N Cache RAM
+ Winbond W83787IF (near Xtal 24.00 MHz)
+ 3 x ISA + 2 x PCI */
+ROM_START(photoply99sp)
+ ROM_REGION(0x20000, "bios", 0) // Motherboard BIOS
+ ROM_LOAD("funworld_1999_award_v4.51g.bin", 0x000000, 0x20000, CRC(af7ff1d4) SHA1(72eeecf798a03817ce7ba4d65cd4128ed3ef7e68) ) // Award Modular BIOS v4.51G, AT29C010A
+
+ /* Multifunction board with a ESS AudioDrive chip ISA Sound + I/O (PP2000/CI-8000)
+ ESS AudioDrve ES1868F
+ NEC D71055L-10 Parallel Interface Unit
+ Winbond W83877AF
+ Xtal 24.000 MHz (near W83877AF and D71055L-10)
+ Xtal 14.31818 MHz (near ES1868F)
+ Atmel 93C46 Serial EEPROM
+ PALCE16V8H (UNDUMPED)
+ PALCE16V8H (UNDUMPED)
+ 8 Dips */
+ ROM_REGION(0x8000, "ex_bios", ROMREGION_ERASE00 )
+ ROM_LOAD("enhanced_bios_1.06.u13", 0x0000, 0x8000, CRC(d05e9d20) SHA1(854501b7b3bf988b10516109d058f7ca2aa07d3e) ) // Centos Combo I/O ROM BIOS for CI-8000/PP2000 v1.06, W27E257
+
+ /* Cirrus Logic PCI CL-GD5446-HC-A
+ 512MB RAM (2 x M5416258B-30J)
+ Xtal 14.31818 MHz */
+ ROM_REGION(0x8000, "video_bios", 0 )
+ ROM_LOAD("cl-gd5446_pci_vga_bios_version_1.31.u2", 0x0000, 0x8000, CRC(61f8cac7) SHA1(6e54aadfe10dfa5c7e417a054e9a64499a99083c) ) // Cirrus Logic/Quadtel CL-GD5446 PCI VGA BIOS v1.31 , AT27C256R
+
+ /* The PhotoPlay 1999 parallel port dongle contains, under expoxy resin:
+ Atmel AT89C2051 MCU (2KBytes internal ROM, UNDUMPED)
+ Xtal 11.05MHz
+ 24C08W6 SEEPROM
+ HC132 */
+ ROM_REGION(0xC00, "dongle", 0)
+ ROM_SYSTEM_BIOS(0, "pp_99_dongle_r3", "Parallel port dongle Rev. 3")
+ ROMX_LOAD("dongle_photoply_1999_sp_r3_mcu.bin", 0x000, 0x800, NO_DUMP, ROM_BIOS(0)) // AT89C2051
+ ROMX_LOAD("dongle_photoply_1999_sp_r3_seeprom.bin", 0x800, 0x400, CRC(62f68a79) SHA1(72477e07db0982764aede1b7e723aedf58937426), ROM_BIOS(0)) // 24C08W6
+ ROM_SYSTEM_BIOS(1, "pp_99_dongle_r3a", "Parallel port dongle Rev. 3 (alt)")
+ ROMX_LOAD("dongle_photoply_1999_sp_r3_alt_mcu.bin", 0x000, 0x800, NO_DUMP, ROM_BIOS(1)) // AT89C2051
+ ROMX_LOAD("dongle_photoply_1999_sp_r3_alt_seeprom.bin", 0x800, 0x400, CRC(9442d1d7) SHA1(4426542c4dbb3f1df65e7ba798a7d7e0d8b98838), ROM_BIOS(1)) // 24C08W6
+ ROM_SYSTEM_BIOS(2, "pp_99_dongle_r2", "Parallel port dongle Rev. 2")
+ ROMX_LOAD("dongle_photoply_1999_sp_r2_mcu.bin", 0x000, 0x800, NO_DUMP, ROM_BIOS(2)) // AT89C2051
+ ROMX_LOAD("dongle_photoply_1999_sp_r2_seeprom.bin", 0x800, 0x400, CRC(52274688) SHA1(786f7407e510b303401120b8e1b082cdb412e648), ROM_BIOS(2)) // 24C08W6
+ ROM_SYSTEM_BIOS(3, "pp_99_dongle_r1", "Parallel port dongle Rev. 1")
+ ROMX_LOAD("dongle_photoply_1999_sp_r1_mcu.bin", 0x000, 0x800, NO_DUMP, ROM_BIOS(3)) // AT89C2051
+ ROMX_LOAD("dongle_photoply_1999_sp_r1_seeprom.bin", 0x800, 0x400, CRC(fe8f14d2) SHA1(1caad3200a22e0d510238ba44e5d96f561045ec1), ROM_BIOS(3)) // 24C08W6
+
+ // Quantum Fireball EX3.2A
+ // C/H/S: 3.2 - 6256/16/63
+ // PhotoPlay label: 09.02.1999
+ DISK_REGION( "ide:0:hdd:image" )
+ DISK_IMAGE( "photoplay99sp", 0, BAD_DUMP SHA1(887e5b8c931d6122a1c3a8eda5cb919eb162eced) ) // From an operated HDD. A clean one must be recreated from the CDs
+ROM_END
ROM_START(photoply)
ROM_REGION(0x20000, "bios", 0) // Motherboard BIOS
ROM_LOAD("award bootblock bios v1.0.bin", 0x000000, 0x20000, CRC(e96d1bbc) SHA1(64d0726c4e9ecee8fddf4cc39d92aecaa8184d5c) ) // Award Modular BIOS v4.51G
- ROM_REGION(0x8000, "ex_bios", ROMREGION_ERASE00 ) // Multifunction board with a ESS AudioDrive chip, M27128A
- ROM_LOAD("enhanced bios.bin", 0x000000, 0x4000, CRC(a216404e) SHA1(c9067cf87d5c8106de00866bb211eae3a6c02c65) ) // Centos Combo I/O ROM BIOS for CI-8000/PP2000 v1.06
+ ROM_REGION(0x8000, "ex_bios", ROMREGION_ERASE00 ) // Multifunction board with a ESS AudioDrive chip
+ ROM_LOAD("enhanced bios.bin", 0x000000, 0x4000, CRC(a216404e) SHA1(c9067cf87d5c8106de00866bb211eae3a6c02c65) ) // Centos Combo I/O ROM BIOS for CI-8000/PP2000 v1.06, M27128A
// ROM_RELOAD( 0x004000, 0x4000 )
// ROM_RELOAD( 0x008000, 0x4000 )
// ROM_RELOAD( 0x00c000, 0x4000 )
ROM_REGION(0x8000, "video_bios", 0 )
- ROM_LOAD("vga.bin", 0x000000, 0x8000, CRC(7a859659) SHA1(ff667218261969c48082ec12aa91088a01b0cb2a) ) // Cirrus Logic/Quadtel CL-GD5436/46 PCI VGA BIOS v1.25
+ ROM_LOAD("vga.bin", 0x000000, 0x8000, CRC(7a859659) SHA1(ff667218261969c48082ec12aa91088a01b0cb2a) ) // Cirrus Logic/Quadtel CL-GD5436/46 PCI VGA BIOS v1.25
DISK_REGION( "ide:0:hdd:image" )
DISK_IMAGE( "pp201", 0, SHA1(23e1940d485d19401e7d0ad912ddad2cf2ea10b4) )
@@ -352,7 +410,7 @@ ROM_END
// BIOS not provided, might be different
ROM_START(photoply2k4)
- ROM_REGION(0x20000, "bios", 0) // motherboard BIOS
+ ROM_REGION(0x20000, "bios", 0) // Motherboard BIOS
ROM_LOAD("award bootblock bios v1.0.bin", 0x000000, 0x20000, BAD_DUMP CRC(e96d1bbc) SHA1(64d0726c4e9ecee8fddf4cc39d92aecaa8184d5c) )
ROM_REGION(0x8000, "ex_bios", ROMREGION_ERASE00 ) // Multifunction board with a ESS AudioDrive chip, M27128A
@@ -365,10 +423,11 @@ ROM_START(photoply2k4)
ROM_LOAD("vga.bin", 0x000000, 0x8000, CRC(7a859659) BAD_DUMP SHA1(ff667218261969c48082ec12aa91088a01b0cb2a) )
DISK_REGION( "ide:0:hdd:image" )
-// CYLS:1023,HEADS:64,SECS:63,BPS:512.
+// CYLS:1023,HEADS:64,SECS:63,BPS:512.
DISK_IMAGE( "pp2004", 0, SHA1(a3f8861cf91cf7e7446ec931f812e774ada20802) )
ROM_END
-GAME( 199?, photoply, 0, photoply, photoply, photoply_state, empty_init, ROT0, "Funworld", "Photo Play 2000 (v2.01)", MACHINE_NOT_WORKING|MACHINE_NO_SOUND|MACHINE_UNEMULATED_PROTECTION )
-GAME( 2004, photoply2k4, 0, photoply, photoply, photoply_state, empty_init, ROT0, "Funworld", "Photo Play 2004", MACHINE_NOT_WORKING|MACHINE_NO_SOUND|MACHINE_UNEMULATED_PROTECTION )
+GAME( 1999, photoply99sp, 0, photoply_dx4_100, photoply, photoply_state, empty_init, ROT0, "Funworld", "Photo Play 1999 (Spanish)", MACHINE_NOT_WORKING|MACHINE_NO_SOUND|MACHINE_UNEMULATED_PROTECTION )
+GAME( 199?, photoply, 0, photoply, photoply, photoply_state, empty_init, ROT0, "Funworld", "Photo Play 2000 (v2.01)", MACHINE_NOT_WORKING|MACHINE_NO_SOUND|MACHINE_UNEMULATED_PROTECTION )
+GAME( 2004, photoply2k4, 0, photoply, photoply, photoply_state, empty_init, ROT0, "Funworld", "Photo Play 2004", MACHINE_NOT_WORKING|MACHINE_NO_SOUND|MACHINE_UNEMULATED_PROTECTION )