Previous 199869 Revisions Next

r25477 Tuesday 1st October, 2013 at 19:01:23 UTC by Phil Bennett
unico.c - Fix zeropnt2 sound routing
[src/mame/drivers]unico.c

trunk/src/mame/drivers/unico.c
r25476r25477
3838
3939***************************************************************************/
4040
41/*
42 Lines starting with an empty comment in the following MemoryReadAddress
43 arrays are there for debug (e.g. the game does not read from those ranges
44 AFAIK)
45*/
46
4741/***************************************************************************
4842                                Burglar X
4943***************************************************************************/
r25476r25477
6559   AM_RANGE(0x80001a, 0x80001b) AM_READ_PORT("DSW1")
6660   AM_RANGE(0x80001c, 0x80001d) AM_READ_PORT("DSW2")
6761   AM_RANGE(0x800030, 0x800031) AM_WRITENOP                                                // ? 0
68   AM_RANGE(0x80010c, 0x800121) AM_READWRITE( unico_scroll_r, unico_scroll_w )               // Scroll
62   AM_RANGE(0x80010c, 0x800121) AM_READWRITE(unico_scroll_r, unico_scroll_w)               // Scroll
6963   AM_RANGE(0x800188, 0x800189) AM_DEVREADWRITE8("oki", okim6295_device, read, write, 0x00ff)  // Sound
7064   AM_RANGE(0x80018a, 0x80018b) AM_DEVWRITE8("ymsnd", ym3812_device, write_port_w, 0xff00)
7165   AM_RANGE(0x80018c, 0x80018d) AM_DEVREADWRITE8("ymsnd", ym3812_device, status_port_r, control_port_w, 0xff00)
7266   AM_RANGE(0x80018e, 0x80018f) AM_WRITE(burglarx_sound_bank_w)                    //
7367   AM_RANGE(0x8001e0, 0x8001e1) AM_WRITENOP                                                // IRQ Ack
74   AM_RANGE(0x904000, 0x90ffff) AM_READWRITE( unico_vram_r, unico_vram_w )         // Layers 1, 2, 0
68   AM_RANGE(0x904000, 0x90ffff) AM_READWRITE(unico_vram_r, unico_vram_w)         // Layers 1, 2, 0
7569   AM_RANGE(0x920000, 0x923fff) AM_RAM                                                     // ? 0
76   AM_RANGE(0x930000, 0x9307ff) AM_READWRITE( unico_spriteram_r, unico_spriteram_w )   // Sprites
70   AM_RANGE(0x930000, 0x9307ff) AM_READWRITE(unico_spriteram_r, unico_spriteram_w)   // Sprites
7771   AM_RANGE(0x940000, 0x947fff) AM_RAM_WRITE(unico_palette_w) AM_SHARE("paletteram")   // Palette
7872ADDRESS_MAP_END
7973
r25476r25477
150144   AM_RANGE(0x80001a, 0x80001b) AM_READ_PORT("DSW1")
151145   AM_RANGE(0x80001c, 0x80001d) AM_READ_PORT("DSW2")
152146   AM_RANGE(0x80010c, 0x800121) AM_READWRITE( unico_scroll_r, unico_scroll_w )   // Scroll
153   AM_RANGE(0x800170, 0x800171) AM_READ(unico_guny_0_msb_r         )   // Light Guns
154   AM_RANGE(0x800174, 0x800175) AM_READ(unico_gunx_0_msb_r         )   //
155   AM_RANGE(0x800178, 0x800179) AM_READ(unico_guny_1_msb_r         )   //
156   AM_RANGE(0x80017c, 0x80017d) AM_READ(unico_gunx_1_msb_r         )   //
147   AM_RANGE(0x800170, 0x800171) AM_READ(unico_guny_0_msb_r)   // Light Guns
148   AM_RANGE(0x800174, 0x800175) AM_READ(unico_gunx_0_msb_r)   //
149   AM_RANGE(0x800178, 0x800179) AM_READ(unico_guny_1_msb_r)   //
150   AM_RANGE(0x80017c, 0x80017d) AM_READ(unico_gunx_1_msb_r)   //
157151   AM_RANGE(0x800188, 0x800189) AM_DEVREADWRITE8("oki", okim6295_device, read, write, 0x00ff               )   // Sound
158152   AM_RANGE(0x80018a, 0x80018b) AM_DEVWRITE8("ymsnd", ym3812_device, write_port_w, 0xff00)
159153   AM_RANGE(0x80018c, 0x80018d) AM_DEVREADWRITE8("ymsnd", ym3812_device, status_port_r, control_port_w, 0xff00)
160   AM_RANGE(0x80018e, 0x80018f) AM_WRITE(zeropnt_sound_bank_w              )   //
154   AM_RANGE(0x80018e, 0x80018f) AM_WRITE(zeropnt_sound_bank_w)   //
161155   AM_RANGE(0x8001e0, 0x8001e1) AM_WRITEONLY   // ? IRQ Ack
162156   AM_RANGE(0x904000, 0x90ffff) AM_READWRITE( unico_vram_r, unico_vram_w )     // Layers 1, 2, 0
163157   AM_RANGE(0x920000, 0x923fff) AM_RAM // ? 0
r25476r25477
217211static ADDRESS_MAP_START( zeropnt2_map, AS_PROGRAM, 32, unico_state )
218212   AM_RANGE(0x000000, 0x1fffff) AM_ROM                                             // ROM
219213   AM_RANGE(0x800018, 0x80001b) AM_READ_PORT("SYSTEM")
220   AM_RANGE(0x800024, 0x800027) AM_DEVREADWRITE8("oki1", okim6295_device, read, write, 0x00ff0000  )   // Sound
214   AM_RANGE(0x800024, 0x800027) AM_DEVREADWRITE8("oki1", okim6295_device, read, write, 0x00ff0000)   // Sound
221215   AM_RANGE(0x800028, 0x80002f) AM_DEVREADWRITE8("ymsnd", ym2151_device, read, write, 0x00ff0000)  //
222   AM_RANGE(0x800030, 0x800033) AM_DEVREADWRITE8("oki2", okim6295_device, read, write, 0x00ff0000  )   //
223   AM_RANGE(0x800034, 0x800037) AM_WRITE(zeropnt2_sound_bank_w             )   //
224   AM_RANGE(0x800038, 0x80003b) AM_WRITE(zeropnt2_leds_w                   )   // ?
225   AM_RANGE(0x80010c, 0x800123) AM_READWRITE16( unico_scroll_r, unico_scroll_w, 0xffffffff )   // Scroll
226   AM_RANGE(0x800140, 0x800143) AM_READ(zeropnt2_guny_0_msb_r          )   // Light Guns
227   AM_RANGE(0x800144, 0x800147) AM_READ(zeropnt2_gunx_0_msb_r          )   //
228   AM_RANGE(0x800148, 0x80014b) AM_READ(zeropnt2_guny_1_msb_r          )   //
229   AM_RANGE(0x80014c, 0x80014f) AM_READ(zeropnt2_gunx_1_msb_r          )   //
216   AM_RANGE(0x800030, 0x800033) AM_DEVREADWRITE8("oki2", okim6295_device, read, write, 0x00ff0000)   //
217   AM_RANGE(0x800034, 0x800037) AM_WRITE(zeropnt2_sound_bank_w)   //
218   AM_RANGE(0x800038, 0x80003b) AM_WRITE(zeropnt2_leds_w)   // ?
219   AM_RANGE(0x80010c, 0x800123) AM_READWRITE16(unico_scroll_r, unico_scroll_w, 0xffffffff)   // Scroll
220   AM_RANGE(0x800140, 0x800143) AM_READ(zeropnt2_guny_0_msb_r)   // Light Guns
221   AM_RANGE(0x800144, 0x800147) AM_READ(zeropnt2_gunx_0_msb_r)   //
222   AM_RANGE(0x800148, 0x80014b) AM_READ(zeropnt2_guny_1_msb_r)   //
223   AM_RANGE(0x80014c, 0x80014f) AM_READ(zeropnt2_gunx_1_msb_r)   //
230224   AM_RANGE(0x800150, 0x800153) AM_READ_PORT("DSW1")
231225   AM_RANGE(0x800154, 0x800157) AM_READ_PORT("DSW2")
232226   AM_RANGE(0x80015c, 0x80015f) AM_READ_PORT("BUTTONS")
233227   AM_RANGE(0x8001e0, 0x8001e3) AM_WRITENOP                                    // ? IRQ Ack
234228   AM_RANGE(0x8001f0, 0x8001f3) AM_WRITE(zeropnt2_eeprom_w)                    // EEPROM
235   AM_RANGE(0x904000, 0x90ffff) AM_READWRITE16( unico_vram_r, unico_vram_w, 0xffffffff )     // Layers 1, 2, 0
229   AM_RANGE(0x904000, 0x90ffff) AM_READWRITE16(unico_vram_r, unico_vram_w, 0xffffffff)     // Layers 1, 2, 0
236230   AM_RANGE(0x920000, 0x923fff) AM_RAM                                         // ? 0
237   AM_RANGE(0x930000, 0x9307ff) AM_READWRITE16( unico_spriteram_r, unico_spriteram_w, 0xffffffff )   // Sprites
231   AM_RANGE(0x930000, 0x9307ff) AM_READWRITE16(unico_spriteram_r, unico_spriteram_w, 0xffffffff)   // Sprites
238232   AM_RANGE(0x940000, 0x947fff) AM_RAM_WRITE(unico_palette32_w) AM_SHARE("paletteram") // Palette
239233   AM_RANGE(0xfe0000, 0xffffff) AM_RAM                                         // RAM
240234ADDRESS_MAP_END
r25476r25477
485479   PORT_DIPSETTING(          0x1c000000, "4" )
486480   PORT_DIPSETTING(          0x18000000, "5" )
487481   PORT_DIPSETTING(          0x14000000, "6" )
488//  PORT_DIPSETTING(          0x08000000, "4" )
489//  PORT_DIPSETTING(          0x04000000, "4" )
490//  PORT_DIPSETTING(          0x00000000, "4" )
482   PORT_DIPSETTING(          0x08000000, "4 (duplicate)" )
483   PORT_DIPSETTING(          0x04000000, "4 (duplicate)" )
484   PORT_DIPSETTING(          0x00000000, "4 (duplicate)" )
491485   PORT_DIPNAME( 0x20000000, 0x20000000, DEF_STR( Unknown ) )
492486   PORT_DIPSETTING(          0x20000000, DEF_STR( Off ) )
493487   PORT_DIPSETTING(          0x00000000, DEF_STR( On ) )
r25476r25477
584578   MCFG_SCREEN_ADD("screen", RASTER)
585579   MCFG_SCREEN_REFRESH_RATE(60)
586580   MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
587   MCFG_SCREEN_SIZE(0x180, 0xe0)
588   MCFG_SCREEN_VISIBLE_AREA(0, 0x180-1, 0, 0xe0-1)
581   MCFG_SCREEN_SIZE(384, 224)
582   MCFG_SCREEN_VISIBLE_AREA(0, 384-1, 0, 224-1)
589583   MCFG_SCREEN_UPDATE_DRIVER(unico_state, screen_update_unico)
590584
591585   MCFG_GFXDECODE(unico)
r25476r25477
629623   MCFG_SCREEN_ADD("screen", RASTER)
630624   MCFG_SCREEN_REFRESH_RATE(60)
631625   MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
632   MCFG_SCREEN_SIZE(0x180, 0xe0)
633   MCFG_SCREEN_VISIBLE_AREA(0, 0x180-1, 0, 0xe0-1)
626   MCFG_SCREEN_SIZE(384, 224)
627   MCFG_SCREEN_VISIBLE_AREA(0, 384-1, 0, 224-1)
634628   MCFG_SCREEN_UPDATE_DRIVER(unico_state, screen_update_unico)
635629
636630   MCFG_GFXDECODE(unico)
r25476r25477
671665   MCFG_SCREEN_ADD("screen", RASTER)
672666   MCFG_SCREEN_REFRESH_RATE(60)
673667   MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
674   MCFG_SCREEN_SIZE(0x180, 0xe0)
675   MCFG_SCREEN_VISIBLE_AREA(0, 0x180-1, 0, 0xe0-1)
668   MCFG_SCREEN_SIZE(384, 224)
669   MCFG_SCREEN_VISIBLE_AREA(0, 384-1, 0, 224-1)
676670   MCFG_SCREEN_UPDATE_DRIVER(unico_state, screen_update_unico)
677671
678672   MCFG_GFXDECODE(unico)
r25476r25477
689683
690684   MCFG_OKIM6295_ADD("oki1", XTAL_32MHz/32, OKIM6295_PIN7_HIGH) // clock frequency & pin 7 not verified
691685   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.40)
686   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.40)
692687
693688   MCFG_OKIM6295_ADD("oki2", XTAL_14_31818MHz/4, OKIM6295_PIN7_HIGH) // clock frequency & pin 7 not verified
689   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.20)
694690   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.20)
695691MACHINE_CONFIG_END
696692

Previous 199869 Revisions Next


© 1997-2024 The MAME Team