0.163
-------

MAMETesters Bugs Fixed
----------------------
- 05749: [DIP/Input] (c64.c) c64, c64p - Friday the 13th - All versions: c64 & c64p Froday the 13th - Joy input does not respond properly [geecab].
- 05750: [DIP/Input] (c64.c) c64 - G. I. Joe - All Versions: G.I. Joe - No response from any Joy input directions [geecab].
- 05751: [DIP/Input] (c64.c) c64, c64p - Grog's Revenge - All game versions: c64 & c64p Grog's Revenge - No response from joy input direction [geecab].
- 05752: [DIP/Input] (c64.c) c64 c64p Bubble Bobble - All versions: c64 c64p No joy response for Player 1 controls under a two player game [geecab].

Source Changes
--------------
- c64: Added an SX-64 variant called Tesa Etikettendrucker 6240: 

 * removed screen ratio influence
 * changed radius, blur and intensity
 * fixed roundness of rounded corners; the default aspect ratio of 4:3
    should not be stretched anymore when the source has another ratio
 * disabled blurring of rounded corners
 * some cleanup
 * something was messed up on the last commit [Retroport].

- c64: Changed vignetting simulation [ImJezze]

- mips3: Make fast RAM handling faster by caching certain values.

-Introduced user definable truth tables: This enables the addition of devices without changing the netlist source code and allows the creation of libraries. Used pong.c as a proof of concept for the time being [Couriersud].

- idehd.c: increase IDE fill-time to avoid missed interrupts [Peter Ferrie].

- Allow compiling with shared libraries Put SHLIB=1 in the main makefile, or on the command line [O. Galibert].

- mac: Fix crashiness in NuBus "image" card host access [R. Belmont].

- mac: Image card now accepts paths starting with '$' for your $HOME needs. Also fixed a crash if the path is invalid [R. Belmont].

- Fix Game Blaster emulation, now working [balrog].

- Fix game Blaster compatibility in sb1.0 [balrog].

- gameboy.c: Improved accuracy of the emulation for MBC2 games [Tauwasser].

- cheat: Improved cheat support for games in softlist. XML cheats for home systems should now be stored in a subfolder (or a compressed archive), named after the software list, inside the cheatpath. This allows for loading cheats for consoles / home computers without interfering with arcade cheats when games have identical shortnames. For instance, loading Galaga in NES allows now to use its specific cheats even if a galaga.xml is available in the arcade cheat.7z (previously you'd get an error due to the arcade cheat referring to a cpu not present in the NES) [Pugsy, Fabio Priuli].

- n64.xml: Fixed some parent/clone relation [Andrea Petrucci].

- Solved the great Sherwood Forest mystery. DOS 3.3 inserts a short (3-4 cycles, roughly equivalent to one bit) delay between writing the header and the data bytes in the sector data block [Peter Ferrie, Olivier Galibert, Richter Belmont].

- Fixed superbug explosion overlay [SoltanGris42, Couriersud].

- Changed the way NETLIST_START(NAME) is located and called. This is done now solely by using a netlist_sources_t class. Netlist users just register sources like memregions, hardcoded strings, compiled netlists. Going forward this enables to eventually put macro model librariers into roms. The improvement comes with a price. Compiled netlists to be included must now be registered using LOCAL_SOURCE [Couriersud].

- Fixed .lst files whitespace problem [LnmVolbo].

- mos6526: Fixed port A/B read [geecab].

- Improve Ensoniq 5503DOC Swap Mode [NJRoadfan].

- Gameshark is a clone of Action Replay [Andrea Petrucci].

- Fixed a number of bugs:
 * Proxy savestates
 * Solver savestates
 * 7490 both counts firing at the same time bug fix. and changed timed list to be resizable [Couriersud].

- floppy: Ensure that get_next_transition always provide the next transition [O. Galibert].

- Added OPT_FLAGS back [Belegdol].

- Added kidniki sound board netlist to nl_examples. Currently the netlist boils down to a 87x87 matrix. This is due to a total of 6 opamps which all are submodels and thus add their own internal nets. Gauss Seidel iterative solving comes to it's limits. nltool runs this at about 50% speed on my machine. Given the complexity this is quite good. Yet, any m62 game currently will not be playable. Time for a new cpu :-) [Andrew Gardner, Couriersud].

- m20: Improve keyboard [Carl].

- Added the ability to use system flac, jpeg, lua, sqlite3, portmidi and zlib based on wallyweek's work This brings the system lib capabilities back to where they were prior to build system rewrite [Julian Sikorski].

- Added new SDL_INI_PATH flag [Cesare Falco].

- victor9k: Fixed keyboard [Curt Coder].

- gamegear: Allow master gear adapter to see lightphaser offsets [Enik Land].

-From 45% to 60% to 99%. That's the improvement achieved for a 89x89 audio matrix mostly solved by elimination. Cleaned up some code as well [Couriersud].

- Added a GMRES solver to netlist. The generalized minimal residual method ist certainly more modern than Gaussian elimination and Gauss-Seidel. However, more the current maximum matrix (KidNiki, 89x89) a combination of Gauss-Seidel to solve for maximum one step to catch quasi-stable conditions and fall-back to optimized Gaussian elimination (for sparse matrix) outperforms GMRES by up to 100% [Couriersud].

- Netlist code now uses "namespace netlist". At the same time, moved all devices int netlist::devices namespace [Couriersud].

- GLSL: Unlimit shader file size. [R. Belmont]

- tms5110.c and tms5220.c: fix missing cast for chirp/excitation values, fix a potential off-by-one for tms5110.c as well [Lord Nightmare].

- info.c: Worked around missing sub-devices in -lx output [Fabio Priuli].

- Missing GameCube edition roms added [Andrea Petrucci].

- uzebox: Adding sound emulation [Felipe Sanches].

- Completely integrated the GMRES solver into netlist solver templatesand recoded it from scratch. GMRES now runs at 122% (kidniki), that's a real proement from 60% before. AT the same time, the code should be easier to read and closer to the GMRES algorithm. Ultimately, kidniki will not use this solver but instead use some frontiers to keep it playable. But going forward, for larger matrices this solver is an opton [Couriersud].

- Properly emulate the double PCB stack system32 games with shared RAM bridge board (Air Rescue and F1 Exhaust Note). Previously these relied on a hack to make the code believe the 2nd stack was present but this caused issues, now they're correctly emulated as dual screen games without any hack [David Haywood].

- Support -uimodekey switch on Windows [Vas Crabb].

- apricot: Use correct wd fdc type and fix floppy motor on, implement gaphics mode, simulate sio irq m1 access. successfully boots from disk now [Dirk Best].

- apricot: Add an expansion slot interface and add two ram expansion cards. this will also be usuable by the apricot f series and portable [Dirk Best].
  
- apricot: Add initial keyboard support [Dirk Best].

- Update all drivers to use the new wd floppy controller implementation and remove the legacy one [Dirk Best].

- i8089: Add wait for DRQ support [Dirk Best].

- wd_fdc: Fixes for ZX-Spectrum and clones Beta128 disk interface [MetalliC].

- pentagon: Cycle exact screen / border raster effects emulation [MetalliC].

- n64: Converted RDP rendering to use SSE2 when available.

- xt_hdc: Improved PIO use [Barry Rodewald].

- amstrad: Added support for the Dobbertin HD20 hard disk [Barry Rodewald].


New games added or promoted from NOT_WORKING status
---------------------------------------------------
Coleco Frogger [hap, Kevin Horton]
Entex Electronic Basketball 2 [hap, Sean Riddle] 
Entex Color Football 4 [hap, Sean Riddle] 
Mr. Isizu Z80 TV Game System [Robbbert].
Tomy Break Up [hap, Sean Riddle]

New clones added
----------------
Teasa Etikettendrucker 6240 [Retroport]

New games marked as GAME_NOT_WORKING
------------------------------------
HP 64000 development system [F.Ulivi]
Itautec I7000 [Felipe Sanches]
Regnecentralen RC759 [Dirk Best]