src/mess/drivers/pt68k4.c
| r0 | r9905 | |
| 1 | /*************************************************************************** |
| 2 | |
| 3 | Peripheral Technology PT68K4 |
| 4 | |
| 5 | 03/01/2011 Skeleton driver. |
| 6 | |
| 7 | ****************************************************************************/ |
| 8 | |
| 9 | #include "emu.h" |
| 10 | #include "cpu/m68000/m68000.h" |
| 11 | |
| 12 | class pt68k4_state : public driver_device |
| 13 | { |
| 14 | public: |
| 15 | pt68k4_state(running_machine &machine, const driver_device_config_base &config) |
| 16 | : driver_device(machine, config) { } |
| 17 | |
| 18 | UINT16* ram; |
| 19 | }; |
| 20 | |
| 21 | static ADDRESS_MAP_START(pt68k4_mem, ADDRESS_SPACE_PROGRAM, 16) |
| 22 | ADDRESS_MAP_UNMAP_HIGH |
| 23 | AM_RANGE(0x00000000, 0x0007ffff) AM_RAM AM_BASE_MEMBER(pt68k4_state, ram) // 512 KB RAM / ROM at boot |
| 24 | AM_RANGE(0x00f00000, 0x00f0ffff) AM_ROM AM_MIRROR(0xf0000) AM_REGION("user1",0) |
| 25 | AM_RANGE(0x00ff0000, 0x00ffffff) AM_RAM |
| 26 | ADDRESS_MAP_END |
| 27 | |
| 28 | /* Input ports */ |
| 29 | INPUT_PORTS_START( pt68k4 ) |
| 30 | INPUT_PORTS_END |
| 31 | |
| 32 | |
| 33 | static MACHINE_RESET(pt68k4) |
| 34 | { |
| 35 | pt68k4_state *state = machine->driver_data<pt68k4_state>(); |
| 36 | UINT8* user1 = machine->region("user1")->base(); |
| 37 | |
| 38 | memcpy((UINT8*)state->ram,user1,8); |
| 39 | |
| 40 | machine->device("maincpu")->reset(); |
| 41 | } |
| 42 | |
| 43 | static VIDEO_START( pt68k4 ) |
| 44 | { |
| 45 | } |
| 46 | |
| 47 | static VIDEO_UPDATE( pt68k4 ) |
| 48 | { |
| 49 | return 0; |
| 50 | } |
| 51 | |
| 52 | static MACHINE_CONFIG_START( pt68k4, pt68k4_state ) |
| 53 | /* basic machine hardware */ |
| 54 | MCFG_CPU_ADD("maincpu",M68000, XTAL_16MHz) |
| 55 | MCFG_CPU_PROGRAM_MAP(pt68k4_mem) |
| 56 | |
| 57 | MCFG_MACHINE_RESET(pt68k4) |
| 58 | |
| 59 | /* video hardware */ |
| 60 | MCFG_SCREEN_ADD("screen", RASTER) |
| 61 | MCFG_SCREEN_REFRESH_RATE(50) |
| 62 | MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */ |
| 63 | MCFG_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16) |
| 64 | MCFG_SCREEN_SIZE(640, 480) |
| 65 | MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 480-1) |
| 66 | MCFG_PALETTE_LENGTH(2) |
| 67 | MCFG_PALETTE_INIT(black_and_white) |
| 68 | |
| 69 | MCFG_VIDEO_START(pt68k4) |
| 70 | MCFG_VIDEO_UPDATE(pt68k4) |
| 71 | MACHINE_CONFIG_END |
| 72 | |
| 73 | /* ROM definition */ |
| 74 | ROM_START( pt68k4 ) |
| 75 | ROM_REGION( 0x10000, "user1", ROMREGION_ERASEFF ) |
| 76 | ROM_SYSTEM_BIOS( 0, "humbug", "Humbug" ) |
| 77 | ROMX_LOAD( "humpta40.bin", 0x0001, 0x8000, CRC(af67ff64) SHA1(da9fa31338c6847bb0e66118679b1ec01f6dc30b), ROM_SKIP(1) | ROM_BIOS(1)) |
| 78 | ROMX_LOAD( "humpta41.bin", 0x0000, 0x8000, CRC(a8b16e27) SHA1(218802f6e20d14cff736bb7423f06ce2f66e074c), ROM_SKIP(1) | ROM_BIOS(1)) |
| 79 | ROM_SYSTEM_BIOS( 1, "monk", "Monk" ) |
| 80 | ROMX_LOAD( "monk_0.bin", 0x0001, 0x8000, CRC(420d6a4b) SHA1(fca8c53c9c3c8ebd09370499cf34f4cc75ed9463), ROM_SKIP(1) | ROM_BIOS(2)) |
| 81 | ROMX_LOAD( "monk_1.bin", 0x0000, 0x8000, CRC(fc495e82) SHA1(f7b720d87db4d72a23e6c42d2cdd03216db04b60), ROM_SKIP(1) | ROM_BIOS(2)) |
| 82 | ROM_END |
| 83 | |
| 84 | /* Driver */ |
| 85 | |
| 86 | /* YEAR NAME PARENT COMPAT MACHINE INPUT INIT COMPANY FULLNAME FLAGS */ |
| 87 | COMP( 1990, pt68k4, 0, 0, pt68k4, pt68k4, 0, "Peripheral Technology", "PT68K4", GAME_NOT_WORKING | GAME_NO_SOUND) |
| 88 | |