pic16c62x: correct rom memory sizes (nw)

This commit is contained in:
yz70s 2020-01-06 01:29:50 +01:00
parent 5a93f7903e
commit 5b64a1d947

View File

@ -123,9 +123,13 @@ void pic16c62x_device::pic16c62xa_ram(address_map &map)
pic16c62x_device::pic16c62x_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, int program_width, int picmodel)
: cpu_device(mconfig, type, tag, owner, clock)
, m_program_config("program", ENDIANNESS_LITTLE, 16, program_width, -1
, ( ( program_width == 9 ) ? address_map_constructor(FUNC(pic16c62x_device::pic16c62x_rom_9), this) : ( ( program_width == 10 ) ? address_map_constructor(FUNC(pic16c62x_device::pic16c62x_rom_10), this) : address_map_constructor(FUNC(pic16c62x_device::pic16c62x_rom_11), this) )))
, ( ( program_width == 9 ) ? address_map_constructor(FUNC(pic16c62x_device::pic16c62x_rom_9), this) :
( ( program_width == 10 ) ? address_map_constructor(FUNC(pic16c62x_device::pic16c62x_rom_10), this) :
address_map_constructor(FUNC(pic16c62x_device::pic16c62x_rom_11), this) )))
, m_data_config("data", ENDIANNESS_LITTLE, 8, 8, 0
, ( ( picmodel == 0x16C620 || picmodel == 0x16C621 ) ? address_map_constructor(FUNC(pic16c62x_device::pic16c620_ram), this) : ( ( picmodel == 0x16C622 ) ? address_map_constructor(FUNC(pic16c62x_device::pic16c622_ram), this) : address_map_constructor(FUNC(pic16c62x_device::pic16c62xa_ram), this) ) ) )
, ( ( picmodel == 0x16C620 || picmodel == 0x16C621 ) ? address_map_constructor(FUNC(pic16c62x_device::pic16c620_ram), this) :
( ( picmodel == 0x16C622 ) ? address_map_constructor(FUNC(pic16c62x_device::pic16c622_ram), this) :
address_map_constructor(FUNC(pic16c62x_device::pic16c62xa_ram), this) ) ) )
, m_io_config("io", ENDIANNESS_LITTLE, 8, 5, 0)
, m_reset_vector(0x0)
, m_picmodel(picmodel)
@ -145,22 +149,22 @@ pic16c620a_device::pic16c620a_device(const machine_config &mconfig, const char *
}
pic16c621_device::pic16c621_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
: pic16c62x_device(mconfig, PIC16C621, tag, owner, clock, 9, 0x16C621)
: pic16c62x_device(mconfig, PIC16C621, tag, owner, clock, 10, 0x16C621)
{
}
pic16c621a_device::pic16c621a_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
: pic16c62x_device(mconfig, PIC16C621A, tag, owner, clock, 9, 0x16C621A)
: pic16c62x_device(mconfig, PIC16C621A, tag, owner, clock, 10, 0x16C621A)
{
}
pic16c622_device::pic16c622_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
: pic16c62x_device(mconfig, PIC16C622, tag, owner, clock, 9, 0x16C622)
: pic16c62x_device(mconfig, PIC16C622, tag, owner, clock, 11, 0x16C622)
{
}
pic16c622a_device::pic16c622a_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
: pic16c62x_device(mconfig, PIC16C622A, tag, owner, clock, 9, 0x16C622A)
: pic16c62x_device(mconfig, PIC16C622A, tag, owner, clock, 11, 0x16C622A)
{
}
@ -340,6 +344,7 @@ uint16_t pic16c62x_device::POP_STACK()
m_STACK[1] = m_STACK[0];
return (data & ADDR_MASK);
}
void pic16c62x_device::PUSH_STACK(uint16_t data)
{
m_STACK[0] = m_STACK[1];