diff options
| author | 2020-09-12 09:20:55 -0400 | |
|---|---|---|
| committer | 2020-09-12 09:20:55 -0400 | |
| commit | 8edc2c5f91aaaa6dbc81400b54c584bb489b619d (patch) | |
| tree | b62ae06a1c9173e128edc3cf885a296f744de185 /src/devices/cpu | |
| parent | acc811887c6f7162f5bc3c6e7e63bf566e73c63a (diff) | |
New machines marked as NOT_WORKING
----------------------------------
Sony Trinitron Color Video Monitor BVM-20F1E [Corrado Tomaselli]
Diffstat (limited to 'src/devices/cpu')
| -rw-r--r-- | src/devices/cpu/h8500/h8534.cpp | 32 | ||||
| -rw-r--r-- | src/devices/cpu/h8500/h8534.h | 24 |
2 files changed, 53 insertions, 3 deletions
diff --git a/src/devices/cpu/h8500/h8534.cpp b/src/devices/cpu/h8500/h8534.cpp index 065d83adc5e..dd33af71128 100644 --- a/src/devices/cpu/h8500/h8534.cpp +++ b/src/devices/cpu/h8500/h8534.cpp @@ -2,7 +2,7 @@ // copyright-holders:AJR /*************************************************************************** - Hitachi H8/534 + Hitachi H8/534 & H8/536 ***************************************************************************/ @@ -10,9 +10,15 @@ #include "h8534.h" DEFINE_DEVICE_TYPE(HD6475348, hd6475348_device, "hd6475348", "Hitachi HD6475348 (H8/534)") +DEFINE_DEVICE_TYPE(HD6435368, hd6435368_device, "hd6435368", "Hitachi HD6435368 (H8/536)") + +h8534_device::h8534_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, address_map_constructor map) + : h8500_device(mconfig, type, tag, owner, clock, 20, 8, 11, map) +{ +} h8534_device::h8534_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock) - : h8500_device(mconfig, type, tag, owner, clock, 20, 8, 11, address_map_constructor(FUNC(h8534_device::internal_map), this)) + : h8534_device(mconfig, type, tag, owner, clock, address_map_constructor(FUNC(h8534_device::internal_map), this)) { } @@ -21,9 +27,31 @@ hd6475348_device::hd6475348_device(const machine_config &mconfig, const char *ta { } +h8536_device::h8536_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock) + : h8534_device(mconfig, type, tag, owner, clock, address_map_constructor(FUNC(h8536_device::internal_map), this)) +{ +} + +hd6435368_device::hd6435368_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) + : h8536_device(mconfig, HD6435368, tag, owner, clock) +{ +} + void h8534_device::internal_map(address_map &map) { map(0x0000, 0x7fff).rom().region(DEVICE_SELF, 0); // modes 2, 4, 7 + register_field_map(map); +} + +void h8536_device::internal_map(address_map &map) +{ + //map(0x0000, 0xee7f).rom().region(DEVICE_SELF, 0); // mode 2? + //map(0x0000, 0xf67f).rom().region(DEVICE_SELF, 0); // modes 4, 7 + register_field_map(map); +} + +void h8534_device::register_field_map(address_map &map) +{ #if 0 map(0xfe80, 0xfe80).w(FUNC(h8534_device::p1ddr_w)); map(0xfe81, 0xfe81).w(FUNC(h8534_device::p2ddr_w)); diff --git a/src/devices/cpu/h8500/h8534.h b/src/devices/cpu/h8500/h8534.h index 7b375ba8351..8e5c357ff1b 100644 --- a/src/devices/cpu/h8500/h8534.h +++ b/src/devices/cpu/h8500/h8534.h @@ -11,8 +11,13 @@ class h8534_device : public h8500_device { protected: + // delegating constructor h8534_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock); + h8534_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, address_map_constructor map); + + void register_field_map(address_map &map); + private: void internal_map(address_map &map); }; @@ -24,6 +29,23 @@ public: hd6475348_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock); }; +class h8536_device : public h8534_device +{ +protected: + h8536_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock); + +private: + void internal_map(address_map &map); +}; + +class hd6435368_device : public h8536_device +{ +public: + // device type constructor + hd6435368_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock); +}; + DECLARE_DEVICE_TYPE(HD6475348, hd6475348_device) +DECLARE_DEVICE_TYPE(HD6435368, hd6435368_device) -#endif // MAME_CPU_H8500_H8532_H +#endif // MAME_CPU_H8500_H8534_H |
