diff --git a/src/devices/cpu/z8000/z8000.cpp b/src/devices/cpu/z8000/z8000.cpp index 09f7029aaa0..4684054ccc1 100644 --- a/src/devices/cpu/z8000/z8000.cpp +++ b/src/devices/cpu/z8000/z8000.cpp @@ -49,7 +49,7 @@ z8002_device::z8002_device(const machine_config &mconfig, device_type type, cons z8001_device::z8001_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) - : z8002_device(mconfig, Z8001, tag, owner, clock, 20, 2) + : z8002_device(mconfig, Z8001, tag, owner, clock, 23, 2) { } @@ -492,7 +492,7 @@ void z8002_device::clear_internal_state() void z8002_device::register_debug_state() { - state_add( Z8000_PC, "PC", m_pc ).formatstr("%08X"); + state_add( Z8000_PC, "PC", m_pc ).mask(m_program->addrmask()); state_add( Z8000_NSPOFF, "NSPOFF", m_nspoff ).formatstr("%04X"); state_add( Z8000_NSPSEG, "NSPSEG", m_nspseg ).formatstr("%04X"); state_add( Z8000_FCW, "FCW", m_fcw ).formatstr("%04X"); diff --git a/src/devices/cpu/z8000/z8000.h b/src/devices/cpu/z8000/z8000.h index b8f977c2f32..907aedd1d01 100644 --- a/src/devices/cpu/z8000/z8000.h +++ b/src/devices/cpu/z8000/z8000.h @@ -1,5 +1,34 @@ // license:BSD-3-Clause // copyright-holders:Juergen Buchmueller,Ernesto Corvi +/********************************************************************** + ____ ____ + AD0 1 |* \_/ | 48 AD8 + AD9 2 | | 47 SN6 ____ ____ + AD10 3 | | 46 SN5 AD9 1 |* \_/ | 40 AD0 + AD11 4 | | 45 AD7 AD10 2 | | 39 AD8 + AD12 5 | | 44 AD6 AD11 3 | | 38 AD7 + AD13 6 | | 43 AD4 AD12 4 | | 37 AD6 + _STOP 7 | | 42 SN4 AD13 5 | | 36 AD4 + _Mi 8 | | 41 AD5 _STOP 6 | | 35 AD5 + AD15 9 | | 40 AD3 _Mi 7 | | 34 AD3 + AD14 10 | | 39 AD2 AD15 8 | | 33 AD2 + +5V 11 | | 38 AD1 AD14 9 | | 32 AD1 + _VI 12 | | 37 SN2 +5V 10 | | 31 GND + _NVI 13 | Z8001 | 36 GND _VI 11 | Z8002 | 30 CLOCK + _SEGT 14 | | 35 CLOCK _NVI 12 | | 29 _AS + _NMI 15 | | 34 _AS _NMI 13 | | 28 RSVD + _RESET 16 | | 33 RSVD _RESET 14 | | 27 B/_W + _Mo 17 | | 32 B/_W _Mo 15 | | 26 N/_S + _MREQ 18 | | 31 N/_S _MREQ 16 | | 25 R/_W + _DS 19 | | 30 R/_W _DS 17 | | 24 _BUSACK + ST3 20 | | 29 _BUSACK ST3 18 | | 23 _WAIT + ST2 21 | | 28 _WAIT ST2 19 | | 22 _BUSREQ + ST1 22 | | 27 _BUSREQ ST1 20 |___________| 21 ST0 + ST0 23 | | 26 SN0 + SN3 24 |___________| 25 SN1 + +**********************************************************************/ + #ifndef MAME_CPU_Z8000_Z8000_H #define MAME_CPU_Z8000_Z8000_H diff --git a/src/mame/machine/m24_z8000.cpp b/src/mame/machine/m24_z8000.cpp index 97da8527e77..34d05b9e891 100644 --- a/src/mame/machine/m24_z8000.cpp +++ b/src/mame/machine/m24_z8000.cpp @@ -42,19 +42,21 @@ const tiny_rom_entry *m24_z8000_device::device_rom_region() const void m24_z8000_device::z8000_prog(address_map &map) { - map(0x00000, 0xfffff).rw(FUNC(m24_z8000_device::pmem_r), FUNC(m24_z8000_device::pmem_w)); + map(0x000000, 0x0fffff).rw(FUNC(m24_z8000_device::pmem_r), FUNC(m24_z8000_device::pmem_w)); - map(0x40000, 0x43fff).rom().region("z8000", 0); - map(0x50000, 0x53fff).rom().region("z8000", 0); - map(0x70000, 0x73fff).rom().region("z8000", 0); + map(0x040000, 0x043fff).rom().region("z8000", 0); + map(0x050000, 0x053fff).rom().region("z8000", 0); + map(0x070000, 0x073fff).rom().region("z8000", 0); + // TODO: segments 0x10 and higher are trapped } void m24_z8000_device::z8000_data(address_map &map) { - map(0x00000, 0xfffff).rw(FUNC(m24_z8000_device::dmem_r), FUNC(m24_z8000_device::dmem_w)); + map(0x000000, 0x0fffff).rw(FUNC(m24_z8000_device::dmem_r), FUNC(m24_z8000_device::dmem_w)); - map(0x40000, 0x43fff).rom().region("z8000", 0); - map(0x70000, 0x73fff).rom().region("z8000", 0); + map(0x040000, 0x043fff).rom().region("z8000", 0); + map(0x070000, 0x073fff).rom().region("z8000", 0); + // TODO: segments 0x10 and higher are trapped } void m24_z8000_device::z8000_io(address_map &map)