driver
driver nss.c
source nss.c (nss.c on mamedev.org)
games Act Raiser (Nintendo Super System)
Contra 3: The Alien Wars (Nintendo Super System)
David Crane's Amazing Tennis (Nintendo Super System)
F-Zero (Nintendo Super System)
Lethal Weapon (Nintendo Super System)
NCAA Basketball (Nintendo Super System)
Nintendo Super System BIOS
Robocop 3 (Nintendo Super System)
Skins Game (Nintendo Super System)
Super Mario World (Nintendo Super System)
Super Soccer (Nintendo Super System)
Super Tennis (Nintendo Super System)
The Addams Family (Nintendo Super System)
information 0.100u2 [R. Belmont, Anthony Kruize]

0.71u2 [Anthony Kruize, Lee Hammerton (MESS), Pierpaolo Prazzoli, David Haywood]


TODO:

- Fix additional sound bugs

- Emulate extra chips - superfx, dsp2, sa-1 etc.

- Add horizontal mosaic, hi-res. interlaced etc to video emulation.

- Fix support for Mode 7. (In Progress)

- Handle interleaved roms (maybe even multi-part roms, but how?)

- Add support for running at 3.58Mhz at the appropriate time.

- There is a second processor and Menu system for selecting the games controlling timer etc.? which still needs emulating there are dipswitches too.

- I'm sure there's lots more...


NOTES:

- Hardware: This system is basically a Super Nintendo with a timer. The main board has 3 slots on it and can accept up to 3 plug-in carts. The player can choose to play any of the available games, although I'm not sure why anyone would have wanted to pay money to play these games when the home SNES was selling as well. The control panel was also just some SNES pads mounted into the arcade machine control panel. Not very usable as-is and very cheaply presented. There are 3 types of carts. The carts have only a few components on them, including some ROMs/sockets, a few logic chips/resistors/caps, a DIPSW8 block, one unknown DIP8 chip (with it's surface scratched) and some solder-jumper pads to config the ROM types. The unknown DIP8 chip is different per game also. There is a sticker on top with a 2-digit game code (I.E. MW/AT/L3 etc).

- Driver based on the original MESS driver by Lee Hammerton (aka Savoury Snax).


WIP:

- 0.122u3: Improves accuracy and documentation of NSS/SNES DSP-1 [Andreas Naive, R. Belmont].

- 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.110u4: R. Belmont reworked the SNES raster timing to use MDRV_SCREEN_RAW_PARAMS() and friends. All but one of the "electronics tests" in the SNES diagnostics cart now pass with flying colors. Changed visible area to 256x224.

- 0.105u1: Aaron Giles modified a number of drivers that were using empty RAM regions for RAM or which had extraneous memory regions. Most significant changes were to the arcadia, nss and stv drivers. Changed user3 roms to 'flags dispose'.

- 0.102u3: Added machinesnesdsp1.c. NSS/SNES updates from latest MESS [R. Belmont]: Improved memory mapping, improved raster timing, added HIRQ support and better VIRQ support, improved joypad support, DSP-1 support (including all subtypes), counter latching support, fixed OAM read/write and fixed stereo sound. Changed G65C816 CPU1 clock speed to 3580000 Hz and added dsp1data.bin (DSP add-on chip ROM) to the BIOS set.

- 6th December 2005: R. Belmont - Finally found the typo in MESS that prevented the SNES sound from being in full stereo. Updated MAME's NSS/SNES code to the latest MESS.

- 10th October 2005: R. Belmont - I added DSP1 support to the MESS SNES emulation, only to discover most of those games required more advanced timing than was currently supported. With some tips from Aaron Giles, I reworked the main raster timing and it's greatly improved those games (and broken several others, but I'll deal with that next).

- 0.100u4: More NSS updates [R. Belmont]: This is mostly for MESS's benefit but nss_ncaa improves from it too. SPC700: Fixed operand order for SBC to memory. SNESHW: Implemented unknown DMA & HDMA modes. SNESHW: Fixed SRAM sizing (used as protection in some games). SNESHW: Boosted interleave. Fixed scroll registers to work like real hardware. Fixed timing of OAM address reset and range/time over reset to better match real hardware. Fixed missing "break" for HDMA mode 5. Fixed behavior of OLDJOYx registers when auto-read is enabled. Changed BIOS SPC700 cpu2 rom to user5 and changed visible area to 512x480 in all games.

- 30th September 2005: R. Belmont - Made some additional fixes to the SNES emulation in MAME/MESS that didn't make it into u3 (curse Aaron and his unpredictableness). Sound now works in more games, including the Earthworm Jim series and NCAA Basketball. Also corrected the save RAM size so games like Super Mario All-Stars and Donkey Kong Country don't think you have a copier connected.

- 0.100u3: Nintendo Super System sound update [R. Belmont]: Fixed bugs in SPC700 ADC, SBC, ADDW, SUBW, MUL, DIV and CLRV opcodes. Fixed several APU hardware/timer issues. Added accurate sound DSP emulation from the latest OpenSPC. Result: Generally accurate sound in the working NSS games and in many SNES games over in MESS as well. Added new SPC700 cpu2 BIOS rom. Changed SPC700 CPU2 clock speed to 1024000 Hz.

- 29th September 2005: R. Belmont - I've submitted working SNES hardware sound to MAME and MESS. In MAME this impacts the nss_* games, and in MESS it should be obvious. There are some remaining SPC700 bugs left but many games play perfectly or nearly so. The DSP emulation is used by kind permission of the author of OpenSPC, which gives the closest output possible to a real SNES.

- 0.100u2: R. Belmont fixed disassembly of 2 SPC700 instructions, fixed behavior of the APU port clear flag to not clobber the output ports - games now can boot and run without the "APU skipper" and fixed SPC700 CMP instruction flags.

- 0.98u2: Aaron Giles replaced direct access to Machine->scrbitmap in the following drivers with the use of force_partial_update(): m92.c, m107.c, astrocde.c, battlera.c and snes.c.

- 24th February 2005: Guru - Nintendo Super System & 3 carts arrived, purchased by Randy on eBay. Thanks to all that chipped-in for donations.

- 22nd February 2005: Guru - Nintendo Super System motherboard and carts (Super Mario World, Super Tennis, Amazing Tennis, Lethal Weapon, Super Soccer, Act Raiser, F-Zero, Robocop 3, Contra 3, Addams Family, NCAA Basketball and Irem Skins Game) just arrived.

- 0.88u2: Aaron Giles moved gamename prefixes to end in Nintendo Super System games.

- 0.79u3: Nathan Woods removed a duplicate global variable definition in src/sndhrdw/snes.c.

- 0.79u2: Nathan Woods refactored to remove MESS specific code in src/machine/snes.c.

- 9th February 2004: Nathan Woods sent in miscellaneous fixes to the NSS driver.

- 0.77u3: SNES emulation improvements from MESS [Nathan Woods]. Misc changes and improvements from the SNES driver in MESS. Added stereo sound.

- 12th December 2003: Nathan Woods sent an update to the Nintendo Super System driver with miscellaneous changes and improvements.

- 0.71u3: Pierpaolo Prazzoli fixed the Nintendo Super System (G65C816 CPU, driver and machine). Nathan Woods updated machine/snes.c from Anthony Kruize (MESS SNES driver author).

- 0.71u2: Added nss.c driver, machinesnes.c, sndhrdwsnes.c, vidhrdwsnes.c and includessnes.h. TODO: Emulate extra chips - superfx, dsp2, sa-1 etc. Add sound emulation. Currently the SPC700 is emulated, but that's it. Add horizontal mosaic, hi-res. interlaced etc to video emulation. Add support for fullgraphic mode(partially done). Fix support for Mode 7. (In Progress). Handle interleaved roms (maybe even multi-part roms, but how?). Add support for running at 3.58Mhz at the appropriate time. Sure there's lots more...

- 8th July 2003: David Haywood re-added the Nintendo Super System driver based on the MESS SNES driver, but it's still not working very well.

- 14th February 2003: Pierpaolo Prazzoli ported the SNES driver from MESS and modified it to run some Nintendo Super System games.

PCB information
nss_con3 Contra 3: The Alien Wars (Nintendo Super System)
[?]
 
 
 Contra 3, Alien Wars
 
 Contra3.ic2 is a TC574000D-150  (4 meg device ----same as 27c4001)
 location is @ IC2 PRG ROM1 on the NSS-X1-ROM-C cartridge
 
 Contra3.ic3 is a TC574000D-150  (4 meg device ----same as 27c4001)
 location is @ IC3 PRG ROM0 on the NSS-X1-ROM-C cartridge
 
 Contra3.ic8 is a 27256 device.  Location is @ IC8 INST. ROM
 
 DIPs 2 and 4 are on, all others off.  
 C3 isn't used.  No Battery.  IC1 SRAM is used "Sharp LH5164D-10L"
 SL2, 4, 3, 6, 5, 15, 17, 18, 19 are used.  All others are not.  
 Cartridge NSS-X1-ROM-C cartridge is same as NSS-01-ROMC
 
 -
nss_aten David Crane's Amazing Tennis (Nintendo Super System)
[?]
 
 
 Amazing Tennis by Absolute Entertainment
 
 Amtennis.ic2 is a TC574000D-150  (4 meg device ----same as 27c4001)
 location is @ IC2 PRG ROM1 on the NSS-01-ROM-C cartridge
 
 Amtennis.ic3 is a TC574000D-150  (4 meg device ----same as 27c4001)
 location is @ IC3 PRG ROM0 on the NSS-01-ROM-C cartridge
 
 Amtennis.ic8 is a 27256 device.  Location is @ IC8 INST. ROM
 
 All dips are in the off position
 No battery.  All CL and SL are in their unchanged/unused states.
 C3 isn't used  and IC1 (SRAM) isn't used.
 IC10 is the security chip (NEED THIS INFO)
 
 -
nss_fzer F-Zero (Nintendo Super System)
[Jul/16/2001]
 
 F-Zero
 
 Nintendo Super System cart
 
 -
 
 [?]
 
 F-Zero   NSS-01-ROM-B
 FZ
 IC2 is Mask rom  IC7 is 27c256
 
 All CL and SL are un-altered
 
 -
nss_lwep Lethal Weapon (Nintendo Super System)
[Dec/09/2002]
 
 Lethal weapon 1993 Warner Bros - cartridge for the 
   Nintendo super system
 
 IC2, 3 are 27c4001  (Prog roms)
 IC8 is a 27c256  (instruction rom)
 
 USES NSS-01-ROM-C cartridge
 
 -
nss_smw Super Mario World (Nintendo Super System)
[Jul/16/2001]
 
 Super Mario World
 
 Nintendo Super System cart
 
 -
 
 [?]
 
 
 Super Mario World   NSS-01-ROM-A
 (MW)
 IC1 is mask ROM  (o4o)
 Ic3 is 27C256
 No SL or CL are altered
 
 Same as Super Tennis  (ST)
 
 -
nss_ssoc Super Soccer (Nintendo Super System)
[?]
 
 Super Soccer           NSS-01-ROM-A
 FS
 SL4 connected   CL4 cut
 SL3 connected   CL3 cut
 SL2 conneced    CL2 cut
 SL1 connected   CL1 cut
 SL5 connected   CL5 cut
 
 ***(Note:  this is SL/CL configuration for regular Eprom , not mask rom)
 
 IC1 is a TC574000-15  (same as 040)
 IC3 is  a 27C256
 
 -
nss_sten Super Tennis (Nintendo Super System)
[Jul/16/2001]
 
 Super Tennis
 
 Nintendo Super System cart
 
 -
2004-2007 MAWS all copyrights belong to their respective owners