mirror of
https://github.com/holub/mame
synced 2025-07-01 00:09:18 +03:00
Symbolics 3600: Fix ROM mapping, add a few more PLD/PLA/PAL labels. [Lord Nightmare]
This commit is contained in:
parent
a3b35f8bc6
commit
74e10d87fa
@ -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
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user