From b12859676c40cdd9daad655498f4a88367f6aaae Mon Sep 17 00:00:00 2001 From: Robbbert Date: Wed, 10 Jun 2020 22:47:30 +1000 Subject: excali64: new software list --- boot (CP/M Boot Disk) --- hash/excalibur64.xml | 19 ++++++++++++++++ src/mame/drivers/excali64.cpp | 2 ++ src/mame/drivers/okean240.cpp | 51 +++++++++++++++++++++++++++++++------------ src/mame/drivers/sdk86.cpp | 20 ++++++++--------- 4 files changed, 68 insertions(+), 24 deletions(-) create mode 100644 hash/excalibur64.xml diff --git a/hash/excalibur64.xml b/hash/excalibur64.xml new file mode 100644 index 00000000000..a45c8d3b318 --- /dev/null +++ b/hash/excalibur64.xml @@ -0,0 +1,19 @@ + + + + + + + Boot disk + 1984 + BGR Computers + + + + + + + + diff --git a/src/mame/drivers/excali64.cpp b/src/mame/drivers/excali64.cpp index 973c2ea72c4..bf1368c495d 100644 --- a/src/mame/drivers/excali64.cpp +++ b/src/mame/drivers/excali64.cpp @@ -646,6 +646,8 @@ void excali64_state::excali64(machine_config &config) output_latch_device ¢_data_out(OUTPUT_LATCH(config, "cent_data_out")); m_centronics->set_output_latch(cent_data_out); + + SOFTWARE_LIST(config, "flop_list").set_original("excalibur64"); } /* ROM definition */ diff --git a/src/mame/drivers/okean240.cpp b/src/mame/drivers/okean240.cpp index 1ed16f4cb1e..6ea860f4762 100644 --- a/src/mame/drivers/okean240.cpp +++ b/src/mame/drivers/okean240.cpp @@ -1,10 +1,8 @@ // license:BSD-3-Clause // copyright-holders:Robbbert -/*************************************************************************** +/******************************************************************************************* Okeah-240 (Ocean-240). -Rom says "Chernogolovka Mosk. Reg. Tel 51-24". Chernogolovka is a town -about 43km from Moscow. It has various research facilities. 2011-12-28 Skeleton driver. @@ -30,26 +28,51 @@ ppaC0 : K580ww55 portB[4-5]=mm.page portC=vid.scroll.x +If you leave out the CPM80 roms, the machine will start up in a machine-language monitor. + +Okean240: MONITOR 240/7 known commands: +A ? +B ? +D dump +F fill +G go +L load (via uart) +M move +R ? +S substitute +W ? +X registers + +Okean240a: Turbo MONITOR by Alex Z. There are several emulation bugs noticed. Known commands: +H hex arithmetic +J Jamp (set address?) +M move +P ? (locks up) +R read +W write +tab switches between the hex and ascii sides +^C refresh display NOTE ABOUT THE TEST ROM (okean240t): -- You need to press a key every so often. +- You need to press a key every so often, or hold down Insert. ToDo: -- Add devices - Find out if any unconnected keyboard entries are real keys +- Arrow keys (used in Turbo Monitor) - Colours? - Sound? (perhaps port E4 bit 3) -- Add disks +- Floppy disks and devices - Cassette? - Add memory banking (perhaps port C1) +- 80 column mode (used in Turbo Monitor) -Usage of terminal: -- okean240 - the keyboard -- okean240a - not used -- okean240t - the keyboard & screen +Keyboard: +- okean240 - external ascii keyboard +- okean240a - internal keyboard +- okean240t - serial keyboard & screen -****************************************************************************/ +**********************************************************************************************/ #include "emu.h" #include "cpu/i8085/i8085.h" @@ -192,12 +215,12 @@ u8 okean240_state::okean240a_port42_r() // This is a keyboard acknowledge pulse, it goes high then // straightaway low, if reading port 40 indicates a key is pressed. +// okean240: data bit 7 +// okean240a: data bit 4 void okean240_state::okean240_port42_w(u8 data) { m_pic->ir1_w(0); m_key_pressed = false; -// okean240: port 42 bit 7 -// okean240a: port 42 bit 4 } void okean240_state::okean240_porte2_w(u8 data) @@ -218,7 +241,7 @@ void okean240_state::okean240_mem(address_map &map) void okean240_state::okean240_io(address_map &map) { map.global_mask(0xff); - map(0x20, 0x23).nopw(); + map(0x20, 0x25).nopw(); map(0x40, 0x43).rw(m_ppikbd, FUNC(i8255_device::read), FUNC(i8255_device::write)); map(0x60, 0x63).rw("pit", FUNC(pit8253_device::read), FUNC(pit8253_device::write)); map(0x80, 0x81).rw(m_pic, FUNC(pic8259_device::read), FUNC(pic8259_device::write)); diff --git a/src/mame/drivers/sdk86.cpp b/src/mame/drivers/sdk86.cpp index a19af30cd04..70a487d3905 100644 --- a/src/mame/drivers/sdk86.cpp +++ b/src/mame/drivers/sdk86.cpp @@ -69,7 +69,7 @@ private: void sdk86_state::sdk86_mem(address_map &map) { map(0x00000, 0x00fff).ram(); //2K standard, or 4k (board fully populated) - map(0xfe000, 0xfffff).rom(); + map(0xfe000, 0xfffff).rom().region("maincpu", 0); } void sdk86_state::sdk86_io(address_map &map) @@ -182,7 +182,7 @@ void sdk86_state::sdk86(machine_config &config) /* ROM definition */ ROM_START( sdk86 ) - ROM_REGION( 0x100000, "maincpu", ROMREGION_ERASEFF ) // all are Intel D2616 ?eproms with the windows painted over? (factory programmed eproms? this would match the 'i8642' marking on the factory programmed eprom version of the AT keyboard mcu...) + ROM_REGION( 0x2000, "maincpu", ROMREGION_ERASEFF ) // all are Intel D2616 ?eproms with the windows painted over? (factory programmed eproms? this would match the 'i8642' marking on the factory programmed eprom version of the AT keyboard mcu...) /* Note that the rom pairs at FE000-FEFFF and FF000-FFFFF are interchangeable; the ones at FF000-FFFFF are the ones which start on bootup, and the other ones live at FE000-FEFFF and can be switched in by @@ -192,16 +192,16 @@ ROM_START( sdk86 ) the opposite arrangement (Serial primary). */ // Keypad Monitor Version 1.1 (says "- 86 1.1" on LED display at startup) ROM_SYSTEM_BIOS( 0, "keypad", "Keypad Monitor" ) - ROMX_LOAD( "0456_104531-001.a36", 0xfe000, 0x0800, CRC(f9c4a809) SHA1(aea324c3f52dd393f1eed2b856ba11f050a35b93), ROM_SKIP(1) | ROM_BIOS(0) ) /* Label: "iD2616 // T142099WS // (C)INTEL '77 // 0456 // 104531-001" */ - ROMX_LOAD( "0457_104532-001.a37", 0xfe001, 0x0800, CRC(a245ba5c) SHA1(7f67277f866fca5377cb123e9cc405b5fdfe61d3), ROM_SKIP(1) | ROM_BIOS(0) ) /* Label: "iD2616 // T145054WS // (C)INTEL '77 // 0457 // 104532-001" */ - ROMX_LOAD( "0169_102042-001.a27", 0xff000, 0x0800, CRC(3f46311a) SHA1(a97e6861b736f26230b9adbf5cd2576a9f60d626), ROM_SKIP(1) | ROM_BIOS(0) ) /* Label: "iD2616 // T142094WS // (C)INTEL '77 // 0169 // 102042-001" */ - ROMX_LOAD( "0170_102043-001.a30", 0xff001, 0x0800, CRC(65924471) SHA1(5d258695bf585f89179dfa0a113a0eeeabd5ee2b), ROM_SKIP(1) | ROM_BIOS(0) ) /* Label: "iD2616 // T145056WS // (C)INTEL '77 // 0170 // 102043-001" */ + ROMX_LOAD( "0456_104531-001.a36", 0x0000, 0x0800, CRC(f9c4a809) SHA1(aea324c3f52dd393f1eed2b856ba11f050a35b93), ROM_SKIP(1) | ROM_BIOS(0) ) /* Label: "iD2616 // T142099WS // (C)INTEL '77 // 0456 // 104531-001" */ + ROMX_LOAD( "0457_104532-001.a37", 0x0001, 0x0800, CRC(a245ba5c) SHA1(7f67277f866fca5377cb123e9cc405b5fdfe61d3), ROM_SKIP(1) | ROM_BIOS(0) ) /* Label: "iD2616 // T145054WS // (C)INTEL '77 // 0457 // 104532-001" */ + ROMX_LOAD( "0169_102042-001.a27", 0x1000, 0x0800, CRC(3f46311a) SHA1(a97e6861b736f26230b9adbf5cd2576a9f60d626), ROM_SKIP(1) | ROM_BIOS(0) ) /* Label: "iD2616 // T142094WS // (C)INTEL '77 // 0169 // 102042-001" */ + ROMX_LOAD( "0170_102043-001.a30", 0x1001, 0x0800, CRC(65924471) SHA1(5d258695bf585f89179dfa0a113a0eeeabd5ee2b), ROM_SKIP(1) | ROM_BIOS(0) ) /* Label: "iD2616 // T145056WS // (C)INTEL '77 // 0170 // 102043-001" */ // Serial Monitor Version 1.2 (says " 86 1.2" on LED display at startup, and sends a data prompt over serial) ROM_SYSTEM_BIOS( 1, "serial", "Serial Monitor" ) - ROMX_LOAD( "0169_102042-001.a36", 0xfe000, 0x0800, CRC(3f46311a) SHA1(a97e6861b736f26230b9adbf5cd2576a9f60d626), ROM_SKIP(1) | ROM_BIOS(1) ) /* Label: "iD2616 // T142094WS // (C)INTEL '77 // 0169 // 102042-001" */ - ROMX_LOAD( "0170_102043-001.a37", 0xfe001, 0x0800, CRC(65924471) SHA1(5d258695bf585f89179dfa0a113a0eeeabd5ee2b), ROM_SKIP(1) | ROM_BIOS(1) ) /* Label: "iD2616 // T145056WS // (C)INTEL '77 // 0170 // 102043-001" */ - ROMX_LOAD( "0456_104531-001.a27", 0xff000, 0x0800, CRC(f9c4a809) SHA1(aea324c3f52dd393f1eed2b856ba11f050a35b93), ROM_SKIP(1) | ROM_BIOS(1) ) /* Label: "iD2616 // T142099WS // (C)INTEL '77 // 0456 // 104531-001" */ - ROMX_LOAD( "0457_104532-001.a30", 0xff001, 0x0800, CRC(a245ba5c) SHA1(7f67277f866fca5377cb123e9cc405b5fdfe61d3), ROM_SKIP(1) | ROM_BIOS(1) ) /* Label: "iD2616 // T145054WS // (C)INTEL '77 // 0457 // 104532-001" */ + ROMX_LOAD( "0169_102042-001.a36", 0x0000, 0x0800, CRC(3f46311a) SHA1(a97e6861b736f26230b9adbf5cd2576a9f60d626), ROM_SKIP(1) | ROM_BIOS(1) ) /* Label: "iD2616 // T142094WS // (C)INTEL '77 // 0169 // 102042-001" */ + ROMX_LOAD( "0170_102043-001.a37", 0x0001, 0x0800, CRC(65924471) SHA1(5d258695bf585f89179dfa0a113a0eeeabd5ee2b), ROM_SKIP(1) | ROM_BIOS(1) ) /* Label: "iD2616 // T145056WS // (C)INTEL '77 // 0170 // 102043-001" */ + ROMX_LOAD( "0456_104531-001.a27", 0x1000, 0x0800, CRC(f9c4a809) SHA1(aea324c3f52dd393f1eed2b856ba11f050a35b93), ROM_SKIP(1) | ROM_BIOS(1) ) /* Label: "iD2616 // T142099WS // (C)INTEL '77 // 0456 // 104531-001" */ + ROMX_LOAD( "0457_104532-001.a30", 0x1001, 0x0800, CRC(a245ba5c) SHA1(7f67277f866fca5377cb123e9cc405b5fdfe61d3), ROM_SKIP(1) | ROM_BIOS(1) ) /* Label: "iD2616 // T145054WS // (C)INTEL '77 // 0457 // 104532-001" */ /* proms: * dumped 11/21/09 through 11/29/09 by LN -- cgit v1.2.3