trunk/src/mame/drivers/coolridr.c
| r21184 | r21185 | |
| 279 | 279 | m_sysh1_txt_blit(*this, "sysh1_txt_blit"), |
| 280 | 280 | m_sysh1_workram_h(*this, "sysh1_workrah"), |
| 281 | 281 | m_h1_unk(*this, "h1_unk"), |
| 282 | | m_soundram(*this, "soundram") |
| 282 | m_soundram(*this, "soundram"), |
| 283 | m_soundram2(*this, "soundram2") |
| 283 | 284 | { } |
| 284 | 285 | |
| 285 | 286 | // Blitter state |
| r21184 | r21185 | |
| 306 | 307 | required_shared_ptr<UINT32> m_sysh1_workram_h; |
| 307 | 308 | required_shared_ptr<UINT32> m_h1_unk; |
| 308 | 309 | required_shared_ptr<UINT16> m_soundram; |
| 310 | required_shared_ptr<UINT16> m_soundram2; |
| 309 | 311 | bitmap_rgb32 m_temp_bitmap_sprites; |
| 310 | 312 | bitmap_rgb32 m_temp_bitmap_sprites2; |
| 311 | 313 | UINT32 m_test_offs; |
| r21184 | r21185 | |
| 324 | 326 | DECLARE_WRITE32_MEMBER(sysh1_char_w); |
| 325 | 327 | DECLARE_READ32_MEMBER(coolridr_hack1_r); |
| 326 | 328 | DECLARE_READ32_MEMBER(coolridr_hack2_r); |
| 329 | DECLARE_READ16_MEMBER(h1_soundram_r); |
| 330 | DECLARE_READ16_MEMBER(h1_soundram2_r); |
| 331 | DECLARE_WRITE16_MEMBER(h1_soundram_w); |
| 332 | DECLARE_WRITE16_MEMBER(h1_soundram2_w); |
| 333 | DECLARE_WRITE_LINE_MEMBER(scsp_to_main_irq); |
| 327 | 334 | DECLARE_DRIVER_INIT(coolridr); |
| 328 | 335 | virtual void machine_start(); |
| 329 | 336 | virtual void machine_reset(); |
| r21184 | r21185 | |
| 798 | 805 | AM_RANGE(0x60000000, 0x600003ff) AM_WRITENOP |
| 799 | 806 | ADDRESS_MAP_END |
| 800 | 807 | |
| 808 | READ16_MEMBER( coolridr_state::h1_soundram_r) |
| 809 | { |
| 810 | return m_soundram[offset]; |
| 811 | } |
| 812 | |
| 813 | READ16_MEMBER( coolridr_state::h1_soundram2_r) |
| 814 | { |
| 815 | return m_soundram2[offset]; |
| 816 | } |
| 817 | |
| 818 | WRITE16_MEMBER( coolridr_state::h1_soundram_w) |
| 819 | { |
| 820 | COMBINE_DATA(&m_soundram[offset]); |
| 821 | } |
| 822 | |
| 823 | WRITE16_MEMBER( coolridr_state::h1_soundram2_w) |
| 824 | { |
| 825 | COMBINE_DATA(&m_soundram2[offset]); |
| 826 | } |
| 827 | |
| 801 | 828 | static ADDRESS_MAP_START( coolridr_submap, AS_PROGRAM, 32, coolridr_state ) |
| 802 | 829 | AM_RANGE(0x00000000, 0x0001ffff) AM_ROM AM_SHARE("share2") |
| 803 | 830 | |
| 804 | 831 | AM_RANGE(0x01000000, 0x0100ffff) AM_RAM //communication RAM |
| 805 | 832 | |
| 806 | | AM_RANGE(0x03008800, 0x03008803) AM_RAM /*???*/ |
| 807 | | AM_RANGE(0x03008900, 0x03008903) AM_RAM /*???*/ |
| 808 | | AM_RANGE(0x03100400, 0x03100403) AM_RAM /*irq enable?*/ |
| 809 | | AM_RANGE(0x03208800, 0x03208803) AM_RAM /*???*/ |
| 810 | | AM_RANGE(0x03208900, 0x03208903) AM_RAM /*???*/ |
| 811 | | AM_RANGE(0x03300400, 0x03300403) AM_RAM /*irq enable?*/ |
| 833 | AM_RANGE(0x03000000, 0x0307ffff) AM_READWRITE16(h1_soundram_r, h1_soundram_w,0xffffffff) //AM_SHARE("soundram") |
| 834 | AM_RANGE(0x03100000, 0x03100fff) AM_DEVREADWRITE16_LEGACY("scsp1", scsp_r, scsp_w, 0xffffffff) |
| 835 | AM_RANGE(0x03200000, 0x0327ffff) AM_READWRITE16(h1_soundram2_r, h1_soundram2_w,0xffffffff) //AM_SHARE("soundram2") |
| 836 | AM_RANGE(0x03300000, 0x03300fff) AM_DEVREADWRITE16_LEGACY("scsp2", scsp_r, scsp_w, 0xffffffff) |
| 812 | 837 | |
| 813 | 838 | AM_RANGE(0x04000000, 0x0400001f) AM_DEVREADWRITE8("i8237", am9517a_device, read, write, 0xffffffff) |
| 814 | 839 | AM_RANGE(0x04000020, 0x0400003f) AM_READWRITE(sysh1_unk_r,sysh1_unk_w) AM_SHARE("h1_unk") |
| r21184 | r21185 | |
| 839 | 864 | static ADDRESS_MAP_START( system_h1_sound_map, AS_PROGRAM, 16, coolridr_state ) |
| 840 | 865 | AM_RANGE(0x000000, 0x07ffff) AM_RAM AM_REGION("scsp1",0) AM_SHARE("soundram") |
| 841 | 866 | AM_RANGE(0x100000, 0x100fff) AM_DEVREADWRITE_LEGACY("scsp1", scsp_r, scsp_w) |
| 842 | | AM_RANGE(0x200000, 0x27ffff) AM_RAM AM_REGION("scsp2",0) |
| 867 | AM_RANGE(0x200000, 0x27ffff) AM_RAM AM_REGION("scsp2",0) AM_SHARE("soundram2") |
| 843 | 868 | AM_RANGE(0x300000, 0x300fff) AM_DEVREADWRITE_LEGACY("scsp2", scsp_r, scsp_w) |
| 844 | 869 | AM_RANGE(0x800000, 0x80ffff) AM_RAM |
| 845 | 870 | ADDRESS_MAP_END |
| r21184 | r21185 | |
| 1287 | 1312 | device->machine().device("soundcpu")->execute().set_input_line(-irq, CLEAR_LINE); |
| 1288 | 1313 | } |
| 1289 | 1314 | |
| 1315 | WRITE_LINE_MEMBER(coolridr_state::scsp_to_main_irq) |
| 1316 | { |
| 1317 | // ... |
| 1318 | } |
| 1319 | |
| 1290 | 1320 | static const scsp_interface scsp_config = |
| 1291 | 1321 | { |
| 1292 | 1322 | 0, |
| 1293 | 1323 | scsp_irq, |
| 1294 | | DEVCB_NULL |
| 1324 | DEVCB_DRIVER_LINE_MEMBER(coolridr_state, scsp_to_main_irq) |
| 1295 | 1325 | }; |
| 1296 | 1326 | |
| 1297 | 1327 | static const scsp_interface scsp2_interface = |