Previous 199869 Revisions Next

r23489 Thursday 6th June, 2013 at 12:39:39 UTC by hap
small update
[src/mame/drivers]seibuspi.c
[src/mame/includes]seibuspi.h

trunk/src/mame/drivers/seibuspi.c
r23488r23489
930930   // d3: watchdog?
931931}
932932
933WRITE8_MEMBER(seibuspi_state::sb_coin_w)
933WRITE8_MEMBER(seibuspi_state::spi_coin_w)
934934{
935   coin_counter_w(machine(), 0, data & 1);
936   coin_counter_w(machine(), 1, data & 2);
937   
938   // coin latch used by single boards
935939   if (data)
936940      m_sb_coin_latch = 0xa0 | data;
937941   else
r23488r23489
942946/********************************************************************/
943947
944948static ADDRESS_MAP_START( spi_map, AS_PROGRAM, 32, seibuspi_state )
945   AM_RANGE(0x00000000, 0x00000417) AM_RAM
949   AM_RANGE(0x00000000, 0x000003ff) AM_RAM
950   AM_RANGE(0x00000414, 0x00000417) AM_WRITENOP // bg gfx decryption key, see machine/seibuspi.c
946951   AM_RANGE(0x00000418, 0x0000041b) AM_READWRITE(spi_layer_bank_r, spi_layer_bank_w)
947952   AM_RANGE(0x0000041c, 0x0000041f) AM_READNOP
948953   AM_RANGE(0x0000041c, 0x0000041f) AM_WRITE(spi_layer_enable_w)
r23488r23489
951956   AM_RANGE(0x00000484, 0x00000487) AM_WRITE(palette_dma_start_w)
952957   AM_RANGE(0x00000490, 0x00000493) AM_WRITE(video_dma_length_w)
953958   AM_RANGE(0x00000494, 0x00000497) AM_WRITE(video_dma_address_w)
959   AM_RANGE(0x00000498, 0x0000049b) AM_WRITENOP // ?
954960   AM_RANGE(0x0000050c, 0x0000050f) AM_WRITE(sprite_dma_start_w)
961   AM_RANGE(0x00000524, 0x00000527) AM_WRITENOP // SEI252 sprite decryption key, see machine/spisprit.c
962   AM_RANGE(0x00000530, 0x00000533) AM_WRITENOP // SEI252 sprite decryption table key, see machine/spisprit.c
963   AM_RANGE(0x0000053c, 0x0000053f) AM_WRITENOP // SEI252 sprite decryption table index, see machine/spisprit.c
964   AM_RANGE(0x0000054c, 0x0000054f) AM_WRITENOP // RISE10/11 sprite decryption key, see machine/seibuspi.c
955965   AM_RANGE(0x00000560, 0x00000563) AM_WRITE(sprite_dma_start_w)
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)
966   AM_RANGE(0x00000600, 0x00000603) AM_READ(spi_int_r)
967   AM_RANGE(0x00000600, 0x00000603) AM_WRITENOP // ?
968   AM_RANGE(0x00000604, 0x00000607) AM_READ_PORT("INPUTS")
969   AM_RANGE(0x00000608, 0x0000060b) AM_READ_PORT("UNKNOWN")
970   AM_RANGE(0x0000060c, 0x0000060f) AM_READ_PORT("SYSTEM")
961971   AM_RANGE(0x00000680, 0x00000683) AM_DEVREAD8("soundfifo2", fifo7200_device, data_byte_r, 0x000000ff)
962972   AM_RANGE(0x00000680, 0x00000683) AM_DEVWRITE8("soundfifo1", fifo7200_device, data_byte_w, 0x000000ff)
963973   AM_RANGE(0x00000684, 0x00000687) AM_READ8(sound_fifo_status_r, 0x000000ff)
964   AM_RANGE(0x00000684, 0x00000687) AM_WRITENOP                // Unknown
974   AM_RANGE(0x00000684, 0x00000687) AM_WRITENOP // ?
975   AM_RANGE(0x00000688, 0x0000068b) AM_READNOP // ?
965976   AM_RANGE(0x00000688, 0x0000068b) AM_WRITE8(z80_prg_transfer_w, 0x000000ff)
966977   AM_RANGE(0x0000068c, 0x0000068f) AM_WRITE8(z80_enable_w, 0x000000ff)
967978   AM_RANGE(0x0000068c, 0x0000068f) AM_WRITE8(spi_set_layer_banks_w, 0x00ff0000)
979   AM_RANGE(0x00000690, 0x00000693) AM_WRITENOP // ?
968980   AM_RANGE(0x000006d0, 0x000006d3) AM_DEVWRITE8("ds2404", ds2404_device, ds2404_1w_reset_w, 0x000000ff)
969981   AM_RANGE(0x000006d4, 0x000006d7) AM_DEVWRITE8("ds2404", ds2404_device, ds2404_data_w, 0x000000ff)
970982   AM_RANGE(0x000006d8, 0x000006db) AM_DEVWRITE8("ds2404", ds2404_device, ds2404_clk_w, 0x000000ff)
r23488r23489
978990static ADDRESS_MAP_START( spisound_map, AS_PROGRAM, 8, seibuspi_state )
979991   AM_RANGE(0x0000, 0x1fff) AM_ROM
980992   AM_RANGE(0x2000, 0x3fff) AM_RAM
981   AM_RANGE(0x4002, 0x4002) AM_WRITENOP                // Unknown
982   AM_RANGE(0x4003, 0x4003) AM_WRITENOP                // Unknown
993   AM_RANGE(0x4002, 0x4002) AM_WRITENOP // ?
994   AM_RANGE(0x4003, 0x4003) AM_WRITENOP // ?
995   AM_RANGE(0x4004, 0x4004) AM_WRITE(spi_coin_w)
983996   AM_RANGE(0x4008, 0x4008) AM_DEVREAD("soundfifo1", fifo7200_device, data_byte_r)
984997   AM_RANGE(0x4008, 0x4008) AM_DEVWRITE("soundfifo2", fifo7200_device, data_byte_w)
985998   AM_RANGE(0x4009, 0x4009) AM_READ(z80_soundfifo_status_r)
986999   AM_RANGE(0x400a, 0x400a) AM_READ_PORT("JP1")
987   AM_RANGE(0x400b, 0x400b) AM_WRITENOP                // Unknown
1000   AM_RANGE(0x400b, 0x400b) AM_WRITENOP // ?
9881001   AM_RANGE(0x4013, 0x4013) AM_READ_PORT("COIN")
9891002   AM_RANGE(0x401b, 0x401b) AM_WRITE(z80_bank_w)
9901003   AM_RANGE(0x6000, 0x600f) AM_DEVREADWRITE("ymf", ymf271_device, read, write)
r23488r23489
9961009
9971010static ADDRESS_MAP_START( sxx2e_map, AS_PROGRAM, 32, seibuspi_state )
9981011   AM_RANGE(0x00000680, 0x00000683) AM_READ8(sb_coin_r, 0x000000ff)
999   AM_RANGE(0x00000684, 0x00000687) AM_READ(spi_nop_r) // No soundfifo2
1000   AM_RANGE(0x00000688, 0x0000068b) AM_WRITENOP        // No z80_prg_transfer
1012   AM_RANGE(0x00000684, 0x00000687) AM_READ(spi_nop_r) // no soundfifo2
1013   AM_RANGE(0x00000688, 0x0000068b) AM_WRITENOP // no z80_prg_transfer
10011014   AM_RANGE(0x0000068c, 0x0000068f) AM_WRITE8(spi_set_layer_banks_w, 0x00ff0000)
1002   AM_RANGE(0x0000068c, 0x0000068f) AM_WRITENOP        // No z80_enable
1015   AM_RANGE(0x0000068c, 0x0000068f) AM_WRITENOP // no z80_enable
10031016   AM_IMPORT_FROM( spi_map )
10041017ADDRESS_MAP_END
10051018
r23488r23489
10091022ADDRESS_MAP_END
10101023
10111024static 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
1025   AM_RANGE(0x4008, 0x4008) AM_WRITENOP // no soundfifo2
10141026   AM_IMPORT_FROM( spisound_map )
10151027ADDRESS_MAP_END
10161028
r23488r23489
10181030/********************************************************************/
10191031
10201032static ADDRESS_MAP_START( seibu386_map, AS_PROGRAM, 32, seibuspi_state )
1021   AM_RANGE(0x00000000, 0x00000417) AM_RAM
1033   AM_RANGE(0x00000000, 0x000003ff) AM_RAM
1034   AM_RANGE(0x00000414, 0x00000417) AM_WRITENOP
10221035   AM_RANGE(0x00000418, 0x0000041b) AM_READWRITE(spi_layer_bank_r, spi_layer_bank_w)
10231036   AM_RANGE(0x0000041c, 0x0000041f) AM_READNOP
10241037   AM_RANGE(0x0000041c, 0x0000041f) AM_WRITE(spi_layer_enable_w)
r23488r23489
10271040   AM_RANGE(0x00000484, 0x00000487) AM_WRITE(palette_dma_start_w)
10281041   AM_RANGE(0x00000490, 0x00000493) AM_WRITE(video_dma_length_w)
10291042   AM_RANGE(0x00000494, 0x00000497) AM_WRITE(video_dma_address_w)
1043   AM_RANGE(0x00000498, 0x0000049b) AM_WRITENOP // ?
1044   AM_RANGE(0x000004c0, 0x000004c3) AM_WRITENOP // ?
10301045   AM_RANGE(0x0000050c, 0x0000050f) AM_WRITE(sprite_dma_start_w)
1046   AM_RANGE(0x0000054c, 0x0000054f) AM_WRITENOP
10311047   AM_RANGE(0x00000560, 0x00000563) AM_WRITE(sprite_dma_start_w)
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)
1048   AM_RANGE(0x00000600, 0x00000603) AM_READ(spi_int_r)
1049   AM_RANGE(0x00000604, 0x00000607) AM_READ_PORT("INPUTS")
1050   AM_RANGE(0x00000608, 0x0000060b) AM_READ_PORT("UNKNOWN")
1051   AM_RANGE(0x0000060c, 0x0000060f) AM_READ_PORT("SYSTEM")
10361052   AM_RANGE(0x0000068c, 0x0000068f) AM_WRITE8(spi_layerbanks_eeprom_w, 0x00ff0000)
10371053   AM_RANGE(0x0000068c, 0x0000068f) AM_WRITE8(oki_bank_w, 0xff000000)
10381054   AM_RANGE(0x00000800, 0x0003ffff) AM_RAM AM_SHARE("mainram")
r23488r23489
10471063
10481064static ADDRESS_MAP_START( sys386f2_map, AS_PROGRAM, 32, seibuspi_state )
10491065   AM_RANGE(0x00000000, 0x0000000f) AM_RAM
1050   AM_RANGE(0x00000010, 0x00000013) AM_READ(spi_int_r)         // Unknown
1051   AM_RANGE(0x00000090, 0x00000097) AM_RAM                     // Unknown
1066   AM_RANGE(0x00000010, 0x00000013) AM_READ(spi_int_r) // ?
1067   AM_RANGE(0x00000090, 0x000003ff) AM_RAM
10521068   AM_RANGE(0x00000400, 0x00000403) AM_READNOP AM_WRITE(ejsakura_input_select_w)
10531069   AM_RANGE(0x00000404, 0x00000407) AM_WRITE8(eeprom_w, 0x000000ff)
10541070   AM_RANGE(0x00000408, 0x0000040f) AM_DEVWRITE8("ymz", ymz280b_device, write, 0x000000ff)
10551071   AM_RANGE(0x00000484, 0x00000487) AM_WRITE(palette_dma_start_w)
10561072   AM_RANGE(0x00000490, 0x00000493) AM_WRITE(video_dma_length_w)
10571073   AM_RANGE(0x00000494, 0x00000497) AM_WRITE(video_dma_address_w)
1058   AM_RANGE(0x00000500, 0x0000050b) AM_RAM                     // Unknown
10591074   AM_RANGE(0x0000050c, 0x0000050f) AM_WRITE(sprite_dma_start_w)
1060   AM_RANGE(0x00000510, 0x0000054f) AM_RAM                     // Unknown
10611075   AM_RANGE(0x00000560, 0x00000563) AM_WRITE(sprite_dma_start_w)
10621076   AM_RANGE(0x00000600, 0x00000607) AM_DEVREAD8("ymz", ymz280b_device, read, 0x000000ff)
1063   AM_RANGE(0x00000608, 0x0000060b) AM_READ(spi_nop_r)
1064   AM_RANGE(0x0000060c, 0x0000060f) AM_READ_PORT("INPUTS")     // Player controls
1077   AM_RANGE(0x00000608, 0x0000060b) AM_READ_PORT("UNKNOWN")
1078   AM_RANGE(0x0000060c, 0x0000060f) AM_READ_PORT("INPUTS")
10651079   AM_RANGE(0x00000800, 0x0003ffff) AM_RAM AM_SHARE("mainram")
10661080   AM_RANGE(0x00200000, 0x003fffff) AM_ROM AM_SHARE("share1")
10671081   AM_RANGE(0xffe00000, 0xffffffff) AM_ROM AM_REGION("maincpu", 0) AM_SHARE("share1") // ROM location in real-mode
r23488r23489
11231137   PORT_BIT( 0x00000001, IP_ACTIVE_LOW, IPT_START1 )
11241138   PORT_BIT( 0x00000002, IP_ACTIVE_LOW, IPT_START2 )
11251139   PORT_SERVICE_NO_TOGGLE( 0x00000004, IP_ACTIVE_LOW) /* Test Button */
1126   PORT_BIT( 0x00000008, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("Service Coin") PORT_CODE(KEYCODE_7)
1140   PORT_BIT( 0x00000008, IP_ACTIVE_LOW, IPT_SERVICE )
11271141   PORT_BIT( 0x00000040, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
11281142   PORT_BIT( 0x000000b0, IP_ACTIVE_LOW, IPT_UNUSED )
11291143   PORT_BIT( 0xffffff00, IP_ACTIVE_LOW, IPT_UNUSED )
11301144
1145   PORT_START("UNKNOWN")
1146   PORT_BIT( 0xffffffff, IP_ACTIVE_LOW, IPT_UNKNOWN )
1147
11311148   PORT_START("JP1")
11321149   PORT_DIPNAME( 0x03, 0x03, "JP1" )
11331150   PORT_DIPSETTING(    0x03, "Update"  )
r23488r23489
11731190   PORT_BIT( 0x00000001, IP_ACTIVE_LOW, IPT_START1 )
11741191   PORT_BIT( 0x00000002, IP_ACTIVE_LOW, IPT_START2 )
11751192   PORT_SERVICE_NO_TOGGLE( 0x00000004, IP_ACTIVE_LOW) /* Test Button */
1176   PORT_BIT( 0x00000008, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("Service Coin") PORT_CODE(KEYCODE_7)
1193   PORT_BIT( 0x00000008, IP_ACTIVE_LOW, IPT_SERVICE )
11771194   PORT_BIT( 0x00000010, IP_ACTIVE_LOW, IPT_COIN1 )
11781195   PORT_BIT( 0x00000020, IP_ACTIVE_LOW, IPT_COIN2 )
11791196   PORT_BIT( 0x00000040, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
11801197   PORT_BIT( 0x00000080, IP_ACTIVE_LOW, IPT_UNUSED )
11811198   PORT_BIT( 0xffffff00, IP_ACTIVE_LOW, IPT_UNUSED )
11821199
1200   PORT_START("UNKNOWN")
1201   PORT_BIT( 0xffffffff, IP_ACTIVE_LOW, IPT_UNKNOWN )
1202
11831203   PORT_START("JP1")
11841204   PORT_DIPNAME( 0x03, 0x03, "JP1" )
11851205   PORT_DIPSETTING(    0x03, "Update"  )
r23488r23489
12321252
12331253   PORT_START("SYSTEM")
12341254   PORT_SERVICE_NO_TOGGLE( 0x00000004, IP_ACTIVE_LOW )
1235   PORT_BIT( 0x00000008, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("Service Coin") PORT_CODE(KEYCODE_7)
1255   PORT_BIT( 0x00000008, IP_ACTIVE_LOW, IPT_SERVICE )
12361256   PORT_BIT( 0x000000f3, IP_ACTIVE_LOW, IPT_UNKNOWN )
12371257   PORT_BIT( 0xffffff00, IP_ACTIVE_LOW, IPT_UNUSED )
12381258
1259   PORT_START("UNKNOWN")
1260   PORT_BIT( 0xffffffff, IP_ACTIVE_LOW, IPT_UNKNOWN )
1261
12391262   PORT_START("JP1")
12401263   PORT_DIPNAME( 0x03, 0x03, "JP1" )
12411264   PORT_DIPSETTING(    0x03, "Update"  )
r23488r23489
13491372   PORT_BIT( 0x00004000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
13501373   PORT_BIT( 0xffffbf3f, IP_ACTIVE_LOW, IPT_UNUSED )
13511374
1375   PORT_START("UNKNOWN")
1376   PORT_BIT( 0xffffffff, IP_ACTIVE_LOW, IPT_UNKNOWN )
13521377INPUT_PORTS_END
1378
13531379/********************************************************************/
13541380
1381
13551382#define PLANE_CHAR 0
13561383#define PLANE_TILE 0
13571384#define PLANE_SPRITE 0
trunk/src/mame/includes/seibuspi.h
r23488r23489
1/***************************************************************************
2
3    Seibu SPI hardware
4   
5***************************************************************************/
6
17#include "machine/intelfsh.h"
28#include "machine/eeprom.h"
39#include "machine/7200fifo.h"
r23488r23489
7379   DECLARE_CUSTOM_INPUT_MEMBER(ejsakura_keyboard_r);
7480   DECLARE_CUSTOM_INPUT_MEMBER(ejanhs_encode);
7581   DECLARE_READ8_MEMBER(sb_coin_r);
76   DECLARE_WRITE8_MEMBER(sb_coin_w);
82   DECLARE_WRITE8_MEMBER(spi_coin_w);
7783   DECLARE_READ8_MEMBER(sound_fifo_status_r);
7884   DECLARE_READ32_MEMBER(spi_int_r);
7985   DECLARE_READ32_MEMBER(spi_nop_r);

Previous 199869 Revisions Next


© 1997-2024 The MAME Team