Previous 15994 Revisions Next

r9174 Saturday 18th September, 2010 at 11:52:13 UTC by R. Belmont
[AVIGO] Better conversion to new intelfsh, still not working.
[src/mess/drivers]avigo.c

src/mess/drivers/avigo.c
r9173r9174
301301      case 0x03:
302302      {
303303         avigo_flash_at_0x4000 = 1;
304         addr = (unsigned char *)memory_region(machine, "flash1");
305304      }
306305      break;
307306
r9173r9174
309308      case 0x05:
310309      {
311310         avigo_flash_at_0x4000 = 2;
312         addr = (unsigned char *)memory_region(machine, "flash2");
313311      }
314312      break;
315313
316314      default:
317315         avigo_flash_at_0x4000 = 0;
318         addr = (unsigned char *)memory_region(machine, "flash0");
319316         break;
320317   }
321318
319   addr = (unsigned char *)avigo_flashes[avigo_flash_at_0x4000]->space()->get_read_ptr(0);
322320   addr = addr + (avigo_rom_bank_l<<14);
323321   avigo_setbank(machine, 1, addr, avigo_flash_0x4000_read_handler, avigo_flash_0x4000_write_handler);
324322
r9173r9174
346344         avigo_flash_at_0x8000 = 1;
347345
348346
349         addr = (unsigned char *)memory_region(machine, "flash1");
347         addr = (unsigned char *)avigo_flashes[avigo_flash_at_0x8000]->space()->get_read_ptr(0);
350348         addr = addr + (avigo_ram_bank_l<<14);
351349         avigo_setbank(machine, 2, addr, avigo_flash_0x8000_read_handler, NULL /* avigo_flash_0x8000_write_handler */);
352350         break;
r9173r9174
354352      case 0x07:
355353         avigo_flash_at_0x8000 = 0;
356354
357         addr = (unsigned char *)memory_region(machine, "flash0");
355         addr = (unsigned char *)avigo_flashes[avigo_flash_at_0x8000]->space()->get_read_ptr(0);
358356         addr = addr + (avigo_ram_bank_l<<14);
359357         avigo_setbank(machine, 2, addr, avigo_flash_0x8000_read_handler, NULL /* avigo_flash_0x8000_write_handler */);
360358         break;
r9173r9174
410408
411409   memset(avigo_banked_opbase, 0, sizeof(avigo_banked_opbase));
412410
411   /* keep machine pointers to flash devices */
412   avigo_flashes[0] = machine->device<intelfsh8_device>("flash0");
413   avigo_flashes[1] = machine->device<intelfsh8_device>("flash1");
414   avigo_flashes[2] = machine->device<intelfsh8_device>("flash2");
415
416   /* initialize flash contents */
417   memcpy(memory_region(machine, "maincpu")+0x10000, avigo_flashes[0]->space()->get_read_ptr(0), 0x100000);
418   memcpy(memory_region(machine, "maincpu")+0x110000, avigo_flashes[1]->space()->get_read_ptr(0), 0x100000);
419
413420   stylus_marker_x = AVIGO_SCREEN_WIDTH>>1;
414421   stylus_marker_y = AVIGO_SCREEN_HEIGHT>>1;
415422   stylus_press_x = 0;
r9173r9174
435442
436443   cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM)->set_direct_update_handler(direct_update_delegate_create_static(avigo_opbase_handler, *machine));
437444
438   addr = (unsigned char *)memory_region(machine, "flash0");
445   addr = (unsigned char *)avigo_flashes[0]->space()->get_read_ptr(0);
439446   avigo_setbank(machine, 0, addr, avigo_flash_0x0000_read_handler, avigo_flash_0x0000_write_handler);
440447
441448   avigo_setbank(machine, 3, messram_get_ptr(machine->device("messram")), NULL, NULL);
r9173r9174
449456   /* a timer used to check status of pen */
450457   /* an interrupt is generated when the pen is pressed to the screen */
451458   timer_pulse(machine, ATTOTIME_IN_HZ(50), NULL, 0, avigo_dummy_timer_callback);
452
453   /* keep machine pointers to flash devices */
454   avigo_flashes[0] = machine->device<intelfsh8_device>("flash0");
455   avigo_flashes[1] = machine->device<intelfsh8_device>("flash1");
456   avigo_flashes[2] = machine->device<intelfsh8_device>("flash2");
457459}
458460
459461
r9173r9174
911913ROM_START(avigo)
912914   ROM_REGION(0x210000, "maincpu",0)
913915   ROM_LOAD("avigo.rom", 0x010000, 0x0150000, CRC(160ee4a6) SHA1(4d09201a3876de16808bd92989f3d8d7182d72b3))
914
915   ROM_REGION(0x100000, "flash0", 0)
916   ROM_COPY("maincpu", 0x10000, 0x00000, 0x100000)
917
918   ROM_REGION(0x100000, "flash1", 0)
919   ROM_COPY("maincpu", 0x110000, 0x00000, 0x40000)
920
921   ROM_REGION(0x100000, "flash2", ROMREGION_ERASE00)
922916ROM_END
923917
924918/*    YEAR  NAME    PARENT  COMPAT  MACHINE INPUT   INIT    COMPANY   FULLNAME */

Previous 15994 Revisions Next


© 1998-2018 The MESS Team