Previous 199869 Revisions Next

r23473 Thursday 6th June, 2013 at 00:17:32 UTC by hap
don't access soundfifo2 on single board pcb
[src/mame/drivers]seibuspi.c
[src/mame/includes]seibuspi.h

trunk/src/mame/drivers/seibuspi.c
r23472r23473
843843   return 0xffffffff;
844844}
845845
846READ32_MEMBER(seibuspi_state::spi_unknown_r)
846READ32_MEMBER(seibuspi_state::spi_nop_r)
847847{
848   // use this if return val must be high
848849   return 0xffffffff;
849850}
850851
r23472r23473
917918
918919WRITE8_MEMBER(seibuspi_state::z80_bank_w)
919920{
921   // d0-d2: bank @ 8000
920922   int bank = data & 7;
921923
922924   if (bank != m_z80_lastbank)
r23472r23473
924926      m_z80_lastbank = bank;
925927      membank("bank1")->set_entry(bank);
926928   }
929   
930   // d3: watchdog?
927931}
928932
929933WRITE8_MEMBER(seibuspi_state::sb_coin_w)
r23472r23473
949953   AM_RANGE(0x00000494, 0x00000497) AM_WRITE(video_dma_address_w)
950954   AM_RANGE(0x0000050c, 0x0000050f) AM_WRITE(sprite_dma_start_w)
951955   AM_RANGE(0x00000560, 0x00000563) AM_WRITE(sprite_dma_start_w)
952   AM_RANGE(0x00000600, 0x00000603) AM_READ(spi_int_r)         /* Clear Interrupt */
953   AM_RANGE(0x00000600, 0x00000603) AM_WRITENOP                /* Unknown */
954   AM_RANGE(0x00000604, 0x00000607) AM_READ_PORT("INPUTS")     /* Player controls */
955   AM_RANGE(0x00000608, 0x0000060b) AM_READ(spi_unknown_r)     /* Unknown */
956   AM_RANGE(0x0000060c, 0x0000060f) AM_READ_PORT("SYSTEM")     /* Player controls (start) */
956   AM_RANGE(0x00000600, 0x00000603) AM_READ(spi_int_r)         // Clear Interrupt
957   AM_RANGE(0x00000600, 0x00000603) AM_WRITENOP                // Unknown
958   AM_RANGE(0x00000604, 0x00000607) AM_READ_PORT("INPUTS")     // Player controls
959   AM_RANGE(0x00000608, 0x0000060b) AM_READ(spi_nop_r)         // Unknown
960   AM_RANGE(0x0000060c, 0x0000060f) AM_READ_PORT("SYSTEM")     // Player controls (start)
957961   AM_RANGE(0x00000680, 0x00000683) AM_DEVREAD8("soundfifo2", fifo7200_device, data_byte_r, 0x000000ff)
958962   AM_RANGE(0x00000680, 0x00000683) AM_DEVWRITE8("soundfifo1", fifo7200_device, data_byte_w, 0x000000ff)
959963   AM_RANGE(0x00000684, 0x00000687) AM_READ8(sound_fifo_status_r, 0x000000ff)
960   AM_RANGE(0x00000684, 0x00000687) AM_WRITENOP                /* Unknown */
964   AM_RANGE(0x00000684, 0x00000687) AM_WRITENOP                // Unknown
961965   AM_RANGE(0x00000688, 0x0000068b) AM_WRITE8(z80_prg_transfer_w, 0x000000ff)
962966   AM_RANGE(0x0000068c, 0x0000068f) AM_WRITE8(z80_enable_w, 0x000000ff)
963967   AM_RANGE(0x0000068c, 0x0000068f) AM_WRITE8(spi_set_layer_banks_w, 0x00ff0000)
r23472r23473
968972   AM_RANGE(0x00000800, 0x0003ffff) AM_RAM AM_SHARE("mainram")
969973   AM_RANGE(0x00200000, 0x003fffff) AM_ROM AM_SHARE("share1")
970974   AM_RANGE(0x00a00000, 0x013fffff) AM_ROM AM_REGION("sound01", 0)
971   AM_RANGE(0xffe00000, 0xffffffff) AM_ROM AM_REGION("maincpu", 0) AM_SHARE("share1")        /* ROM location in real-mode */
975   AM_RANGE(0xffe00000, 0xffffffff) AM_ROM AM_REGION("maincpu", 0) AM_SHARE("share1") // ROM location in real-mode
972976ADDRESS_MAP_END
973977
974978static ADDRESS_MAP_START( spisound_map, AS_PROGRAM, 8, seibuspi_state )
975979   AM_RANGE(0x0000, 0x1fff) AM_ROM
976980   AM_RANGE(0x2000, 0x3fff) AM_RAM
977   AM_RANGE(0x4002, 0x4002) AM_WRITENOP            /* Unknown */
978   AM_RANGE(0x4003, 0x4003) AM_WRITENOP            /* Unknown */
979   AM_RANGE(0x4004, 0x4004) AM_WRITE(sb_coin_w)    /* single board systems */
981   AM_RANGE(0x4002, 0x4002) AM_WRITENOP                // Unknown
982   AM_RANGE(0x4003, 0x4003) AM_WRITENOP                // Unknown
980983   AM_RANGE(0x4008, 0x4008) AM_DEVREAD("soundfifo1", fifo7200_device, data_byte_r)
981984   AM_RANGE(0x4008, 0x4008) AM_DEVWRITE("soundfifo2", fifo7200_device, data_byte_w)
982985   AM_RANGE(0x4009, 0x4009) AM_READ(z80_soundfifo_status_r)
983986   AM_RANGE(0x400a, 0x400a) AM_READ_PORT("JP1")
984   AM_RANGE(0x400b, 0x400b) AM_WRITENOP            /* Unknown */
987   AM_RANGE(0x400b, 0x400b) AM_WRITENOP                // Unknown
985988   AM_RANGE(0x4013, 0x4013) AM_READ_PORT("COIN")
986   AM_RANGE(0x401b, 0x401b) AM_WRITE(z80_bank_w)   /* control register: bits 0-2 = bank @ 8000, bit 3 = watchdog? */
989   AM_RANGE(0x401b, 0x401b) AM_WRITE(z80_bank_w)
987990   AM_RANGE(0x6000, 0x600f) AM_DEVREADWRITE("ymf", ymf271_device, read, write)
988991   AM_RANGE(0x8000, 0xffff) AM_ROMBANK("bank1")
989992ADDRESS_MAP_END
r23472r23473
993996
994997static ADDRESS_MAP_START( sxx2e_map, AS_PROGRAM, 32, seibuspi_state )
995998   AM_RANGE(0x00000680, 0x00000683) AM_READ8(sb_coin_r, 0x000000ff)
996   AM_RANGE(0x00000688, 0x0000068b) AM_WRITENOP
997   AM_RANGE(0x0000068c, 0x0000068f) AM_WRITENOP
999   AM_RANGE(0x00000684, 0x00000687) AM_READ(spi_nop_r) // No soundfifo2
1000   AM_RANGE(0x00000688, 0x0000068b) AM_WRITENOP        // No z80_prg_transfer
1001   AM_RANGE(0x0000068c, 0x0000068f) AM_WRITE8(spi_set_layer_banks_w, 0x00ff0000)
1002   AM_RANGE(0x0000068c, 0x0000068f) AM_WRITENOP        // No z80_enable
9981003   AM_IMPORT_FROM( spi_map )
9991004ADDRESS_MAP_END
10001005
r23472r23473
10031008   AM_IMPORT_FROM( sxx2e_map )
10041009ADDRESS_MAP_END
10051010
1011static ADDRESS_MAP_START( sbsound_map, AS_PROGRAM, 8, seibuspi_state )
1012   AM_RANGE(0x4004, 0x4004) AM_WRITE(sb_coin_w)
1013   AM_RANGE(0x4008, 0x4008) AM_WRITENOP                // No soundfifo2
1014   AM_IMPORT_FROM( spisound_map )
1015ADDRESS_MAP_END
10061016
1017
10071018/********************************************************************/
10081019
10091020static ADDRESS_MAP_START( seibu386_map, AS_PROGRAM, 32, seibuspi_state )
r23472r23473
10181029   AM_RANGE(0x00000494, 0x00000497) AM_WRITE(video_dma_address_w)
10191030   AM_RANGE(0x0000050c, 0x0000050f) AM_WRITE(sprite_dma_start_w)
10201031   AM_RANGE(0x00000560, 0x00000563) AM_WRITE(sprite_dma_start_w)
1021   AM_RANGE(0x00000600, 0x00000603) AM_READ(spi_int_r)         /* Unknown */
1022   AM_RANGE(0x00000604, 0x00000607) AM_READ_PORT("INPUTS")     /* Player controls */
1023   AM_RANGE(0x00000608, 0x0000060b) AM_READ(spi_unknown_r)
1024   AM_RANGE(0x0000060c, 0x0000060f) AM_READ_PORT("SYSTEM")     /* Player controls (start) */
1032   AM_RANGE(0x00000600, 0x00000603) AM_READ(spi_int_r)         // Unknown
1033   AM_RANGE(0x00000604, 0x00000607) AM_READ_PORT("INPUTS")     // Player controls
1034   AM_RANGE(0x00000608, 0x0000060b) AM_READ(spi_nop_r)
1035   AM_RANGE(0x0000060c, 0x0000060f) AM_READ_PORT("SYSTEM")     // Player controls (start)
10251036   AM_RANGE(0x0000068c, 0x0000068f) AM_WRITE8(spi_layerbanks_eeprom_w, 0x00ff0000)
10261037   AM_RANGE(0x0000068c, 0x0000068f) AM_WRITE8(oki_bank_w, 0xff000000)
10271038   AM_RANGE(0x00000800, 0x0003ffff) AM_RAM AM_SHARE("mainram")
10281039   AM_RANGE(0x00200000, 0x003fffff) AM_ROM AM_SHARE("share1")
10291040   AM_RANGE(0x01200000, 0x01200003) AM_DEVREADWRITE8("oki1", okim6295_device, read, write, 0x000000ff)
10301041   AM_RANGE(0x01200004, 0x01200007) AM_DEVREADWRITE8("oki2", okim6295_device, read, write, 0x000000ff)
1031   AM_RANGE(0xffe00000, 0xffffffff) AM_ROM AM_REGION("maincpu", 0) AM_SHARE("share1")        /* ROM location in real-mode */
1042   AM_RANGE(0xffe00000, 0xffffffff) AM_ROM AM_REGION("maincpu", 0) AM_SHARE("share1") // ROM location in real-mode
10321043ADDRESS_MAP_END
10331044
10341045
r23472r23473
10361047
10371048static ADDRESS_MAP_START( sys386f2_map, AS_PROGRAM, 32, seibuspi_state )
10381049   AM_RANGE(0x00000000, 0x0000000f) AM_RAM
1039   AM_RANGE(0x00000010, 0x00000013) AM_READ(spi_int_r)             /* Unknown */
1040   AM_RANGE(0x00000090, 0x00000097) AM_RAM /* Unknown */
1050   AM_RANGE(0x00000010, 0x00000013) AM_READ(spi_int_r)         // Unknown
1051   AM_RANGE(0x00000090, 0x00000097) AM_RAM                     // Unknown
10411052   AM_RANGE(0x00000400, 0x00000403) AM_READNOP AM_WRITE(ejsakura_input_select_w)
10421053   AM_RANGE(0x00000404, 0x00000407) AM_WRITE8(eeprom_w, 0x000000ff)
10431054   AM_RANGE(0x00000408, 0x0000040f) AM_DEVWRITE8("ymz", ymz280b_device, write, 0x000000ff)
10441055   AM_RANGE(0x00000484, 0x00000487) AM_WRITE(palette_dma_start_w)
10451056   AM_RANGE(0x00000490, 0x00000493) AM_WRITE(video_dma_length_w)
10461057   AM_RANGE(0x00000494, 0x00000497) AM_WRITE(video_dma_address_w)
1058   AM_RANGE(0x00000500, 0x0000050b) AM_RAM                     // Unknown
10471059   AM_RANGE(0x0000050c, 0x0000050f) AM_WRITE(sprite_dma_start_w)
1060   AM_RANGE(0x00000510, 0x0000054f) AM_RAM                     // Unknown
10481061   AM_RANGE(0x00000560, 0x00000563) AM_WRITE(sprite_dma_start_w)
10491062   AM_RANGE(0x00000600, 0x00000607) AM_DEVREAD8("ymz", ymz280b_device, read, 0x000000ff)
1050   AM_RANGE(0x00000608, 0x0000060b) AM_READ(spi_unknown_r)
1051   AM_RANGE(0x0000060c, 0x0000060f) AM_READ_PORT("INPUTS")     /* Player controls */
1063   AM_RANGE(0x00000608, 0x0000060b) AM_READ(spi_nop_r)
1064   AM_RANGE(0x0000060c, 0x0000060f) AM_READ_PORT("INPUTS")     // Player controls
10521065   AM_RANGE(0x00000800, 0x0003ffff) AM_RAM AM_SHARE("mainram")
10531066   AM_RANGE(0x00200000, 0x003fffff) AM_ROM AM_SHARE("share1")
1054   AM_RANGE(0xffe00000, 0xffffffff) AM_ROM AM_REGION("maincpu", 0) AM_SHARE("share1")        /* ROM location in real-mode */
1067   AM_RANGE(0xffe00000, 0xffffffff) AM_ROM AM_REGION("maincpu", 0) AM_SHARE("share1") // ROM location in real-mode
10551068ADDRESS_MAP_END
10561069
10571070
r23472r23473
10781091WRITE_LINE_MEMBER(seibuspi_state::ymf_irqhandler)
10791092{
10801093   if (state)
1081      m_audiocpu->set_input_line_and_vector(0, ASSERT_LINE, 0xd7);    // IRQ is RST10
1094      m_audiocpu->set_input_line_and_vector(0, ASSERT_LINE, 0xd7); // IRQ is RST10
10821095   else
10831096      m_audiocpu->set_input_line(0, CLEAR_LINE);
10841097}
r23472r23473
18651878   MCFG_CPU_MODIFY("maincpu")
18661879   MCFG_CPU_PROGRAM_MAP(sxx2e_map)
18671880
1881   MCFG_CPU_MODIFY("audiocpu")
1882   MCFG_CPU_PROGRAM_MAP(sbsound_map)
1883
18681884   MCFG_MACHINE_START_OVERRIDE(seibuspi_state, sxx2e)
18691885   MCFG_MACHINE_RESET_OVERRIDE(seibuspi_state, sxx2e)
18701886
18711887   MCFG_DEVICE_REMOVE("soundflash1")
18721888   MCFG_DEVICE_REMOVE("soundflash2")
18731889
1890   //MCFG_DEVICE_REMOVE("soundfifo2")
1891
18741892   /* sound hardware */
18751893   MCFG_SOUND_REPLACE("ymf", YMF271, XTAL_16_9344MHz)
18761894   MCFG_YMF271_IRQ_HANDLER(WRITELINE(seibuspi_state, ymf_irqhandler))
trunk/src/mame/includes/seibuspi.h
r23472r23473
7676   DECLARE_WRITE8_MEMBER(sb_coin_w);
7777   DECLARE_READ8_MEMBER(sound_fifo_status_r);
7878   DECLARE_READ32_MEMBER(spi_int_r);
79   DECLARE_READ32_MEMBER(spi_unknown_r);
79   DECLARE_READ32_MEMBER(spi_nop_r);
8080   DECLARE_WRITE8_MEMBER(z80_prg_transfer_w);
8181   DECLARE_WRITE8_MEMBER(z80_enable_w);
8282   DECLARE_READ8_MEMBER(z80_soundfifo_status_r);

Previous 199869 Revisions Next


© 1997-2024 The MAME Team