diff --git a/src/devices/cpu/tms1000/tms1000.cpp b/src/devices/cpu/tms1000/tms1000.cpp index 3058e9f8c04..b37a43b1b48 100644 --- a/src/devices/cpu/tms1000/tms1000.cpp +++ b/src/devices/cpu/tms1000/tms1000.cpp @@ -3,9 +3,6 @@ /* TMS1000 family - TMS1000, TMS1070, TMS1040, TMS1200, TMS1700, TMS1730 - - TODO: - - which O pins are connected on TMS1730? */ @@ -27,7 +24,7 @@ const device_type TMS1040 = &device_creator; // same as TMS1 const device_type TMS1200 = &device_creator; // 40-pin DIP, 13 R pins // TMS1270 has 10 O pins, how does that work? const device_type TMS1700 = &device_creator; // 28-pin DIP, RAM/ROM size halved, 9 R pins -const device_type TMS1730 = &device_creator; // 20-pin DIP, same die as TMS1700, package has less pins: 6 R pins, 5 O pins +const device_type TMS1730 = &device_creator; // 20-pin DIP, same die as TMS1700, package has less pins: 6 R pins, 5 O pins(output PLA is still 8-bit, O1,O3,O5 unused) // internal memory maps @@ -36,7 +33,7 @@ static ADDRESS_MAP_START(program_10bit_8, AS_PROGRAM, 8, tms1k_base_device) ADDRESS_MAP_END static ADDRESS_MAP_START(program_9bit_8, AS_PROGRAM, 8, tms1k_base_device) - AM_RANGE(0x000, 0x1ff) AM_ROM + AM_RANGE(0x000, 0x1ff) AM_MIRROR(0x200) AM_ROM ADDRESS_MAP_END static ADDRESS_MAP_START(data_64x4, AS_DATA, 8, tms1k_base_device) @@ -44,7 +41,10 @@ static ADDRESS_MAP_START(data_64x4, AS_DATA, 8, tms1k_base_device) ADDRESS_MAP_END static ADDRESS_MAP_START(data_32x4, AS_DATA, 8, tms1k_base_device) - AM_RANGE(0x00, 0x1f) AM_RAM + AM_RANGE(0x00, 0x07) AM_MIRROR(0x08) AM_RAM + AM_RANGE(0x10, 0x17) AM_MIRROR(0x08) AM_RAM + AM_RANGE(0x20, 0x27) AM_MIRROR(0x08) AM_RAM + AM_RANGE(0x30, 0x37) AM_MIRROR(0x08) AM_RAM ADDRESS_MAP_END @@ -70,11 +70,11 @@ tms1200_cpu_device::tms1200_cpu_device(const machine_config &mconfig, const char { } tms1700_cpu_device::tms1700_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) - : tms1000_cpu_device(mconfig, TMS1700, "TMS1700", tag, owner, clock, 8, 9, 5, 8, 1, 10, ADDRESS_MAP_NAME(program_9bit_8), 6, ADDRESS_MAP_NAME(data_32x4), "tms1700", __FILE__) + : tms1000_cpu_device(mconfig, TMS1700, "TMS1700", tag, owner, clock, 8, 9, 6, 8, 2, 10, ADDRESS_MAP_NAME(program_9bit_8), 6, ADDRESS_MAP_NAME(data_32x4), "tms1700", __FILE__) { } tms1730_cpu_device::tms1730_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) - : tms1000_cpu_device(mconfig, TMS1730, "TMS1730", tag, owner, clock, 8, 9, 5, 8, 1, 10, ADDRESS_MAP_NAME(program_9bit_8), 6, ADDRESS_MAP_NAME(data_32x4), "tms1730", __FILE__) + : tms1000_cpu_device(mconfig, TMS1730, "TMS1730", tag, owner, clock, 8, 9, 6, 8, 2, 10, ADDRESS_MAP_NAME(program_9bit_8), 6, ADDRESS_MAP_NAME(data_32x4), "tms1730", __FILE__) { }