mirror of
https://github.com/holub/mame
synced 2025-05-13 17:38:21 +03:00
ucom4: added D546 (nw)
This commit is contained in:
parent
34c3da3aa2
commit
6e70f5a928
@ -25,15 +25,16 @@
|
|||||||
#include "debugger.h"
|
#include "debugger.h"
|
||||||
|
|
||||||
|
|
||||||
// uCOM-43 products: 2000x8 ROM, RAM size custom, supports full instruction set
|
// uCOM-43 products: 2000x8 ROM, 96x4 RAM, supports full instruction set
|
||||||
const device_type NEC_D553 = device_creator<upd553_cpu_device>; // 42-pin PMOS, 35 pins for I/O, Open Drain output, 96x4 RAM
|
const device_type NEC_D546 = device_creator<upd546_cpu_device>; // 42-pin PMOS, 35 pins for I/O
|
||||||
const device_type NEC_D557L = device_creator<upd557l_cpu_device>; // 28-pin PMOS, 21 pins for I/O, Open Drain output, 96x4 RAM
|
const device_type NEC_D553 = device_creator<upd553_cpu_device>; // 42-pin PMOS, 35 pins for I/O, high voltage
|
||||||
const device_type NEC_D650 = device_creator<upd650_cpu_device>; // 42-pin CMOS, 35 pins for I/O, push-pull output, 96x4 RAM
|
const device_type NEC_D557L = device_creator<upd557l_cpu_device>; // 28-pin PMOS, 21 pins for I/O
|
||||||
|
const device_type NEC_D650 = device_creator<upd650_cpu_device>; // 42-pin CMOS, 35 pins for I/O
|
||||||
|
|
||||||
// uCOM-44 products: 1000x8 ROM, 64x4 RAM, does not support external interrupt
|
// uCOM-44 products: 1000x8 ROM, 64x4 RAM, 1-level stack, does not support external interrupt
|
||||||
const device_type NEC_D552 = device_creator<upd552_cpu_device>; // 42-pin PMOS, 35 pins for I/O, Open Drain output
|
const device_type NEC_D552 = device_creator<upd552_cpu_device>; // 42-pin PMOS, 35 pins for I/O, high voltage
|
||||||
|
|
||||||
// uCOM-45 products: ROM size custom, 32x4 RAM
|
// uCOM-45 products: 1000x8 or 640x8 ROM, 32x4 RAM, 1-level stack
|
||||||
//..
|
//..
|
||||||
|
|
||||||
|
|
||||||
@ -59,8 +60,12 @@ ADDRESS_MAP_END
|
|||||||
|
|
||||||
|
|
||||||
// device definitions
|
// device definitions
|
||||||
|
upd546_cpu_device::upd546_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
|
||||||
|
: ucom4_cpu_device(mconfig, NEC_D546, "uPD546", tag, owner, clock, NEC_UCOM43, 3 /* stack levels */, 11 /* prg width */, ADDRESS_MAP_NAME(program_2k), 7 /* data width */, ADDRESS_MAP_NAME(data_96x4), "upd546", __FILE__)
|
||||||
|
{ }
|
||||||
|
|
||||||
upd553_cpu_device::upd553_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
|
upd553_cpu_device::upd553_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
|
||||||
: ucom4_cpu_device(mconfig, NEC_D553, "uPD553", tag, owner, clock, NEC_UCOM43, 3 /* stack levels */, 11 /* prg width */, ADDRESS_MAP_NAME(program_2k), 7 /* data width */, ADDRESS_MAP_NAME(data_96x4), "upd553", __FILE__)
|
: ucom4_cpu_device(mconfig, NEC_D553, "uPD553", tag, owner, clock, NEC_UCOM43, 3, 11, ADDRESS_MAP_NAME(program_2k), 7, ADDRESS_MAP_NAME(data_96x4), "upd553", __FILE__)
|
||||||
{ }
|
{ }
|
||||||
|
|
||||||
upd557l_cpu_device::upd557l_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
|
upd557l_cpu_device::upd557l_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
|
||||||
|
@ -76,10 +76,10 @@ enum
|
|||||||
/INT 6 | | 37 PB0
|
/INT 6 | | 37 PB0
|
||||||
RESET 7 | | 36 PA3
|
RESET 7 | | 36 PA3
|
||||||
PD0 8 | | 35 PA2
|
PD0 8 | | 35 PA2
|
||||||
PD1 9 | uPD552 | 34 PA1
|
PD1 9 | uPD546 | 34 PA1
|
||||||
PD2 10 | uPD553 | 33 PA0
|
PD2 10 | uPD552 | 33 PA0
|
||||||
PD3 11 | uPD650* | 32 PI2
|
PD3 11 | uPD553 | 32 PI2
|
||||||
PE0 12 | | 31 PI1
|
PE0 12 | uPD650* | 31 PI1
|
||||||
PE1 13 | | 30 PI0
|
PE1 13 | | 30 PI0
|
||||||
PE2 14 | | 29 PH3
|
PE2 14 | | 29 PH3
|
||||||
PE3 15 | | 28 PH2
|
PE3 15 | | 28 PH2
|
||||||
@ -312,6 +312,13 @@ protected:
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
class upd546_cpu_device : public ucom4_cpu_device
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
upd546_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
class upd553_cpu_device : public ucom4_cpu_device
|
class upd553_cpu_device : public ucom4_cpu_device
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
@ -345,6 +352,7 @@ public:
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
extern const device_type NEC_D546;
|
||||||
extern const device_type NEC_D553;
|
extern const device_type NEC_D553;
|
||||||
extern const device_type NEC_D557L;
|
extern const device_type NEC_D557L;
|
||||||
extern const device_type NEC_D650;
|
extern const device_type NEC_D650;
|
||||||
|
Loading…
Reference in New Issue
Block a user