driver
driver vsnes.c
source vsnes.c (vsnes.c on mamedev.org)
games Vs. Atari R.B.I. Baseball (set 1)
Vs. Atari R.B.I. Baseball (set 2)
Vs. Balloon Fight
Vs. BaseBall
Vs. BaseBall (Japan set 1)
Vs. BaseBall (Japan set 2)
Vs. BaseBall (Japan set 3)
Vs. Battle City
Vs. Castlevania
Vs. Clu Clu Land
Vs. Dr. Mario
Vs. Duck Hunt
Vs. Excitebike
Vs. Excitebike (Japan)
Vs. Freedom Force
Vs. Gradius
Vs. Gumshoe
Vs. Hogan's Alley
Vs. Ice Climber
Vs. Ice Climber (Japan)
Vs. Ice Climber Dual (Japan)
Vs. Mach Rider (Endurance Course Version)
Vs. Mach Rider (Japan, Fighting Course Version)
Vs. Mahjang (Japan)
Vs. Mighty Bomb Jack (Japan)
Vs. Ninja Jajamaru Kun (Japan)
Vs. Pinball
Vs. Pinball (Japan)
Vs. Platoon
Vs. Raid on Bungeling Bay (Japan)
Vs. Slalom
Vs. Soccer
Vs. Star Luster
Vs. Stroke & Match Golf (Ladies Version)
Vs. Stroke & Match Golf (Men Version) (Japan)
Vs. Stroke & Match Golf (Men Version, set 1)
Vs. Stroke & Match Golf (Men Version, set 2)
Vs. Super Mario Bros.
Vs. Super Mario Bros. (alt)
Vs. Super SkyKid
Vs. Super Xevious
Vs. Tennis
Vs. Tennis (Japan)
Vs. Tetris
Vs. The Goonies
Vs. TKO Boxing
Vs. Top Gun
Vs. Wrecking Crew
information 0.37b11 [Howie Cohen]


TODO:

- Check others bits in coin counter

- Check other values in bnglngby irq

- Top Gun: cpu #0 (PC=00008016): unmapped memory byte read from 00007FFF ???


NOTES:

- Driver based on Brad Oliver's MESS implementation of the NES.

- Needed roms: Babel no Tou (Namco 198?), Family Boxing (Namco/Woodplace 198?), Family Stadium '87 (Namco 1987), Family Stadium '88 (Namco 1988), Family Tennis (Namco 198?), Japan version of Vs. Tennis (1984), Japan version of Vs. Soccer (1985), Japan version of Vs. Super Mario Bros. (1986), Madoula no Tsubasa (Sunsoft 198?), Pro Yakyuu Family Stadium (Namco 1986?), Quest of Ki (Namco/Game Studio 198?), Skate Kids (Two-Bit Score 198?; hack of Vs. Super Mario Bros.), Sky Kid (Namco 1985), Super Chinese Namco/Culture Brain 1988), Trojan (Capcom 1987), Urban Champion (1984), Volleyball (1986), Walkure no Bouken (Namco 198?), Wild Gunman (1984, light gun game) and Xevious.


Bugs:

- vsnes.c games (at least excitebk): Colors are wrong. Mr. Do (ID 00803)

- vsslalom, machridr, possibly other vsnes.c driving games: In Slalom and Mach Rider the road has glitches (lines on the side) most visable when you make a turn. This is not correct (see snapshots). vsnes055gre Karasu

- smgolf, smgolfj, ladygolf: There is a misplaced line at the top of the screen (see snapshot) smgolf061gre DCisTHEbest

- cstlevna, vsgradus, suprmrio, goonies: Black startup screens are now grey. I checked through older versions, it seems this started in MAME .53. vsnes_2055gre Karasu / Smitdogg


WIP:

- 0.125u5: Added includesvsnes.h.

- 0.124u4: Aaron Giles fixed refreshspeed causes fatal exception in VSNES driver.

- 0.116: Removed videoppu2c03b.c.

- 0.113: Aaron Giles fixed regression in Nintendo games that did not specify a clock for the NES APU.

- 0.111u5: Nathan Woods updated the Nintendo 2C03B PPU video driver to use the new BITMAP_ADDR* macros instead of using the line[] array.

- 0.109: Changed palettesize from 64 to 512 colors (2*8*4*16).

- 0.108u1: Added videoppu2c0x.c. Major cleanup/rewrite of the NES PPU rendering code [Brad Oliver]. This should improve the accuracy of the NES-based games (playch10.c and vsnes.c). Report anything odd or broken at MAMETesters.

- 0.106u8: Added layoutdualhsxs.lay. Aaron Giles added dualscreen support (2x 256x240) to the VSNES driver for Vs. Balloon Fight, Vs. BaseBall, Vs. Ice Climber Dual, Vs. Mahjang (Japan), Vs. Tennis and Vs. Wrecking Crew.

- 0.102u5: Rob Bohms fixed Playchoice/VSNES drivers.

- 0.102u4: Rob Bohms fixed some logical errors in sprite handling and palette reads, DMA timing and one invalid opcode in the NES drivers (playch10.c and vsnes.c).

- 0.98u2: Aaron Giles replaced direct access to Machine->scrbitmap in SNES driver with the use of force_partial_update().

- 0.81u9: Chack'n correct some VSNES rom filenames.

- 0.79u1: Chaneman fixed VSNES filenames.

- 0.78u5: Pierpaolo Prazzoli fixed not working VSNes dual games (0.78u2 memory rewrite).

- 16th October 2003: Pierpaolo Prazzoli added Vs. Freedom Force and Vs. Super Xevious and update the driver.

- 0.74: Small speedups (eliminated some usage of plot_pixel()). Added support for scanline counts other than 262. Requisite changes to Playchoice and VSNES to support Brad Oliver interrupt changes [Nathan Woods].

- 4th September 2003: Nathan Woods forwarded a small change to the interrupt handling in the PlayChoice-10 and VSNES from Brad Oliver.

- 0.66: Several improvements and games additions to the Nintendo VS driver [Pierpaolo Prazzoli].

- 15th January 2003: Pierpaolo Prazzoli re-submitted some Playchoice and VSNES improvements.

- 24th December 2002: Pierpaolo Prazzoli added coin counter, Extra Ram in vstetris, Demo Sound in vsmahjng, fixed vsskykid inputs and protection in Vs. Super Xevious, corrected or checked dip-switches in Castlevania, Duck Hunt, Excitebike, Gradius, Hogan's Alley, Ice Climber, R.B.I. Baseball, Slalom, Soccer, Super Mario Bros., Top Gun, BaseBall, Tennis, Stroke and Match Golf. And added Vs. Mighty Bomb Jack (Japan), Vs. Ninja Jajamaru Kun (Japan), Vs. Raid on Bungeling Bay (Japan), Vs. Top Gun, Vs. Mach Rider (Japan, Fighting Course Version), Vs. Ice Climber (Japan), Vs. Gumshoe (partially working), Vs. Freedom Force (not working), Vs. Stroke and Match Golf (Men set 2) (not working) and Vs. BaseBall (Japan set 3) (not working).

- 28th July 2002: Angelo Salese fixed some color problems in the VSNES driver.

- 29th March 2002: Stephane Humbert updated some more dipswitch settings in the VSNES driver.

- 26th March 2002: Matthew Neja fixed the dipswitch settings in the VSNES driver.

- 16th November 2001: Angelo Salese submitted a VSNES driver update with some small bugfixes and fixed colors.

- 25th February 2001: Howie Cohen fixed the VSNES drivers that were broken in b12, and he added proper crosshair support.

- 4th February 2001: Howie Cohen sent in a VSNES driver update with Star Luster, several added clones and a few bug fixes and improved colors.

- 16th January 2001: Howie Cohen sent in an update to the VSNES driver, adding Platoon.

- 0.37b11: Added vsnes.c driver, vidhrdwvsnes.c and machinevsnes.c.

- 7th January 2001: Howie Cohen added VS Tetris to the VSNES driver.

- 6th January 2001: Howie Cohen fixed several bugs in the VSNES driver and added RBI Baseball, VS Baseball and VS Mahjong.

- 1st January 2001: Howie Cohen finally submitted the long awaited VSNES driver, with most of the games having correct colors and sound.

PCB information
balonfgt Vs. Balloon Fight
[Jan/12/2000]
 
 
 Balloon Fight (JPN Ver.)
 (c)1984 Nintendo
 VS System
 
 bf.1a	8,192
 bf.1b	8,192
 bf.1c	8,192
 bf.1d	8,192
 bf.2a	8,192
 bf.2b	8,192
 
 bf.6a	8,192
 bf.6b	8,192
 bf.6c	8,192
 bf.6d	8,192
 bf.8a	8,192
 bf.8b	8,192
 
 
 Dumped 01/12/2000
 
 -
vsbball Vs. BaseBall
[Jun/07/2001]
 
 VS. Base Ball (Main & Sub JPN Ver.)
 (c)1984 Nintendo
 VS System
 RP2C04 0001
 
 (Ver.a-1)
 Main
 BA_1A_a1.BIN	[926bb4fc]	MDS-BA 1A a-1
 BA_1B_a1.BIN	[7ca0f715]	MDS-BA 1B a-1
 BA_1C_a1.BIN	[2a684b3a]	MDS-BA 1C a-1
 BA_1D_a1.BIN	[6dbc129b]	MDS-BA 1D a-1
 
 BA_2A_a.BIN 	[3f7edb00]	MDS-BA 2A a
 BA_2B_a.BIN 	[919147d0]	MDS-BA 2B a
 
 Sub
 BA_6A_a1.BIN	[d938080e]	MDS-BA 6A a-1
 BA_6B_a1.BIN	[7c130724]	MDS-BA 6B a-1
 BA_6C_a1.BIN	[73904bbc]	MDS-BA 6C a-1
 BA_6D_a1.BIN	[d534dca4]	MDS-BA 6D a-1
 
 BA_8A_a.BIN 	[3f7edb00]	MDS-BA 8A a-1
 BA_8B_a.BIN 	[919147d0]	MDS-BA 8B a-1
 
 (Ver.a-2)
 Main
 BA_1A_a2.BIN	[08fab347]	MDS-BA 1A a-2
 BA_1B_a2.BIN	[b1377b12]	MDS-BA 1B a-2
 BA_1C_a2.BIN	[39fbbf28]	MDS-BA 1C a-2
 BA_1D_a2.BIN	[f3820b70]	MDS-BA 1D a-2
 
 BA_2A_a.BIN 	[3f7edb00]	MDS-BA 2A a
 BA_2B_a.BIN 	[919147d0]	MDS-BA 2B a
 
 Sub
 BA_6A_a2.BIN	[a44ffc4b]	MDS-BA 6A a-2
 BA_6B_a2.BIN	[37481900]	MDS-BA 6B a-2
 BA_6C_a2.BIN	[17d1ca39]	MDS-BA 6C a-2
 BA_6D_a2.BIN	[c69561b0]	MDS-BA 6D a-2
 
 BA_8A_a.BIN 	[3f7edb00]	MDS-BA 8A a
 BA_8B_a.BIN 	[919147d0]	MDS-BA 8B a
 
 (Ver.a-3)
 Main
 BA_1A_a3.BIN	[4312aa6d]	MDS-BA 1A a-3
 BA_1B_a3.BIN	[50e1f6cf]	MDS-BA 1B a-3
 BA_1C_a3.BIN	[ca1a9591]	MDS-BA 1C a-3
 BA_1D_a3.BIN	[e234d609]	MDS-BA 1D a-3
 
 BA_2A_a.BIN 	[3f7edb00]	MDS-BA 2A a
 BA_2B_a.BIN 	[919147d0]	MDS-BA 2B a
 
 Sub
 BA_6A_a3.BIN	[4cbc2cac]	MDS-BA 6A a-3
 BA_6B_a3.BIN	[46cf6f84]	MDS-BA 6B a-3
 BA_6C_a3.BIN	[dca4dc75]	MDS-BA 6C a-3
 BA_6D_a3.BIN	[6eb9e36e]	MDS-BA 6D a-3
 
 BA_8A_a.BIN 	[3f7edb00]	MDS-BA 8A a
 BA_8B_a.BIN 	[919147d0]	MDS-BA 8B a
 
 
 +--------+
 | MDS-BA |
 | 1A a-1 |
 +--------+
 +--------+
 | MDS-BA |
 | 2A a   |
 +--------+
 
 Dumped 
 21/Jan/2001
 07/Jun/2001
 
 -
btlecity Vs. Battle City
[Jan/12/2000]
 
 
 Battle City (JPN Ver.)
 (c)1985 Namco
 VS System
 
 bc.1a	8,192
 bc.1b	8,192
 bc.1c	8,192
 bc.1d	8,192
 bc.2a	8,192
 bc.2b	8,192
 
 
 [Jan/12/2000]
 
 Battle City (Bootleg)
 (c)1985
 VS System
 
 bc_c.1a	8,192
 bc_c.1b	8,192
 bc_c.2b	8,192
 
 -
cluclu Vs. Clu Clu Land
[01/12/2000]
 
 Clu Clu Land (JPN Ver.)
 (c)1984 Nintendo
 VS System
 
 cl.6a	8,192
 cl.6b	8,192
 cl.6c	8,192
 cl.6d	8,192
 cl.8a	8,192
 cl.8b	8,192
 
 -
 
hogalley Vs. Hogan's Alley
[Jul/05/2001]
 
 Hogan's Alley
 (c)1985 Nintendo
 VS System
 RP2C04 0001
 
 HA411Ae1.BIN [f9526852]	MDS-HA4-1 1A or 6A e-1
 HA411Be1.BIN [718e25b3]	MDS-HA4-1 1B or 6B e-1
 HA411Ce1.BIN [a85934ae]	MDS-HA4-1 1C or 6C e-1
 HA411De1.BIN [2089e166]	MDS-HA4-1 1D or 6D e-1
 
 HA412Ae1.BIN [78c842b6]	MDS-HA4-1 1A or 8A e-1
 HA412Be1.BIN [fc5a91ad]	MDS-HA4-1 2B or 8B e-1
 
 +-----------+
 | MDS-HA4-1 |
 | 1Aor6A e-1|
 +-----------+
 
 Dumped 05/Jul/2001
 
 -
iceclimb Vs. Ice Climber
[May/16/2001]
 
 Ice Climber (JPN Ver.)
 (c)1984 Nintendo
 VS System
 RP2C04 0004
 
 (Ver.a)
 IC4-41AA.BIN	[094c246c]	MDS-IC4-4 1A a
 IC4-41BA.BIN	[2ee9c1f9]	MDS-IC4-4 1B a
 IC4-41CA.BIN	[b253011e]	MDS-IC4-4 1C a
 IC4-41DA.BIN	[94e3197d]	MDS-IC4-4 1D a
 
 IC4-42AA.BIN	[4ec44fb3]	MDS-IC4-4 2A a
 IC4-42BA.BIN	[331460b4]	MDS-IC4-4 2B a
 
 IC4-46AA.BIN	[094c246c]	MDS-IC4-4 6A a
 IC4-46BA.BIN	[2ee9c1f9]	MDS-IC4-4 6B a
 IC4-46CA.BIN	[b253011e]	MDS-IC4-4 6C a
 IC4-46DA.BIN	[94e3197d]	MDS-IC4-4 6D a
 
 IC4-48AA.BIN	[4ec44fb3]	MDS-IC4-4 8A a
 IC4-48BA.BIN	[331460b4]	MDS-IC4-4 8B a
 
 (Ver.a-1)
 IC4-41AA.BIN	[094c246c]	MDS-IC4-4 1A or 6A a
 IC441BA1.BIN	[f3795874]	MDS-IC4-4 1B or 6B a-1
 IC4-41CA.BIN	[b253011e]	MDS-IC4-4 1C or 6C a
 IC4-41DA.BIN	[94e3197d]	MDS-IC4-4 1D or 6D a
 
 IC4-42AA.BIN	[4ec44fb3]	MDS-IC4-4 2A or 8A a
 IC4-42BA.BIN	[331460b4]	MDS-IC4-4 2B or 8B a
 
 (Sub Ver.b-1)
 IC4-46AB.BIN	[96505d4d]	MDS-IC4-4 6A b
 IC446BB1.BIN	[a8afdc62]	MDS-IC4-4 6B b-1
 IC4_46CB.BIN	[51fe438e]	MDS-IC4-4 6C b
 IC4_46DB.BIN	[0ea5f9cb]	MDS-IC4-4 6D b
 
 IC4_48AB.BIN	[4ec44fb3]	MDS-IC4-4 8A b
 IC4_48BB.BIN	[331460b4]	MDS-IC4-4 8B b
 
 +-----------+
 | MDS-IC4-4 |
 | 1A a      |
 +-----------+
 +-----------+
 | MDS-IC4-4 |
 | 1Aor6A a  |
 +-----------+
 +-----------+
 | MDS-IC4-4 |
 | 1B a-1    |
 +-----------+
 
 Dumped 
 25/Jan/2001
 16/May/2001
 
 -
machridr Vs. Mach Rider (Endurance Course Version)
[May/18/2001]
 
 Mach Rider (JPN Ver.)
 (c)1984 Nintendo / HAL Laboratory
 VS System
 RP2C04 0001
 
 MR4-11AA.BIN	[e5b1e350]	MDS-MR4-1 1A or 6A a
 MR4-11BA.BIN	[cbdcfece]	MDS-MR4-1 1B or 6B a
 MR4-11CA.BIN	[d4a341c3]	MDS-MR4-1 1C or 6C a
 MR4-11DA.BIN	[ab7e0594]	MDS-MR4-1 1D or 6D a
 
 MR4-12AA.BIN	[ccfedc5a]	MDS-MR4-1 2A or 8A a
 MR4-12BA.BIN	[59867e36]	MDS-MR4-1 2B or 8B a
 
 +-----------+
 | MDS-MR4-1 |
 |1A or 6A a |
 +-----------+
 
 
 Dumped 18/Mar/2001
 
 -
vsmahjng Vs. Mahjang (Japan)
[01/12/2000]
 
 Mahjang (JPN Ver.)
 (c)1984 Nintendo
 VS System
 
 mj.1a	8,192
 mj.1b	8,192
 mj.1c	8,192
 mj.2b	8,192
 
 mj.6a	8,192
 mj.6b	8,192
 mj.6c	8,192
 mj.8b	8,192
 
 -
mightybj Vs. Mighty Bomb Jack (Japan)
[Feb/23/2002]
 
            Mighty Bombjack by Tecmo 1986
  -------------------------------------------------
 
       File name	  SFV32	     CHCK   EPROM SIZE
       ------------------------------------------	    
       1A.BIN 	  B8A0707F   A0A9   2764
       1B.BIN 	  5AAE7CEC   B222   2764	
       1C.BIN 	  023BBE5F   7EE4   2764
       1D.BIN 	  EC4A34B2   FDB9   2764
       2B.BIN 	  25160102   B2E2   2764
 
   Notes: Uses Nintendo MDS-04-CPU
 
 	 RP2A03
 	 RC205-02
 		
 -
jajamaru Vs. Ninja Jajamaru Kun (Japan)
[Jul/05/2000]
 
 Ninja Jajamarukun (JPN Ver.)
 (c)1986 Jaleco
 
 VS system
 
 PPU:	RC2C05-1
 
 
 7.BIN
 8.BIN
 9.BIN
 10.BIN
 11.BIN
 12.BIN
 
 
 Dumped 07/05/2000
 
 -
vspinbal Vs. Pinball
[Feb/03/2001]
 
 Pinball (Sub JPN Ver.)
 (c)1984 Nintendo
 VS System
 RP2C03C
 
 Sub
 PN3_6A_b.BIN	[5685e2ee]	MDS-PN3 6A b
 PN3_6B_b.BIN	[ce7f47ce]	MDS-PN3 6B b
 PN3_6C_b.BIN	[59beb9e5]	MDS-PN3 6C b
 PN3_6D_b.BIN	[fd50c42e]	MDS-PN3 6D b
 
 PN3_8A_b.BIN	[6f963a65]	MDS-PN3 8A b
 PN3_8B_b.BIN	[1e3fec3e]	MDS-PN3 8B b
 
 +---------+
 | MDS-PN3 |
 | 6A b    |
 +---------+
 
 Dumped 03/Feb/2001
 
 -
bnglngby Vs. Raid on Bungeling Bay (Japan)
[Jan/22/2001]
 
 Raid on Bungeling Bay (JPN Ver.)
 (c)1984 Will Wright / (c)1985 Nintendo / Broderbund Soft Ware Inc.
 VS System
 RP2C04 0002
 
 RB4-21AB.BIN	[b49939ad]	MDS-RB4-2 1A b
 
 RB4-26Ab.BIN	[024ad874]	MDS-RB4-2 6A b
 RB4-26Bb.BIN	[e2a24af8]	MDS-RB4-2 6B b
 RB4-26Cb.BIN	[c3383935]	MDS-RB4-2 6C b
 RB4-26Db.BIN	[d152d8c2]	MDS-RB4-2 6D b
 RB4-28Ab.BIN	[ca08126a]	MDS-RB4-2 8A b
 RB4-28Bb.BIN	[d3d946ab]	MDS-RB4-2 8B b
 
 
 
 Dumped 01/22/2001
 
 -
smgolf Vs. Stroke & Match Golf (Men Version, set 1)
[Feb/03/2001]
 
 Stroke and Match Golf (Sub JPN Ver.)
 (c)1984 Nintendo
 VS System
 RP2C03C = RC2C03B ?
 
 Sub
 GF3_6A_b.BIN	[9b8a2106]	MDS-GF3 6A b
 GF3_6B_b.BIN	[7dc39f1f]	MDS-GF3 6B b
 GF3_6C_b.BIN	[50a938d3]	MDS-GF3 6C b
 GF3_6D_b.BIN	[8ce375b6]	MDS-GF3 6D b
 
 GF3_8A_b.BIN	[f2285878]	MDS-GF3 8A b
 GF3_8B_b.BIN	[7ef68029]	MDS-GF3 8B b
 
 +---------+
 | MDS-GF3 |
 | 6A b    |
 +---------+
 
 Dumped 03/Feb/2001
 
 -
vstennis Vs. Tennis
[Feb/11/2001]
 
 VS. Tennis (Main & Sub JPN Ver.)
 (c)1984 Nintendo
 VS System
 RC2C03B
 
 Main
 TE_1A_A2.BIN [41097060]	MDS-TE 1A a-2
 TE_1B_A2.BIN [4b57910c]	MDS-TE 1B a-2
 TE_1C_A2.BIN [5f00c129]	MDS-TE 1C a-2
 TE_1D_A3.BIN [8d88fbe5]	MDS-TE 1D a-3
 
 TE_2A_A.BIN  [67a5800e]	MDS-TE 2A a
 TE_2B_A.BIN  [9de19c9c]	MDS-TE 2B a
 
 Sub
 TE_6A_A2.BIN [50a2de11]	MDS-TE 6A a-2
 TE_6B_A2.BIN [18114f8d]	MDS-TE 6B a-2
 TE_6C_A2.BIN [315d8178]	MDS-TE 6C a-2
 TE_6D_A3.BIN [b18fd769]	MDS-TE 6D a-3
 
 TE_8A_A.BIN  [d91eb295]	MDS-TE 8A a
 TE_8B_A.BIN  [c81e9260]	MDS-TE 8B a
 
 +--------+
 | MDS-TE |
 | 1A a-2 |
 +--------+
 +--------+
 | MDS-TE |
 | 2A a   |
 +--------+
 
 Dumped 11/Feb/2001
 
 -
wrecking Vs. Wrecking Crew
[Jan/12/2000]
 
 Wrecking Crew (JPN Ver.)
 (c)1984 Nintendo
 VS System
 
 wr.1a	8,192
 wr.1b	8,192
 wr.1c	8,192
 wr.1d	8,192
 wr.2a	8,192
 wr.2b	8,192
 
 wr.6a	8,192
 wr.6b	8,192
 wr.6c	8,192
 wr.6d	8,192
 wr.8a	8,192
 wr.8b	8,192
 
 
 Dumped 01/12/2000
 
 -
2004-2008 MAWS all copyrights belong to their respective owners