Previous 199869 Revisions Next

r26118 Tuesday 12th November, 2013 at 10:30:22 UTC by David Haywood
more fake code.. (nw)
[src/mame/machine]pgmprot_igs027a_type3.c

trunk/src/mame/machine/pgmprot_igs027a_type3.c
r26117r26118
123123   AM_IMPORT_FROM(pgm_mem)
124124   AM_RANGE(0x100000, 0x1fffff) AM_ROMBANK("bank1")  /* Game ROM */
125125
126   AM_RANGE(0x500000, 0x51ffff) AM_READWRITE(svg_m68k_ram_r, svg_m68k_ram_w)    /* ARM7 Shared RAM */
126   AM_RANGE(0x500000, 0x50ffff) AM_READWRITE(svg_m68k_ram_r, svg_m68k_ram_w)    /* ARM7 Shared RAM */
127127   AM_RANGE(0x5c0000, 0x5c0001) AM_READWRITE(svg_68k_nmi_r, svg_68k_nmi_w)      /* ARM7 FIQ */
128128   AM_RANGE(0x5c0300, 0x5c0301) AM_READWRITE(svg_latch_68k_r, svg_latch_68k_w) /* ARM7 Latch */
129129ADDRESS_MAP_END
r26117r26118
134134   AM_RANGE(0x08000000, 0x087fffff) AM_ROM AM_REGION("user1", 0)
135135   AM_RANGE(0x10000000, 0x100003ff) AM_RAM AM_SHARE("arm_ram2")
136136   AM_RANGE(0x18000000, 0x1803ffff) AM_RAM AM_SHARE("arm_ram")
137   AM_RANGE(0x38000000, 0x3801ffff) AM_READWRITE(svg_arm7_shareram_r, svg_arm7_shareram_w)
137   AM_RANGE(0x38000000, 0x3800ffff) AM_READWRITE(svg_arm7_shareram_r, svg_arm7_shareram_w)
138138   AM_RANGE(0x48000000, 0x48000003) AM_READWRITE(svg_latch_arm_r, svg_latch_arm_w) /* 68k Latch */
139139   AM_RANGE(0x40000018, 0x4000001b) AM_WRITE(svg_arm7_ram_sel_w) /* RAM SEL */
140140   AM_RANGE(0x50000000, 0x500003ff) AM_RAM
141
142//   AM_RANGE(0xc0000000, 0xffffffff) AM_RAM
143
141144ADDRESS_MAP_END
142145
143146
r26117r26118
223226
224227   UINT16 *temp16 = (UINT16 *)memregion("prot")->base();
225228
229
230
231
232
226233   temp16[(0xe8)/2] = 0xE004; // based on killbldp
227234   temp16[(0xea)/2] = 0xE52D;
228235   temp16[(0xec)/2] = 0x00D3;
r26117r26118
248255
249256   // the interrupt code appears to be at 0x08000010
250257   // although this still crashes for now..
258   int base = 0x1c;
259   temp16[(base) /2] = 0xf000; base += 2;
260   temp16[(base) /2] = 0xe59f; base += 2;
261   temp16[(base) /2] = 0x0010; base += 2;
262   temp16[(base) /2] = 0x0800; base += 2;
263   temp16[(base) /2] = 0x0010; base += 2;
264   temp16[(base) /2] = 0x0800; base += 2;
265   
251266
252   temp16[(0x14) / 2] = 0x0010;
253   temp16[(0x16) / 2] = 0x0800;
267   base = 0x30;
268   temp16[(base) /2] = 0x00D3; base += 2;
269   temp16[(base) /2] = 0xE3A0; base += 2;
270   temp16[(base) /2] = 0xF000; base += 2;
271   temp16[(base) /2] = 0xE121; base += 2;
272   temp16[(base) /2] = 0x1A01; base += 2;
273   temp16[(base) /2] = 0xE3A0; base += 2;
274   temp16[(base) /2] = 0x2B01; base += 2;
275   temp16[(base) /2] = 0xE3A0; base += 2;
276   temp16[(base) /2] = 0xD801; base += 2;
277   temp16[(base) /2] = 0xE082; base += 2;
278   temp16[(base) /2] = 0x00D2; base += 2;
279   temp16[(base) /2] = 0xE3A0; base += 2;
280   temp16[(base) /2] = 0xF000; base += 2;
281   temp16[(base) /2] = 0xE121; base += 2;
254282
255   temp16[(0x18) / 2] = 0x0014;
256   temp16[(0x1a) / 2] = 0x0000;
283   temp16[(base) /2] = 0x4001; base += 2;
284   temp16[(base) /2] = 0xE3A0; base += 2;
285   temp16[(base) /2] = 0x4B06; base += 2;
286   temp16[(base) /2] = 0xE284; base += 2;
287   temp16[(base) /2] = 0x0CFA; base += 2;
288   temp16[(base) /2] = 0xE3A0; base += 2;
289   temp16[(base) /2] = 0xD804; base += 2;
290   temp16[(base) /2] = 0xE080; base += 2;
291   temp16[(base) /2] = 0x00D1; base += 2;
292   temp16[(base) /2] = 0xE3A0; base += 2;
293   temp16[(base) /2] = 0xF000; base += 2;
294   temp16[(base) /2] = 0xE121; base += 2;
295   temp16[(base) /2] = 0x0CF6; base += 2;
296   temp16[(base) /2] = 0xE3A0; base += 2;
297   temp16[(base) /2] = 0xD804; base += 2;
298   temp16[(base) /2] = 0xE080; base += 2;
299   temp16[(base) /2] = 0x00D7; base += 2;
300   temp16[(base) /2] = 0xE3A0; base += 2;
301   temp16[(base) /2] = 0xF000; base += 2;
302   temp16[(base) /2] = 0xE121; base += 2;
303   temp16[(base) /2] = 0x0CFF; base += 2;
304   temp16[(base) /2] = 0xE3A0; base += 2;
305   temp16[(base) /2] = 0xD804; base += 2;
306   temp16[(base) /2] = 0xE080; base += 2;
307   temp16[(base) /2] = 0x00DB; base += 2;
308   temp16[(base) /2] = 0xE3A0; base += 2;
309   temp16[(base) /2] = 0xF000; base += 2;
310   temp16[(base) /2] = 0xE121; base += 2;
311   temp16[(base) /2] = 0x4140; base += 2;
312   temp16[(base) /2] = 0xE1C4; base += 2;
313   temp16[(base) /2] = 0x0CFE; base += 2;
314   temp16[(base) /2] = 0xE3A0; base += 2;
315   temp16[(base) /2] = 0xD804; base += 2;
316   temp16[(base) /2] = 0xE080; base += 2;
317   temp16[(base) /2] = 0x00D3; base += 2;
318   temp16[(base) /2] = 0xE3A0; base += 2;
319   temp16[(base) /2] = 0xF000; base += 2;
257320
321   temp16[(base) /2] = 0xE121; base += 2;
322   temp16[(base) /2] = 0x4A01; base += 2;
323   temp16[(base) /2] = 0xE3A0; base += 2;
324   temp16[(base) /2] = 0x0B01; base += 2;
325   temp16[(base) /2] = 0xE3A0; base += 2;
326   temp16[(base) /2] = 0xD804; base += 2;
327   temp16[(base) /2] = 0xE080; base += 2;
328   temp16[(base) /2] = 0x5A0F; base += 2;
329   temp16[(base) /2] = 0xE3A0; base += 2;
330   temp16[(base) /2] = 0x0008; base += 2;
331   temp16[(base) /2] = 0xE3A0; base += 2;
332   temp16[(base) /2] = 0x8805; base += 2;
333   temp16[(base) / 2] = 0xE080; base += 2;
334   temp16[(base) /2] = 0x0010; base += 2;
335   temp16[(base) /2] = 0xE3A0; base += 2;
336   temp16[(base) /2] = 0x0000; base += 2;
337   temp16[(base) /2] = 0xE5C8; base += 2;
338   temp16[(base) /2] = 0x7805; base += 2;
339   temp16[(base) /2] = 0xE1A0; base += 2;
340   temp16[(base) /2] = 0x6A01; base += 2;
341   temp16[(base) /2] = 0xE3A0; base += 2;
342   temp16[(base) /2] = 0x0012; base += 2;
343   temp16[(base) /2] = 0xE3A0; base += 2;
344   temp16[(base) /2] = 0x0A02; base += 2;
345   temp16[(base) /2] = 0xE280; base += 2;
346   temp16[(base) /2] = 0x6806; base += 2;
347   temp16[(base) /2] = 0xE080; base += 2;
348   temp16[(base) /2] = 0x6000; base += 2;
349   temp16[(base) /2] = 0xE587; base += 2;
350   temp16[(base) /2] = 0x002c; base += 2;
351   temp16[(base) /2] = 0xEA00; base += 2;
258352
353
259354   
355   base = 0;
356   temp16[(base) /2] = 0x000a; base += 2;
357   temp16[(base) /2] = 0xEA00; base += 2;
260358
359#if 0
360   m_svg_ram_sel = 1;
261361
262   temp16[(0x1c) / 2] = 0x500F;
263   temp16[(0x1e) / 2] = 0xE92D;
264   temp16[(0x20) / 2] = 0x0010;
265   temp16[(0x22) / 2] = 0xE51F;
266   temp16[(0x24) / 2] = 0x0000;
267   temp16[(0x26) / 2] = 0xE590;
268   temp16[(0x28) / 2] = 0xE00F;
269   temp16[(0x2a) / 2] = 0xE1A0;
270   temp16[(0x2c) / 2] = 0xFF10;
271   temp16[(0x2e) / 2] = 0xE12F;
272
273
274
275
362   for (int i = 0; i < 0x100; i++)
363   {
364      UINT16 *share16;
365      share16 = (UINT16 *)(m_svg_shareram[1]);
366      share16[i / 2] = 0x0002;
367      share16 = (UINT16 *)(m_svg_shareram[0]);
368      share16[i / 2] = 0x0002;
369   }
370#endif
276371}
277372
278373DRIVER_INIT_MEMBER(pgm_arm_type3_state,svg)

Previous 199869 Revisions Next


© 1997-2024 The MAME Team