trunk/src/emu/cpu/hmcs40/hmcs40op.inc
| r244782 | r244783 | |
| 2 | 2 | |
| 3 | 3 | // internal helpers |
| 4 | 4 | |
| 5 | | inline UINT8 hmcs40_cpu_device::ram_r() |
| 6 | | { |
| 7 | | UINT8 address = (m_x << 4 | m_y) & m_datamask; |
| 8 | | return m_data->read_byte(address) & 0xf; |
| 9 | | } |
| 10 | | |
| 11 | | inline void hmcs40_cpu_device::ram_w(UINT8 data) |
| 12 | | { |
| 13 | | UINT8 address = (m_x << 4 | m_y) & m_datamask; |
| 14 | | m_data->write_byte(address, data & 0xf); |
| 15 | | } |
| 16 | | |
| 17 | | void hmcs40_cpu_device::pop_stack() |
| 18 | | { |
| 19 | | m_pc = m_stack[0] & m_prgmask; |
| 20 | | for (int i = 0; i < m_stack_levels-1; i++) |
| 21 | | m_stack[i] = m_stack[i+1]; |
| 22 | | } |
| 23 | | |
| 24 | | void hmcs40_cpu_device::push_stack() |
| 25 | | { |
| 26 | | for (int i = m_stack_levels-1; i >= 1; i--) |
| 27 | | m_stack[i] = m_stack[i-1]; |
| 28 | | m_stack[0] = m_pc; |
| 29 | | } |
| 30 | | |
| 31 | 5 | void hmcs40_cpu_device::op_illegal() |
| 32 | 6 | { |
| 33 | 7 | logerror("%s unknown opcode $%03X at $%04X\n", tag(), m_op, m_pc); |
| r244782 | r244783 | |
| 42 | 16 | void hmcs40_cpu_device::op_lab() |
| 43 | 17 | { |
| 44 | 18 | // LAB: Load A from B |
| 45 | | m_a = m_b; |
| 19 | op_illegal(); |
| 46 | 20 | } |
| 47 | 21 | |
| 48 | 22 | void hmcs40_cpu_device::op_lba() |
| 49 | 23 | { |
| 50 | 24 | // LBA: Load B from A |
| 51 | | m_b = m_a; |
| 25 | op_illegal(); |
| 52 | 26 | } |
| 53 | 27 | |
| 54 | 28 | void hmcs40_cpu_device::op_lay() |
| 55 | 29 | { |
| 56 | 30 | // LAY: Load A from Y |
| 57 | | m_a = m_y; |
| 31 | op_illegal(); |
| 58 | 32 | } |
| 59 | 33 | |
| 60 | 34 | void hmcs40_cpu_device::op_laspx() |
| 61 | 35 | { |
| 62 | 36 | // LASPX: Load A from SPX |
| 63 | | m_a = m_spx; |
| 37 | op_illegal(); |
| 64 | 38 | } |
| 65 | 39 | |
| 66 | 40 | void hmcs40_cpu_device::op_laspy() |
| 67 | 41 | { |
| 68 | 42 | // LASPY: Load A from SPY |
| 69 | | m_a = m_spy; |
| 43 | op_illegal(); |
| 70 | 44 | } |
| 71 | 45 | |
| 72 | 46 | void hmcs40_cpu_device::op_xamr() |
| 73 | 47 | { |
| 74 | 48 | // XAMR m: Exchange A and MR(m) |
| 75 | | |
| 76 | | // determine MR(Memory Register) location |
| 77 | | UINT8 y = m_op & 0xf; |
| 78 | | UINT8 x = (y > 3) ? 0xf : (y + 12); |
| 79 | | UINT8 address = (x << 4 | y) & m_datamask; |
| 80 | | |
| 81 | | UINT8 old_a = m_a; |
| 82 | | m_a = m_data->read_byte(address) & 0xf; |
| 83 | | m_data->write_byte(address, old_a & 0xf); |
| 49 | op_illegal(); |
| 84 | 50 | } |
| 85 | 51 | |
| 86 | 52 | |
| r244782 | r244783 | |
| 89 | 55 | void hmcs40_cpu_device::op_lxa() |
| 90 | 56 | { |
| 91 | 57 | // LXA: Load X from A |
| 92 | | m_x = m_a; |
| 58 | op_illegal(); |
| 93 | 59 | } |
| 94 | 60 | |
| 95 | 61 | void hmcs40_cpu_device::op_lya() |
| 96 | 62 | { |
| 97 | 63 | // LYA: Load Y from A |
| 98 | | m_y = m_a; |
| 64 | op_illegal(); |
| 99 | 65 | } |
| 100 | 66 | |
| 101 | 67 | void hmcs40_cpu_device::op_lxi() |
| 102 | 68 | { |
| 103 | 69 | // LXI i: Load X from Immediate |
| 104 | | m_x = m_op & 0xf; |
| 70 | op_illegal(); |
| 105 | 71 | } |
| 106 | 72 | |
| 107 | 73 | void hmcs40_cpu_device::op_lyi() |
| 108 | 74 | { |
| 109 | 75 | // LYI i: Load Y from Immediate |
| 110 | | m_y = m_op & 0xf; |
| 76 | op_illegal(); |
| 111 | 77 | } |
| 112 | 78 | |
| 113 | 79 | void hmcs40_cpu_device::op_iy() |
| 114 | 80 | { |
| 115 | 81 | // IY: Increment Y |
| 116 | | m_y = (m_y + 1) & 0xf; |
| 117 | | m_s = (m_y != 0); |
| 82 | op_illegal(); |
| 118 | 83 | } |
| 119 | 84 | |
| 120 | 85 | void hmcs40_cpu_device::op_dy() |
| 121 | 86 | { |
| 122 | 87 | // DY: Decrement Y |
| 123 | | m_y = (m_y - 1) & 0xf; |
| 124 | | m_s = (m_y != 0xf); |
| 88 | op_illegal(); |
| 125 | 89 | } |
| 126 | 90 | |
| 127 | 91 | void hmcs40_cpu_device::op_ayy() |
| 128 | 92 | { |
| 129 | 93 | // AYY: Add A to Y |
| 130 | | m_y += m_a; |
| 131 | | m_s = m_y >> 4 & 1; |
| 132 | | m_y &= 0xf; |
| 94 | op_illegal(); |
| 133 | 95 | } |
| 134 | 96 | |
| 135 | 97 | void hmcs40_cpu_device::op_syy() |
| 136 | 98 | { |
| 137 | 99 | // SYY: Subtract A from Y |
| 138 | | m_y -= m_a; |
| 139 | | m_s = ~m_y >> 4 & 1; |
| 140 | | m_y &= 0xf; |
| 100 | op_illegal(); |
| 141 | 101 | } |
| 142 | 102 | |
| 143 | 103 | void hmcs40_cpu_device::op_xspx() |
| 144 | 104 | { |
| 145 | 105 | // XSPX: Exchange X and SPX |
| 146 | | UINT8 old_x = m_x; |
| 147 | | m_x = m_spx; |
| 148 | | m_spx = old_x; |
| 106 | op_illegal(); |
| 149 | 107 | } |
| 150 | 108 | |
| 151 | | void hmcs40_cpu_device::op_xspy() |
| 109 | void hmcs40_cpu_device::op_sxpy() |
| 152 | 110 | { |
| 153 | | // XSPY: Exchange Y and SPY |
| 154 | | UINT8 old_y = m_y; |
| 155 | | m_y = m_spy; |
| 156 | | m_spy = old_y; |
| 111 | // SXPY: Exchange Y and SPY |
| 112 | op_illegal(); |
| 157 | 113 | } |
| 158 | 114 | |
| 159 | 115 | void hmcs40_cpu_device::op_xspxy() |
| 160 | 116 | { |
| 161 | 117 | // XSPXY: Exchange X and SPX, Y and SPY |
| 162 | | op_xspx(); |
| 163 | | op_xspy(); |
| 118 | op_illegal(); |
| 164 | 119 | } |
| 165 | 120 | |
| 166 | 121 | |
| r244782 | r244783 | |
| 169 | 124 | void hmcs40_cpu_device::op_lam() |
| 170 | 125 | { |
| 171 | 126 | // LAM (XY): Load A from Memory |
| 172 | | m_a = ram_r(); |
| 173 | | op_xspxy(); |
| 127 | op_illegal(); |
| 174 | 128 | } |
| 175 | 129 | |
| 176 | 130 | void hmcs40_cpu_device::op_lbm() |
| 177 | 131 | { |
| 178 | 132 | // LBM (XY): Load B from Memory |
| 179 | | m_b = ram_r(); |
| 180 | | op_xspxy(); |
| 133 | op_illegal(); |
| 181 | 134 | } |
| 182 | 135 | |
| 183 | 136 | void hmcs40_cpu_device::op_xma() |
| 184 | 137 | { |
| 185 | 138 | // XMA (XY): Exchange Memory and A |
| 186 | | UINT8 old_a = m_a; |
| 187 | | m_a = ram_r(); |
| 188 | | ram_w(old_a); |
| 189 | | op_xspxy(); |
| 139 | op_illegal(); |
| 190 | 140 | } |
| 191 | 141 | |
| 192 | 142 | void hmcs40_cpu_device::op_xmb() |
| 193 | 143 | { |
| 194 | 144 | // XMB (XY): Exchange Memory and B |
| 195 | | UINT8 old_b = m_b; |
| 196 | | m_b = ram_r(); |
| 197 | | ram_w(old_b); |
| 198 | | op_xspxy(); |
| 145 | op_illegal(); |
| 199 | 146 | } |
| 200 | 147 | |
| 201 | 148 | void hmcs40_cpu_device::op_lmaiy() |
| 202 | 149 | { |
| 203 | 150 | // LMAIY (X): Load Memory from A, Increment Y |
| 204 | | ram_w(m_a); |
| 205 | | op_iy(); |
| 206 | | op_xspx(); |
| 151 | op_illegal(); |
| 207 | 152 | } |
| 208 | 153 | |
| 209 | 154 | void hmcs40_cpu_device::op_lmady() |
| 210 | 155 | { |
| 211 | 156 | // LMADY (X): Load Memory from A, Decrement Y |
| 212 | | ram_w(m_a); |
| 213 | | op_dy(); |
| 214 | | op_xspx(); |
| 157 | op_illegal(); |
| 215 | 158 | } |
| 216 | 159 | |
| 217 | 160 | |
| r244782 | r244783 | |
| 220 | 163 | void hmcs40_cpu_device::op_lmiiy() |
| 221 | 164 | { |
| 222 | 165 | // LMIIY i: Load Memory from Immediate, Increment Y |
| 223 | | ram_w(m_op & 0xf); |
| 224 | | op_iy(); |
| 166 | op_illegal(); |
| 225 | 167 | } |
| 226 | 168 | |
| 227 | 169 | void hmcs40_cpu_device::op_lai() |
| 228 | 170 | { |
| 229 | 171 | // LAI i: Load A from Immediate |
| 230 | | m_a = m_op & 0xf; |
| 172 | op_illegal(); |
| 231 | 173 | } |
| 232 | 174 | |
| 233 | 175 | void hmcs40_cpu_device::op_lbi() |
| 234 | 176 | { |
| 235 | 177 | // LBI i: Load B from Immediate |
| 236 | | m_b = m_op & 0xf; |
| 178 | op_illegal(); |
| 237 | 179 | } |
| 238 | 180 | |
| 239 | 181 | |
trunk/src/mame/drivers/madalien.c
| r244782 | r244783 | |
| 190 | 190 | ROM_START( madalien ) |
| 191 | 191 | ROM_REGION( 0x10000, "maincpu", 0 ) /* main CPU */ |
| 192 | 192 | ROM_LOAD( "m7.3f", 0xc000, 0x0800, CRC(4d12f89d) SHA1(e155f9135bc2bea56e211052f2b74d25e76308c8) ) |
| 193 | | ROM_LOAD( "m6.3h", 0xc800, 0x0800, CRC(1bc4a57b) SHA1(02252b868d0c07c0a18240e9d831c303cdcfa9a6) ) |
| 193 | ROM_LOAD( "m6.3hj", 0xc800, 0x0800, CRC(1bc4a57b) SHA1(02252b868d0c07c0a18240e9d831c303cdcfa9a6) ) |
| 194 | 194 | ROM_LOAD( "m5.3k", 0xd000, 0x0800, CRC(8db99572) SHA1(f8cf22f8c134b47756b7f02c5ca0217100466744) ) |
| 195 | 195 | ROM_LOAD( "m4.3l", 0xd800, 0x0800, CRC(fba671af) SHA1(dd74bd357c82d525948d836a7f860bbb3182c825) ) |
| 196 | 196 | ROM_LOAD( "m3.4f", 0xe000, 0x0800, CRC(1aad640d) SHA1(9ace7d2c5ef9e789c2b8cc65420b19ce72cd95fa) ) |
| 197 | | ROM_LOAD( "m2.4h", 0xe800, 0x0800, CRC(cbd533a0) SHA1(d3be81fb9ba40e30e5ff0171efd656b11dd20f2b) ) |
| 197 | ROM_LOAD( "m2.4hj", 0xe800, 0x0800, CRC(cbd533a0) SHA1(d3be81fb9ba40e30e5ff0171efd656b11dd20f2b) ) |
| 198 | 198 | ROM_LOAD( "m1.4k", 0xf000, 0x0800, CRC(ad654b1d) SHA1(f8b365dae3801e97e04a10018a790d3bdb5d9439) ) |
| 199 | 199 | ROM_LOAD( "m0.4l", 0xf800, 0x0800, CRC(cf7aa787) SHA1(f852cc806ecc582661582326747974a14f50174a) ) |
| 200 | 200 | |
| 201 | 201 | ROM_REGION( 0x10000, "audiocpu", 0 ) /* audio CPU */ |
| 202 | | ROM_LOAD( "m8", 0xf800, 0x0400, CRC(cfd19dab) SHA1(566dc84ffe9bcaeb112250a9e1882bf62f47b579) ) |
| 203 | | ROM_LOAD( "m9", 0xfc00, 0x0400, CRC(48f30f24) SHA1(9c0bf6e43b143d6af1ebb9dad2bdc2b53eb2e48e) ) |
| 202 | ROM_LOAD( "m8.4de", 0xf800, 0x0400, CRC(cfd19dab) SHA1(566dc84ffe9bcaeb112250a9e1882bf62f47b579) ) |
| 203 | ROM_LOAD( "m9.3de", 0xfc00, 0x0400, CRC(48f30f24) SHA1(9c0bf6e43b143d6af1ebb9dad2bdc2b53eb2e48e) ) |
| 204 | 204 | |
| 205 | ROM_REGION( 0x0400, "gfx2", 0 ) /* headlight */ |
| 206 | ROM_LOAD( "ma-.2bc", 0x0000, 0x0400, CRC(aab16446) SHA1(d2342627cc2766004343f27515d8a7989d5fe932) ) |
| 207 | |
| 208 | ROM_REGION( 0x0400, "user1", 0 ) /* background tile map */ |
| 209 | ROM_LOAD( "mf.4h", 0x0000, 0x0400, CRC(e9cba773) SHA1(356c7edb1b412a9e04f0747e780c945af8791c55) ) |
| 210 | |
| 205 | 211 | ROM_REGION( 0x0c00, "gfx1", 0 ) /* background tiles */ |
| 206 | 212 | ROM_LOAD( "mc.3k", 0x0000, 0x0400, CRC(2daadfb7) SHA1(8be084a39b256e538fd57111e92d47115cb142cd) ) |
| 207 | 213 | ROM_LOAD( "md.3l", 0x0400, 0x0400, CRC(3ee1287a) SHA1(33bc59a8d09d22f3db80f881c2f37aa788718138) ) |
| 208 | 214 | ROM_LOAD( "me.3m", 0x0800, 0x0400, CRC(45a5c201) SHA1(ac600afeabf494634c3189d8e96644bd0deb45f3) ) |
| 209 | 215 | |
| 210 | | ROM_REGION( 0x0400, "gfx2", 0 ) /* headlight */ |
| 211 | | ROM_LOAD( "ma.2b", 0x0000, 0x0400, CRC(aab16446) SHA1(d2342627cc2766004343f27515d8a7989d5fe932) ) |
| 216 | ROM_REGION( 0x0800, "user2", 0 ) /* shifting table */ |
| 217 | ROM_LOAD( "mb-.5cd", 0x0000, 0x0800, CRC(cb801e49) SHA1(7444c4af7cf07e5fdc54044d62ea4fcb201b2b8b) ) |
| 212 | 218 | |
| 213 | | ROM_REGION( 0x0400, "user1", 0 ) /* background tile map */ |
| 214 | | ROM_LOAD( "mf.4h", 0x0000, 0x0400, CRC(e9cba773) SHA1(356c7edb1b412a9e04f0747e780c945af8791c55) ) |
| 215 | | |
| 216 | | ROM_REGION( 0x0800, "user2", 0 ) /* shifting table */ |
| 217 | | ROM_LOAD( "mb.5c", 0x0000, 0x0800, CRC(cb801e49) SHA1(7444c4af7cf07e5fdc54044d62ea4fcb201b2b8b) ) |
| 218 | | |
| 219 | 219 | ROM_REGION( 0x0020, "proms", 0 ) /* color PROM */ |
| 220 | | ROM_LOAD( "mg.7f", 0x0000, 0x0020, CRC(3395b31f) SHA1(26235fb448a4180c58f0887e53a29c17857b3b34) ) |
| 220 | ROM_LOAD( "mg.7e", 0x0000, 0x0020, CRC(3395b31f) SHA1(26235fb448a4180c58f0887e53a29c17857b3b34) ) |
| 221 | 221 | ROM_END |
| 222 | 222 | |
| 223 | 223 | |
| r244782 | r244783 | |
| 369 | 369 | ***************************************************************************/ |
| 370 | 370 | |
| 371 | 371 | ROM_START( madaliena ) |
| 372 | ROM_REGION(0x10000, "maincpu", 0) /* main CPU */ |
| 373 | ROM_LOAD("mk-6.c4", 0xb000, 0x0800, CRC(90be68af) SHA1(472ccfd2e04d6d49be47d919cba0c55d850b2887) ) |
| 374 | ROM_LOAD("mj-6.4e", 0xb800, 0x0800, CRC(aba10cbb) SHA1(6ca213ded8ed7f4f310ab5ae25220cf867dd1d00) ) |
| 375 | ROM_LOAD("m7-6.3f", 0xc000, 0x0800, CRC(c3af484c) SHA1(c3667526d3b5aeee68823f92826053e657512851) ) |
| 376 | ROM_LOAD("m6-6.3hj", 0xc800, 0x0800, CRC(78ca5a87) SHA1(729d69ee63c710241a098471e9769063dfe8ef1e) ) |
| 377 | ROM_LOAD("m5-6.3k", 0xd000, 0x0800, CRC(070e81ea) SHA1(006831f4bf289812e4e87a3ece7885e8b901f2f5) ) |
| 378 | ROM_LOAD("m4-6.3l", 0xd800, 0x0800, CRC(98225cb0) SHA1(ca74f5e33fa9116215b03abadd5d09840c04fb0b) ) |
| 379 | ROM_LOAD("m3-6.4f", 0xe000, 0x0800, CRC(52fea0fc) SHA1(443fd859daf4279d5976256a4b1c970b520661a2) ) |
| 380 | ROM_LOAD("m2-6.4hj", 0xe800, 0x0800, CRC(dba6c4f6) SHA1(51f815fc7eb99a05eee6204de2d4cad1734adc52) ) |
| 381 | ROM_LOAD("m1-6.4k", 0xf000, 0x0800, CRC(06991af6) SHA1(19112306529721222b6e1c07920348c263d8b8aa) ) |
| 382 | ROM_LOAD("m0-6.4l", 0xf800, 0x0800, CRC(57752b47) SHA1(a34d3150ea9082889154042dbea3386f71322a78) ) |
| 383 | |
| 384 | ROM_REGION( 0x10000, "audiocpu", 0 ) /* audio CPU */ |
| 385 | ROM_LOAD( "m8-1.4de", 0xf800, 0x0400, CRC(46162e7e) SHA1(7ed85f4a9ac58d6d9bafba0c843a16c269656563) ) |
| 386 | ROM_LOAD( "m9-1.3de", 0xfc00, 0x0400, CRC(4175f5c4) SHA1(45cae8a1fcfd34b91c63cc7e544a32922da14f16) ) |
| 387 | |
| 388 | ROM_REGION( 0x0400, "gfx2", 0 ) /* headlight */ |
| 389 | ROM_LOAD( "ma-.2bc", 0x0000, 0x0400, CRC(aab16446) SHA1(d2342627cc2766004343f27515d8a7989d5fe932) ) |
| 390 | |
| 391 | // same gfx and tilemap as 'madalien' set but in double size roms, 2nd half empty |
| 392 | ROM_REGION( 0x0800, "user1", 0 ) /* background tile map */ |
| 393 | ROM_LOAD( "mf.4h", 0x0000, 0x0800, CRC(5c1e1602) SHA1(5ea8b3e9381364fed1030221fd5cdda318edaa1a) ) |
| 394 | |
| 395 | ROM_REGION( 0x1800, "gfx1", 0 ) /* background tiles */ |
| 396 | ROM_LOAD( "mc.3k", 0x0000, 0x0800, CRC(75072223) SHA1(3c292698683d20d83d512cc4d17c6578da19e29d) ) |
| 397 | ROM_LOAD( "me.3l", 0x0800, 0x0800, CRC(740f606d) SHA1(a430ee1333d2d85381eaf197570799a694301d2d) ) |
| 398 | ROM_LOAD( "md.3m", 0x1000, 0x0800, CRC(7813dd11) SHA1(49bcdbbad13a5b9dc7ea43b8cdc564f6a8697148) ) |
| 399 | |
| 400 | ROM_REGION( 0x0800, "user2", 0 ) /* shifting table */ |
| 401 | ROM_LOAD( "mb-.5cd", 0x0000, 0x0800, CRC(cb801e49) SHA1(7444c4af7cf07e5fdc54044d62ea4fcb201b2b8b) ) |
| 402 | |
| 403 | ROM_REGION( 0x0020, "proms", 0 ) /* color PROM */ |
| 404 | ROM_LOAD( "prom.7e", 0x0000, 0x0020, CRC(e622396a) SHA1(8972704bd25fed462e25c453771cc5ca4fc74034) ) |
| 405 | ROM_END |
| 406 | |
| 407 | // This set has the same ROMs as 'madaliena' except it uses a different set of tile roms and background tilemap, much closer to |
| 408 | // 'Highway Chase' on the Cassette system with a Desert theme instead of a Vegas one (only the design on the 2nd tile differs slightly) |
| 409 | // unfortuantely one of the ROMs was damaged and due to the single tile being different we can't use GFX extracted from the cassette |
| 410 | // version. |
| 411 | ROM_START( madalienb ) |
| 372 | 412 | ROM_REGION( 0x10000, "maincpu", 0 ) /* main CPU */ |
| 373 | | ROM_LOAD( "2716.4c", 0xb000, 0x0800, CRC(90be68af) SHA1(472ccfd2e04d6d49be47d919cba0c55d850b2887) ) |
| 374 | | ROM_LOAD( "2716.4e", 0xb800, 0x0800, CRC(aba10cbb) SHA1(6ca213ded8ed7f4f310ab5ae25220cf867dd1d00) ) |
| 375 | | ROM_LOAD( "2716.3f", 0xc000, 0x0800, CRC(c3af484c) SHA1(c3667526d3b5aeee68823f92826053e657512851) ) |
| 376 | | ROM_LOAD( "2716.3h", 0xc800, 0x0800, CRC(78ca5a87) SHA1(729d69ee63c710241a098471e9769063dfe8ef1e) ) |
| 377 | | ROM_LOAD( "2716.3k", 0xd000, 0x0800, CRC(070e81ea) SHA1(006831f4bf289812e4e87a3ece7885e8b901f2f5) ) |
| 378 | | ROM_LOAD( "2716.3l", 0xd800, 0x0800, CRC(98225cb0) SHA1(ca74f5e33fa9116215b03abadd5d09840c04fb0b) ) |
| 379 | | ROM_LOAD( "2716.4f", 0xe000, 0x0800, CRC(52fea0fc) SHA1(443fd859daf4279d5976256a4b1c970b520661a2) ) |
| 380 | | ROM_LOAD( "2716.4h", 0xe800, 0x0800, CRC(dba6c4f6) SHA1(51f815fc7eb99a05eee6204de2d4cad1734adc52) ) |
| 381 | | ROM_LOAD( "2716.4k", 0xf000, 0x0800, CRC(06991af6) SHA1(19112306529721222b6e1c07920348c263d8b8aa) ) |
| 382 | | ROM_LOAD( "2716.4l", 0xf800, 0x0800, CRC(57752b47) SHA1(a34d3150ea9082889154042dbea3386f71322a78) ) |
| 413 | ROM_LOAD("mk-6.c4", 0xb000, 0x0800, CRC(90be68af) SHA1(472ccfd2e04d6d49be47d919cba0c55d850b2887) ) |
| 414 | ROM_LOAD("mj-6.4e", 0xb800, 0x0800, CRC(aba10cbb) SHA1(6ca213ded8ed7f4f310ab5ae25220cf867dd1d00) ) |
| 415 | ROM_LOAD("m7-6.3f", 0xc000, 0x0800, CRC(c3af484c) SHA1(c3667526d3b5aeee68823f92826053e657512851) ) |
| 416 | ROM_LOAD("m6-6.3hj", 0xc800, 0x0800, CRC(78ca5a87) SHA1(729d69ee63c710241a098471e9769063dfe8ef1e) ) |
| 417 | ROM_LOAD("m5-6.3k", 0xd000, 0x0800, CRC(070e81ea) SHA1(006831f4bf289812e4e87a3ece7885e8b901f2f5) ) |
| 418 | ROM_LOAD("m4-6.3l", 0xd800, 0x0800, CRC(98225cb0) SHA1(ca74f5e33fa9116215b03abadd5d09840c04fb0b) ) |
| 419 | ROM_LOAD("m3-6.4f", 0xe000, 0x0800, CRC(52fea0fc) SHA1(443fd859daf4279d5976256a4b1c970b520661a2) ) |
| 420 | ROM_LOAD("m2-6.4hj", 0xe800, 0x0800, CRC(dba6c4f6) SHA1(51f815fc7eb99a05eee6204de2d4cad1734adc52) ) |
| 421 | ROM_LOAD("m1-6.4k", 0xf000, 0x0800, CRC(06991af6) SHA1(19112306529721222b6e1c07920348c263d8b8aa) ) |
| 422 | ROM_LOAD("m0-6.4l", 0xf800, 0x0800, CRC(57752b47) SHA1(a34d3150ea9082889154042dbea3386f71322a78) ) |
| 383 | 423 | |
| 384 | 424 | ROM_REGION( 0x10000, "audiocpu", 0 ) /* audio CPU */ |
| 385 | | ROM_LOAD( "8_2708.4d", 0xf800, 0x0400, CRC(46162e7e) SHA1(7ed85f4a9ac58d6d9bafba0c843a16c269656563) ) |
| 386 | | ROM_LOAD( "9_2708.3d", 0xfc00, 0x0400, CRC(4175f5c4) SHA1(45cae8a1fcfd34b91c63cc7e544a32922da14f16) ) |
| 425 | ROM_LOAD( "m8-1.4de", 0xf800, 0x0400, CRC(46162e7e) SHA1(7ed85f4a9ac58d6d9bafba0c843a16c269656563) ) |
| 426 | ROM_LOAD( "m9-1.3de", 0xfc00, 0x0400, CRC(4175f5c4) SHA1(45cae8a1fcfd34b91c63cc7e544a32922da14f16) ) |
| 387 | 427 | |
| 428 | ROM_REGION( 0x0400, "gfx2", 0 ) /* headlight */ |
| 429 | ROM_LOAD( "ma-.2bc", 0x0000, 0x0400, CRC(aab16446) SHA1(d2342627cc2766004343f27515d8a7989d5fe932) ) |
| 430 | |
| 431 | ROM_REGION( 0x0400, "user1", 0 ) /* background tile map */ |
| 432 | ROM_LOAD( "mf-1.4h", 0x0000, 0x0400, CRC(9b04c446) SHA1(918013f3c0244ab6a670b9d1b6b642298e2c5ab8) ) |
| 433 | |
| 388 | 434 | ROM_REGION( 0x0c00, "gfx1", 0 ) /* background tiles */ |
| 389 | 435 | ROM_LOAD( "mc-1.3k", 0x0000, 0x0400, NO_DUMP ) |
| 390 | 436 | ROM_LOAD( "me-1.3l", 0x0400, 0x0400, CRC(7328a425) SHA1(327adc8b0e25d93f1ae98a44c26d0aaaac1b1a9c) ) |
| 391 | 437 | ROM_LOAD( "md-1.3m", 0x0800, 0x0400, CRC(b5329929) SHA1(86890e1b7cc8cb31fc0dcbc2d3cff02e4cf95619) ) |
| 392 | 438 | |
| 393 | | ROM_REGION( 0x0400, "gfx2", 0 ) /* headlight */ |
| 394 | | ROM_LOAD( "ma.2b", 0x0000, 0x0400, CRC(aab16446) SHA1(d2342627cc2766004343f27515d8a7989d5fe932) ) |
| 395 | | |
| 396 | | ROM_REGION( 0x0400, "user1", 0 ) /* background tile map */ |
| 397 | | ROM_LOAD( "mf-1.4h", 0x0000, 0x0400, CRC(9b04c446) SHA1(918013f3c0244ab6a670b9d1b6b642298e2c5ab8) ) |
| 398 | | |
| 399 | 439 | ROM_REGION( 0x0800, "user2", 0 ) /* shifting table */ |
| 400 | | ROM_LOAD( "mb.5c", 0x0000, 0x0800, CRC(cb801e49) SHA1(7444c4af7cf07e5fdc54044d62ea4fcb201b2b8b) ) |
| 440 | ROM_LOAD( "mb-.5cd", 0x0000, 0x0800, CRC(cb801e49) SHA1(7444c4af7cf07e5fdc54044d62ea4fcb201b2b8b) ) |
| 401 | 441 | |
| 402 | 442 | ROM_REGION( 0x0020, "proms", 0 ) /* color PROM */ |
| 403 | | ROM_LOAD( "mg-1.7f", 0x0000, 0x0020, CRC(e622396a) SHA1(8972704bd25fed462e25c453771cc5ca4fc74034) ) |
| 443 | ROM_LOAD( "prom.7e", 0x0000, 0x0020, CRC(e622396a) SHA1(8972704bd25fed462e25c453771cc5ca4fc74034) ) |
| 404 | 444 | ROM_END |
| 405 | 445 | |
| 406 | | |
| 407 | 446 | /* set parent machine inp init */ |
| 408 | | GAME( 1980, madalien, 0, madalien, madalien, driver_device, 0, ROT270, "Data East Corporation", "Mad Alien", GAME_SUPPORTS_SAVE ) |
| 409 | | GAME( 1980, madaliena,madalien, madalien, madalien, driver_device, 0, ROT270, "Data East Corporation", "Mad Alien (Highway Chase)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE ) |
| 447 | GAME( 1980, madalien, 0, madalien, madalien, driver_device, 0, ROT270, "Data East Corporation", "Mad Alien (set 1)", GAME_SUPPORTS_SAVE ) |
| 448 | GAME( 1980, madaliena,madalien, madalien, madalien, driver_device, 0, ROT270, "Data East Corporation", "Mad Alien (set 2)", GAME_SUPPORTS_SAVE ) |
| 449 | GAME( 1980, madalienb,madalien, madalien, madalien, driver_device, 0, ROT270, "Data East Corporation", "Mad Alien (set 2, alt gfx)", GAME_SUPPORTS_SAVE ) |