| Previous | 199869 Revisions | Next |
| r23807 Thursday 20th June, 2013 at 06:08:34 UTC by Fabio Priuli |
|---|
| Modernized the Konami 053252 device [Osso] |
| [src/emu/machine] | k053252.c k053252.h |
| [src/mame/drivers] | dbz.c hexion.c moo.c mystwarr.c overdriv.c qdrmfgp.c rollerg.c rungun.c vendetta.c xexex.c |
| [src/mame/includes] | dbz.h hexion.h moo.h mystwarr.h overdriv.h qdrmfgp.h rollerg.h vendetta.h |
| r23806 | r23807 | |
|---|---|---|
| 55 | 55 | #include "emu.h" |
| 56 | 56 | #include "k053252.h" |
| 57 | 57 | |
| 58 | struct k053252_state | |
| 59 | { | |
| 60 | UINT8 regs[16]; | |
| 61 | UINT16 hc,hfp,hbp; | |
| 62 | UINT16 vc,vfp,vbp; | |
| 63 | UINT8 vsw,hsw; | |
| 64 | 58 | |
| 65 | screen_device *screen; | |
| 66 | devcb_resolved_write_line int1_en; | |
| 67 | devcb_resolved_write_line int2_en; | |
| 68 | devcb_resolved_write_line int1_ack; | |
| 69 | devcb_resolved_write_line int2_ack; | |
| 70 | //devcb_resolved_write8 int_time; | |
| 71 | int offsx,offsy; | |
| 72 | }; | |
| 59 | const device_type K053252 = &device_creator<k053252_device>; | |
| 73 | 60 | |
| 61 | k053252_device::k053252_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) | |
| 62 | : device_t(mconfig, K053252, "Konami 053252", tag, owner, clock) | |
| 63 | { | |
| 64 | } | |
| 74 | 65 | |
| 75 | /***************************************************************************** | |
| 76 | INLINE FUNCTIONS | |
| 77 | *****************************************************************************/ | |
| 66 | //------------------------------------------------- | |
| 67 | // device_config_complete - perform any | |
| 68 | // operations now that the configuration is | |
| 69 | // complete | |
| 70 | //------------------------------------------------- | |
| 78 | 71 | |
| 79 | ||
| 72 | void k053252_device::device_config_complete() | |
| 80 | 73 | { |
| 81 | assert(device != NULL); | |
| 82 | assert(device->type() == K053252); | |
| 74 | // inherit a copy of the static data | |
| 75 | const k053252_interface *intf = reinterpret_cast<const k053252_interface *>(static_config()); | |
| 76 | if (intf != NULL) | |
| 77 | *static_cast<k053252_interface *>(this) = *intf; | |
| 78 | ||
| 79 | // or initialize to defaults if none provided | |
| 80 | else | |
| 81 | { | |
| 82 | m_screen_tag = ""; | |
| 83 | memset(&m_int1_en, 0, sizeof(m_int1_en)); | |
| 84 | memset(&m_int2_en, 0, sizeof(m_int2_en)); | |
| 85 | memset(&m_int1_ack, 0, sizeof(m_int1_ack)); | |
| 86 | memset(&m_int2_ack, 0, sizeof(m_int2_ack)); | |
| 87 | //memset(&m_int_time, 0, sizeof(m_int_time)); | |
| 88 | } | |
| 89 | } | |
| 83 | 90 | |
| 84 | return (k053252_state *)downcast<k053252_device *>(device)->token(); | |
| 91 | //------------------------------------------------- | |
| 92 | // device_start - device-specific startup | |
| 93 | //------------------------------------------------- | |
| 94 | ||
| 95 | void k053252_device::device_start() | |
| 96 | { | |
| 97 | save_item(NAME(m_regs)); | |
| 98 | m_screen = machine().device<screen_device>(m_screen_tag); | |
| 99 | m_int1_en_func.resolve(m_int1_en, *this); | |
| 100 | m_int2_en_func.resolve(m_int2_en, *this); | |
| 101 | m_int1_ack_func.resolve(m_int1_ack, *this); | |
| 102 | m_int2_ack_func.resolve(m_int2_ack, *this); | |
| 103 | //m_int_time_func.resolve(m_int_time, *this); | |
| 85 | 104 | } |
| 86 | 105 | |
| 87 | INLINE const k053252_interface *k053252_get_interface( device_t *device ) | |
| 106 | //------------------------------------------------- | |
| 107 | // device_reset - device-specific reset | |
| 108 | //------------------------------------------------- | |
| 109 | ||
| 110 | void k053252_device::device_reset() | |
| 88 | 111 | { |
| 89 | assert(device != NULL); | |
| 90 | assert(device->type() == K053252); | |
| 112 | int i; | |
| 91 | 113 | |
| 92 | return (const k053252_interface *) device->static_config(); | |
| 114 | for (i = 0; i < 16; i++) | |
| 115 | m_regs[i] = 0; | |
| 116 | ||
| 117 | m_regs[0x08] = 1; // Xexex apparently does a wrong assignment for VC (sets up the INT enable register instead) | |
| 118 | ||
| 119 | m_hc=0; | |
| 120 | m_hfp=0; | |
| 121 | m_hbp=0; | |
| 122 | m_vc=0; | |
| 123 | m_vfp=0; | |
| 124 | m_vbp=0; | |
| 125 | m_vsw=0; | |
| 126 | m_hsw=0; | |
| 93 | 127 | } |
| 94 | 128 | |
| 129 | ||
| 95 | 130 | /***************************************************************************** |
| 96 | 131 | DEVICE HANDLERS |
| 97 | 132 | *****************************************************************************/ |
| 98 | 133 | |
| 99 | READ8_ | |
| 134 | READ8_MEMBER( k053252_device::read ) | |
| 100 | 135 | { |
| 101 | k053252_state *k053252 = k053252_get_safe_token(device); | |
| 102 | ||
| 103 | 136 | //TODO: debugger_access() |
| 104 | 137 | popmessage("Warning: k053252 read %02x, contact MAMEdev",offset); |
| 105 | 138 | |
| 106 | return | |
| 139 | return m_regs[offset]; | |
| 107 | 140 | } |
| 108 | 141 | |
| 109 | ||
| 142 | void k053252_device::res_change() | |
| 110 | 143 | { |
| 111 | k053252_state *k053252 = k053252_get_safe_token(device); | |
| 112 | ||
| 113 | if(k053252->screen != NULL) | |
| 144 | if(m_screen != NULL) | |
| 114 | 145 | { |
| 115 | if(k053252->hc && k053252->vc && | |
| 116 | k053252->hbp && k053252->hfp && | |
| 117 | k053252->vbp && k053252->vfp && | |
| 118 | k053252->hsw && k053252->vsw) //safety checks | |
| 146 | if(m_hc && m_vc && | |
| 147 | m_hbp && m_hfp && | |
| 148 | m_vbp && m_vfp && | |
| 149 | m_hsw && m_vsw) //safety checks | |
| 119 | 150 | { |
| 120 | 151 | rectangle visarea; |
| 121 | 152 | //(HC+1) - HFP - HBP - 8*(HSW+1) |
| 122 | 153 | //VC - VFP - VBP - (VSW+1) |
| 123 | attoseconds_t refresh = HZ_TO_ATTOSECONDS( | |
| 154 | attoseconds_t refresh = HZ_TO_ATTOSECONDS(clock()) * (m_hc) * m_vc; | |
| 124 | 155 | |
| 125 | //printf("H %d %d %d %d\n",k053252->hc,k053252->hfp,k053252->hbp,k053252->hsw); | |
| 126 | //printf("V %d %d %d %d\n",k053252->vc,k053252->vfp,k053252->vbp,k053252->vsw); | |
| 156 | //printf("H %d %d %d %d\n",m_hc,m_hfp,m_hbp,m_hsw); | |
| 157 | //printf("V %d %d %d %d\n",m_vc,m_vfp,m_vbp,m_vsw); | |
| 127 | 158 | |
| 128 | visarea.min_x = k053252->offsx; | |
| 129 | visarea.min_y = k053252->offsy; | |
| 130 | visarea.max_x = k053252->offsx + k053252->hc - k053252->hfp - k053252->hbp - 8*(k053252->hsw) - 1; | |
| 131 | visarea.max_y = k053252->offsy + k053252->vc - k053252->vfp - k053252->vbp - (k053252->vsw) - 1; | |
| 159 | visarea.min_x = m_offsx; | |
| 160 | visarea.min_y = m_offsy; | |
| 161 | visarea.max_x = m_offsx + m_hc - m_hfp - m_hbp - 8*(m_hsw) - 1; | |
| 162 | visarea.max_y = m_offsy + m_vc - m_vfp - m_vbp - (m_vsw) - 1; | |
| 132 | 163 | |
| 133 | | |
| 164 | m_screen->configure(m_hc, m_vc, visarea, refresh); | |
| 134 | 165 | } |
| 135 | 166 | } |
| 136 | 167 | } |
| 137 | 168 | |
| 138 | WRITE8_ | |
| 169 | WRITE8_MEMBER( k053252_device::write ) | |
| 139 | 170 | { |
| 140 | | |
| 171 | m_regs[offset] = data; | |
| 141 | 172 | |
| 142 | k053252->regs[offset] = data; | |
| 143 | ||
| 144 | 173 | switch(offset) |
| 145 | 174 | { |
| 146 | 175 | case 0x00: |
| 147 | 176 | case 0x01: |
| 148 | k053252->hc = (k053252->regs[1]&0xff); | |
| 149 | k053252->hc |= ((k053252->regs[0]&0x03)<<8); | |
| 150 | k053252->hc ++; | |
| 151 | logerror("%d (%04x) HC set\n",k053252->hc,k053252->hc); | |
| 152 | k053252_res_change(device); | |
| 177 | m_hc = (m_regs[1]&0xff); | |
| 178 | m_hc |= ((m_regs[0]&0x03)<<8); | |
| 179 | m_hc ++; | |
| 180 | logerror("%d (%04x) HC set\n",m_hc,m_hc); | |
| 181 | res_change(); | |
| 153 | 182 | break; |
| 154 | 183 | case 0x02: |
| 155 | 184 | case 0x03: |
| 156 | k053252->hfp = (k053252->regs[3]&0xff); | |
| 157 | k053252->hfp |= ((k053252->regs[2]&0x01)<<8); | |
| 158 | logerror("%d (%04x) HFP set\n",k053252->hfp,k053252->hfp); | |
| 159 | k053252_res_change(device); | |
| 185 | m_hfp = (m_regs[3]&0xff); | |
| 186 | m_hfp |= ((m_regs[2]&0x01)<<8); | |
| 187 | logerror("%d (%04x) HFP set\n",m_hfp,m_hfp); | |
| 188 | res_change(); | |
| 160 | 189 | break; |
| 161 | 190 | case 0x04: |
| 162 | 191 | case 0x05: |
| 163 | k053252->hbp = (k053252->regs[5]&0xff); | |
| 164 | k053252->hbp |= ((k053252->regs[4]&0x01)<<8); | |
| 165 | logerror("%d (%04x) HBP set\n",k053252->hbp,k053252->hbp); | |
| 166 | k053252_res_change(device); | |
| 192 | m_hbp = (m_regs[5]&0xff); | |
| 193 | m_hbp |= ((m_regs[4]&0x01)<<8); | |
| 194 | logerror("%d (%04x) HBP set\n",m_hbp,m_hbp); | |
| 195 | res_change(); | |
| 167 | 196 | break; |
| 168 | case 0x06: k053252->int1_en(data); break; | |
| 169 | case 0x07: k053252->int2_en(data); break; | |
| 197 | case 0x06: m_int1_en_func(data); break; | |
| 198 | case 0x07: m_int2_en_func(data); break; | |
| 170 | 199 | case 0x08: |
| 171 | 200 | case 0x09: |
| 172 | k053252->vc = (k053252->regs[9]&0xff); | |
| 173 | k053252->vc |= ((k053252->regs[8]&0x01)<<8); | |
| 174 | logerror("%d (%04x) VC set\n",k053252->vc,k053252->vc); | |
| 175 | k053252_res_change(device); | |
| 201 | m_vc = (m_regs[9]&0xff); | |
| 202 | m_vc |= ((m_regs[8]&0x01)<<8); | |
| 203 | logerror("%d (%04x) VC set\n",m_vc,m_vc); | |
| 204 | res_change(); | |
| 176 | 205 | break; |
| 177 | 206 | case 0x0a: |
| 178 | k053252->vfp = (k053252->regs[0x0a]&0xff); | |
| 179 | logerror("%d (%04x) VFP set\n",k053252->vfp,k053252->vfp); | |
| 180 | k053252_res_change(device); | |
| 207 | m_vfp = (m_regs[0x0a]&0xff); | |
| 208 | logerror("%d (%04x) VFP set\n",m_vfp,m_vfp); | |
| 209 | res_change(); | |
| 181 | 210 | break; |
| 182 | 211 | case 0x0b: |
| 183 | k053252->vbp = (k053252->regs[0x0b]&0xff); | |
| 184 | logerror("%d (%04x) VBP set\n",k053252->vbp,k053252->vbp); | |
| 185 | k053252_res_change(device); | |
| 212 | m_vbp = (m_regs[0x0b]&0xff); | |
| 213 | logerror("%d (%04x) VBP set\n",m_vbp,m_vbp); | |
| 214 | res_change(); | |
| 186 | 215 | break; |
| 187 | 216 | case 0x0c: |
| 188 | k053252->vsw = ((k053252->regs[0x0c]&0xf0) >> 4) + 1; | |
| 189 | k053252->hsw = ((k053252->regs[0x0c]&0x0f) >> 0) + 1; | |
| 190 | logerror("%02x VSW / %02x HSW set\n",k053252->vsw,k053252->hsw); | |
| 191 | k053252_res_change(device); | |
| 217 | m_vsw = ((m_regs[0x0c]&0xf0) >> 4) + 1; | |
| 218 | m_hsw = ((m_regs[0x0c]&0x0f) >> 0) + 1; | |
| 219 | logerror("%02x VSW / %02x HSW set\n",m_vsw,m_hsw); | |
| 220 | res_change(); | |
| 192 | 221 | break; |
| 193 | //case 0x0d: k053252->int_time(data); break; | |
| 194 | case 0x0e: k053252->int1_ack(1); break; | |
| 195 | case 0x0f: k053252->int2_ack(1); break; | |
| 222 | //case 0x0d: m_int_time(data); break; | |
| 223 | case 0x0e: m_int1_ack_func(1); break; | |
| 224 | case 0x0f: m_int2_ack_func(1); break; | |
| 196 | 225 | } |
| 197 | 226 | } |
| 198 | ||
| 199 | ||
| 200 | ||
| 201 | /***************************************************************************** | |
| 202 | DEVICE INTERFACE | |
| 203 | *****************************************************************************/ | |
| 204 | ||
| 205 | static DEVICE_START( k053252 ) | |
| 206 | { | |
| 207 | k053252_state *k053252 = k053252_get_safe_token(device); | |
| 208 | const k053252_interface *intf = k053252_get_interface(device); | |
| 209 | ||
| 210 | device->save_item(NAME(k053252->regs)); | |
| 211 | k053252->screen = device->machine().device<screen_device>(intf->screen); | |
| 212 | k053252->int1_en.resolve(intf->int1_en, *device); | |
| 213 | k053252->int2_en.resolve(intf->int2_en, *device); | |
| 214 | k053252->int1_ack.resolve(intf->int1_ack, *device); | |
| 215 | k053252->int2_ack.resolve(intf->int2_ack, *device); | |
| 216 | //k053252->int_time.resolve(intf->int_time, *device); | |
| 217 | k053252->offsx = intf->offsx; | |
| 218 | k053252->offsy = intf->offsy; | |
| 219 | } | |
| 220 | ||
| 221 | static DEVICE_RESET( k053252 ) | |
| 222 | { | |
| 223 | k053252_state *k053252 = k053252_get_safe_token(device); | |
| 224 | int i; | |
| 225 | ||
| 226 | for (i = 0; i < 16; i++) | |
| 227 | k053252->regs[i] = 0; | |
| 228 | ||
| 229 | k053252->regs[0x08] = 1; // Xexex apparently does a wrong assignment for VC (sets up the INT enable register instead) | |
| 230 | } | |
| 231 | ||
| 232 | ||
| 233 | const device_type K053252 = &device_creator<k053252_device>; | |
| 234 | ||
| 235 | k053252_device::k053252_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) | |
| 236 | : device_t(mconfig, K053252, "Konami 053252", tag, owner, clock) | |
| 237 | { | |
| 238 | m_token = global_alloc_clear(k053252_state); | |
| 239 | } | |
| 240 | ||
| 241 | //------------------------------------------------- | |
| 242 | // device_config_complete - perform any | |
| 243 | // operations now that the configuration is | |
| 244 | // complete | |
| 245 | //------------------------------------------------- | |
| 246 | ||
| 247 | void k053252_device::device_config_complete() | |
| 248 | { | |
| 249 | } | |
| 250 | ||
| 251 | //------------------------------------------------- | |
| 252 | // device_start - device-specific startup | |
| 253 | //------------------------------------------------- | |
| 254 | ||
| 255 | void k053252_device::device_start() | |
| 256 | { | |
| 257 | DEVICE_START_NAME( k053252 )(this); | |
| 258 | } | |
| 259 | ||
| 260 | //------------------------------------------------- | |
| 261 | // device_reset - device-specific reset | |
| 262 | //------------------------------------------------- | |
| 263 | ||
| 264 | void k053252_device::device_reset() | |
| 265 | { | |
| 266 | DEVICE_RESET_NAME( k053252 )(this); | |
| 267 | } |
| r23806 | r23807 | |
|---|---|---|
| 5 | 5 | #ifndef __K053252_H__ |
| 6 | 6 | #define __K053252_H__ |
| 7 | 7 | |
| 8 | #include "devlegcy.h" | |
| 9 | 8 | |
| 10 | ||
| 9 | struct k053252_interface | |
| 11 | 10 | { |
| 11 | const char *m_screen_tag; | |
| 12 | devcb_write_line m_int1_en; | |
| 13 | devcb_write_line m_int2_en; | |
| 14 | devcb_write_line m_int1_ack; | |
| 15 | devcb_write_line m_int2_ack; | |
| 16 | // devcb_write8 m_int_time; | |
| 17 | int m_offsx; | |
| 18 | int m_offsy; | |
| 19 | }; | |
| 20 | ||
| 21 | class k053252_device : public device_t, | |
| 22 | public k053252_interface | |
| 23 | { | |
| 12 | 24 | public: |
| 13 | 25 | k053252_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); |
| 14 | ~k053252_device() { global_free(m_token); } | |
| 15 | ||
| 16 | // access to legacy token | |
| 17 | void *token() const { assert(m_token != NULL); return m_token; } | |
| 26 | ~k053252_device() {} | |
| 27 | ||
| 28 | DECLARE_READ8_MEMBER( read ); // CCU registers | |
| 29 | DECLARE_WRITE8_MEMBER( write ); | |
| 30 | ||
| 31 | void res_change(); | |
| 32 | ||
| 18 | 33 | protected: |
| 19 | 34 | // device-level overrides |
| 20 | 35 | virtual void device_config_complete(); |
| 21 | 36 | virtual void device_start(); |
| 22 | 37 | virtual void device_reset(); |
| 23 | private: | |
| 38 | ||
| 39 | private: | |
| 24 | 40 | // internal state |
| 25 | void *m_token; | |
| 41 | UINT8 m_regs[16]; | |
| 42 | UINT16 m_hc,m_hfp,m_hbp; | |
| 43 | UINT16 m_vc,m_vfp,m_vbp; | |
| 44 | UINT8 m_vsw,m_hsw; | |
| 45 | ||
| 46 | screen_device *m_screen; | |
| 47 | devcb_resolved_write_line m_int1_en_func; | |
| 48 | devcb_resolved_write_line m_int2_en_func; | |
| 49 | devcb_resolved_write_line m_int1_ack_func; | |
| 50 | devcb_resolved_write_line m_int2_ack_func; | |
| 51 | //devcb_resolved_write8 m_int_time_func; | |
| 26 | 52 | }; |
| 27 | 53 | |
| 28 | 54 | extern const device_type K053252; |
| 29 | 55 | |
| 30 | ||
| 31 | ||
| 32 | ||
| 33 | struct k053252_interface | |
| 34 | { | |
| 35 | const char *screen; | |
| 36 | devcb_write_line int1_en; | |
| 37 | devcb_write_line int2_en; | |
| 38 | devcb_write_line int1_ack; | |
| 39 | devcb_write_line int2_ack; | |
| 40 | // devcb_write8 int_time; | |
| 41 | int offsx; | |
| 42 | int offsy; | |
| 43 | }; | |
| 44 | ||
| 45 | ||
| 46 | 56 | #define MCFG_K053252_ADD(_tag, _clock, _interface) \ |
| 47 | 57 | MCFG_DEVICE_ADD(_tag, K053252, _clock) \ |
| 48 | 58 | MCFG_DEVICE_CONFIG(_interface) |
| 49 | 59 | |
| 50 | /** Konami 053252 **/ | |
| 51 | /* CRT and interrupt control unit */ | |
| 52 | DECLARE_READ8_DEVICE_HANDLER( k053252_r ); // CCU registers | |
| 53 | DECLARE_WRITE8_DEVICE_HANDLER( k053252_w ); | |
| 54 | 60 | |
| 55 | ||
| 56 | ||
| 57 | 61 | #endif /* __K033906_H__ */ |
| r23806 | r23807 | |
|---|---|---|
| 13 | 13 | #include "emu.h" |
| 14 | 14 | #include "cpu/z80/z80.h" |
| 15 | 15 | #include "video/konicdev.h" |
| 16 | #include "machine/k053252.h" | |
| 17 | 16 | #include "cpu/m6809/konami.h" /* for the callback and the firq irq definition */ |
| 18 | 17 | #include "sound/3812intf.h" |
| 19 | 18 | #include "sound/k053260.h" |
| r23806 | r23807 | |
| 93 | 92 | AM_RANGE(0x0053, 0x0053) AM_READ_PORT("DSW1") |
| 94 | 93 | AM_RANGE(0x0060, 0x0060) AM_READ_PORT("DSW2") |
| 95 | 94 | AM_RANGE(0x0061, 0x0061) AM_READ(pip_r) /* ????? */ |
| 96 | AM_RANGE(0x0100, 0x010f) AM_DEVREADWRITE | |
| 95 | AM_RANGE(0x0100, 0x010f) AM_DEVREADWRITE("k053252", k053252_device, read, write) /* 053252? */ | |
| 97 | 96 | AM_RANGE(0x0200, 0x020f) AM_DEVWRITE_LEGACY("k051316", k051316_ctrl_w) |
| 98 | 97 | AM_RANGE(0x0300, 0x030f) AM_DEVREADWRITE_LEGACY("k053244", k053244_r, k053244_w) |
| 99 | 98 | AM_RANGE(0x0800, 0x0fff) AM_READ(rollerg_k051316_r) AM_DEVWRITE_LEGACY("k051316", k051316_w) |
| r23806 | r23807 | |
|---|---|---|
| 318 | 318 | AM_RANGE(0x0c8000, 0x0c800f) AM_DEVREADWRITE("k053250", k053250_device, reg_r, reg_w) |
| 319 | 319 | AM_RANGE(0x0ca000, 0x0ca01f) AM_DEVWRITE_LEGACY("k054338", k054338_word_w) // CLTC |
| 320 | 320 | AM_RANGE(0x0cc000, 0x0cc01f) AM_DEVWRITE_LEGACY("k053251", k053251_lsb_w) // priority encoder |
| 321 | // AM_RANGE(0x0d0000, 0x0d001f) AM_DEVREADWRITE8 | |
| 321 | // AM_RANGE(0x0d0000, 0x0d001f) AM_DEVREADWRITE8("k053252", k053252_device, read, write, 0x00ff) // CCU | |
| 322 | 322 | AM_RANGE(0x0d4000, 0x0d4001) AM_WRITE(sound_irq_w) |
| 323 | 323 | AM_RANGE(0x0d600c, 0x0d600d) AM_WRITE(sound_cmd1_w) |
| 324 | 324 | AM_RANGE(0x0d600e, 0x0d600f) AM_WRITE(sound_cmd2_w) |
| r23806 | r23807 | |
|---|---|---|
| 46 | 46 | #include "sound/okim6295.h" |
| 47 | 47 | #include "sound/k054539.h" |
| 48 | 48 | #include "video/konicdev.h" |
| 49 | #include "machine/k053252.h" | |
| 50 | 49 | #include "includes/konamipt.h" |
| 51 | 50 | #include "includes/moo.h" |
| 52 | 51 | |
| r23806 | r23807 | |
| 263 | 262 | AM_RANGE(0x0ca000, 0x0ca01f) AM_DEVWRITE_LEGACY("k054338", k054338_word_w) /* K054338 alpha blending engine */ |
| 264 | 263 | AM_RANGE(0x0cc000, 0x0cc01f) AM_DEVWRITE_LEGACY("k053251", k053251_lsb_w) |
| 265 | 264 | AM_RANGE(0x0ce000, 0x0ce01f) AM_WRITE(moo_prot_w) |
| 266 | AM_RANGE(0x0d0000, 0x0d001f) AM_DEVREADWRITE8 | |
| 265 | AM_RANGE(0x0d0000, 0x0d001f) AM_DEVREADWRITE8("k053252", k053252_device, read, write, 0x00ff) /* CCU regs (ignored) */ | |
| 267 | 266 | AM_RANGE(0x0d4000, 0x0d4001) AM_WRITE(sound_irq_w) |
| 268 | 267 | AM_RANGE(0x0d600c, 0x0d600d) AM_WRITE(sound_cmd1_w) |
| 269 | 268 | AM_RANGE(0x0d600e, 0x0d600f) AM_WRITE(sound_cmd2_w) |
| r23806 | r23807 | |
| 328 | 327 | AM_RANGE(0x0ca000, 0x0ca01f) AM_DEVWRITE_LEGACY("k054338", k054338_word_w) /* K054338 alpha blending engine */ |
| 329 | 328 | AM_RANGE(0x0cc000, 0x0cc01f) AM_DEVWRITE_LEGACY("k053251", k053251_lsb_w) |
| 330 | 329 | AM_RANGE(0x0ce000, 0x0ce01f) AM_WRITE(moo_prot_w) |
| 331 | AM_RANGE(0x0d0000, 0x0d001f) AM_DEVREADWRITE8 | |
| 330 | AM_RANGE(0x0d0000, 0x0d001f) AM_DEVREADWRITE8("k053252", k053252_device, read, write, 0x00ff) /* CCU regs (ignored) */ | |
| 332 | 331 | AM_RANGE(0x0d2000, 0x0d20ff) AM_DEVREADWRITE_LEGACY("k054000", k054000_lsb_r, k054000_lsb_w) |
| 333 | 332 | AM_RANGE(0x0d4000, 0x0d4001) AM_WRITE(sound_irq_w) |
| 334 | 333 | AM_RANGE(0x0d600c, 0x0d600d) AM_WRITE(sound_cmd1_w) |
| r23806 | r23807 | |
|---|---|---|
| 23 | 23 | #include "cpu/m68000/m68000.h" |
| 24 | 24 | #include "video/konicdev.h" |
| 25 | 25 | #include "video/k053250.h" |
| 26 | #include "machine/k053252.h" | |
| 27 | 26 | #include "machine/eeprom.h" |
| 28 | 27 | #include "cpu/m6809/m6809.h" |
| 29 | 28 | #include "sound/2151intf.h" |
| r23806 | r23807 | |
| 163 | 162 | AM_RANGE(0x0c0000, 0x0c0001) AM_READ_PORT("INPUTS") |
| 164 | 163 | AM_RANGE(0x0c0002, 0x0c0003) AM_READ_PORT("SYSTEM") |
| 165 | 164 | AM_RANGE(0x0e0000, 0x0e0001) AM_WRITENOP /* unknown (always 0x30) */ |
| 166 | AM_RANGE(0x100000, 0x10001f) AM_DEVREADWRITE8 | |
| 165 | AM_RANGE(0x100000, 0x10001f) AM_DEVREADWRITE8("k053252", k053252_device, read, write, 0x00ff) /* 053252? (LSB) */ | |
| 167 | 166 | AM_RANGE(0x140000, 0x140001) AM_WRITENOP //watchdog reset? |
| 168 | 167 | AM_RANGE(0x180000, 0x180001) AM_READ_PORT("PADDLE") |
| 169 | 168 | AM_RANGE(0x1c0000, 0x1c001f) AM_DEVWRITE8_LEGACY("k051316_1", k051316_ctrl_w, 0xff00) |
| r23806 | r23807 | |
|---|---|---|
| 57 | 57 | #include "sound/okim6295.h" |
| 58 | 58 | #include "includes/dbz.h" |
| 59 | 59 | #include "video/konicdev.h" |
| 60 | #include "machine/k053252.h" | |
| 61 | 60 | |
| 62 | 61 | |
| 63 | 62 | |
| r23806 | r23807 | |
| 128 | 127 | AM_RANGE(0x4ec000, 0x4ec001) AM_WRITE(dbzcontrol_w) |
| 129 | 128 | AM_RANGE(0x4f0000, 0x4f0001) AM_WRITE(dbz_sound_command_w) |
| 130 | 129 | AM_RANGE(0x4f4000, 0x4f4001) AM_WRITE(dbz_sound_cause_nmi) |
| 131 | AM_RANGE(0x4f8000, 0x4f801f) AM_DEVREADWRITE8 | |
| 130 | AM_RANGE(0x4f8000, 0x4f801f) AM_DEVREADWRITE8("k053252", k053252_device, read, write, 0xff00) // 251 #1 | |
| 132 | 131 | AM_RANGE(0x4fc000, 0x4fc01f) AM_DEVWRITE_LEGACY("k053251", k053251_lsb_w) // 251 #2 |
| 133 | 132 | |
| 134 | 133 | AM_RANGE(0x500000, 0x501fff) AM_RAM_WRITE(dbz_bg2_videoram_w) AM_SHARE("bg2_videoram") |
| r23806 | r23807 | |
|---|---|---|
| 24 | 24 | #include "emu.h" |
| 25 | 25 | #include "video/konamiic.h" |
| 26 | 26 | #include "video/k053250.h" |
| 27 | #include "machine/k053252.h" | |
| 28 | 27 | #include "includes/konamigx.h" |
| 29 | 28 | #include "cpu/m68000/m68000.h" |
| 30 | 29 | #include "cpu/z80/z80.h" |
| r23806 | r23807 | |
| 266 | 265 | AM_RANGE(0x498014, 0x498015) AM_READ(sound_status_r) |
| 267 | 266 | AM_RANGE(0x498000, 0x49801f) AM_RAM |
| 268 | 267 | AM_RANGE(0x49a000, 0x49a001) AM_WRITE(sound_irq_w) |
| 269 | AM_RANGE(0x49c000, 0x49c01f) AM_DEVREADWRITE8 | |
| 268 | AM_RANGE(0x49c000, 0x49c01f) AM_DEVREADWRITE8("k053252", k053252_device, read, write, 0x00ff) | |
| 270 | 269 | AM_RANGE(0x49e000, 0x49e007) AM_WRITE(irq_ack_w) // VSCCS (custom) |
| 271 | 270 | AM_RANGE(0x600000, 0x601fff) AM_READWRITE_LEGACY(K056832_ram_word_r,K056832_ram_word_w) |
| 272 | 271 | AM_RANGE(0x602000, 0x603fff) AM_READWRITE_LEGACY(K056832_ram_word_r,K056832_ram_word_w) // tilemap RAM mirror read(essential) |
| r23806 | r23807 | |
| 294 | 293 | AM_RANGE(0x250000, 0x25000f) AM_DEVREADWRITE("k053250_1", k053250_device, reg_r, reg_w) |
| 295 | 294 | AM_RANGE(0x254000, 0x25401f) AM_WRITE_LEGACY(K054338_word_w) |
| 296 | 295 | AM_RANGE(0x258000, 0x2580ff) AM_WRITE_LEGACY(K055555_word_w) |
| 297 | AM_RANGE(0x260000, 0x26001f) AM_DEVREADWRITE8 | |
| 296 | AM_RANGE(0x260000, 0x26001f) AM_DEVREADWRITE8("k053252", k053252_device, read, write, 0x00ff) | |
| 298 | 297 | AM_RANGE(0x264000, 0x264001) AM_WRITE(sound_irq_w) |
| 299 | 298 | AM_RANGE(0x26800c, 0x26800d) AM_WRITE(sound_cmd1_w) |
| 300 | 299 | AM_RANGE(0x26800e, 0x26800f) AM_WRITE(sound_cmd2_w) |
| r23806 | r23807 | |
| 337 | 336 | AM_RANGE(0x254000, 0x25401f) AM_WRITE_LEGACY(K054338_word_w) |
| 338 | 337 | AM_RANGE(0x258000, 0x2580ff) AM_WRITE_LEGACY(K055555_word_w) |
| 339 | 338 | AM_RANGE(0x25c000, 0x25c03f) AM_READWRITE(K055550_word_r,K055550_word_w) |
| 340 | AM_RANGE(0x260000, 0x26001f) AM_DEVREADWRITE8 | |
| 339 | AM_RANGE(0x260000, 0x26001f) AM_DEVREADWRITE8("k053252", k053252_device, read, write, 0x00ff) | |
| 341 | 340 | AM_RANGE(0x264000, 0x264001) AM_WRITE(sound_irq_w) |
| 342 | 341 | AM_RANGE(0x26800c, 0x26800d) AM_WRITE(sound_cmd1_w) |
| 343 | 342 | AM_RANGE(0x26800e, 0x26800f) AM_WRITE(sound_cmd2_w) |
| r23806 | r23807 | |
| 439 | 438 | AM_RANGE(0x41800e, 0x41800f) AM_WRITE(sound_cmd2_w) |
| 440 | 439 | AM_RANGE(0x418000, 0x41801f) AM_RAM // sound regs fall through |
| 441 | 440 | AM_RANGE(0x41a000, 0x41a001) AM_WRITE(sound_irq_w) |
| 442 | AM_RANGE(0x41c000, 0x41c01f) AM_DEVREADWRITE8 | |
| 441 | AM_RANGE(0x41c000, 0x41c01f) AM_DEVREADWRITE8("k053252", k053252_device, read, write, 0x00ff) // CCU | |
| 443 | 442 | AM_RANGE(0x41e000, 0x41e007) AM_WRITE_LEGACY(K056832_b_word_w) // VSCCS |
| 444 | 443 | AM_RANGE(0x480000, 0x483fff) AM_READWRITE(K053247_martchmp_word_r,K053247_martchmp_word_w) AM_SHARE("spriteram") // sprite RAM |
| 445 | 444 | AM_RANGE(0x600000, 0x601fff) AM_RAM_WRITE(paletteram_xrgb_word_be_w) AM_SHARE("paletteram") // palette RAM |
| r23806 | r23807 | |
| 473 | 472 | AM_RANGE(0x480000, 0x48003f) AM_WRITE_LEGACY(K056832_word_w) // VACSET |
| 474 | 473 | AM_RANGE(0x482000, 0x482007) AM_WRITE_LEGACY(K056832_b_word_w) // VSCCS |
| 475 | 474 | AM_RANGE(0x484000, 0x484003) AM_WRITE(ddd_053936_clip_w) |
| 476 | AM_RANGE(0x486000, 0x48601f) AM_DEVREADWRITE8 | |
| 475 | AM_RANGE(0x486000, 0x48601f) AM_DEVREADWRITE8("k053252", k053252_device, read, write, 0x00ff) | |
| 477 | 476 | AM_RANGE(0x488000, 0x4880ff) AM_WRITE_LEGACY(K055555_word_w) |
| 478 | 477 | AM_RANGE(0x48a00c, 0x48a00d) AM_WRITE(sound_cmd1_msb_w) |
| 479 | 478 | AM_RANGE(0x48a00e, 0x48a00f) AM_WRITE(sound_cmd2_msb_w) |
| r23806 | r23807 | |
| 520 | 519 | AM_RANGE(0x480000, 0x48003f) AM_WRITE_LEGACY(K056832_word_w) // VACSET |
| 521 | 520 | AM_RANGE(0x482000, 0x482007) AM_WRITE_LEGACY(K056832_b_word_w) // VSCCS |
| 522 | 521 | AM_RANGE(0x484000, 0x484003) AM_WRITE(ddd_053936_clip_w) |
| 523 | AM_RANGE(0x486000, 0x48601f) AM_DEVREADWRITE8 | |
| 522 | AM_RANGE(0x486000, 0x48601f) AM_DEVREADWRITE8("k053252", k053252_device, read, write, 0x00ff) | |
| 524 | 523 | AM_RANGE(0x488000, 0x4880ff) AM_WRITE_LEGACY(K055555_word_w) |
| 525 | 524 | AM_RANGE(0x48a00c, 0x48a00d) AM_WRITE(sound_cmd1_msb_w) |
| 526 | 525 | AM_RANGE(0x48a00e, 0x48a00f) AM_WRITE(sound_cmd2_msb_w) |
| r23806 | r23807 | |
|---|---|---|
| 43 | 43 | #include "emu.h" |
| 44 | 44 | |
| 45 | 45 | #include "video/konicdev.h" |
| 46 | #include "machine/k053252.h" | |
| 47 | 46 | #include "cpu/m68000/m68000.h" |
| 48 | 47 | #include "cpu/z80/z80.h" |
| 49 | 48 | #include "machine/eeprom.h" |
| r23806 | r23807 | |
| 180 | 179 | AM_RANGE(0x380000, 0x39ffff) AM_RAM // work RAM |
| 181 | 180 | AM_RANGE(0x400000, 0x43ffff) AM_READNOP // AM_READ(K053936_0_rom_r ) // '936 ROM readback window |
| 182 | 181 | AM_RANGE(0x480000, 0x48001f) AM_READWRITE(rng_sysregs_r, rng_sysregs_w) AM_SHARE("sysreg") |
| 183 | AM_RANGE(0x4c0000, 0x4c001f) AM_DEVREADWRITE8 | |
| 182 | AM_RANGE(0x4c0000, 0x4c001f) AM_DEVREADWRITE8("k053252", k053252_device, read, write, 0x00ff) // CCU (for scanline and vblank polling) | |
| 184 | 183 | AM_RANGE(0x540000, 0x540001) AM_WRITE(sound_irq_w) |
| 185 | 184 | AM_RANGE(0x58000c, 0x58000d) AM_WRITE(sound_cmd1_w) |
| 186 | 185 | AM_RANGE(0x58000e, 0x58000f) AM_WRITE(sound_cmd2_w) |
| r23806 | r23807 | |
|---|---|---|
| 84 | 84 | #include "sound/k051649.h" |
| 85 | 85 | #include "includes/konamipt.h" |
| 86 | 86 | #include "includes/hexion.h" |
| 87 | #include "machine/k053252.h" | |
| 88 | 87 | |
| 89 | 88 | |
| 90 | 89 | WRITE8_MEMBER(hexion_state::coincntr_w) |
| r23806 | r23807 | |
| 123 | 122 | AM_RANGE(0xe88a, 0xe88e) AM_DEVWRITE("k051649", k051649_device, k051649_volume_w) |
| 124 | 123 | AM_RANGE(0xe88f, 0xe88f) AM_DEVWRITE("k051649", k051649_device, k051649_keyonoff_w) |
| 125 | 124 | AM_RANGE(0xe8e0, 0xe8ff) AM_DEVREADWRITE("k051649", k051649_device, k051649_test_r, k051649_test_w) |
| 126 | AM_RANGE(0xf000, 0xf00f) AM_DEVREADWRITE | |
| 125 | AM_RANGE(0xf000, 0xf00f) AM_DEVREADWRITE("k053252", k053252_device, read, write) | |
| 127 | 126 | AM_RANGE(0xf200, 0xf200) AM_DEVWRITE("oki", okim6295_device, write) |
| 128 | 127 | AM_RANGE(0xf400, 0xf400) AM_READ_PORT("DSW1") |
| 129 | 128 | AM_RANGE(0xf401, 0xf401) AM_READ_PORT("DSW2") |
| r23806 | r23807 | |
|---|---|---|
| 89 | 89 | #include "emu.h" |
| 90 | 90 | #include "cpu/z80/z80.h" |
| 91 | 91 | #include "video/konicdev.h" |
| 92 | #include "machine/k053252.h" | |
| 93 | 92 | #include "cpu/m6809/konami.h" /* for the callback and the firq irq definition */ |
| 94 | 93 | #include "machine/eeprom.h" |
| 95 | 94 | #include "sound/2151intf.h" |
| r23806 | r23807 | |
| 266 | 265 | AM_RANGE(0x3f93, 0x3f93) AM_READ_PORT("SERVICE") |
| 267 | 266 | AM_RANGE(0x3fa0, 0x3fa7) AM_DEVWRITE_LEGACY("k053246", k053246_w) // 053246 (Sprite) |
| 268 | 267 | AM_RANGE(0x3fb0, 0x3fbf) AM_DEVWRITE_LEGACY("k053251", k053251_w) // 053251 (Priority Encoder) |
| 269 | AM_RANGE(0x3fc0, 0x3fcf) AM_DEVREADWRITE | |
| 268 | AM_RANGE(0x3fc0, 0x3fcf) AM_DEVREADWRITE("k053252", k053252_device, read, write) // Not Emulated (053252 ???) | |
| 270 | 269 | AM_RANGE(0x3fd0, 0x3fd0) AM_WRITE(vendetta_5fe0_w) // Coin Counter, 052109 RMRD, 053246 OBJCHA |
| 271 | 270 | AM_RANGE(0x3fd2, 0x3fd2) AM_WRITE(vendetta_eeprom_w) // EEPROM, Video banking |
| 272 | 271 | AM_RANGE(0x3fd4, 0x3fd4) AM_READWRITE(vendetta_sound_interrupt_r, z80_irq_w) // Sound |
| r23806 | r23807 | |
|---|---|---|
| 26 | 26 | #include "machine/ataintf.h" |
| 27 | 27 | #include "sound/k054539.h" |
| 28 | 28 | #include "video/konicdev.h" |
| 29 | #include "machine/k053252.h" | |
| 30 | 29 | #include "machine/nvram.h" |
| 31 | 30 | #include "includes/qdrmfgp.h" |
| 32 | 31 | |
| r23806 | r23807 | |
| 280 | 279 | AM_RANGE(0x180000, 0x183fff) AM_RAM AM_SHARE("nvram") /* backup ram */ |
| 281 | 280 | AM_RANGE(0x280000, 0x280fff) AM_RAM_WRITE(paletteram_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram") |
| 282 | 281 | AM_RANGE(0x300000, 0x30003f) AM_DEVWRITE_LEGACY("k056832", k056832_word_w) /* video reg */ |
| 283 | AM_RANGE(0x320000, 0x32001f) AM_DEVREADWRITE8 | |
| 282 | AM_RANGE(0x320000, 0x32001f) AM_DEVREADWRITE8("k053252", k053252_device, read, write, 0x00ff) /* ccu */ | |
| 284 | 283 | AM_RANGE(0x330000, 0x330001) AM_READ_PORT("SENSOR") /* battery power & service sw */ |
| 285 | 284 | AM_RANGE(0x340000, 0x340001) AM_READ_PORT("340000") /* inputport */ |
| 286 | 285 | AM_RANGE(0x350000, 0x350001) AM_WRITENOP /* unknown */ |
| r23806 | r23807 | |
| 303 | 302 | AM_RANGE(0x180000, 0x183fff) AM_RAM AM_SHARE("nvram") /* backup ram */ |
| 304 | 303 | AM_RANGE(0x280000, 0x280fff) AM_RAM_WRITE(paletteram_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram") |
| 305 | 304 | AM_RANGE(0x300000, 0x30003f) AM_DEVWRITE_LEGACY("k056832", k056832_word_w) /* video reg */ |
| 306 | AM_RANGE(0x320000, 0x32001f) AM_DEVREADWRITE8 | |
| 305 | AM_RANGE(0x320000, 0x32001f) AM_DEVREADWRITE8("k053252", k053252_device, read, write, 0xff00) /* ccu */ | |
| 307 | 306 | AM_RANGE(0x330000, 0x330001) AM_READ_PORT("SENSOR") /* battery power & service */ |
| 308 | 307 | AM_RANGE(0x340000, 0x340001) AM_READ_PORT("340000") /* inputport */ |
| 309 | 308 | AM_RANGE(0x350000, 0x350001) AM_WRITENOP /* unknown */ |
| r23806 | r23807 | |
|---|---|---|
| 5 | 5 | *************************************************************************/ |
| 6 | 6 | #include "sound/okim6295.h" |
| 7 | 7 | #include "sound/k054539.h" |
| 8 | #include "machine/k053252.h" | |
| 8 | 9 | |
| 9 | 10 | class moo_state : public driver_device |
| 10 | 11 | { |
| r23806 | r23807 | |
| 19 | 20 | m_k054539(*this, "k054539"), |
| 20 | 21 | m_k053246(*this, "k053246"), |
| 21 | 22 | m_k053251(*this, "k053251"), |
| 23 | m_k053252(*this, "k053252"), | |
| 22 | 24 | m_k056832(*this, "k056832"), |
| 23 | 25 | m_k054338(*this, "k054338") { } |
| 24 | 26 | |
| r23806 | r23807 | |
| 45 | 47 | optional_device<k054539_device> m_k054539; |
| 46 | 48 | required_device<k053247_device> m_k053246; |
| 47 | 49 | required_device<k053251_device> m_k053251; |
| 50 | optional_device<k053252_device> m_k053252; | |
| 48 | 51 | required_device<k056832_device> m_k056832; |
| 49 | 52 | required_device<k054338_device> m_k054338; |
| 50 | 53 |
| r23806 | r23807 | |
|---|---|---|
| 4 | 4 | |
| 5 | 5 | *************************************************************************/ |
| 6 | 6 | #include "sound/k053260.h" |
| 7 | #include "machine/k053252.h" | |
| 7 | 8 | |
| 8 | 9 | class overdriv_state : public driver_device |
| 9 | 10 | { |
| r23806 | r23807 | |
| 18 | 19 | m_k051316_1(*this, "k051316_1"), |
| 19 | 20 | m_k051316_2(*this, "k051316_2"), |
| 20 | 21 | m_k053246(*this, "k053246"), |
| 21 | m_k053251(*this, "k053251") { } | |
| 22 | m_k053251(*this, "k053251"), | |
| 23 | m_k053252(*this, "k053252"){ } | |
| 22 | 24 | |
| 23 | 25 | /* memory pointers */ |
| 24 | 26 | // UINT16 * m_paletteram; // currently this uses generic palette handling |
| r23806 | r23807 | |
| 41 | 43 | required_device<k051316_device> m_k051316_2; |
| 42 | 44 | required_device<k053247_device> m_k053246; |
| 43 | 45 | required_device<k053251_device> m_k053251; |
| 46 | required_device<k053252_device> m_k053252; | |
| 44 | 47 | DECLARE_WRITE16_MEMBER(eeprom_w); |
| 45 | 48 | DECLARE_WRITE16_MEMBER(cpuA_ctrl_w); |
| 46 | 49 | DECLARE_READ16_MEMBER(cpuB_ctrl_r); |
| r23806 | r23807 | |
|---|---|---|
| 4 | 4 | |
| 5 | 5 | *************************************************************************/ |
| 6 | 6 | #include "video/konicdev.h" |
| 7 | #include "machine/k053252.h" | |
| 7 | 8 | |
| 8 | 9 | class dbz_state : public driver_device |
| 9 | 10 | { |
| r23806 | r23807 | |
| 16 | 17 | m_audiocpu(*this, "audiocpu"), |
| 17 | 18 | m_k053246(*this, "k053246"), |
| 18 | 19 | m_k053251(*this, "k053251"), |
| 20 | m_k053252(*this, "k053252"), | |
| 19 | 21 | m_k056832(*this, "k056832"), |
| 20 | 22 | m_k053936_1(*this, "k053936_1"), |
| 21 | 23 | m_k053936_2(*this, "k053936_2") { } |
| r23806 | r23807 | |
| 40 | 42 | required_device<cpu_device> m_audiocpu; |
| 41 | 43 | required_device<k053247_device> m_k053246; |
| 42 | 44 | required_device<k053251_device> m_k053251; |
| 45 | required_device<k053252_device> m_k053252; | |
| 43 | 46 | required_device<k056832_device> m_k056832; |
| 44 | 47 | required_device<k053936_device> m_k053936_1; |
| 45 | 48 | required_device<k053936_device> m_k053936_2; |
| r23806 | r23807 | |
|---|---|---|
| 1 | 1 | #include "sound/k054539.h" |
| 2 | #include "machine/k053252.h" | |
| 2 | 3 | |
| 3 | 4 | class mystwarr_state : public konamigx_state |
| 4 | 5 | { |
| 5 | 6 | public: |
| 6 | 7 | mystwarr_state(const machine_config &mconfig, device_type type, const char *tag) |
| 7 | 8 | : konamigx_state(mconfig, type, tag), |
| 9 | m_maincpu(*this,"maincpu"), | |
| 10 | m_k053252(*this, "k053252"), | |
| 8 | 11 | m_gx_workram(*this,"gx_workram"), |
| 9 | m_spriteram(*this,"spriteram"), | |
| 10 | m_maincpu(*this,"maincpu") { } | |
| 12 | m_spriteram(*this,"spriteram") | |
| 13 | { } | |
| 11 | 14 | |
| 15 | required_device<cpu_device> m_maincpu; | |
| 16 | required_device<k053252_device> m_k053252; | |
| 12 | 17 | required_shared_ptr<UINT16> m_gx_workram; |
| 18 | optional_shared_ptr<UINT16> m_spriteram; | |
| 13 | 19 | UINT8 m_mw_irq_control; |
| 14 | 20 | int m_cur_sound_region; |
| 15 | 21 | int m_layer_colorbase[6]; |
| r23806 | r23807 | |
| 23 | 29 | int m_roz_rombank; |
| 24 | 30 | tilemap_t *m_ult_936_tilemap; |
| 25 | 31 | UINT16 m_clip; |
| 26 | optional_shared_ptr<UINT16> m_spriteram; | |
| 27 | ||
| 28 | required_device<cpu_device> m_maincpu; | |
| 32 | ||
| 29 | 33 | DECLARE_READ16_MEMBER(eeprom_r); |
| 30 | 34 | DECLARE_WRITE16_MEMBER(mweeprom_w); |
| 31 | 35 | DECLARE_READ16_MEMBER(dddeeprom_r); |
| r23806 | r23807 | |
|---|---|---|
| 1 | #include "machine/k053252.h" | |
| 2 | ||
| 1 | 3 | class hexion_state : public driver_device |
| 2 | 4 | { |
| 3 | 5 | public: |
| r23806 | r23807 | |
| 3 | 5 | hexion_state(const machine_config &mconfig, device_type type, const char *tag) |
| 4 | 6 | : driver_device(mconfig, type, tag) , |
| 5 | m_maincpu(*this, "maincpu") { } | |
| 6 | ||
| 7 | m_maincpu(*this, "maincpu"), | |
| 8 | m_k053252(*this, "k053252") | |
| 9 | { } | |
| 10 | ||
| 11 | required_device<cpu_device> m_maincpu; | |
| 12 | required_device<k053252_device> m_k053252; | |
| 7 | 13 | UINT8 *m_vram[2]; |
| 8 | 14 | UINT8 *m_unkram; |
| r23806 | r23807 | |
| 26 | 32 | UINT32 screen_update_hexion(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
| 27 | 33 | TIMER_DEVICE_CALLBACK_MEMBER(hexion_scanline); |
| 28 | 34 | inline void get_tile_info(tile_data &tileinfo,int tile_index,UINT8 *ram); |
| 29 | required_device<cpu_device> m_maincpu; | |
| 30 | 35 | }; |
| r23806 | r23807 | |
|---|---|---|
| 4 | 4 | |
| 5 | 5 | *************************************************************************/ |
| 6 | 6 | #include "sound/k053260.h" |
| 7 | #include "machine/k053252.h" | |
| 7 | 8 | |
| 8 | 9 | class rollerg_state : public driver_device |
| 9 | 10 | { |
| r23806 | r23807 | |
| 19 | 20 | m_audiocpu(*this, "audiocpu"), |
| 20 | 21 | m_k053260(*this, "k053260"), |
| 21 | 22 | m_k053244(*this, "k053244"), |
| 22 | m_k051316(*this, "k051316") { } | |
| 23 | m_k051316(*this, "k051316"), | |
| 24 | m_k053252(*this, "k053252") | |
| 25 | { } | |
| 23 | 26 | |
| 24 | 27 | /* memory pointers */ |
| 25 | 28 | // UINT8 * m_paletteram; // currently this uses generic palette handling |
| r23806 | r23807 | |
| 37 | 40 | required_device<k053260_device> m_k053260; |
| 38 | 41 | required_device<k05324x_device> m_k053244; |
| 39 | 42 | required_device<k051316_device> m_k051316; |
| 43 | required_device<k053252_device> m_k053252; | |
| 40 | 44 | DECLARE_WRITE8_MEMBER(rollerg_0010_w); |
| 41 | 45 | DECLARE_READ8_MEMBER(rollerg_k051316_r); |
| 42 | 46 | DECLARE_WRITE8_MEMBER(soundirq_w); |
| r23806 | r23807 | |
|---|---|---|
| 4 | 4 | |
| 5 | 5 | *************************************************************************/ |
| 6 | 6 | #include "sound/k053260.h" |
| 7 | #include "machine/k053252.h" | |
| 7 | 8 | |
| 8 | 9 | class vendetta_state : public driver_device |
| 9 | 10 | { |
| r23806 | r23807 | |
| 21 | 22 | m_k052109(*this, "k052109"), |
| 22 | 23 | m_k053246(*this, "k053246"), |
| 23 | 24 | m_k053251(*this, "k053251"), |
| 25 | m_k053252(*this, "k053252"), | |
| 24 | 26 | m_k054000(*this, "k054000") { } |
| 25 | 27 | |
| 26 | 28 | /* memory pointers */ |
| r23806 | r23807 | |
| 43 | 45 | required_device<k052109_device> m_k052109; |
| 44 | 46 | required_device<k053247_device> m_k053246; |
| 45 | 47 | required_device<k053251_device> m_k053251; |
| 48 | optional_device<k053252_device> m_k053252; | |
| 46 | 49 | optional_device<k054000_device> m_k054000; |
| 47 | 50 | DECLARE_WRITE8_MEMBER(vendetta_eeprom_w); |
| 48 | 51 | DECLARE_READ8_MEMBER(vendetta_K052109_r); |
| r23806 | r23807 | |
|---|---|---|
| 1 | 1 | #include "machine/ataintf.h" |
| 2 | 2 | #include "sound/k054539.h" |
| 3 | #include "machine/k053252.h" | |
| 3 | 4 | |
| 4 | 5 | class qdrmfgp_state : public driver_device |
| 5 | 6 | { |
| r23806 | r23807 | |
| 11 | 12 | m_workram(*this, "workram"), |
| 12 | 13 | m_k056832(*this, "k056832"), |
| 13 | 14 | m_k054539(*this, "k054539"), |
| 15 | m_k053252(*this, "k053252"), | |
| 14 | 16 | m_ata(*this, "ata") |
| 15 | 17 | { |
| 16 | 18 | } |
| r23806 | r23807 | |
| 21 | 23 | required_shared_ptr<UINT16> m_workram; |
| 22 | 24 | required_device<k056832_device> m_k056832; |
| 23 | 25 | required_device<k054539_device> m_k054539; |
| 26 | required_device<k053252_device> m_k053252; | |
| 24 | 27 | required_device<ata_interface_device> m_ata; |
| 25 | 28 | UINT16 m_control; |
| 26 | 29 | INT32 m_gp2_irq_control; |
| Previous | 199869 Revisions | Next |