Symbolics 3600: Fix ROM mapping, add a few more PLD/PLA/PAL labels. [Lord Nightmare]

This commit is contained in:
Lord-Nightmare 2016-03-16 10:35:58 -04:00
parent a3b35f8bc6
commit 74e10d87fa

View File

@ -21,11 +21,22 @@ public:
required_device<m68000_base_device> m_maincpu; required_device<m68000_base_device> m_maincpu;
DECLARE_DRIVER_INIT(symbolics); DECLARE_DRIVER_INIT(symbolics);
DECLARE_READ16_MEMBER(buserror_r);
//protected: //protected:
// virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override; // virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
}; };
READ16_MEMBER(symbolics_state::buserror_r)
{
if(!space.debugger_access())
{
m_maincpu->set_input_line(M68K_LINE_BUSERROR, ASSERT_LINE);
m_maincpu->set_input_line(M68K_LINE_BUSERROR, CLEAR_LINE);
}
return 0;
}
/****************************************************************************** /******************************************************************************
Address Maps Address Maps
@ -34,12 +45,22 @@ public:
Address maps (x = ignored; * = selects address within this range, ? = unknown, 1/0 = decodes only when this bit is set to 1/0) Address maps (x = ignored; * = selects address within this range, ? = unknown, 1/0 = decodes only when this bit is set to 1/0)
68k address map: 68k address map:
a23 a22 a21 a20 a19 a18 a17 a16 a15 a14 a13 a12 a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 (a0 via UDS/LDS) a23 a22 a21 a20 a19 a18 a17 a16 a15 a14 a13 a12 a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 (a0 via UDS/LDS)
? ? ? ? ? 0 0 0 0 * * * * * * * * * * * * * * 0 R ROM 00H ? ? ? ? ? 0 0 0 0 0 * * * * * * * * * * * * * 0 R ROM 00H @D13 first half
? ? ? ? ? 0 0 0 0 * * * * * * * * * * * * * * 1 R ROM 00L ? ? ? ? ? 0 0 0 0 0 * * * * * * * * * * * * * 1 R ROM 00L @D7 first half
? ? ? ? ? 0 0 0 1 * * * * * * * * * * * * * * 0 R ROM 04H ?? ? ? ? ? ? 0 0 0 0 1 * * * * * * * * * * * * * 0 R ROM 04H @D14 first half
? ? ? ? ? 0 0 0 1 * * * * * * * * * * * * * * 1 R ROM 04L ?? ? ? ? ? ? 0 0 0 0 1 * * * * * * * * * * * * * 1 R ROM 04L @D8 first half
? ? ? ? ? 0 0 1 x * * * * * * * * * * * * * * 0 R ROM 10H ?? ? ? ? ? ? 0 0 0 1 0 * * * * * * * * * * * * * 0 R ROM 10H @D16 first half
? ? ? ? ? 0 0 1 x * * * * * * * * * * * * * * 1 R ROM 10L ?? ? ? ? ? ? 0 0 0 1 0 * * * * * * * * * * * * * 1 R ROM 10L @D10 first half
? ? ? ? ? 0 0 0 1 1 * * * * * * * * * * * * * 0 R Open Bus (socket @D17 first half)
? ? ? ? ? 0 0 0 1 1 * * * * * * * * * * * * * 1 R Open Bus (socket @D11 first half)
? ? ? ? ? 0 0 1 0 0 * * * * * * * * * * * * * 0 R ROM 00H @D13 second half
? ? ? ? ? 0 0 1 0 0 * * * * * * * * * * * * * 1 R ROM 00L @D7 second half
? ? ? ? ? 0 0 1 0 1 * * * * * * * * * * * * * 0 R ROM 04H @D14 second half
? ? ? ? ? 0 0 1 0 1 * * * * * * * * * * * * * 1 R ROM 04L @D8 second half
? ? ? ? ? 0 0 1 1 0 * * * * * * * * * * * * * 0 R ROM 10H @D16 second half
? ? ? ? ? 0 0 1 1 0 * * * * * * * * * * * * * 1 R ROM 10L @D10 second half
? ? ? ? ? 0 0 1 1 1 * * * * * * * * * * * * * 0 R Open Bus (socket @D17 second half)
? ? ? ? ? 0 0 1 1 1 * * * * * * * * * * * * * 1 R Open Bus (socket @D11 second half)
? ? ? ? ? 0 1 * * * * * * * * * * * * * * * * * RW RAM <- recheck this, might be a weird hole between 20000-20fff ? ? ? ? ? ? 0 1 * * * * * * * * * * * * * * * * * RW RAM <- recheck this, might be a weird hole between 20000-20fff ?
? ? ? ? ? 1 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? * ? Something maps here... ? ? ? ? ? 1 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? * ? Something maps here...
| | | | | | | | | |
@ -47,9 +68,10 @@ a23 a22 a21 a20 a19 a18 a17 a16 a15 a14 a13 a12 a11 a10 a9 a8 a7 a6 a5 a4
static ADDRESS_MAP_START(m68k_mem, AS_PROGRAM, 16, symbolics_state ) static ADDRESS_MAP_START(m68k_mem, AS_PROGRAM, 16, symbolics_state )
ADDRESS_MAP_UNMAP_HIGH ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x000000, 0x01ffff) AM_ROM /* ROM */ AM_RANGE(0x000000, 0x01ffff) AM_ROM /* ROM lives here, and writing to 0x00-0x08 writes to the main lisp ram? */
AM_RANGE(0x020000, 0x03ffff) AM_RAM /* Local FEP ram seems to be here? there are 18 mcm4164s on the pcb which probably map here, plus 2 parity bits? */ AM_RANGE(0x020000, 0x03ffff) AM_RAM /* Local FEP ram seems to be here? there are 18 mcm4164s on the pcb which probably map here, plus 2 parity bits? */
AM_RANGE(0x800000, 0xffffff) AM_RAM /* paged access to lispm ram? */ //AM_RANGE(0x040000, 0xffffff) AM_READ(buserror_r);
//AM_RANGE(0x800000, 0xffffff) AM_RAM /* paged access to lispm ram? */
// there is stuff mapped at 40000 and ffxxx as well, ffxxx may be the main lisp cpu's microcode and macrocode areas // there is stuff mapped at 40000 and ffxxx as well, ffxxx may be the main lisp cpu's microcode and macrocode areas
ADDRESS_MAP_END ADDRESS_MAP_END
@ -104,16 +126,21 @@ MACHINE_CONFIG_END
ROM_START( s3600 ) ROM_START( s3600 )
ROM_REGION16_BE(0x40000,"maincpu", 0) ROM_REGION16_BE(0x40000,"maincpu", 0)
ROM_SYSTEM_BIOS( 0, "v127", "Symbolics 3600 L-Machine FEP V127") ROM_SYSTEM_BIOS( 0, "v127", "Symbolics 3600 L-Machine FEP V127")
ROMX_LOAD("00h.127.27c128.d13", 0x00000, 0x4000, CRC(b8d7c8da) SHA1(663a09359f5db63beeac00e5c2783ccc25b94250), ROM_SKIP(1) | ROM_BIOS(1)) // Label: "00H.127" @D13 ROMX_LOAD("00h.127.27c128.d13", 0x00000, 0x2000, CRC(b8d7c8da) SHA1(663a09359f5db63beeac00e5c2783ccc25b94250), ROM_SKIP(1) | ROM_BIOS(1)) // Label: "00H.127" @D13
ROMX_LOAD("00l.127.27128.d7", 0x00001, 0x4000, CRC(cc7bae9a) SHA1(057538eb821c4d00dde19cfe5136ccc0aee43800), ROM_SKIP(1) | ROM_BIOS(1)) // Label: "00L.127" @D7 ROM_CONTINUE( 0x10000, 0x2000 )
ROMX_LOAD("04h.127.27128.d14", 0x08000, 0x4000, CRC(e01a717b) SHA1(b87a670f7be13553485ce88fad5fcf90f01473c4), ROM_SKIP(1) | ROM_BIOS(1)) // Label: "04H.127" @D14 ROMX_LOAD("00l.127.27128.d7", 0x00001, 0x2000, CRC(cc7bae9a) SHA1(057538eb821c4d00dde19cfe5136ccc0aee43800), ROM_SKIP(1) | ROM_BIOS(1)) // Label: "00L.127" @D7
ROMX_LOAD("04l.127.27128.d8", 0x08001, 0x4000, CRC(68d169fa) SHA1(d6fab3132fca332a9bedb174fddf5fc8c69d05b6), ROM_SKIP(1) | ROM_BIOS(1)) // Label: "04L.127" @D8 ROM_CONTINUE( 0x10001, 0x2000 )
ROMX_LOAD("10h.127.27128.d16", 0x10000, 0x4000, CRC(2ea7a70d) SHA1(61cc97aada028612c24d788d946d77e82116cf30), ROM_SKIP(1) | ROM_BIOS(1)) // Label: "10H.127" @D16 ROMX_LOAD("04h.127.27128.d14", 0x04000, 0x2000, CRC(e01a717b) SHA1(b87a670f7be13553485ce88fad5fcf90f01473c4), ROM_SKIP(1) | ROM_BIOS(1)) // Label: "04H.127" @D14
ROMX_LOAD("10l.127.27c128.d10", 0x10001, 0x4000, CRC(b8ddb3c8) SHA1(e6c3b96340c5c767ef18abf48b73fa8e5d7353b9), ROM_SKIP(1) | ROM_BIOS(1)) // Label: "10L.127" @D10 ROM_CONTINUE( 0x14000, 0x2000 )
ROMX_LOAD("10h.127.27128.d16", 0x18000, 0x4000, CRC(2ea7a70d) SHA1(61cc97aada028612c24d788d946d77e82116cf30), ROM_SKIP(1) | ROM_BIOS(1)) // Label: "10H.127" @D16 ROMX_LOAD("04l.127.27128.d8", 0x04001, 0x2000, CRC(68d169fa) SHA1(d6fab3132fca332a9bedb174fddf5fc8c69d05b6), ROM_SKIP(1) | ROM_BIOS(1)) // Label: "04L.127" @D8
ROMX_LOAD("10l.127.27c128.d10", 0x18001, 0x4000, CRC(b8ddb3c8) SHA1(e6c3b96340c5c767ef18abf48b73fa8e5d7353b9), ROM_SKIP(1) | ROM_BIOS(1)) // Label: "10L.127" @D10 ROM_CONTINUE( 0x14001, 0x2000 )
// D17, D11 are empty sockets, ROMX_LOAD("10h.127.27128.d16", 0x08000, 0x2000, CRC(2ea7a70d) SHA1(61cc97aada028612c24d788d946d77e82116cf30), ROM_SKIP(1) | ROM_BIOS(1)) // Label: "10H.127" @D16
ROM_CONTINUE( 0x18000, 0x2000 )
ROMX_LOAD("10l.127.27c128.d10", 0x08001, 0x2000, CRC(b8ddb3c8) SHA1(e6c3b96340c5c767ef18abf48b73fa8e5d7353b9), ROM_SKIP(1) | ROM_BIOS(1)) // Label: "10L.127" @D10
ROM_CONTINUE( 0x18001, 0x2000 )
// D17, D11 are empty sockets; these would map to 0x0c000-0ffff and 0x1c000-0x1ffff
// note: load all the PLAs, PALs and PROMs here // note: load all the PLAs, PALs and PROMs here
// picture is at https://4310b1a9-a-11c96037-s-sites.googlegroups.com/a/ricomputermuseum.org/home/Home/equipment/symbolics-3645/Symbolics_3645_FEP.jpg
/* /*
LBBUFA.4 mb7124 @A6 LBBUFA.4 mb7124 @A6
LBBUFB.4 mb7124 @A7 LBBUFB.4 mb7124 @A7
@ -123,25 +150,25 @@ ROM_START( s3600 )
PROCA.4 pal16R8A @A25 PROCA.4 pal16R8A @A25
HSADR.4 pal1???? @C4 HSADR.4 pal1???? @C4
DYNMEM.5 pal16R8A @C20 DYNMEM.5 pal16R8A @C20
?EDVAL.4? @C21 <- recheck this label! very faded PCDYNCTL @C21
REQSEL.4A @C22 REQSEL.4A @C22
DY2ACK pal16L8A @C23 DY2ACK pal16L8A @C23
PROC.4 pal? @C25 PROC.4 pal? @C25
UDMDMA.4 pal? @D2 UDMAHA.4 pal? @D3
FEP 4642 16pprom? @D4 FEP 4642 16pprom? @D5
HRSQ.4 pal @D5 HRSQ.4 pal @D6
d7, d8, d10 are eproms, see above d7, d8, d10 are eproms, see above
d11 is empty socket marked 2764 d11 is empty socket marked 2764
d13, d14, d16 are eproms, see above d13, d14, d16 are eproms, see above
d17 is empty socket marked 2764 d17 is empty socket marked 2764
???????? @E21 <- unreadable label ?DVZNUR? @E21 <- unreadable label, recheck!
LDBD.4 pal16L8A @G18 LDBD.4 pal16L8A @G18
PAGTAG.5 @H20 PAGTAG.5 @H20
UDMABC.4 pal @I3 UDMABC.4 pal @I4
SERDMA.4 @I7 SERDMA.4 @I8
SERIAB.4 @I8 SERIAB.4 @I9
LBARB.4 @I18 LBARB.4 @I18
SERCTL.4 @K5 SERCTL.4 @K6
*/ */
ROM_END ROM_END