lynx96k: Added Scorpion and Danish ROMs as BIOS options.

This commit is contained in:
Nigel Barnes 2018-03-06 13:32:02 +00:00
parent dff3f1f1c9
commit 48e6b35f42

View File

@ -114,6 +114,43 @@
- LogiChess. The page at http://www.nascomhomepage.com/games/logichess.html - LogiChess. The page at http://www.nascomhomepage.com/games/logichess.html
should provide enough clues to enable you to work out how to play. should provide enough clues to enable you to work out how to play.
Alternate ROMs for Lynx 96k:
- Scorpion EXTensions
OR
XOR - create new patterns and colours
SON/SOFF - scroll the screen
SCROLL
MCOPY
VAR - print values of variables used
DIM - print size of dimensioned arrays used
LSTR$ - print length of all strings used
OLD - bring back NEWed programs
ZERODIM - zero all arrays
ALTGREEN - easily access the ALTernate GREEN BANK
GREEN
CLEAR - clear all variables
UMEM - display amount of memory used
VERSION - display version
FAST - faster screen printing
FTEXT - fast 8*8 text
FPRINT
VAL
BLOCK
INSTR
WSWAP
- Danish EXTensions
PAINT
CAT
FAST
MULTI
VARS
RECOVER
MSAVE
ALARM
TIMER
WRUL
RULON/RULOFF
****************************************************************************/ ****************************************************************************/
#include "emu.h" #include "emu.h"
@ -778,9 +815,10 @@ d7 = 125ns or 250ns */
} }
floppy_image_device *floppy = nullptr; floppy_image_device *floppy = nullptr;
if ((data & 3) == 0) floppy = m_floppy0->get_device(); if ((data & 3) == 0)
else floppy = m_floppy0->get_device();
if ((data & 3) == 1) floppy = m_floppy1->get_device(); else if ((data & 3) == 1)
floppy = m_floppy1->get_device();
m_fdc->set_floppy(floppy); m_fdc->set_floppy(floppy);
@ -812,7 +850,7 @@ MACHINE_CONFIG_START(camplynx_state::lynx_common)
MACHINE_CONFIG_END MACHINE_CONFIG_END
MACHINE_CONFIG_START(camplynx_state::lynx_disk) MACHINE_CONFIG_START(camplynx_state::lynx_disk)
MCFG_FD1793_ADD("fdc", XTAL(24'000'000) / 24) MCFG_FD1793_ADD("fdc", 24_MHz_XTAL / 24)
MCFG_FLOPPY_DRIVE_ADD("fdc:0", camplynx_floppies, "525qd", camplynx_state::camplynx_floppy_formats) MCFG_FLOPPY_DRIVE_ADD("fdc:0", camplynx_floppies, "525qd", camplynx_state::camplynx_floppy_formats)
MCFG_FLOPPY_DRIVE_SOUND(true) MCFG_FLOPPY_DRIVE_SOUND(true)
MCFG_FLOPPY_DRIVE_ADD("fdc:1", camplynx_floppies, "525qd", camplynx_state::camplynx_floppy_formats) MCFG_FLOPPY_DRIVE_ADD("fdc:1", camplynx_floppies, "525qd", camplynx_state::camplynx_floppy_formats)
@ -822,7 +860,7 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_START(camplynx_state::lynx48k) MACHINE_CONFIG_START(camplynx_state::lynx48k)
/* basic machine hardware */ /* basic machine hardware */
MCFG_CPU_ADD("maincpu", Z80, XTAL(24'000'000) / 6) MCFG_CPU_ADD("maincpu", Z80, 24_MHz_XTAL / 6)
MCFG_CPU_PROGRAM_MAP(lynx48k_mem) MCFG_CPU_PROGRAM_MAP(lynx48k_mem)
MCFG_CPU_IO_MAP(lynx48k_io) MCFG_CPU_IO_MAP(lynx48k_io)
@ -841,7 +879,7 @@ MACHINE_CONFIG_START(camplynx_state::lynx48k)
MCFG_CASSETTE_ADD("cassette") MCFG_CASSETTE_ADD("cassette")
MCFG_CASSETTE_FORMATS(lynx48k_cassette_formats) MCFG_CASSETTE_FORMATS(lynx48k_cassette_formats)
MCFG_CASSETTE_DEFAULT_STATE(CASSETTE_PLAY | CASSETTE_SPEAKER_ENABLED | CASSETTE_MOTOR_DISABLED) MCFG_CASSETTE_DEFAULT_STATE(CASSETTE_PLAY | CASSETTE_SPEAKER_ENABLED | CASSETTE_MOTOR_DISABLED)
//MCFG_CASSETTE_INTERFACE("camplynx_cass") MCFG_CASSETTE_INTERFACE("camplynx_cass")
/* devices */ /* devices */
MCFG_MC6845_ADD("crtc", MC6845, "screen", XTAL(12'000'000) / 8 ) MCFG_MC6845_ADD("crtc", MC6845, "screen", XTAL(12'000'000) / 8 )
@ -863,7 +901,7 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_START(camplynx_state::lynx128k) MACHINE_CONFIG_START(camplynx_state::lynx128k)
/* basic machine hardware */ /* basic machine hardware */
MCFG_CPU_ADD("maincpu", Z80, XTAL(24'000'000) / 4) MCFG_CPU_ADD("maincpu", Z80, 24_MHz_XTAL / 4)
MCFG_CPU_PROGRAM_MAP(lynx128k_mem) MCFG_CPU_PROGRAM_MAP(lynx128k_mem)
MCFG_CPU_IO_MAP(lynx128k_io) MCFG_CPU_IO_MAP(lynx128k_io)
@ -882,10 +920,10 @@ MACHINE_CONFIG_START(camplynx_state::lynx128k)
MCFG_CASSETTE_ADD("cassette") MCFG_CASSETTE_ADD("cassette")
MCFG_CASSETTE_FORMATS(lynx128k_cassette_formats) MCFG_CASSETTE_FORMATS(lynx128k_cassette_formats)
MCFG_CASSETTE_DEFAULT_STATE(CASSETTE_PLAY | CASSETTE_SPEAKER_ENABLED | CASSETTE_MOTOR_DISABLED) MCFG_CASSETTE_DEFAULT_STATE(CASSETTE_PLAY | CASSETTE_SPEAKER_ENABLED | CASSETTE_MOTOR_DISABLED)
//MCFG_CASSETTE_INTERFACE("camplynx_cass") MCFG_CASSETTE_INTERFACE("camplynx_cass")
/* devices */ /* devices */
MCFG_MC6845_ADD("crtc", MC6845, "screen", XTAL(12'000'000) / 8 ) MCFG_MC6845_ADD("crtc", MC6845, "screen", 12_MHz_XTAL / 8 )
MCFG_MC6845_SHOW_BORDER_AREA(false) MCFG_MC6845_SHOW_BORDER_AREA(false)
MCFG_MC6845_CHAR_WIDTH(8) MCFG_MC6845_CHAR_WIDTH(8)
MCFG_MC6845_UPDATE_ROW_CB(camplynx_state, lynx128k_update_row) MCFG_MC6845_UPDATE_ROW_CB(camplynx_state, lynx128k_update_row)
@ -926,6 +964,7 @@ DRIVER_INIT_MEMBER(camplynx_state, lynx128k)
/* ROM definition */ /* ROM definition */
ROM_START( lynx48k ) ROM_START( lynx48k )
ROM_REGION( 0x40000, "maincpu", ROMREGION_ERASEFF ) ROM_REGION( 0x40000, "maincpu", ROMREGION_ERASEFF )
ROM_DEFAULT_BIOS("1")
ROM_SYSTEM_BIOS(0, "1", "Set1") ROM_SYSTEM_BIOS(0, "1", "Set1")
ROMX_LOAD( "lynx48-1.rom", 0x0000, 0x2000, CRC(56feec44) SHA1(7ded5184561168e159a30fa8e9d3fde5e52aa91a), ROM_BIOS(1) ) ROMX_LOAD( "lynx48-1.rom", 0x0000, 0x2000, CRC(56feec44) SHA1(7ded5184561168e159a30fa8e9d3fde5e52aa91a), ROM_BIOS(1) )
ROMX_LOAD( "lynx48-2.rom", 0x2000, 0x2000, CRC(d894562e) SHA1(c08a78ecb4eb05baa4c52488fce3648cd2688744), ROM_BIOS(1) ) ROMX_LOAD( "lynx48-2.rom", 0x2000, 0x2000, CRC(d894562e) SHA1(c08a78ecb4eb05baa4c52488fce3648cd2688744), ROM_BIOS(1) )
@ -938,7 +977,13 @@ ROM_START( lynx96k )
ROM_REGION( 0x40000, "maincpu", ROMREGION_ERASEFF ) ROM_REGION( 0x40000, "maincpu", ROMREGION_ERASEFF )
ROM_LOAD( "lynx9646.rom", 0x0000, 0x2000, CRC(f86c5514) SHA1(77a4af7557382003d697d08f364839e2dc28f063) ) ROM_LOAD( "lynx9646.rom", 0x0000, 0x2000, CRC(f86c5514) SHA1(77a4af7557382003d697d08f364839e2dc28f063) )
ROM_LOAD( "lynx9645.rom", 0x2000, 0x2000, CRC(f596b9a3) SHA1(3fca46bd68422d34c6cd801dd904507e52bd8846) ) ROM_LOAD( "lynx9645.rom", 0x2000, 0x2000, CRC(f596b9a3) SHA1(3fca46bd68422d34c6cd801dd904507e52bd8846) )
ROM_LOAD( "lynx9644.rom", 0x4000, 0x1000, CRC(4b96b0de) SHA1(c372a8d26399b9b45e615b674d61ccda76491b8b) ) ROM_DEFAULT_BIOS("orig")
ROM_SYSTEM_BIOS(0, "orig", "Original")
ROMX_LOAD( "lynx9644.rom", 0x4000, 0x1000, CRC(4b96b0de) SHA1(c372a8d26399b9b45e615b674d61ccda76491b8b), ROM_BIOS(1) )
ROM_SYSTEM_BIOS(1, "scorp", "Scorpion") /* Scorpion ROM v2.1 03/86 (Reading Lynx User Group) */
ROMX_LOAD( "skorprom.rom", 0x4000, 0x2000, CRC(698d3de9) SHA1(c707bdcecef79774c2a8a23d1f3e9ba382cb9304), ROM_BIOS(2) )
ROM_SYSTEM_BIOS(2, "danish", "Danish")
ROMX_LOAD( "danish96k3.rom", 0x4000, 0x2000, CRC(795c22ea) SHA1(0a57394cd986c5b338b38d514e894bace7f6e47b), ROM_BIOS(3) )
ROM_LOAD( "dosrom.rom", 0xe000, 0x2000, CRC(011e106a) SHA1(e77f0ca99790551a7122945f3194516b2390fb69) ) ROM_LOAD( "dosrom.rom", 0xe000, 0x2000, CRC(011e106a) SHA1(e77f0ca99790551a7122945f3194516b2390fb69) )
ROM_END ROM_END