diff --git a/src/mame/drivers/pg685.cpp b/src/mame/drivers/pg685.cpp index 9c303fe3fac..d9e5127c97b 100644 --- a/src/mame/drivers/pg685.cpp +++ b/src/mame/drivers/pg685.cpp @@ -5,7 +5,7 @@ Siemens Simatic PG-685 driver skeleton by rfka01 - + **************************************************************************** The Simatic PG-685 is a programming device for Siemens' S5 line of industrial @@ -36,27 +36,27 @@ in this preliminary memory map. Olivier Galibert remarked that for a 16 bit memo map, the address ranges have to begin on even and end on odd addresses. static ADDRESS_MAP_START(pg685_mem, AS_PROGRAM, 16, pg685_state) - ADDRESS_MAP_UNMAP_HIGH - AM_RANGE(0x00000,0xbffff) AM_RAM - AM_RANGE(0xf0000,0xf1fff) AM_RAM - AM_RANGE(0xf9f00,0xf9f00) // Keyboard scancode - AM_RANGE(0xf9f01,0xf9f01) // Keyboard status (read) Keyboard command (write) - AM_RANGE(0xf9f02,0xf9f02) // 6845 Register select - AM_RANGE(0xf9f03,0xf9f03) // 6845 Register value - AM_RANGE(0xf9f04,0xf9f04) // PCP/M-86 keyboard handling code also checks a couple of bits read - AM_RANGE(0xf9f20,0xf9f20) // WD 279x floppy controller - AM_RANGE(0xf9f30,0xf9f30) // Printer data - AM_RANGE(0xf9f31,0xf9f31) // Printer status read - AM_RANGE(0xf9f33,0xf9f33) // Printer present? - AM_RANGE(0xf9f42,0xf9f47) // RTC registers - AM_RANGE(0xf9f48,0xf9f4c) // NVRAM - AM_RANGE(0xf9f50,0xf9f50) // RTC Busy flag - AM_RANGE(0xf9f70,0xf9f77) // WD 1010 - AM_RANGE(0xf9f78,0xf9f78) // WD 1010 separate drive/head select register - AM_RANGE(0xf9f79,0xf9f79) // another write-only register (possibly reset or interrupt control) - AM_RANGE(0xfa000,0xfa7ff) AM_RAM AM_SHARE ("charcopy") - AM_RANGE(0xfb000,0xfb7ff) AM_RAM AM_SHARE ("framebuffer") - AM_RANGE(0xfc000,0xfffff) AM_ROM AM_REGION("bios", 0) + ADDRESS_MAP_UNMAP_HIGH + AM_RANGE(0x00000,0xbffff) AM_RAM + AM_RANGE(0xf0000,0xf1fff) AM_RAM + AM_RANGE(0xf9f00,0xf9f00) // Keyboard scancode + AM_RANGE(0xf9f01,0xf9f01) // Keyboard status (read) Keyboard command (write) + AM_RANGE(0xf9f02,0xf9f02) // 6845 Register select + AM_RANGE(0xf9f03,0xf9f03) // 6845 Register value + AM_RANGE(0xf9f04,0xf9f04) // PCP/M-86 keyboard handling code also checks a couple of bits read + AM_RANGE(0xf9f20,0xf9f20) // WD 279x floppy controller + AM_RANGE(0xf9f30,0xf9f30) // Printer data + AM_RANGE(0xf9f31,0xf9f31) // Printer status read + AM_RANGE(0xf9f33,0xf9f33) // Printer present? + AM_RANGE(0xf9f42,0xf9f47) // RTC registers + AM_RANGE(0xf9f48,0xf9f4c) // NVRAM + AM_RANGE(0xf9f50,0xf9f50) // RTC Busy flag + AM_RANGE(0xf9f70,0xf9f77) // WD 1010 + AM_RANGE(0xf9f78,0xf9f78) // WD 1010 separate drive/head select register + AM_RANGE(0xf9f79,0xf9f79) // another write-only register (possibly reset or interrupt control) + AM_RANGE(0xfa000,0xfa7ff) AM_RAM AM_SHARE ("charcopy") + AM_RANGE(0xfb000,0xfb7ff) AM_RAM AM_SHARE ("framebuffer") + AM_RANGE(0xfc000,0xfffff) AM_ROM AM_REGION("bios", 0) ADDRESS_MAP_END This machine only has a textmode screen, Tandon TM262 hard disk drive on a WD1010 controller, @@ -64,11 +64,11 @@ Teac FD-55FV-13-U floppy drive on a Siemens (WD)-1797-02P controller, 768KB of R display controller, upd8279c-25 keyboard controller. Ports: Printer, V24, Module, AG-S5, Sinec H1, External Monitor -CPU/Video: 16KB BIOS/CHAR EPROM, NEC V20 CPU, SAB 8259AP, 12.288 MHz crystal, 2xHM6116LP-3, - HD46505SP-1 (HD68A45SP), D8279C-2, D8251AFC -Module/Floppy: 2xP8255A, 4xHM6116LP-3, D8251AFC, 4.000000 MHz crystal, SAB 1797-02P, MM58167AN -HD: 4xD4016C, WD1010A-AL, 10,000000 MHz crystal -Memory: 27xTMS27C256-15 +CPU/Video: 16KB BIOS/CHAR EPROM, NEC V20 CPU, SAB 8259AP, 12.288 MHz crystal, 2xHM6116LP-3, + HD46505SP-1 (HD68A45SP), D8279C-2, D8251AFC +Module/Floppy: 2xP8255A, 4xHM6116LP-3, D8251AFC, 4.000000 MHz crystal, SAB 1797-02P, MM58167AN +HD: 4xD4016C, WD1010A-AL, 10,000000 MHz crystal +Memory: 27xTMS27C256-15 6ES5685-OUA12 @@ -83,19 +83,19 @@ on a Siemens (WD)-1797-02P controller, 896KB of RAM, HD68A45SP display controlle keyboard controller Ports: Printer, V24, Module, AG-S5, Sinec H1, External Monitor, E1 -CPU/Mem.: iR80286-10 CPU, N82C288, 19,660800 MHz crystal, 2x16KB EPROM (BIOS/CHAR), 24MHz crystal - 18.189 MHz crystal, D71059L, HD46505SP-1 (HD68A45SP), D8279C-2, N8251A, 2xSRM20256LM, - RAM daughterbd: 4x514256-10 -Module/Floppy: 2xi8255A, 4xHM6116LP-3, D8251AFC, 4.000000 MHz crystal, SAB 1797-02P, MM58167AN -HD: SRM2064C-15, WD2010B-AL, 10,000000 MHz crystal +CPU/Mem.: iR80286-10 CPU, N82C288, 19,660800 MHz crystal, 2x16KB EPROM (BIOS/CHAR), 24MHz crystal + 18.189 MHz crystal, D71059L, HD46505SP-1 (HD68A45SP), D8279C-2, N8251A, 2xSRM20256LM, + RAM daughterbd: 4x514256-10 +Module/Floppy: 2xi8255A, 4xHM6116LP-3, D8251AFC, 4.000000 MHz crystal, SAB 1797-02P, MM58167AN +HD: SRM2064C-15, WD2010B-AL, 10,000000 MHz crystal ****************************************************************************/ #include "emu.h" #include "cpu/nec/nec.h" -#include "cpu/i86/i86.h" -#include "cpu/i86/i286.h" -#include "video/mc6845.h" +//#include "cpu/i86/i86.h" +//#include "cpu/i86/i286.h" +//#include "video/mc6845.h" //************************************************************************** // TYPE DEFINITIONS @@ -105,12 +105,13 @@ class pg685_state : public driver_device { public: pg685_state(const machine_config &mconfig, device_type type, const char *tag) - : driver_device(mconfig, type, tag) , - m_maincpu(*this, "maincpu") { } + : driver_device(mconfig, type, tag) + , m_maincpu(*this, "maincpu") { } + UINT32 screen_update_pg685(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); +private: virtual void machine_reset() override; virtual void video_start() override; - UINT32 screen_update_pg685(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); required_device m_maincpu; }; @@ -172,7 +173,7 @@ static MACHINE_CONFIG_START( pg685, pg685_state ) MCFG_CPU_PROGRAM_MAP(pg685_mem) // i/o cpu - + // ram // video hardware @@ -180,30 +181,30 @@ static MACHINE_CONFIG_START( pg685, pg685_state ) // sound hardware // devices - + // rs232 port - + // keyboard - + // printer - + // floppy - + // harddisk - +MACHINE_CONFIG_END + + //************************************************************************** // ROM DEFINITIONS //************************************************************************** -MACHINE_CONFIG_END - ROM_START( pg685 ) ROM_REGION( 0x4000, "bios", ROMREGION_ERASEFF ) - ROM_LOAD( "pg685_oua11_s79200-g2_a901-03.bin", 0x0000, 0x4000, CRC(db13f2db) SHA1(5f65ab14d9c8acdcc5482b27e727ca43b1a7daf3)) + ROM_LOAD( "pg685_oua11_s79200-g2_a901-03.bin", 0x0000, 0x4000, CRC(db13f2db) SHA1(5f65ab14d9c8acdcc5482b27e727ca43b1a7daf3) ) ROM_END //************************************************************************** // ROM DEFINITIONS //************************************************************************** /* YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS */ -COMP( 198?, pg685, 0, 0, pg685, pg685, driver_device, 0, "Siemens", "Simatic PG685 OUA11", MACHINE_NOT_WORKING | MACHINE_NO_SOUND) \ No newline at end of file +COMP( 198?, pg685, 0, 0, pg685, pg685, driver_device, 0, "Siemens", "Simatic PG685 OUA11", MACHINE_NOT_WORKING | MACHINE_NO_SOUND) diff --git a/src/mame/mame.lst b/src/mame/mame.lst index 703e6d332cd..2901e64f0a5 100644 --- a/src/mame/mame.lst +++ b/src/mame/mame.lst @@ -12797,6 +12797,7 @@ thepitm // bootleg timefgtr // (c) Taito (Brazil) - rewrite of Time Pilot tst_galx // Galaxian Test ROM turpin // (c) 1981 Sega +turpins // (c) 1981 bootleg turtles // (c) 1981 Stern uniwars // (c) Irem warofbug // (c) 1981 Armenia @@ -32173,7 +32174,6 @@ newsin7 // (c) 1983 ATW USA, Inc. newsin7a // (c) 1982 ATW USA, Inc. triplep // (c) 1982 KKI / made by Sanritsu? triplepa // (c) 1982 KKI / made by Sanritsu? -turpins // (c) 1981 bootleg @source:scregg.cpp dommy // TA-00?? (c) 1983 (Arcade TV Game List - P.90, Left, 13 from top)