trunk/src/mame/drivers/atari_s3.c
| r18482 | r18483 | |
| 1 | | /*********************************************************************************** |
| 2 | | |
| 3 | | Pinball |
| 4 | | Atari Generation/System 3 |
| 5 | | |
| 6 | | ************************************************************************************/ |
| 7 | | |
| 8 | | #include "emu.h" |
| 9 | | #include "cpu/m6800/m6800.h" |
| 10 | | |
| 11 | | class atari_s3_state : public driver_device |
| 12 | | { |
| 13 | | public: |
| 14 | | atari_s3_state(const machine_config &mconfig, device_type type, const char *tag) |
| 15 | | : driver_device(mconfig, type, tag), |
| 16 | | m_maincpu(*this, "maincpu") |
| 17 | | { } |
| 18 | | |
| 19 | | protected: |
| 20 | | |
| 21 | | // devices |
| 22 | | required_device<cpu_device> m_maincpu; |
| 23 | | |
| 24 | | // driver_device overrides |
| 25 | | virtual void machine_reset(); |
| 26 | | public: |
| 27 | | DECLARE_DRIVER_INIT(atari_s3); |
| 28 | | }; |
| 29 | | |
| 30 | | |
| 31 | | static ADDRESS_MAP_START( atari_s3_map, AS_PROGRAM, 8, atari_s3_state ) |
| 32 | | ADDRESS_MAP_GLOBAL_MASK(0x3fff) |
| 33 | | AM_RANGE(0x0000, 0x00ff) AM_MIRROR(0x0700) AM_RAM |
| 34 | | AM_RANGE(0x0800, 0x08ff) AM_MIRROR(0x0700) AM_RAM // NVRAM |
| 35 | | //AM_RANGE(0x1000, 0x1007) AM_READ(sw_r) |
| 36 | | //AM_RANGE(0x1800, 0x1800) AM_WRITE(sound0_w) |
| 37 | | //AM_RANGE(0x1820, 0x1820) AM_WRITE(sound1_w) |
| 38 | | //AM_RANGE(0x1840, 0x1846) AM_WRITE(disp0_w) |
| 39 | | //AM_RANGE(0x1847, 0x1847) AM_WRITE(disp1_w) |
| 40 | | //AM_RANGE(0x1860, 0x1867) AM_WRITE(lamp_w) |
| 41 | | //AM_RANGE(0x1880, 0x1880) AM_WRITE(sol0_w) |
| 42 | | //AM_RANGE(0x18a0, 0x18a7) AM_WRITE(sol1_w) |
| 43 | | //AM_RANGE(0x18c0, 0x18c1) AM_WRITE(watchdog_w) |
| 44 | | //AM_RANGE(0x18e0, 0x18e0) AM_WRITE(intack_w) |
| 45 | | //AM_RANGE(0x2000, 0x2003) AM_READWRITE(dip_r,dip_w) |
| 46 | | //AM_RANGE(0x2008, 0x200b) AM_READ(dip2_r) |
| 47 | | AM_RANGE(0x2800, 0x3fff) AM_ROM |
| 48 | | ADDRESS_MAP_END |
| 49 | | |
| 50 | | |
| 51 | | static INPUT_PORTS_START( atari_s3 ) |
| 52 | | INPUT_PORTS_END |
| 53 | | |
| 54 | | void atari_s3_state::machine_reset() |
| 55 | | { |
| 56 | | } |
| 57 | | |
| 58 | | DRIVER_INIT_MEMBER(atari_s3_state,atari_s3) |
| 59 | | { |
| 60 | | } |
| 61 | | |
| 62 | | static MACHINE_CONFIG_START( atari_s3, atari_s3_state ) |
| 63 | | /* basic machine hardware */ |
| 64 | | MCFG_CPU_ADD("maincpu", M6800, 1000000) |
| 65 | | MCFG_CPU_PROGRAM_MAP(atari_s3_map) |
| 66 | | MACHINE_CONFIG_END |
| 67 | | |
| 68 | | /*------------------------------------------------------------------- |
| 69 | | / Road Runner (??/1979) |
| 70 | | /-------------------------------------------------------------------*/ |
| 71 | | ROM_START(roadrunr) |
| 72 | | ROM_REGION(0x10000, "maincpu", 0) |
| 73 | | ROM_LOAD("0000.716", 0x2800, 0x0800, CRC(62f5f394) SHA1(ff91066d43d788119e3337788abd86e5c0bf2d92)) |
| 74 | | ROM_LOAD("3000.716", 0x3000, 0x0800, CRC(2fc01359) SHA1(d3df20c764bb68a5316367bb18d34a03293e7fa6)) |
| 75 | | ROM_LOAD("3800.716", 0x3800, 0x0800, CRC(77262408) SHA1(3045a732c39c96002f495f64ed752279f7d43ee7)) |
| 76 | | ROM_REGION(0x1000, "sound1", 0) |
| 77 | | ROM_LOAD("82s130.bin", 0x0000, 0x0200, CRC(da1f77b4) SHA1(b21fdc1c6f196c320ec5404013d672c35f95890b)) |
| 78 | | ROM_END |
| 79 | | |
| 80 | | |
| 81 | | GAME( 1979, roadrunr, 0, atari_s3, atari_s3, atari_s3_state, atari_s3, ROT0, "Atari", "Road Runner", GAME_NOT_WORKING | GAME_NO_SOUND | GAME_MECHANICAL) |
trunk/src/mame/drivers/atari_s2.c
| r18482 | r18483 | |
| 29 | 29 | DECLARE_WRITE8_HANDLER(sound0_w) { }; |
| 30 | 30 | DECLARE_WRITE8_HANDLER(sound1_w) { }; |
| 31 | 31 | DECLARE_WRITE8_HANDLER(lamp_w) { }; |
| 32 | | DECLARE_WRITE8_HANDLER(sol0_w) { }; |
| 32 | DECLARE_WRITE8_HANDLER(sol0_w); |
| 33 | 33 | DECLARE_WRITE8_HANDLER(sol1_w) { }; |
| 34 | 34 | DECLARE_WRITE8_HANDLER(intack_w); |
| 35 | 35 | DECLARE_WRITE8_HANDLER(display_w); |
| r18482 | r18483 | |
| 278 | 278 | PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED ) |
| 279 | 279 | INPUT_PORTS_END |
| 280 | 280 | |
| 281 | /* solenoids hercules |
| 282 | 4,5 = bumpers |
| 283 | 8,9 = slings |
| 284 | 15 = outhole |
| 285 | 6,7 = coin counters |
| 286 | 14 = total plays counter |
| 287 | |
| 288 | solenoids superman |
| 289 | 4,5,8,11 = bumpers |
| 290 | 9,10 = slings |
| 291 | 15 = outhole |
| 292 | 6,7 = coin counters |
| 293 | 12 = drop target |
| 294 | 13 = drop hole kicker |
| 295 | 14 = total plays counter |
| 296 | */ |
| 297 | |
| 298 | WRITE8_HANDLER( atari_s2_state::sol0_w ) |
| 299 | { |
| 300 | switch (data) |
| 301 | { |
| 302 | case 15: |
| 303 | m_samples->start(0, 5); |
| 304 | break; |
| 305 | case 4: |
| 306 | case 5: |
| 307 | m_samples->start(1, 0); |
| 308 | break; |
| 309 | case 8: |
| 310 | case 9: |
| 311 | //m_samples->start(1, 7); |
| 312 | break; |
| 313 | //default: |
| 314 | //if (data) printf("%X ",data); |
| 315 | } |
| 316 | } |
| 317 | |
| 281 | 318 | WRITE8_MEMBER( atari_s2_state::display_w ) |
| 282 | 319 | { |
| 283 | 320 | static const UINT8 patterns[16] = { 0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7c, 0x07, 0x7f, 0x67, 0, 0, 0, 0, 0, 0 }; // 4511 |