Previous 199869 Revisions Next

r36271 Thursday 5th March, 2015 at 20:15:51 UTC by David Haywood
Mad Alien stuff [Andrew Welburn]

Andrew dumped a Mad Alien set from his PCB, everything (including program ROMs and PROM) matched the 'madaliena' set in MAME apart from the bg graphics + bg tilemap ROM

Unfortunately one of the unique things about the madaliena set was the gfx, which were closer to the 'Highway Chase' graphics (Desert / Boat themed instead of Vegas themed) however, the PCB it was dumped from had a bad rom.  I was hoping Andrew's set would provde us with the good gfx rom, but as his gfx matched the parent set instead, it didn't.   I can't repair it  using gfx extracted from Highway chase either as one of the tiles is unique.

Rather than removing the set with the unique gfx (albeit one rom missing) I've renamed it to 'madalienb' in the hope that a board with the proper ROMs for it shows up one day, I'm guessing it will have 'mc-1' etc. naming on the gfx roms, as the other two sets are simply 'mc.3k'  Andrew's set is now 'madaliena'
[src/emu/cpu/hmcs40]hmcs40.c hmcs40.h hmcs40op.inc
[src/mame]mame.lst
[src/mame/drivers]madalien.c

trunk/src/emu/cpu/hmcs40/hmcs40.c
r244782r244783
6565
6666static ADDRESS_MAP_START(data_160x4, AS_DATA, 8, hmcs40_cpu_device)
6767   AM_RANGE(0x00, 0x7f) AM_RAM
68   AM_RANGE(0x80, 0x8f) AM_RAM AM_MIRROR(0x30)
69   AM_RANGE(0xc0, 0xcf) AM_RAM AM_MIRROR(0x30)
68   AM_RANGE(0x80, 0x9f) AM_RAM AM_MIRROR(0x70)
7069ADDRESS_MAP_END
7170
7271
r244782r244783
9695         );
9796         break;
9897
99      case STATE_GENPC:
100         string.printf("%03X", m_pc << 1);
101         break;
102
10398      default: break;
10499   }
105100}
r244782r244783
128123   m_data = &space(AS_DATA);
129124   m_prgmask = (1 << m_prgwidth) - 1;
130125   m_datamask = (1 << m_datawidth) - 1;
131   m_xmask = (1 << (m_datawidth - 4)) - 1;
132126
133127   m_read_d.resolve_safe(0);
134128   m_write_d.resolve_safe();
r244782r244783
136130   // zerofill
137131   memset(m_stack, 0, sizeof(m_stack));
138132   m_op = 0;
139   m_arg = 0;
140133   m_pc = 0;
141134   m_a = 0;
142135   m_b = 0;
r244782r244783
150143   // register for savestates
151144   save_item(NAME(m_stack));
152145   save_item(NAME(m_op));
153   save_item(NAME(m_arg));
154146   save_item(NAME(m_pc));
155147   save_item(NAME(m_a));
156148   save_item(NAME(m_b));
r244782r244783
170162   state_add(HMCS40_Y,   "Y",   m_y).formatstr("%01X");
171163   state_add(HMCS40_SPY, "SPY", m_spy).formatstr("%01X");
172164
173   state_add(STATE_GENPC, "curpc", m_pc).formatstr("%03X").noshow();
165   state_add(STATE_GENPC, "curpc", m_pc).formatstr("%04X").noshow();
174166   state_add(STATE_GENFLAGS, "GENFLAGS", m_s).formatstr("%2s").noshow();
175167
176168   m_icountptr = &m_icount;
r244782r244783
184176
185177void hmcs40_cpu_device::device_reset()
186178{
187   m_pc = 0xffff & m_prgmask;
179   m_pc = 0;
188180   m_op = 0;
189181}
190182
r244782r244783
194186//  execute
195187//-------------------------------------------------
196188
197inline void hmcs40_cpu_device::increment_pc()
198{
199   // PC lower bits is a LFSR identical to TI TMS1000
200   UINT8 mask = 0x3f;
201   UINT8 low = m_pc & mask;
202   int fb = (low << 1 & 0x20) == (low & 0x20);
203
204   if (low == (mask >> 1))
205      fb = 1;
206   else if (low == mask)
207      fb = 0;
208
209   m_pc = (m_pc & ~mask) | ((m_pc << 1 | fb) & mask);
210}
211
212inline void hmcs40_cpu_device::fetch_arg()
213{
214   // P is the only 2-byte opcode
215   if (m_op == 0x3ff)
216   {
217      m_icount--;
218      m_arg = m_program->read_word(m_pc << 1);
219      increment_pc();
220   }
221}
222
223189void hmcs40_cpu_device::execute_run()
224190{
225191   while (m_icount > 0)
226192   {
227193      m_icount--;
228194     
229      debugger_instruction_hook(this, m_pc << 1);
230      m_op = m_program->read_word(m_pc << 1);
231      increment_pc();
232      fetch_arg();
195      debugger_instruction_hook(this, m_pc);
196      m_op = m_program->read_byte(m_pc);
197      m_pc = (m_pc + 1) & m_prgmask;
233198   }
234199}
trunk/src/emu/cpu/hmcs40/hmcs40.h
r244782r244783
6868   int m_datawidth;
6969   int m_prgmask;
7070   int m_datamask;
71   int m_xmask;
7271   int m_stack_levels; // number of callstack levels
7372   UINT16 m_stack[4];  // max 4
7473   UINT16 m_op;
75   UINT16 m_arg;
7674   int m_icount;
7775   
7876   UINT16 m_pc;        // Program Counter
r244782r244783
8987   devcb_read16 m_read_d;
9088   devcb_write16 m_write_d;
9189
92   // misc internal helpers
93   void increment_pc();
94   void fetch_arg();
95
96   UINT8 ram_r();
97   void ram_w(UINT8 data);
98   void pop_stack();
99   void push_stack();
100
10190   // opcode handlers
10291   void op_lab();
10392   void op_lba();
r244782r244783
115104   void op_ayy();
116105   void op_syy();
117106   void op_xspx();
118   void op_xspy();
107   void op_sxpy();
119108   void op_xspxy();
120109
121110   void op_lam();
trunk/src/emu/cpu/hmcs40/hmcs40op.inc
r244782r244783
22
33// internal helpers
44
5inline 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
11inline 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
17void 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
24void 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
315void hmcs40_cpu_device::op_illegal()
326{
337   logerror("%s unknown opcode $%03X at $%04X\n", tag(), m_op, m_pc);
r244782r244783
4216void hmcs40_cpu_device::op_lab()
4317{
4418   // LAB: Load A from B
45   m_a = m_b;
19   op_illegal();
4620}
4721
4822void hmcs40_cpu_device::op_lba()
4923{
5024   // LBA: Load B from A
51   m_b = m_a;
25   op_illegal();
5226}
5327
5428void hmcs40_cpu_device::op_lay()
5529{
5630   // LAY: Load A from Y
57   m_a = m_y;
31   op_illegal();
5832}
5933
6034void hmcs40_cpu_device::op_laspx()
6135{
6236   // LASPX: Load A from SPX
63   m_a = m_spx;
37   op_illegal();
6438}
6539
6640void hmcs40_cpu_device::op_laspy()
6741{
6842   // LASPY: Load A from SPY
69   m_a = m_spy;
43   op_illegal();
7044}
7145
7246void hmcs40_cpu_device::op_xamr()
7347{
7448   // 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();
8450}
8551
8652
r244782r244783
8955void hmcs40_cpu_device::op_lxa()
9056{
9157   // LXA: Load X from A
92   m_x = m_a;
58   op_illegal();
9359}
9460
9561void hmcs40_cpu_device::op_lya()
9662{
9763   // LYA: Load Y from A
98   m_y = m_a;
64   op_illegal();
9965}
10066
10167void hmcs40_cpu_device::op_lxi()
10268{
10369   // LXI i: Load X from Immediate
104   m_x = m_op & 0xf;
70   op_illegal();
10571}
10672
10773void hmcs40_cpu_device::op_lyi()
10874{
10975   // LYI i: Load Y from Immediate
110   m_y = m_op & 0xf;
76   op_illegal();
11177}
11278
11379void hmcs40_cpu_device::op_iy()
11480{
11581   // IY: Increment Y
116   m_y = (m_y + 1) & 0xf;
117   m_s = (m_y != 0);
82   op_illegal();
11883}
11984
12085void hmcs40_cpu_device::op_dy()
12186{
12287   // DY: Decrement Y
123   m_y = (m_y - 1) & 0xf;
124   m_s = (m_y != 0xf);
88   op_illegal();
12589}
12690
12791void hmcs40_cpu_device::op_ayy()
12892{
12993   // AYY: Add A to Y
130   m_y += m_a;
131   m_s = m_y >> 4 & 1;
132   m_y &= 0xf;
94   op_illegal();
13395}
13496
13597void hmcs40_cpu_device::op_syy()
13698{
13799   // SYY: Subtract A from Y
138   m_y -= m_a;
139   m_s = ~m_y >> 4 & 1;
140   m_y &= 0xf;
100   op_illegal();
141101}
142102
143103void hmcs40_cpu_device::op_xspx()
144104{
145105   // XSPX: Exchange X and SPX
146   UINT8 old_x = m_x;
147   m_x = m_spx;
148   m_spx = old_x;
106   op_illegal();
149107}
150108
151void hmcs40_cpu_device::op_xspy()
109void hmcs40_cpu_device::op_sxpy()
152110{
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();
157113}
158114
159115void hmcs40_cpu_device::op_xspxy()
160116{
161117   // XSPXY: Exchange X and SPX, Y and SPY
162   op_xspx();
163   op_xspy();
118   op_illegal();
164119}
165120
166121
r244782r244783
169124void hmcs40_cpu_device::op_lam()
170125{
171126   // LAM (XY): Load A from Memory
172   m_a = ram_r();
173   op_xspxy();
127   op_illegal();
174128}
175129
176130void hmcs40_cpu_device::op_lbm()
177131{
178132   // LBM (XY): Load B from Memory
179   m_b = ram_r();
180   op_xspxy();
133   op_illegal();
181134}
182135
183136void hmcs40_cpu_device::op_xma()
184137{
185138   // 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();
190140}
191141
192142void hmcs40_cpu_device::op_xmb()
193143{
194144   // 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();
199146}
200147
201148void hmcs40_cpu_device::op_lmaiy()
202149{
203150   // LMAIY (X): Load Memory from A, Increment Y
204   ram_w(m_a);
205   op_iy();
206   op_xspx();
151   op_illegal();
207152}
208153
209154void hmcs40_cpu_device::op_lmady()
210155{
211156   // LMADY (X): Load Memory from A, Decrement Y
212   ram_w(m_a);
213   op_dy();
214   op_xspx();
157   op_illegal();
215158}
216159
217160
r244782r244783
220163void hmcs40_cpu_device::op_lmiiy()
221164{
222165   // LMIIY i: Load Memory from Immediate, Increment Y
223   ram_w(m_op & 0xf);
224   op_iy();
166   op_illegal();
225167}
226168
227169void hmcs40_cpu_device::op_lai()
228170{
229171   // LAI i: Load A from Immediate
230   m_a = m_op & 0xf;
172   op_illegal();
231173}
232174
233175void hmcs40_cpu_device::op_lbi()
234176{
235177   // LBI i: Load B from Immediate
236   m_b = m_op & 0xf;
178   op_illegal();
237179}
238180
239181
trunk/src/mame/drivers/madalien.c
r244782r244783
190190ROM_START( madalien )
191191   ROM_REGION( 0x10000, "maincpu", 0 )     /* main CPU */
192192   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) )
194194   ROM_LOAD( "m5.3k",  0xd000, 0x0800, CRC(8db99572) SHA1(f8cf22f8c134b47756b7f02c5ca0217100466744) )
195195   ROM_LOAD( "m4.3l",  0xd800, 0x0800, CRC(fba671af) SHA1(dd74bd357c82d525948d836a7f860bbb3182c825) )
196196   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) )
198198   ROM_LOAD( "m1.4k",  0xf000, 0x0800, CRC(ad654b1d) SHA1(f8b365dae3801e97e04a10018a790d3bdb5d9439) )
199199   ROM_LOAD( "m0.4l",  0xf800, 0x0800, CRC(cf7aa787) SHA1(f852cc806ecc582661582326747974a14f50174a) )
200200
201201   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) )
204204
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
205211   ROM_REGION( 0x0c00, "gfx1", 0 )         /* background tiles */
206212   ROM_LOAD( "mc.3k", 0x0000, 0x0400, CRC(2daadfb7) SHA1(8be084a39b256e538fd57111e92d47115cb142cd) )
207213   ROM_LOAD( "md.3l", 0x0400, 0x0400, CRC(3ee1287a) SHA1(33bc59a8d09d22f3db80f881c2f37aa788718138) )
208214   ROM_LOAD( "me.3m", 0x0800, 0x0400, CRC(45a5c201) SHA1(ac600afeabf494634c3189d8e96644bd0deb45f3) )
209215
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) )
212218
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
219219   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) )
221221ROM_END
222222
223223
r244782r244783
369369***************************************************************************/
370370
371371ROM_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) )
405ROM_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.
411ROM_START( madalienb )
372412   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) )
383423
384424   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) )
387427
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
388434   ROM_REGION( 0x0c00, "gfx1", 0 )    /* background tiles */
389435   ROM_LOAD( "mc-1.3k", 0x0000, 0x0400, NO_DUMP )
390436   ROM_LOAD( "me-1.3l", 0x0400, 0x0400, CRC(7328a425) SHA1(327adc8b0e25d93f1ae98a44c26d0aaaac1b1a9c) )
391437   ROM_LOAD( "md-1.3m", 0x0800, 0x0400, CRC(b5329929) SHA1(86890e1b7cc8cb31fc0dcbc2d3cff02e4cf95619) )
392438
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
399439   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) )
401441
402442   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) )
404444ROM_END
405445
406
407446/*          set       parent    machine   inp       init */
408GAME( 1980, madalien, 0,        madalien, madalien, driver_device, 0, ROT270, "Data East Corporation", "Mad Alien", GAME_SUPPORTS_SAVE )
409GAME( 1980, madaliena,madalien, madalien, madalien, driver_device, 0, ROT270, "Data East Corporation", "Mad Alien (Highway Chase)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
447GAME( 1980, madalien, 0,        madalien, madalien, driver_device, 0, ROT270, "Data East Corporation", "Mad Alien (set 1)",          GAME_SUPPORTS_SAVE )
448GAME( 1980, madaliena,madalien, madalien, madalien, driver_device, 0, ROT270, "Data East Corporation", "Mad Alien (set 2)",          GAME_SUPPORTS_SAVE )
449GAME( 1980, madalienb,madalien, madalien, madalien, driver_device, 0, ROT270, "Data East Corporation", "Mad Alien (set 2, alt gfx)", GAME_SUPPORTS_SAVE )
trunk/src/mame/mame.lst
r244782r244783
58385838// other Data East games
58395839madalien        // (c) 1980
58405840madaliena       // (c) 1980
5841madalienb       // (c) 1980
58415842astrof          // (c) [1980?]
58425843astrof2         // (c) [1980?]
58435844astrof3         // (c) [1980?]


Previous 199869 Revisions Next


© 1997-2024 The MAME Team