trunk/src/mame/includes/harddriv.h
| r23914 | r23915 | |
| 11 | 11 | #include "cpu/dsp32/dsp32.h" |
| 12 | 12 | #include "sound/dac.h" |
| 13 | 13 | #include "machine/atarigen.h" |
| 14 | #include "machine/n68681.h" |
| 14 | 15 | |
| 15 | 16 | #define HARDDRIV_MASTER_CLOCK XTAL_32MHz |
| 16 | 17 | #define HARDDRIV_GSP_CLOCK XTAL_48MHz |
| r23914 | r23915 | |
| 46 | 47 | m_gsp_paletteram_hi(*this, "gsp_palram_hi"), |
| 47 | 48 | m_ds3sdsp_internal_timer(*this, "ds3sdsp_timer"), |
| 48 | 49 | m_ds3xdsp_internal_timer(*this, "ds3xdsp_timer"), |
| 49 | | m_dac(*this, "dac") { } |
| 50 | m_dac(*this, "dac"), |
| 51 | m_duart(*this, "duartn68681") { } |
| 50 | 52 | |
| 51 | 53 | required_device<cpu_device> m_maincpu; |
| 52 | 54 | required_device<tms34010_device> m_gsp; |
| r23914 | r23915 | |
| 261 | 263 | TIMER_CALLBACK_MEMBER(rddsp32_sync_cb); |
| 262 | 264 | DECLARE_WRITE16_MEMBER(hdsnddsp_dac_w); |
| 263 | 265 | optional_device<dac_device> m_dac; |
| 266 | required_device<duartn68681_device> m_duart; |
| 267 | DECLARE_WRITE_LINE_MEMBER(harddriv_duart_irq_handler); |
| 264 | 268 | }; |
| 265 | 269 | |
| 266 | 270 | |
| r23914 | r23915 | |
| 296 | 300 | DECLARE_READ16_HANDLER( hd68k_zram_r ); |
| 297 | 301 | DECLARE_WRITE16_HANDLER( hd68k_zram_w ); |
| 298 | 302 | |
| 299 | | void harddriv_duart_irq_handler(device_t *device, int state, UINT8 vector); |
| 300 | | |
| 301 | 303 | DECLARE_WRITE16_HANDLER( hdgsp_io_w ); |
| 302 | 304 | |
| 303 | 305 | DECLARE_WRITE16_HANDLER( hdgsp_protection_w ); |
trunk/src/mame/drivers/harddriv.c
| r23914 | r23915 | |
| 326 | 326 | #include "emu.h" |
| 327 | 327 | #include "machine/atarigen.h" |
| 328 | 328 | #include "machine/asic65.h" |
| 329 | | #include "machine/68681.h" |
| 330 | 329 | #include "audio/atarijsa.h" |
| 331 | 330 | #include "sound/dac.h" |
| 332 | 331 | #include "includes/slapstic.h" |
| r23914 | r23915 | |
| 408 | 407 | * |
| 409 | 408 | *************************************/ |
| 410 | 409 | |
| 411 | | static const duart68681_config duart_config = |
| 410 | static const duartn68681_config duart_config = |
| 412 | 411 | { |
| 413 | | harddriv_duart_irq_handler, /* irq callback */ |
| 414 | | NULL, /* serial transmit */ |
| 415 | | NULL, /* output port */ |
| 416 | | NULL /* input port */ |
| 412 | DEVCB_DRIVER_LINE_MEMBER(harddriv_state, harddriv_duart_irq_handler), /* irq callback */ |
| 413 | DEVCB_NULL, /* serial transmit A */ |
| 414 | DEVCB_NULL, /* serial transmit B */ |
| 415 | DEVCB_NULL, /* input port */ |
| 416 | DEVCB_NULL, /* output port */ |
| 417 | 417 | }; |
| 418 | 418 | |
| 419 | 419 | |
| r23914 | r23915 | |
| 437 | 437 | AM_RANGE(0xb80000, 0xbfffff) AM_READWRITE_LEGACY(hd68k_adc12_r, hd68k_adc_control_w) |
| 438 | 438 | AM_RANGE(0xc00000, 0xc03fff) AM_READWRITE_LEGACY(hd68k_gsp_io_r, hd68k_gsp_io_w) |
| 439 | 439 | AM_RANGE(0xc04000, 0xc07fff) AM_READWRITE_LEGACY(hd68k_msp_io_r, hd68k_msp_io_w) |
| 440 | | AM_RANGE(0xff0000, 0xff001f) AM_DEVREADWRITE8_LEGACY("duart68681", duart68681_r, duart68681_w, 0xff00) |
| 440 | AM_RANGE(0xff0000, 0xff001f) AM_DEVREADWRITE8("duartn68681", duartn68681_device, read, write, 0xff00) |
| 441 | 441 | AM_RANGE(0xff4000, 0xff4fff) AM_READWRITE_LEGACY(hd68k_zram_r, hd68k_zram_w) AM_SHARE("eeprom") |
| 442 | 442 | AM_RANGE(0xff8000, 0xffffff) AM_RAM |
| 443 | 443 | ADDRESS_MAP_END |
| r23914 | r23915 | |
| 485 | 485 | AM_RANGE(0xb80000, 0xbfffff) AM_READWRITE_LEGACY(hd68k_adc12_r, hd68k_adc_control_w) |
| 486 | 486 | AM_RANGE(0xc00000, 0xc03fff) AM_READWRITE_LEGACY(hd68k_gsp_io_r, hd68k_gsp_io_w) |
| 487 | 487 | AM_RANGE(0xc04000, 0xc07fff) AM_READWRITE_LEGACY(hd68k_msp_io_r, hd68k_msp_io_w) |
| 488 | | AM_RANGE(0xff0000, 0xff001f) AM_DEVREADWRITE8_LEGACY("duart68681", duart68681_r, duart68681_w, 0xff00) |
| 488 | AM_RANGE(0xff0000, 0xff001f) AM_DEVREADWRITE8("duartn68681", duartn68681_device, read, write, 0xff00) |
| 489 | 489 | AM_RANGE(0xff4000, 0xff4fff) AM_READWRITE_LEGACY(hd68k_zram_r, hd68k_zram_w) AM_SHARE("eeprom") |
| 490 | 490 | AM_RANGE(0xff8000, 0xffffff) AM_RAM |
| 491 | 491 | ADDRESS_MAP_END |
| r23914 | r23915 | |
| 523 | 523 | AM_RANGE(0xb80000, 0xbfffff) AM_READWRITE_LEGACY(hd68k_adc12_r, hd68k_adc_control_w) |
| 524 | 524 | AM_RANGE(0xc00000, 0xc03fff) AM_READWRITE_LEGACY(hd68k_gsp_io_r, hd68k_gsp_io_w) |
| 525 | 525 | AM_RANGE(0xc04000, 0xc07fff) AM_READWRITE_LEGACY(hd68k_msp_io_r, hd68k_msp_io_w) |
| 526 | | AM_RANGE(0xfc0000, 0xfc001f) AM_DEVREADWRITE8_LEGACY("duart68681", duart68681_r, duart68681_w, 0xff00) |
| 526 | AM_RANGE(0xfc0000, 0xfc001f) AM_DEVREADWRITE8("duartn68681", duartn68681_device, read, write, 0xff00) |
| 527 | 527 | AM_RANGE(0xfd0000, 0xfd0fff) AM_MIRROR(0x004000) AM_READWRITE_LEGACY(hd68k_zram_r, hd68k_zram_w) AM_SHARE("eeprom") |
| 528 | 528 | AM_RANGE(0xff0000, 0xffffff) AM_RAM |
| 529 | 529 | ADDRESS_MAP_END |
| r23914 | r23915 | |
| 1353 | 1353 | MCFG_MACHINE_RESET_OVERRIDE(harddriv_state,harddriv) |
| 1354 | 1354 | MCFG_NVRAM_ADD_1FILL("eeprom") |
| 1355 | 1355 | |
| 1356 | | MCFG_DUART68681_ADD("duart68681", XTAL_3_6864MHz, duart_config) |
| 1356 | MCFG_DUARTN68681_ADD("duartn68681", XTAL_3_6864MHz, duart_config) |
| 1357 | 1357 | |
| 1358 | 1358 | /* video hardware */ |
| 1359 | 1359 | MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK) |