- Use ioprocs methods and do a single read for normal input files (i.e. without an additional memcpy)
- Compute pc_mask without using loop
- Correct likely mistake in calculation of rounded_size
- Split main function in two
* ioprocs.cpp: Remove no longer needed #include
The US Title (Sega Super GT) is known to exist on most sets via service mode when you change region settings.
For some reason the parent allows you to change regions (Japan, USA, Export) which is interesting about this export set.
- Also fix baud counter registers
Reference: http://www.zilog.com/docs/serial/ps0117.pdf
The X68000 uses the Clock Mode feature of the SCC, which multiplies the baud period by 16. Combined with a bug that read the baud counter from the wrong registers, this meant the emulator had two baud rate expiry callbacks running at some MHz.
----------------------------------
Hold & Draw [Siftware]
- technos/bogeyman.cpp, technos/dogfgt.cpp, technos/matmania.cpp: consolidated drivers in single files, minor cleanups
* Emulated the "CPU Code" protection in newer games (astoneag, dinodino, hacher, magibombd, winbingo, winbingoa, zoo).
* Expanded ROM patches to work around imperfect data in the first 0x400 bytes (ROM overlay?), getting all games to boot.
* Implemented 16x32 sprites in astoneag.
* Created layouts and factory defaults EEPROMs for all sets.
* showhand: Fixed regression that caused the new opponent face to be invisible while entering the screen.
Machines promoted to working
----------------------------
Magic Bomb (Ver. L3.5S) [Luca Elia, Ivan Vangelista, Angelo Salese, Phil Bennett, Cristiano MDQ]
Dino Dino (Ver. A1.1, 01/13/2005) [Olivier Galibert, Luca Elia, Ivan Vangelista, Guru]
Stone Age (Astro, Ver. EN.03.A, 2005/02/21) [Olivier Galibert, Luca Elia, ANY, The Dumping Union]
Win Win Bingo (Ver. GM.03.3, Feb 23 2006) [Olivier Galibert, Luca Elia, Ivan Vangelista, f205v, Filippo Tarderia]
Zoo (Ver. ZO.02.D, Aug 27 2004) [Olivier Galibert, Luca Elia, Ivan Vangelista, Brian Troha, The Dumping Union]
Clones promoted to working
--------------------------
Magic Bomb (Ver. A3.1) [Luca Elia, Ivan Vangelista, Angelo Salese, Phil Bennett, Cristiano MDQ]
Hacher (hack of Win Win Bingo EN.01.6) [Olivier Galibert, Luca Elia, Ivan Vangelista, ANY, The Dumping Union]
* Removed nonexistent P3 and P4 controls from starlstr.
* Corrected credits per game mode DIP switch for vstennis.
* Removed redundant inputs for vsbballj, which are identical to vsbball.
* Corrected which smgolf clones use P3/P4 start button inputs.
* Added missing cluclu DIP setting: credits for 2 players.
* Removed fake remapping of buttons for vspinbalj.
* Added Lives and Bonus Life DIP settings for supxevs.
* Updated note about Sun prototypes.
* Added finders for joystick and gun inputs.
* Fixed some bad masks (sprite DMA write and Pin-Bot).
* Made color PROM loading more concise.
* Removed pc_1942 imperfect graphics flag. It looks as bad as it should.
* Various other minor cleanups.
* bus/snes: Fixed address mask error for Soul Blade and Hercules pirate carts. Games run now.
* Marked digimon as not working, hercules and squirrel as partial until further investigated.
* Also tidied a few spots missed in description metadata cleanup.
-a800_flop.xml: Marked Elektra Glide as not working.
New working software list additions
-----------------------------------
Hercules (pirate) [Revenant]
Hercules (pirate, hacked) [Revenant]
The King of Fighters '98 (pirate, hacked) [Revenant]
Marvel Super Heroes Vs. Street Fighter (pirate, hacked) [Revenant]
Squirrel [Revenant]
Squirrel (pirate, hacked) [Revenant]
New NOT_WORKING software list additions
---------------------------------------
The King of Fighters '98 (pirate) [ALMCLE]
Marvel Super Heroes Vs. Street Fighter (pirate) [ALMCLE]
* use active super/user address translation in debugger
* ensure CXP, RXP, RETT, RETI, ENTER and CXPD instructions restart properly after a fault
* correct RDVAL/WRVAL logic
* Added watchdog timer (currently only active on DualSystem games).
* Set perfect quantum for vsmahjng, just like all the other DualSystem games.
* Switched vssoccera from bnglngby's init, which installs a fake IRQ hack, to standard init.
* Switched suprmriobl to empty_init and gave it more consistent function naming.
* Added a postload callback to fix j_ewnc not updating reels after loading a save state.
* Changed order of display digit outputs to reflect actual order in the memory map.
* Cleaned up layouts.
New machines marked not working
------------------
Lite a Line (Dutch) (JPM) (SRU) (revision 52)
- Remove the confusing driver_init virtual override. The function has been de-virtualized in most drivers that were calling it explicitly, and replaced by alternate overrides in others.
- Remove MCFG_VIDEO_RESET_OVERRIDE (not used anymore).
- Provide MCFG_MACHINE_START_REMOVE and MCFG_VIDEO_START_REMOVE for consistency.
* Merged vsnes_m.cpp and vsnes.h into vsnes.cpp.
* Split into base class and three separate classes for UniSystem, DualSystem, and SMB bootleg machines.
* Merged DualSystem's main/sub VROM banking functions.
* Added a separate speaker for each screen on VS. DualSystem - sound from the two APUs is not mixed.
New machines marked not working
-----------------------
Golden Nudge It (Barcrest) (MPU1) (5p Stake, £1 Jackpot)
Match It (Barcrest) (MPU1) (5p Stake, £1 Jackpot)
Match Up (Barcrest) (MPU1) (10p Stake, £2 Jackpot)
Lucky Nudge (Leisure Games) (MPU1) (5p Stake, £1 Jackpot)
Big Apple (Leisure Games) (MPU1) (5p Stake, £1 Jackpot)
Big Apple (Leisure Games) (MPU1) (5p Stake, £2 Jackpot)
--------------------
Language Teacher [hap, Sean Riddle]
New working software list additions
-----------------------------------
lanteach: German For Travel [hap, Sean Riddle]
- Split out the disassembler override to a new file and use it in all 68K Mac drivers
- Add several more names to the list of A-line Toolbox traps
- Remove the long-disused mac_tracetrap routine
MSVC isn't smart enough to detect that these can only be used after
being assigned while clang and GCC can work it out fine. Initialising
them to zero at declaration has the potential to mask real bugs if some
code path tries to use them without assigning them. Code flow analysis
(e.g. Coverity) or memory analysers (e.g. valgrind or Purify) won't pick
up on the buggy path because the variable will technically be
initialised.
MSVC is problematic when it comes to warnings about uninitialised
variables in general. Unfortunately MSVC has no option to selectively
treat warnings as errors, unlike clang/GCC which have -Wno-error= which
we use extensively. Until Microsoft addresses these issues, you'll have
to use NOWERROR=1 when building with MSVC.
Also, some cleanup.
* mastboy.cpp: Dumped and added a newer Italian set
Also added comments and reformatted existing single line ones.
Added placeholders for PLDs.
The Italian sets are not hacks. Gaelco licensed the game to Playmark for the Italian market, so changed the manufacturer accordingly on the Italian sets.
Finally, the Rev A on the piggyback PCB refers to the game revision, not the PCB revision, so, changed the games names removing the "PCB" reference.
* Add 'mastboyib'
* mastboy.cpp: Add more comments
* Fixed typos
Added descriptions for the other previously undocumented register bits, even if they shouldn't affect any game.
Attempted to get chqflag shadow/highlights working properly with no k051960 hack.
konami/k054000.cpp: Updated implementation to better match how the chip works.
* cloned the mcs51 core as axc51, stripped it back, will allow monon work to continue without making a mess of the original mcs51 core.
* remove some redundant bits
* replace SFR table with AXC51 / AX208 one, removing some other functionality which is not the same on this series
* remove some other bits that are redundant now we're not trying to support other mcs51 models in the axc core
- vaportra.cpp: consolidated driver in one file, minor cleanups
- few drivers and devices: removed some custom GFX decodes in favor of the ones provided in emu/video/generic.cpp
- Switched to shorter type names.
- Tightened up spacing in function declarations and definitions.
- Removed some now-unnecessary trampoline functions.
- Hooked up Rx and Tx clocks for MIDI port 1; MIDI in/out now works.
apple2_flop_clcracked.xml: Turned some comments that are apparently
supposed to be usage notes into info elements.
konami/mogura.cpp: Made PROM-to-palette mapping more obvious using
bitswap.
* atari/a2600.cpp: Remove device lookups.
* a2600.xml: Fix description for challenge and add usage note.
* a2600.cpp: Simplified vcs_cart_slot_device. Let cartridges install themselves.
* bus/vcs/rom.cpp: Reorganized code so each class's code is together.
* bus/vcs/vcs_slot.cpp: Moved pcb enum from .h to .cpp file
* Param now holds a value and a destination, so that we write the
value that existed at send time, rather than whatever's in PORTA
when receipt occurs. Fixes 45° vectors in Thrust and Moon Lander (and presumably others).
- some drivers: minor spelling fixes (becuase -> because, Fujistu -> Fujitsu)
- lwings.cpp: more label updates / comments for the avengers set [Brian Troha]