this is mostly functional but about 2 years old now, and badly needs some modernizations. It's a bit ugly in places because I've had to make sure the legacy methods work too, although in other places simply because it's old code I never quite got around to cleaning up.
basically the inits have been split into ones that need calling once on startup (decryptions etc.) and ones that need calling when a new slot is activated (custom banking / protection handlers)
mame64 neogeo -cart1 kof98 -cart2 kof99 -cart3 kof2000 -cart4 kof2001 -cart5 kof2002 -cart6 kof2003
works, assuming you have the RAM. certain combinations / orders don't work, maybe the real system is like that, maybe there are flaws in the implementation.
once loaded as multi-game the neogeo will run through the attracts of each game in order, if you insert a coin then you can select next / previous game with the '3' and '4' (which are mapped to those buttons on the system) just like real hardware.
if you're low on memory try
mame64 neogeo -cart1 lbowling -cart2 samsho -cart3 mutnat -cart4 pbobblen -cart5 neomrdo -cart6 turfmast
instead
if you want an example of where it fails right now then put -cart1 roboarmy in slot 1 instead, it hangs after cycling through the games (or moving through them with 3) it's possible something isn't reset properly. This might become clearer as I clean things up a bit.
I've verified eas and neocdz work as before
* Cleaned up large amounts of duplicated code between the MAME and MESS (AES/NeoCD) drivers
* Removed MVS-only ROMs and devices (SM1 ROM, SFIX ROM, upd4990a RTC, etc.) from AES/NeoCD
* Replaced legacy NVRAM in MVS and NeoCD with NVRAM devices
* Correctly hooked up SM1 ROM bankswitching; the BIOS sound test works now
* Corrected VRAM size
* Sorted the Universe BIOS versions and unified them between MAME and MESS
* Fixed kf10thep ROM loading and decryption which was a horrible hack (and not endian safe)
* Replaced svcplus protection hack ROM patch with a less invasive one, based on FBA
* Started marking code and data that should be moved out into devices
* Various other code and comment cleanups
New clones added
----------------
Kizuna Encounter - Super Tag Battle 4 Way Battle Version / Fu'un Super Tag Battle Special Version [Alex Jackson]
-new softlist : snes_vkun.xml (Voice-Kun audio compact discs)
first Voice-Kun public dump from King Mike added
-snes.xml : new prototype public dump from SNES Central
note, currently only supports .atr format due to image.filetype() not returning anything useful when softlist is used (thanks to micko for advice on various things)
(no credit wanted, this is just to address the 'where is jumpman' thing that was posted on MW and give a softlist entry for regtests on this code)
this explains why, for instance, CPU was not replying to player's moves in sshogi3 :-)
updating the slot options and thanks to recent progresses, 3 igo games and 3 shougi
ones passed from black screen to fully playable... nw.
cassette. wav files supported only. [Fabio Priuli]
(MESS) Added software list for BASIC programs saved to tape [Anna Wu, UglyJoe, Fabio Priuli]
If anyone has more Family BASIC tapes or other cassettes for Famicom games or add-ons (e.g. Bandai Karaoke or Fukutake Study Box)
or for some chinese clones (ABM, or Bridge, or any other), please contact us.
original protected versions of some already emulated games. thanks to Cah4e3
Azathoth, magicrip and the Russian crew for the dumps and to EkeEke for the
info on Tekken Special (the only one using a new protection scheme). nw.
also, I've hacked up the rom region and cart loading for vsmile so that some dumps start to show stuff,
and TeamEurope can use MESS too for basic testing of the dumps...
devs who know more about this cpu are welcome to work on it, because I can't do much more than this :-)
on-cart flash ram devices from main gba now that they can be properly
implemented on carts which have them [Fabio Priuli]
The main difference for end users is that games using flash ram for saves won't save
anymore progresses in a nvram/game_name.nv file but in a file inside nvram/game_name/
folder. Many thanks to Micko for his recent changes to nvram devices which allowed to
still save these data per-game!
card dumps with the correct interface. nw.
this in particular means that the dozen of Jpn games which were only released in MyCard format
can now be loaded only with the -card switch (from softlist)
when loading from softlist. [Fabio Priuli]
from fullpath it still allocates 32k for every game, and if the game enables RAM the content is saved at exit.
- Converted cart handling and mappers to use slot devices
- Simplified bios and cart bankswitch mechanism
- Added save state support to both systems
- Removed on-cart EEPROM from main gamegear now that
it can be properly implemented on carts which have it
- Made LCD persistence hack optional (ON by default, it can
be turned OFF from Driver Configuration submenu)
- Reduced tagmap lookups all across the driver
seven years, plus lots of info [Ashura, mek1, wushu, Starscream the 2nd, cpt. Misumaru Tenchi,
SuperDeadite, Anna Wu, Fabio Priuli]
Disks do not work in current MESS (and DIM format has not been converted yet to modern), but I was tired to
sit on these with risk to lose backup...
Huge thanks go to the Tokugawa Boards guys who helped tracking some disks which were very hard to find
-mc1502: FDC xtal freq is 16 MHz
-pc, ec1841: unbreak DBG_LOG macro
-asst128: another PC XT clone
-ec1841: add softlist, set 'v2' as default BIOS to avoid resets
fixed shortnames and descriptions where needed, improved parent/clone relationships, made better use of
part_id features in multidisk sets. Also, re-ordered sets in ZX softlist. [Anonymous, Fabio Priuli]
out of whatsnew: I have temporarily marked as unsupported the Atari ST disks since the majority does not seem
to load and/or being playable. per-game tests will be done soon, so to give the correct status to each entry.
for the record (and to acknowledge credits where it's due), most work came from the same external contributor
who cleaned up our a2600 list in the past, with some intervention by myself here and there...
based on nointro pictures [LoganB]
(MESS) svmu.c: changed input mappings to be more standard [LoganB]
also, LoganB has updated the support status of snes_strom.xml saving me the time to test
them again :)
improved FFE mappers (I'd be more interested into actually emulating the copier but this is
all we got at the moment...) . nw.
Also, backing up some wip code for other pcbs that still does not produce any useful result.
state [Fabio Priuli]
(MESS) nes.c: improved Taito LROG017 emulation (mapper 77), promoting Napoleon Senki to working
state [Fabio Priuli]
(MESS) nes.c: added emulation of the Sachen SA-9602B pcb used by Mei Shao Nv Meng Gong Chang,
a chinese port of Princess Maker by Sachen, based on the great work done by Cah4e3 in FCEUMM
[Fabio Priuli]
out of whatsnew: this change also moves the summary of known issues in the appropriate source files
(some pirate and multigame cart issues have to be rechecked, due to the amount of changes done since
they were last checked, so I will add them back after a few test)
- converted carts, mappers and pcbs to use slot devices
- fixed starting of Famicom, Famicom Twin and Dr. PCJr
- fixed handling of "no disk" in FDS so that the system displays Mario and Luigi
jumping around as expected
- added AY8910 sound to Sunsoft-5B (Gimmick JPN sfx)
- added YM2413 to VRC-7 (Lagrange Point OST)
- added support for recorded samples to Jaleco sport titles and to Bandai Family Trainer
Aerobics Studio, thanks to notes by hap and egoh, and recordings by Pongbashi
(samples are needed because these games use a currently undumpable speech chip)
- added support for NES-EVENT pcb used by Nintendo World Championship 1990,
including dipswitches
- added support for Galoob Game Genie real usage (in addition to the codes which
Puggsy added to his cheat collections): when you load ggenie, a second cartslot
becomes available to load another game attached to the cheat device (e.g. with
"mess.exe nes -cart ggenie -cart2 smb") and you can enter the cheat codes as in a
real NES
- added support for Nantettatte!! Baseball lock-on mechanism, based on the tests
performed by naruko on his carts: when you load nantbb, a second cartslot
becomes available to load one of the two update minicarts (91 Hen or OB Hen)
- improved emulation of Namcot 163, 175 and 340 boards, based on the tests
performed by naruko, lidnariq and bootgod on the real hardware
- moved Nantettatte!! Baseball minicarts to a separate list (nes_ntbrom.xml) because
they cannot be loaded in the NES directly, but only through the nantbb subslot
- emulated bus conflict (CPU/PRG) in PCBs documented as having it
- partial emulation of open bus, enough to make working the games using it as a sort
of protection
- fixed crash when loading files using FFE mappers
- fixed mirroring in some boards (Sunsoft DCS and UNL-CC-21) and in some games
(e.g. Paris Dakar Rally Special and Escape from Atlantis)
- fixed a few bugs in Tengen 800032 emulation (mapper 64), promoting Klax, Xybots
and Road Runner to work state
- fixed Tengen 800037 emulation (mapper 158), promoting US Alien Syndrome to work
state
- added working emulation of many bootleg pcbs used for pirate conversions from FDS
(Ai Senshi Nicol, Doki Doki Panic, Fuuun Shaolin Kyo, Green Beret, Monty no Doki
Doki Daidassou, Tobidase Daisakusen, Super Mario Bros Malee 2 / Genius Merio Bros...)
- improved emulation of many pirate pcb (BMC-GOLDENCARD-6IN1, KS7013B,
KS7012, BMC-GHOSTBUSTERS63IN1, UNL-MALISB, MAXI15 and more...)
- improved RacerMate Challenge II emulation, but the game is still not working due to
unemulated bicycle controller
- added CPU-based IRQ mode in Tengen 800032 emulation (mapper 64), fixing
Skulls & Crossbones gfx (but the game is still not working)
- fixed many small inaccuracies in the old code, spot during the conversion
- added support for most other known pcbs, even if in most cases emulation is only
sketchy
- reduced the need of fake alt pbcs for boards which only differed by mirroring handling
(these are now recognized through the "mirroring" feature)
- removed fake wram which was added to a lot of partially documented pcbs and
re-added it only where actually present, so to more accurately document what was
really in the carts
Out of whatsnew: There's still a lot to do (e.g. to clean up the implementation of the pirate pcbs)
but I hope that submitting this now I can get some wider testing help so to catch and fix regressions
before next release :)