Hello community, here is the log from the commit of package mednafen for openSUSE:Factory checked in at 2019-04-30 13:03:38 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/mednafen (Old) and /work/SRC/openSUSE:Factory/.mednafen.new.5536 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "mednafen" Tue Apr 30 13:03:38 2019 rev:16 rq:697738 version:1.22.2 Changes: -------- --- /work/SRC/openSUSE:Factory/mednafen/mednafen.changes 2019-02-24 17:10:12.964508925 +0100 +++ /work/SRC/openSUSE:Factory/.mednafen.new.5536/mednafen.changes 2019-04-30 13:03:40.602080505 +0200 @@ -1,0 +2,6 @@ +Thu Apr 25 06:34:29 UTC 2019 - Илья Индиго <i...@ilya.pp.ua> + +- Update to mednafen 1.22.2 + * ChangeLog https://mednafen.github.io/documentation/ChangeLog.txt + +------------------------------------------------------------------- Old: ---- mednafen-1.22.1.tar.xz New: ---- mednafen-1.22.2.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ mednafen.spec ++++++ --- /var/tmp/diff_new_pack.MBQsp0/_old 2019-04-30 13:03:41.442079794 +0200 +++ /var/tmp/diff_new_pack.MBQsp0/_new 2019-04-30 13:03:41.442079794 +0200 @@ -17,7 +17,7 @@ Name: mednafen -Version: 1.22.1 +Version: 1.22.2 Release: 0 Summary: Multiple video game console emulator License: GPL-2.0-only ++++++ mednafen-1.22.1.tar.xz -> mednafen-1.22.2.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mednafen/ChangeLog new/mednafen/ChangeLog --- old/mednafen/ChangeLog 2019-01-28 07:52:37.000000000 +0100 +++ new/mednafen/ChangeLog 2019-04-23 23:54:58.000000000 +0200 @@ -1,3 +1,27 @@ +-- 1.22.2: -- + +April 23, 2019: + PSX: Fixed a regression introduced in 1.22.0-UNSTABLE that broke a few PS1 games(e.g. SimCity 2000 and Rise 2). + + Fixed issues with inline functions in the QuickLZ code that could cause linker errors when compiling with optimizations disabled. + +April 14, 2019: + Apple2: Added basic WOZ 2.0 disk image support. + +April 13, 2019: + NGP: Fixed a sequence point rule violation that could cause "Gals' Fighters" to malfunction when Mednafen was compiled with clang, + per tip from stellarporter. + + SS: Added the European release of "Theme Park" to the internal database of games to use the data cache read bypass kludge with, + to fix a crash/hang during the intro FMV. + + Lynx: Fixed an old heap buffer overflow bug that could be triggered if the emulated game set up registers and RAM in a + certain way. + +March 18, 2019: + PCE: Fixed an old bug(looks like from around a decade ago) in the HES playback code; it caused periodic high IRQ latency, + which resulted in timer IRQ-driven DDA playback sounding rougher than it should have. + -- 1.22.1: -- January 27, 2019: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mednafen/Documentation/apple2.html new/mednafen/Documentation/apple2.html --- old/mednafen/Documentation/apple2.html 2019-01-28 07:52:37.000000000 +0100 +++ new/mednafen/Documentation/apple2.html 2019-04-23 23:54:58.000000000 +0200 @@ -9,7 +9,7 @@ <body> <center><h1><img alt="Mednafen" src="mednafen.png" width="696" height="204"></h1></center> <center><h1>Apple II/II+ Documentation</h1></center> - <center><i>Last updated January 27, 2019<br>Valid as of 1.22.1</i></center> + <center><i>Last updated April 23, 2019<br>Valid as of 1.22.2</i></center> <p></p> <b>Table of Contents:</b> <ul><li><a href="#Section_intro">Introduction</a><ul></ul></li><li><a href="#Section_mai">MAI System and Disks Configuration File</a><ul></ul></li><li><a href="#Section_floppies">Floppy Disk Images</a><ul></ul></li><li><a href="#Section_firmware_bios">Firmware/BIOS</a><ul></ul></li><li><a href="#Section_input">Input</a><ul><li><a href="#Section_joystick_gamepad">Joystick/Gamepad</a><ul></ul></li><li><a href="#Section_atari_joystick">Atari Joystick</a><ul></ul></li><li><a href="#Section_keyboard">Apple II/II+ Keyboard</a><ul><li><a href="#Section_default_keys_keyboard">Default Mappings</a><ul></ul></li></ul></li></ul></li><li><a href="#Settings+Reference">Settings Reference</a><ul></ul></li></ul><hr width="100%"> @@ -173,7 +173,7 @@ <tr><td>d13</td><td>116480</td><td>Apple DOS 13 sectors/track</td></tr> <tr><td>dsk<br>do</td><td>143360</td><td>Apple DOS-order 16 sectors/track</td></tr> <tr><td>po</td><td>143360</td><td>Apple ProDOS-order 16 sectors/track</td></tr> - <tr><td>woz</td><td><i>(variable)</i></td><td>http://evolutioninteractive.com/applesauce/woz_reference.pdf</td></tr> + <tr><td>woz</td><td><i>(variable)</i></td><td>https://applesaucefdc.com/woz/</td></tr> </table> </p> @@ -260,6 +260,7 @@ <li>Ardy</li> <li>Bandits <i>(press CTRL+SHIFT+P)</i></li> <li>Beer Run <i>(press CTRL+SHIFT+P on control method screen)</i></li> + <li>Berzap</li> <li>Borg</li> <li>Borrowed Time</li> <li>Boulder Dash</li> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mednafen/Documentation/apple2.php new/mednafen/Documentation/apple2.php --- old/mednafen/Documentation/apple2.php 2019-01-28 07:52:37.000000000 +0100 +++ new/mednafen/Documentation/apple2.php 2019-04-23 23:54:58.000000000 +0200 @@ -167,7 +167,7 @@ <tr><td>d13</td><td>116480</td><td>Apple DOS 13 sectors/track</td></tr> <tr><td>dsk<br>do</td><td>143360</td><td>Apple DOS-order 16 sectors/track</td></tr> <tr><td>po</td><td>143360</td><td>Apple ProDOS-order 16 sectors/track</td></tr> - <tr><td>woz</td><td><i>(variable)</i></td><td>http://evolutioninteractive.com/applesauce/woz_reference.pdf</td></tr> + <tr><td>woz</td><td><i>(variable)</i></td><td>https://applesaucefdc.com/woz/</td></tr> </table> </p> @@ -301,6 +301,7 @@ <li>Ardy</li> <li>Bandits <i>(press CTRL+SHIFT+P)</i></li> <li>Beer Run <i>(press CTRL+SHIFT+P on control method screen)</i></li> + <li>Berzap</li> <li>Borg</li> <li>Borrowed Time</li> <li>Boulder Dash</li> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mednafen/Documentation/cdplay.html new/mednafen/Documentation/cdplay.html --- old/mednafen/Documentation/cdplay.html 2019-01-28 07:52:37.000000000 +0100 +++ new/mednafen/Documentation/cdplay.html 2019-04-23 23:54:58.000000000 +0200 @@ -9,7 +9,7 @@ <body> <center><h1><img alt="Mednafen" src="mednafen.png" width="696" height="204"></h1></center> <center><h1>Sega Saturn Sound Format Player Documentation</h1></center> - <center><i>Last updated January 27, 2019<br>Valid as of 1.22.1</i></center> + <center><i>Last updated April 23, 2019<br>Valid as of 1.22.2</i></center> <p></p> <b>Table of Contents:</b> <ul><li><a href="#Section_intro">Introduction</a><ul></ul></li><li><a href="#Settings+Reference">Settings Reference</a><ul></ul></li></ul><hr width="100%"> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mednafen/Documentation/gb.html new/mednafen/Documentation/gb.html --- old/mednafen/Documentation/gb.html 2019-01-28 07:52:37.000000000 +0100 +++ new/mednafen/Documentation/gb.html 2019-04-23 23:54:58.000000000 +0200 @@ -9,7 +9,7 @@ <body> <center><h1><img alt="Mednafen" src="mednafen.png" width="696" height="204"></h1></center> <center><h1>Game Boy (Color) Documentation</h1></center> - <center><i>Last updated January 27, 2019<br>Valid as of 1.22.1</i></center> + <center><i>Last updated April 23, 2019<br>Valid as of 1.22.2</i></center> <p></p> <b>Table of Contents:</b> <ul><li><a href="#Section_intro">Introduction</a><ul></ul></li><li><a href="#Section_custom_palettes">Custom Palettes</a><ul></ul></li><li><a href="#Section_default_keys">Default Key Assignments</a><ul></ul></li><li><a href="#Settings+Reference">Settings Reference</a><ul></ul></li></ul><hr width="100%"> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mednafen/Documentation/gba.html new/mednafen/Documentation/gba.html --- old/mednafen/Documentation/gba.html 2019-01-28 07:52:37.000000000 +0100 +++ new/mednafen/Documentation/gba.html 2019-04-23 23:54:58.000000000 +0200 @@ -9,7 +9,7 @@ <body> <center><h1><img alt="Mednafen" src="mednafen.png" width="696" height="204"></h1></center> <center><h1>Game Boy Advance Documentation</h1></center> - <center><i>Last updated January 27, 2019<br>Valid as of 1.22.1</i></center> + <center><i>Last updated April 23, 2019<br>Valid as of 1.22.2</i></center> <p></p> <b>Table of Contents:</b> <ul><li><a href="#Section_intro">Introduction</a><ul><li><a href="#Section_bios">BIOS</a><ul></ul></li><li><a href="#Section_custom_palettes">Custom Palettes</a><ul></ul></li><li><a href="#Section_backupmem_type">Backup Memory Type</a><ul></ul></li></ul></li><li><a href="#Section_default_keys">Default Key Assignments</a><ul></ul></li><li><a href="#Settings+Reference">Settings Reference</a><ul></ul></li></ul><hr width="100%"> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mednafen/Documentation/gg.html new/mednafen/Documentation/gg.html --- old/mednafen/Documentation/gg.html 2019-01-28 07:52:37.000000000 +0100 +++ new/mednafen/Documentation/gg.html 2019-04-23 23:54:58.000000000 +0200 @@ -9,7 +9,7 @@ <body> <center><h1><img alt="Mednafen" src="mednafen.png" width="696" height="204"></h1></center> <center><h1>Sega Game Gear Documentation</h1></center> - <center><i>Last updated January 27, 2019<br>Valid as of 1.22.1</i></center> + <center><i>Last updated April 23, 2019<br>Valid as of 1.22.2</i></center> <p></p> <b>Table of Contents:</b> <ul><li><a href="#Section_intro">Introduction</a><ul></ul></li><li><a href="#Section_custom_palettes">Custom Palettes</a><ul></ul></li><li><a href="#Settings+Reference">Settings Reference</a><ul></ul></li></ul><hr width="100%"> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mednafen/Documentation/lynx.html new/mednafen/Documentation/lynx.html --- old/mednafen/Documentation/lynx.html 2019-01-28 07:52:37.000000000 +0100 +++ new/mednafen/Documentation/lynx.html 2019-04-23 23:54:58.000000000 +0200 @@ -9,7 +9,7 @@ <body> <center><h1><img alt="Mednafen" src="mednafen.png" width="696" height="204"></h1></center> <center><h1>Atari Lynx Documentation</h1></center> - <center><i>Last updated January 27, 2019<br>Valid as of 1.22.1</i></center> + <center><i>Last updated April 23, 2019<br>Valid as of 1.22.2</i></center> <p></p> <b>Table of Contents:</b> <ul><li><a href="#Section_intro">Introduction</a><ul></ul></li><li><a href="#Section_custom_palettes">Custom Palettes</a><ul></ul></li><li><a href="#Section_default_keys">Default Key Assignments</a><ul></ul></li><li><a href="#Settings+Reference">Settings Reference</a><ul></ul></li></ul><hr width="100%"> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mednafen/Documentation/md.html new/mednafen/Documentation/md.html --- old/mednafen/Documentation/md.html 2019-01-28 07:52:37.000000000 +0100 +++ new/mednafen/Documentation/md.html 2019-04-23 23:54:58.000000000 +0200 @@ -9,7 +9,7 @@ <body> <center><h1><img alt="Mednafen" src="mednafen.png" width="696" height="204"></h1></center> <center><h1>Sega Genesis/MegaDrive Documentation</h1></center> - <center><i>Last updated January 27, 2019<br>Valid as of 1.22.1</i></center> + <center><i>Last updated April 23, 2019<br>Valid as of 1.22.2</i></center> <p></p> <b>Table of Contents:</b> <ul><li><a href="#Section_intro">Introduction</a><ul></ul></li><li><a href="#Settings+Reference">Settings Reference</a><ul></ul></li></ul><hr width="100%"> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mednafen/Documentation/mednafen.html new/mednafen/Documentation/mednafen.html --- old/mednafen/Documentation/mednafen.html 2019-01-28 07:52:37.000000000 +0100 +++ new/mednafen/Documentation/mednafen.html 2019-04-23 23:54:58.000000000 +0200 @@ -9,10 +9,10 @@ <body> <center><h1><img alt="Mednafen" src="mednafen.png" width="696" height="204"></h1></center> <center><h1>General Documentation</h1></center> - <center><i>Last updated January 27, 2019<br>Valid as of 1.22.1</i></center> + <center><i>Last updated April 23, 2019<br>Valid as of 1.22.2</i></center> <p></p> <b>Table of Contents:</b> - <ul><li><a href="#Section_introduction">Introduction</a><ul><li><a href="#Section_base_directory">Base Directory</a><ul></ul></li></ul></li><li><a href="#Section_core_features">Core Features</a><ul><li><a href="#Section_cdrom_emulation">CD Emulation</a><ul><li><a href="#Section_cd_images">Compact Disc Images</a><ul></ul></li><li><a href="#Section_multicd_games">Multiple-CD Games</a><ul></ul></li><li><a href="#Section_cdg">CD+G</a><ul></ul></li><li><a href="#Section_photocdportfolio">PhotoCD Portfolio</a><ul></ul></li></ul></li></ul></li><li><a href="#Section_security">Security Issues</a><ul><li><a href="#Section_security_savestates">Save States</a><ul></ul></li><li><a href="#Section_security_includes">CD images and PSF(PSF1, GSF, etc.) Files</a><ul></ul></li><li><a href="#Section_security_netplay">Network Play</a><ul></ul></li></ul></li><li><a href="#Section_using">Using Mednafen</a><ul><li><a href="#Section_key_assignments">Key Assignments</a><ul></ul></li><li><a href="#Section_input_grabbing">Input Grabbing</a><ul></ul></li><li><a href="#Section_remapping_input">Remapping Buttons and Keys</a><ul></ul></li><li><a href="#Section_command_line">Command-line</a><ul></ul></li><li><a href="#Section_config_files">Configuration Files</a><ul></ul></li><li><a href="#Global+Settings+Reference">Global Settings Reference</a><ul></ul></li><li><a href="#Section_firmware_bios">Firmware/BIOS</a><ul></ul></li><li><a href="#Section_custom_palettes">Custom Palettes</a><ul></ul></li><li><a href="#Section_ips_patching">Automatic IPS Patching</a><ul></ul></li></ul></li><li><a href="#Section_advanced">Advanced Usage</a><ul><li><a href="#Section_lag">Minimizing video/audio/input Lag</a><ul><li><a href="#Section_lag_hardware">Hardware Selection</a><ul></ul></li><li><a href="#Section_minimize_video_lag">Settings to Minimize Video Lag</a><ul></ul></li><li><a href="#Section_minimize_audio_lag">Settings to Minimize Audio Lag</a><ul></ul></li></ul></li><li><a href="#Section_input_mapping_format">Input Mapping Settings Format</a><ul><li><a href="#Section_ims_keyboard">Keyboard</a><ul></ul></li><li><a href="#Section_ims_mouse">Mouse</a><ul></ul></li><li><a href="#Section_ims_joystick">Joystick</a><ul></ul></li></ul></li></ul></li><li><a href="#Section_troubleshooting">Troubleshooting and Common Solutions</a><ul><li><a href="#Section_troubleshooting_nosoundlinux">No sound output on Linux.</a><ul></ul></li><li><a href="#Section_troubleshooting_configcrlf">Configuration file is a mess in Notepad in Windows.</a><ul></ul></li></ul></li><li>Emulation Module Documentation<ul><li><a href="apple2.html">Apple II/II+</a> [apple2]<li><a href="lynx.html">Atari Lynx</a> [lynx]<li><a href="cdplay.html">CD-DA Player</a> [cdplay]<li><a href="gb.html">GameBoy (Color)</a> [gb]<li><a href="gba.html">GameBoy Advance</a> [gba]<li><a href="ngp.html">Neo Geo Pocket (Color)</a> [ngp]<li><a href="nes.html">Nintendo Entertainment System/Famicom</a> [nes]<li><a href="pce.html">PC Engine (CD)/TurboGrafx 16 (CD)/SuperGrafx</a> [pce]<li><a href="pce_fast.html">PC Engine (CD)/TurboGrafx 16 (CD)/SuperGrafx</a> [pce_fast]<li><a href="pcfx.html">PC-FX</a> [pcfx]<li><a href="gg.html">Sega Game Gear</a> [gg]<li><a href="md.html">Sega Genesis/MegaDrive</a> [md]<li><a href="sms.html">Sega Master System</a> [sms]<li><a href="ss.html">Sega Saturn</a> [ss]<li><a href="ssfplay.html">Sega Saturn Sound Format Player</a> [ssfplay]<li><a href="psx.html">Sony PlayStation</a> [psx]<li><a href="snes_faust.html">Super Nintendo Entertainment System/Super Famicom</a> [snes_faust]<li><a href="snes.html">Super Nintendo Entertainment System/Super Famicom</a> [snes]<li><a href="vb.html">Virtual Boy</a> [vb]<li><a href="wswan.html">WonderSwan</a> [wswan]</ul></li><li><a href="debugger.html">Debugger</a><li><a href="netplay.html">Network Play</a><li><a href="#Section_legal">Licenses, Copyright Notices, and Code Credits</a><ul><li><a href="#Section_legal_libmpcdec">libmpcdec</a><ul></ul></li><li><a href="#Section_legal_tremor">Tremor</a><ul></ul></li><li><a href="#Section_legal_minilzo">MiniLZO</a><ul></ul></li><li><a href="#Section_legal_quicklz">QuickLZ</a><ul></ul></li><li><a href="#Section_legal_trio">trio</a><ul></ul></li><li><a href="#Section_legal_speex">Speex Resampler</a><ul></ul></li><li><a href="#Section_legal_ffmpeg">ffmpeg cputest</a><ul></ul></li><li><a href="#Section_legal_dvdisaster">CD-ROM data correction code</a><ul></ul></li><li><a href="#Section_legal_scale2x">Scale2x</a><ul></ul></li><li><a href="#Section_legal_hqnx">hq2x, hq3x, hq4x</a><ul></ul></li><li><a href="#Section_legal_2xsai">2xSaI</a><ul></ul></li><li><a href="#Section_legal_sabr">SABR v3.0 Shader</a><ul></ul></li><li><a href="#Section_legal_nes_ntsc">nes_ntsc</a><ul></ul></li><li><a href="#Section_legal_gb_snd_emu">Gb_Snd_Emu</a><ul></ul></li><li><a href="#Section_legal_blip_buffer">Blip_Buffer</a><ul></ul></li><li><a href="#Section_legal_sms_snd_emu">Sms_Snd_Emu(base for T6W28_Apu NGP code)</a><ul></ul></li><li><a href="#Section_legal_v810">V810 Emulator</a><ul></ul></li><li><a href="#Section_legal_fuse">Fuse Z80 emulation code</a><ul></ul></li><li><a href="#Section_legal_emu2413">VRC7 Sound Emulation</a><ul></ul></li><li><a href="#Section_legal_v30mz">NEC V30MZ Emulator</a><ul></ul></li><li><a href="#Section_legal_v30mzdis">NEC V30MZ disassembler(modified BOCHS x86 disassembler)</a><ul></ul></li><li><a href="#Section_legal_emu2413_sms">EMU2413(used in SMS emulation)</a><ul></ul></li><li><a href="#Section_legal_ym2612">YM2612 Emulator</a><ul></ul></li><li><a href="#Section_legal_svp_ssp16">Sega Genesis SVP/SSP16 Emulator</a><ul></ul></li><li><a href="#Section_legal_pc2e">PC2e (Used in portions of PC Engine CD emulation)</a><ul></ul></li><li><a href="#Section_legal_handy">Handy</a><ul></ul></li><li><a href="#Section_legal_vba">VisualBoyAdvance GameBoy and GBA code</a><ul></ul></li><li><a href="#Section_legal_neopop">NeoPop Neo Geo Pocket (Color) Code</a><ul></ul></li><li><a href="#Section_legal_cygne">Cygne</a><ul></ul></li><li><a href="#Section_legal_fceu">FCE Ultra</a><ul></ul></li><li><a href="#Section_legal_sms_plus">SMS Plus</a><ul></ul></li><li><a href="#Section_legal_genesis_plus">Genesis Plus</a><ul></ul></li><li><a href="#Section_legal_genesis_plus_gx">Genesis Plus GX</a><ul></ul></li></ul></li></ul><hr width="100%"> + <ul><li><a href="#Section_introduction">Introduction</a><ul><li><a href="#Section_base_directory">Base Directory</a><ul></ul></li></ul></li><li><a href="#Section_core_features">Core Features</a><ul><li><a href="#Section_cdrom_emulation">CD Emulation</a><ul><li><a href="#Section_cd_images">Compact Disc Images</a><ul></ul></li><li><a href="#Section_multicd_games">Multiple-CD Games</a><ul></ul></li><li><a href="#Section_cdg">CD+G</a><ul></ul></li><li><a href="#Section_photocdportfolio">PhotoCD Portfolio</a><ul></ul></li></ul></li></ul></li><li><a href="#Section_security">Security Issues</a><ul><li><a href="#Section_security_savestates">Save States</a><ul></ul></li><li><a href="#Section_security_includes">CD images and PSF(PSF1, GSF, etc.) Files</a><ul></ul></li><li><a href="#Section_security_netplay">Network Play</a><ul></ul></li></ul></li><li><a href="#Section_using">Using Mednafen</a><ul><li><a href="#Section_key_assignments">Key Assignments</a><ul></ul></li><li><a href="#Section_input_grabbing">Input Grabbing</a><ul></ul></li><li><a href="#Section_remapping_input">Remapping Buttons and Keys</a><ul></ul></li><li><a href="#Section_command_line">Command-line</a><ul></ul></li><li><a href="#Section_config_files">Configuration Files</a><ul></ul></li><li><a href="#Global+Settings+Reference">Global Settings Reference</a><ul></ul></li><li><a href="#Section_firmware_bios">Firmware/BIOS</a><ul></ul></li><li><a href="#Section_custom_palettes">Custom Palettes</a><ul></ul></li><li><a href="#Section_ips_patching">Automatic IPS Patching</a><ul></ul></li></ul></li><li><a href="#Section_advanced">Advanced Usage</a><ul><li><a href="#Section_lag">Minimizing video/audio/input Lag</a><ul><li><a href="#Section_lag_hardware">Hardware Selection</a><ul></ul></li><li><a href="#Section_minimize_video_lag">Settings to Minimize Video Lag</a><ul></ul></li><li><a href="#Section_minimize_audio_lag">Settings to Minimize Audio Lag</a><ul></ul></li></ul></li><li><a href="#Section_input_mapping_format">Input Mapping Settings Format</a><ul><li><a href="#Section_ims_keyboard">Keyboard</a><ul></ul></li><li><a href="#Section_ims_mouse">Mouse</a><ul></ul></li><li><a href="#Section_ims_joystick">Joystick</a><ul></ul></li></ul></li></ul></li><li><a href="#Section_troubleshooting">Troubleshooting and Common Solutions</a><ul><li><a href="#Section_troubleshooting_nosoundlinux">No sound output on Linux.</a><ul></ul></li><li><a href="#Section_troubleshooting_configcrlf">Configuration file is a mess in Notepad in Windows.</a><ul></ul></li></ul></li><li>Emulation Module Documentation<ul><li><a href="apple2.html">Apple II/II+</a> [apple2]<li><a href="lynx.html">Atari Lynx</a> [lynx]<li><a href="cdplay.html">CD-DA Player</a> [cdplay]<li><a href="gb.html">GameBoy (Color)</a> [gb]<li><a href="gba.html">GameBoy Advance</a> [gba]<li><a href="ngp.html">Neo Geo Pocket (Color)</a> [ngp]<li><a href="nes.html">Nintendo Entertainment System/Famicom</a> [nes]<li><a href="pce.html">PC Engine (CD)/TurboGrafx 16 (CD)/SuperGrafx</a> [pce]<li><a href="pce_fast.html">PC Engine (CD)/TurboGrafx 16 (CD)/SuperGrafx</a> [pce_fast]<li><a href="pcfx.html">PC-FX</a> [pcfx]<li><a href="gg.html">Sega Game Gear</a> [gg]<li><a href="md.html">Sega Genesis/MegaDrive</a> [md]<li><a href="sms.html">Sega Master System</a> [sms]<li><a href="ss.html">Sega Saturn</a> [ss]<li><a href="ssfplay.html">Sega Saturn Sound Format Player</a> [ssfplay]<li><a href="psx.html">Sony PlayStation</a> [psx]<li><a href="snes_faust.html">Super Nintendo Entertainment System/Super Famicom</a> [snes_faust]<li><a href="snes.html">Super Nintendo Entertainment System/Super Famicom</a> [snes]<li><a href="vb.html">Virtual Boy</a> [vb]<li><a href="wswan.html">WonderSwan</a> [wswan]</ul></li><li><a href="debugger.html">Debugger</a><li><a href="netplay.html">Network Play</a><li><a href="#Section_legal">Licenses, Copyright Notices, and Code Credits</a><ul><li><a href="#Section_legal_libmpcdec">libmpcdec</a><ul></ul></li><li><a href="#Section_legal_tremor">Tremor</a><ul></ul></li><li><a href="#Section_legal_minilzo">MiniLZO</a><ul></ul></li><li><a href="#Section_legal_quicklz">QuickLZ</a><ul></ul></li><li><a href="#Section_legal_trio">trio</a><ul></ul></li><li><a href="#Section_legal_speex">Speex Resampler</a><ul></ul></li><li><a href="#Section_legal_ffmpeg">ffmpeg cputest</a><ul></ul></li><li><a href="#Section_legal_dvdisaster">CD-ROM data correction code</a><ul></ul></li><li><a href="#Section_legal_cdrdao">CD-ROM L-EC generation code</a><ul></ul></li><li><a href="#Section_legal_scale2x">Scale2x</a><ul></ul></li><li><a href="#Section_legal_hqnx">hq2x, hq3x, hq4x</a><ul></ul></li><li><a href="#Section_legal_2xsai">2xSaI</a><ul></ul></li><li><a href="#Section_legal_sabr">SABR v3.0 Shader</a><ul></ul></li><li><a href="#Section_legal_nes_ntsc">nes_ntsc</a><ul></ul></li><li><a href="#Section_legal_gb_snd_emu">Gb_Snd_Emu</a><ul></ul></li><li><a href="#Section_legal_blip_buffer">Blip_Buffer</a><ul></ul></li><li><a href="#Section_legal_sms_snd_emu">Sms_Snd_Emu(base for T6W28_Apu NGP code)</a><ul></ul></li><li><a href="#Section_legal_v810">V810 Emulator</a><ul></ul></li><li><a href="#Section_legal_fuse">Fuse Z80 emulation code</a><ul></ul></li><li><a href="#Section_legal_emu2413">VRC7 Sound Emulation</a><ul></ul></li><li><a href="#Section_legal_v30mz">NEC V30MZ Emulator</a><ul></ul></li><li><a href="#Section_legal_v30mzdis">NEC V30MZ disassembler(modified BOCHS x86 disassembler)</a><ul></ul></li><li><a href="#Section_legal_emu2413_sms">EMU2413(used in SMS emulation)</a><ul></ul></li><li><a href="#Section_legal_ym2612">YM2612 Emulator</a><ul></ul></li><li><a href="#Section_legal_svp_ssp16">Sega Genesis SVP/SSP16 Emulator</a><ul></ul></li><li><a href="#Section_legal_pc2e">PC2e (Used in portions of PC Engine CD emulation)</a><ul></ul></li><li><a href="#Section_legal_handy">Handy</a><ul></ul></li><li><a href="#Section_legal_vba">VisualBoyAdvance GameBoy and GBA code</a><ul></ul></li><li><a href="#Section_legal_neopop">NeoPop Neo Geo Pocket (Color) Code</a><ul></ul></li><li><a href="#Section_legal_cygne">Cygne</a><ul></ul></li><li><a href="#Section_legal_fceu">FCE Ultra</a><ul></ul></li><li><a href="#Section_legal_sms_plus">SMS Plus</a><ul></ul></li><li><a href="#Section_legal_genesis_plus">Genesis Plus</a><ul></ul></li><li><a href="#Section_legal_genesis_plus_gx">Genesis Plus GX</a><ul></ul></li></ul></li></ul><hr width="100%"> <h2><a name="Section_introduction">Introduction</a></h2><p></p> <p> This main document covers general Mednafen usage, generally regardless of which system is being emulated. Documentation covering key assignments, settings, and related information for each system emulation module is linked to in the table of contents under "Emulation Module Documentation". </p> @@ -832,6 +832,29 @@ */ </pre> </blockquote> +<hr width="75%"> +<h3><a name="Section_legal_cdrdao">CD-ROM L-EC generation code</a></h3><p></p><blockquote> +<pre> +/* cdrdao - write audio CD-Rs in disc-at-once mode + * + * Copyright (C) 1998-2002 Andreas Mueller <andr...@daneb.de> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ +</pre> +</blockquote> <hr width="75%"> <h3><a name="Section_legal_scale2x"><a href="http://scale2x.sf.net/">Scale2x</a></a></h3><p></p><blockquote> <pre> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mednafen/Documentation/mednafen.php new/mednafen/Documentation/mednafen.php --- old/mednafen/Documentation/mednafen.php 2019-01-28 07:52:37.000000000 +0100 +++ new/mednafen/Documentation/mednafen.php 2019-04-23 23:54:58.000000000 +0200 @@ -802,6 +802,31 @@ </blockquote> <?php EndSection(); ?> +<?php BeginSection("CD-ROM L-EC generation code", "Section_legal_cdrdao"); ?> +<blockquote> +<pre> +/* cdrdao - write audio CD-Rs in disc-at-once mode + * + * Copyright (C) 1998-2002 Andreas Mueller <andr...@daneb.de> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ +</pre> +</blockquote> +<?php EndSection(); ?> + <?php BeginSection("Scale2x", "Section_legal_scale2x", "http://scale2x.sf.net/"); ?> <blockquote> <pre> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mednafen/Documentation/modules.def new/mednafen/Documentation/modules.def --- old/mednafen/Documentation/modules.def 2019-01-28 07:52:37.000000000 +0100 +++ new/mednafen/Documentation/modules.def 2019-04-23 23:54:58.000000000 +0200 @@ -1,4 +1,4 @@ -1.22.1 +1.22.2 apple2 Apple II/II+ 250 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mednafen/Documentation/nes.html new/mednafen/Documentation/nes.html --- old/mednafen/Documentation/nes.html 2019-01-28 07:52:37.000000000 +0100 +++ new/mednafen/Documentation/nes.html 2019-04-23 23:54:58.000000000 +0200 @@ -9,7 +9,7 @@ <body> <center><h1><img alt="Mednafen" src="mednafen.png" width="696" height="204"></h1></center> <center><h1>Nintendo Entertainment System/Famicom Documentation</h1></center> - <center><i>Last updated January 27, 2019<br>Valid as of 1.22.1</i></center> + <center><i>Last updated April 23, 2019<br>Valid as of 1.22.2</i></center> <p></p> <b>Table of Contents:</b> <ul><li><a href="#Section_intro">Introduction</a><ul><li><a href="#Section_custom_palettes">Custom Palettes</a><ul></ul></li><li><a href="#Section_input">Input</a><ul><li><a href="#Section_input_zapper">Zapper</a><ul></ul></li></ul></li><li><a href="#Section_formats">File Formats</a><ul><li><a href="#Section_formats_ines">iNES Format</a><ul></ul></li><li><a href="#Section_formats_unif">UNIF</a><ul></ul></li></ul></li><li><a href="#Section_fds">Famicom Disk System</a><ul></ul></li><li><a href="#Section_game_genie">Game Genie</a><ul></ul></li><li><a href="#Section_vs_unisystem">VS Unisystem</a><ul></ul></li></ul></li><li><a href="#Section_default_keys">Default Key Assignments</a><ul><li><a href="#Section_default_keys_vsuni">VS Unisystem</a><ul></ul></li><li><a href="#Section_default_keys_fds">Famicom Disk System</a><ul></ul></li><li><a href="#Section_default_keys_barcode">Barcode Readers</a><ul></ul></li><li><a href="#Section_default_keys_gamepad">Game Pad</a><ul></ul></li><li><a href="#Section_default_keys_powerpad">Power Pad</a><ul></ul></li><li><a href="#Section_default_keys_fkb">Family Keyboard</a><ul></ul></li><li><a href="#Section_default_keys_hypershot">HyperShot Controller</a><ul></ul></li><li><a href="#Section_default_keys_mahjong">Mahjong Controller</a><ul></ul></li><li><a href="#Section_default_keys_partytap">Party Tap Controller</a><ul></ul></li></ul></li><li><a href="#Section_hax">Game-specific Emulation Hacks</a><ul></ul></li><li><a href="#Settings+Reference">Settings Reference</a><ul></ul></li><li><a href="#Section_credits">Credits</a><ul></ul></li></ul><hr width="100%"> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mednafen/Documentation/netplay.html new/mednafen/Documentation/netplay.html --- old/mednafen/Documentation/netplay.html 2019-01-28 07:52:37.000000000 +0100 +++ new/mednafen/Documentation/netplay.html 2019-04-23 23:54:58.000000000 +0200 @@ -9,7 +9,7 @@ <body> <center><h1><img alt="Mednafen" src="mednafen.png" width="696" height="204"></h1></center> <center><h1>Netplay Documentation</h1></center> - <center><i>Last updated January 27, 2019<br>Valid as of 1.22.1</i></center> + <center><i>Last updated April 23, 2019<br>Valid as of 1.22.2</i></center> <p></p> <b>Table of Contents:</b> <ul><li><a href="#Section_intro">Introduction</a><ul></ul></li><li><a href="#Section_server_setup">Setting up the Server</a><ul></ul></li><li><a href="#Section_using_console">Using Mednafen's netplay console</a><ul></ul></li></ul><hr width="100%"> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mednafen/Documentation/ngp.html new/mednafen/Documentation/ngp.html --- old/mednafen/Documentation/ngp.html 2019-01-28 07:52:37.000000000 +0100 +++ new/mednafen/Documentation/ngp.html 2019-04-23 23:54:58.000000000 +0200 @@ -9,7 +9,7 @@ <body> <center><h1><img alt="Mednafen" src="mednafen.png" width="696" height="204"></h1></center> <center><h1>Neo Geo Pocket (Color) Documentation</h1></center> - <center><i>Last updated January 27, 2019<br>Valid as of 1.22.1</i></center> + <center><i>Last updated April 23, 2019<br>Valid as of 1.22.2</i></center> <p></p> <b>Table of Contents:</b> <ul><li><a href="#Section_intro">Introduction</a><ul></ul></li><li><a href="#Section_default_keys">Default Key Assignments</a><ul></ul></li><li><a href="#Settings+Reference">Settings Reference</a><ul></ul></li></ul><hr width="100%"> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mednafen/Documentation/pce.html new/mednafen/Documentation/pce.html --- old/mednafen/Documentation/pce.html 2019-01-28 07:52:37.000000000 +0100 +++ new/mednafen/Documentation/pce.html 2019-04-23 23:54:58.000000000 +0200 @@ -9,7 +9,7 @@ <body> <center><h1><img alt="Mednafen" src="mednafen.png" width="696" height="204"></h1></center> <center><h1>PC Engine/TurboGrafx 16 (CD)/SuperGrafx Documentation</h1></center> - <center><i>Last updated January 27, 2019<br>Valid as of 1.22.1</i></center> + <center><i>Last updated April 23, 2019<br>Valid as of 1.22.2</i></center> <p></p> <b>Table of Contents:</b> <ul><li><a href="#Section_intro">Introduction</a><ul></ul></li><li><a href="#Section_custom_palettes">Custom Palettes</a><ul></ul></li><li><a href="#Section_default_keys">Default Key Assignments</a><ul></ul></li><li><a href="#Section_advanced">Advanced Usage</a><ul><li><a href="#Section_advanced_softreset">Accidental Soft Resets</a><ul></ul></li><li><a href="#Section_advanced_spritelimit">Sprite Flickering</a><ul></ul></li><li><a href="#Section_cdvolbalance">Obnoxious Sound Effects in CD Games</a><ul></ul></li></ul></li><li><a href="#Settings+Reference">Settings Reference</a><ul></ul></li></ul><hr width="100%"> @@ -102,7 +102,7 @@ <tr class="RowB"><td class="ColA"><b>pce.input.port5</b></td><td class="ColB">enum</td><td class="ColC">none<br>gamepad<br>mouse</td><td class="ColD">gamepad</td><td class="ColE"><a name="pce.input.port5">Input device for Port 5</a><ul><li><b>none</b> - none<br></li><br><li><b>gamepad</b> - Gamepad<br></li><br><li><b>mouse</b> - Mouse<br></li></ul></td></tr><tr><td class="RowSpacer" colspan="5"> </td></tr> <tr class="RowA"><td class="ColA">pce.mouse_sensitivity</td><td class="ColB">real</td><td class="ColC"> <i>through</i> </td><td class="ColD">0.50</td><td class="ColE"><a name="pce.mouse_sensitivity">Emulated mouse sensitivity.</a></td></tr><tr><td class="RowSpacer" colspan="5"> </td></tr> <tr class="RowB"><td class="ColA">pce.nospritelimit</td><td class="ColB">boolean</td><td class="ColC">0<br>1</td><td class="ColD">0</td><td class="ColE"><a name="pce.nospritelimit">Remove 16-sprites-per-scanline hardware limit.</a><p>WARNING: Enabling this option may cause undesirable graphics glitching on some games(such as "Bloody Wolf").</p></td></tr><tr><td class="RowSpacer" colspan="5"> </td></tr> -<tr class="RowA"><td class="ColA">pce.psgrevision</td><td class="ColB">enum</td><td class="ColC">huc6280<br>huc6280a<br>match</td><td class="ColD">match</td><td class="ColE"><a name="pce.psgrevision">Select PSG revision.</a><p>WARNING: HES playback will always use the "huc6280a" revision if this setting is set to "match", since HES playback is always done with SuperGrafx emulation enabled.</p><ul><li><b>huc6280</b> - HuC6280<br>HuC6280 as found in the original PC Engine.</li><br><li><b>huc6280a</b> - HuC6280A<br>HuC6280A as found in the SuperGrafx and CoreGrafx I. Provides proper channel amplitude centering, but may cause clicking in a few games designed with the original HuC6280's sound characteristics in mind.</li><br><li><b>match</b> - Match emulation mode.<br>Selects "huc6280" for non-SuperGrafx mode, and "huc6280a" for SuperGrafx(full) mode.</li></ul></td></tr><tr><td class="RowSpacer" colspan="5"> </td></tr> +<tr class="RowA"><td class="ColA">pce.psgrevision</td><td class="ColB">enum</td><td class="ColC">huc6280<br>huc6280a<br>match</td><td class="ColD">match</td><td class="ColE"><a name="pce.psgrevision">Select PSG revision.</a><p>WARNING: HES playback will always use the "huc6280a" revision if this setting is set to "match", since HES playback is always done with SuperGrafx emulation enabled.</p><ul><li><b>huc6280</b> - HuC6280<br>HuC6280 as found in the original PC Engine.</li><br><li><b>huc6280a</b> - HuC6280A<br>HuC6280A as found in the SuperGrafx and CoreGrafx I. Provides proper channel amplitude centering. Many games will have less clicking with the HuC6280A, but it may cause clicking in a few games designed with the original HuC6280's sound characteristics in mind.</li><br><li><b>match</b> - Match emulation mode.<br>Selects "huc6280" for non-SuperGrafx mode, and "huc6280a" for SuperGrafx(full) mode.</li></ul></td></tr><tr><td class="RowSpacer" colspan="5"> </td></tr> <tr class="RowB"><td class="ColA">pce.resamp_quality</td><td class="ColB">integer</td><td class="ColC">0 <i>through</i> 5</td><td class="ColD">3</td><td class="ColE"><a name="pce.resamp_quality">Sound quality.</a><p>Higher values correspond to better SNR and better preservation of higher frequencies("brightness"), at the cost of increased computational complexity and a negligible increase in latency.<br> <br> Higher values will also slightly increase the probability of sample clipping(relevant if Mednafen's volume control settings are set too high), due to increased (time-domain) ringing.</p></td></tr><tr><td class="RowSpacer" colspan="5"> </td></tr> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mednafen/Documentation/pce_fast.html new/mednafen/Documentation/pce_fast.html --- old/mednafen/Documentation/pce_fast.html 2019-01-28 07:52:37.000000000 +0100 +++ new/mednafen/Documentation/pce_fast.html 2019-04-23 23:54:58.000000000 +0200 @@ -9,7 +9,7 @@ <body> <center><h1><img alt="Mednafen" src="mednafen.png" width="696" height="204"></h1></center> <center><h1>PC Engine (CD)/TurboGrafx 16 (CD)/SuperGrafx Documentation</h1></center> - <center><i>Last updated January 27, 2019<br>Valid as of 1.22.1</i></center> + <center><i>Last updated April 23, 2019<br>Valid as of 1.22.2</i></center> <p></p> <b>Table of Contents:</b> <ul><li><a href="#Section_intro">Introduction</a><ul></ul></li><li><a href="#Section_custom_palettes">Custom Palettes</a><ul></ul></li><li><a href="#Settings+Reference">Settings Reference</a><ul></ul></li></ul><hr width="100%"> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mednafen/Documentation/pcfx.html new/mednafen/Documentation/pcfx.html --- old/mednafen/Documentation/pcfx.html 2019-01-28 07:52:37.000000000 +0100 +++ new/mednafen/Documentation/pcfx.html 2019-04-23 23:54:58.000000000 +0200 @@ -9,7 +9,7 @@ <body> <center><h1><img alt="Mednafen" src="mednafen.png" width="696" height="204"></h1></center> <center><h1>PC-FX Documentation</h1></center> - <center><i>Last updated January 27, 2019<br>Valid as of 1.22.1</i></center> + <center><i>Last updated April 23, 2019<br>Valid as of 1.22.2</i></center> <p></p> <b>Table of Contents:</b> <ul><li><a href="#Section_intro">Introduction</a><ul></ul></li><li><a href="#Section_firmware_bios">Firmware/BIOS</a><ul></ul></li><li><a href="#Section_default_keys">Default Key Assignments</a><ul></ul></li><li><a href="#Settings+Reference">Settings Reference</a><ul></ul></li></ul><hr width="100%"> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mednafen/Documentation/psx.html new/mednafen/Documentation/psx.html --- old/mednafen/Documentation/psx.html 2019-01-28 07:52:37.000000000 +0100 +++ new/mednafen/Documentation/psx.html 2019-04-23 23:54:58.000000000 +0200 @@ -9,7 +9,7 @@ <body> <center><h1><img alt="Mednafen" src="mednafen.png" width="696" height="204"></h1></center> <center><h1>Sony PlayStation Documentation</h1></center> - <center><i>Last updated January 27, 2019<br>Valid as of 1.22.1</i></center> + <center><i>Last updated April 23, 2019<br>Valid as of 1.22.2</i></center> <p></p> <b>Table of Contents:</b> <ul><li><a href="#Section_intro">Introduction</a><ul></ul></li><li><a href="#Section_firmware_bios">Firmware/BIOS</a><ul></ul></li><li><a href="#Section_analog_range">Analog Sticks Range Issues</a><ul></ul></li><li><a href="#Section_multitap">Multitap Usage</a><ul></ul></li><li><a href="#Section_default_keys">Default Input Mappings</a><ul><li><a href="#Section_default_keys_gamepad">Digital Gamepad on Virtual Port 1</a><ul></ul></li></ul></li><li><a href="#Settings+Reference">Settings Reference</a><ul></ul></li></ul><hr width="100%"> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mednafen/Documentation/settings.def new/mednafen/Documentation/settings.def --- old/mednafen/Documentation/settings.def 2019-01-28 07:52:37.000000000 +0100 +++ new/mednafen/Documentation/settings.def 2019-04-23 23:54:58.000000000 +0200 @@ -15210,7 +15210,7 @@ HuC6280 as found in the original PC Engine. huc6280a HuC6280A -HuC6280A as found in the SuperGrafx and CoreGrafx I. Provides proper channel amplitude centering, but may cause clicking in a few games designed with the original HuC6280\'s sound characteristics in mind. +HuC6280A as found in the SuperGrafx and CoreGrafx I. Provides proper channel amplitude centering. Many games will have less clicking with the HuC6280A, but it may cause clicking in a few games designed with the original HuC6280\'s sound characteristics in mind. match Match emulation mode. Selects \"huc6280\" for non-SuperGrafx mode, and \"huc6280a\" for SuperGrafx(full) mode. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mednafen/Documentation/sms.html new/mednafen/Documentation/sms.html --- old/mednafen/Documentation/sms.html 2019-01-28 07:52:37.000000000 +0100 +++ new/mednafen/Documentation/sms.html 2019-04-23 23:54:58.000000000 +0200 @@ -9,7 +9,7 @@ <body> <center><h1><img alt="Mednafen" src="mednafen.png" width="696" height="204"></h1></center> <center><h1>Sega Master System Documentation</h1></center> - <center><i>Last updated January 27, 2019<br>Valid as of 1.22.1</i></center> + <center><i>Last updated April 23, 2019<br>Valid as of 1.22.2</i></center> <p></p> <b>Table of Contents:</b> <ul><li><a href="#Section_intro">Introduction</a><ul></ul></li><li><a href="#Section_custom_palettes">Custom Palettes</a><ul></ul></li><li><a href="#Settings+Reference">Settings Reference</a><ul></ul></li></ul><hr width="100%"> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mednafen/Documentation/snes.html new/mednafen/Documentation/snes.html --- old/mednafen/Documentation/snes.html 2019-01-28 07:52:37.000000000 +0100 +++ new/mednafen/Documentation/snes.html 2019-04-23 23:54:58.000000000 +0200 @@ -9,7 +9,7 @@ <body> <center><h1><img alt="Mednafen" src="mednafen.png" width="696" height="204"></h1></center> <center><h1>Super Nintendo Entertainment System/Super Famicom Documentation</h1></center> - <center><i>Last updated January 27, 2019<br>Valid as of 1.22.1</i></center> + <center><i>Last updated April 23, 2019<br>Valid as of 1.22.2</i></center> <p></p> <b>Table of Contents:</b> <ul><li><a href="#Section_intro">Introduction</a><ul></ul></li><li><a href="#Section_custom_palettes">Custom Palettes</a><ul></ul></li><li><a href="#Section_default_keys">Default Key Assignments</a><ul></ul></li><li><a href="#Settings+Reference">Settings Reference</a><ul></ul></li></ul><hr width="100%"> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mednafen/Documentation/snes_faust.html new/mednafen/Documentation/snes_faust.html --- old/mednafen/Documentation/snes_faust.html 2019-01-28 07:52:37.000000000 +0100 +++ new/mednafen/Documentation/snes_faust.html 2019-04-23 23:54:58.000000000 +0200 @@ -9,7 +9,7 @@ <body> <center><h1><img alt="Mednafen" src="mednafen.png" width="696" height="204"></h1></center> <center><h1>Super Nintendo Entertainment System/Super Famicom Documentation</h1></center> - <center><i>Last updated January 27, 2019<br>Valid as of 1.22.1</i></center> + <center><i>Last updated April 23, 2019<br>Valid as of 1.22.2</i></center> <p></p> <b>Table of Contents:</b> <ul><li><a href="#Section_intro">Introduction</a><ul></ul></li><li><a href="#Settings+Reference">Settings Reference</a><ul></ul></li></ul><hr width="100%"> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mednafen/Documentation/ss.html new/mednafen/Documentation/ss.html --- old/mednafen/Documentation/ss.html 2019-01-28 07:52:37.000000000 +0100 +++ new/mednafen/Documentation/ss.html 2019-04-23 23:54:58.000000000 +0200 @@ -9,7 +9,7 @@ <body> <center><h1><img alt="Mednafen" src="mednafen.png" width="696" height="204"></h1></center> <center><h1>Sega Saturn Documentation</h1></center> - <center><i>Last updated January 27, 2019<br>Valid as of 1.22.1</i></center> + <center><i>Last updated April 23, 2019<br>Valid as of 1.22.2</i></center> <p></p> <b>Table of Contents:</b> <ul><li><a href="#Section_intro">Introduction</a><ul></ul></li><li><a href="#Section_firmware_bios">Firmware/BIOS</a><ul></ul></li><li><a href="#Section_default_keys">Default Input Mappings</a><ul><li><a href="#Section_default_keys_gamepad">Digital Gamepad on Virtual Port 1</a><ul></ul></li><li><a href="#Section_default_keys_mouse">Mouse on Virtual Ports 1-12</a><ul></ul></li><li><a href="#Section_default_keys_gun">Light Gun on Virtual Ports 1-12</a><ul></ul></li></ul></li><li><a href="#Settings+Reference">Settings Reference</a><ul></ul></li></ul><hr width="100%"> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mednafen/Documentation/ssfplay.html new/mednafen/Documentation/ssfplay.html --- old/mednafen/Documentation/ssfplay.html 2019-01-28 07:52:37.000000000 +0100 +++ new/mednafen/Documentation/ssfplay.html 2019-04-23 23:54:58.000000000 +0200 @@ -9,7 +9,7 @@ <body> <center><h1><img alt="Mednafen" src="mednafen.png" width="696" height="204"></h1></center> <center><h1>Sega Saturn Sound Format Player Documentation</h1></center> - <center><i>Last updated January 27, 2019<br>Valid as of 1.22.1</i></center> + <center><i>Last updated April 23, 2019<br>Valid as of 1.22.2</i></center> <p></p> <b>Table of Contents:</b> <ul><li><a href="#Section_intro">Introduction</a><ul></ul></li><li><a href="#Settings+Reference">Settings Reference</a><ul></ul></li></ul><hr width="100%"> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mednafen/Documentation/vb.html new/mednafen/Documentation/vb.html --- old/mednafen/Documentation/vb.html 2019-01-28 07:52:37.000000000 +0100 +++ new/mednafen/Documentation/vb.html 2019-04-23 23:54:58.000000000 +0200 @@ -9,7 +9,7 @@ <body> <center><h1><img alt="Mednafen" src="mednafen.png" width="696" height="204"></h1></center> <center><h1>Virtual Boy Documentation</h1></center> - <center><i>Last updated January 27, 2019<br>Valid as of 1.22.1</i></center> + <center><i>Last updated April 23, 2019<br>Valid as of 1.22.2</i></center> <p></p> <b>Table of Contents:</b> <ul><li><a href="#Section_intro">Introduction</a><ul></ul></li><li><a href="#Section_custom_palettes">Custom Palettes</a><ul></ul></li><li><a href="#Settings+Reference">Settings Reference</a><ul></ul></li></ul><hr width="100%"> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mednafen/Documentation/wswan.html new/mednafen/Documentation/wswan.html --- old/mednafen/Documentation/wswan.html 2019-01-28 07:52:37.000000000 +0100 +++ new/mednafen/Documentation/wswan.html 2019-04-23 23:54:58.000000000 +0200 @@ -9,7 +9,7 @@ <body> <center><h1><img alt="Mednafen" src="mednafen.png" width="696" height="204"></h1></center> <center><h1>WonderSwan Documentation</h1></center> - <center><i>Last updated January 27, 2019<br>Valid as of 1.22.1</i></center> + <center><i>Last updated April 23, 2019<br>Valid as of 1.22.2</i></center> <p></p> <b>Table of Contents:</b> <ul><li><a href="#Section_intro">Introduction</a><ul></ul></li><li><a href="#Section_default_keys">Default Key Assignments</a><ul></ul></li><li><a href="#Section_hax">Game-specific Emulation Hacks</a><ul></ul></li><li><a href="#Settings+Reference">Settings Reference</a><ul></ul></li></ul><hr width="100%"> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mednafen/configure new/mednafen/configure --- old/mednafen/configure 2019-01-28 07:52:37.000000000 +0100 +++ new/mednafen/configure 2019-04-23 23:54:58.000000000 +0200 @@ -4365,8 +4365,8 @@ # # Avoid trailing and leading zeroes in the decimal version components to avoid confusing not-so-learned people. # -MEDNAFEN_VERSION='1.22.1' -MEDNAFEN_VERSION_NUMERIC=0x00102201 +MEDNAFEN_VERSION='1.22.2' +MEDNAFEN_VERSION_NUMERIC=0x00102202 # 0xJJJnnnRR # Make sure we can run config.sub. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mednafen/configure.ac new/mednafen/configure.ac --- old/mednafen/configure.ac 2019-01-28 07:52:37.000000000 +0100 +++ new/mednafen/configure.ac 2019-04-23 23:54:58.000000000 +0200 @@ -6,8 +6,8 @@ # # Avoid trailing and leading zeroes in the decimal version components to avoid confusing not-so-learned people. # -MEDNAFEN_VERSION='1.22.1' -MEDNAFEN_VERSION_NUMERIC=0x00102201 +MEDNAFEN_VERSION='1.22.2' +MEDNAFEN_VERSION_NUMERIC=0x00102202 # 0xJJJnnnRR AC_CANONICAL_HOST diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mednafen/src/apple2/disk2.inc new/mednafen/src/apple2/disk2.inc --- old/mednafen/src/apple2/disk2.inc 2019-01-28 07:52:37.000000000 +0100 +++ new/mednafen/src/apple2/disk2.inc 2019-04-23 23:54:58.000000000 +0200 @@ -38,7 +38,7 @@ enum : unsigned { num_tracks = 160 }; //enum : unsigned { samples_per_track = 1431818 }; enum : unsigned { min_bits_per_track = 46000 }; -enum : unsigned { max_bits_per_track = 53168 }; +enum : unsigned { max_bits_per_track = 56048 }; static uint8 BootROM[256]; static uint8 SequencerROM[256]; @@ -868,7 +868,8 @@ } } -static const uint8 woz_header_magic[8] = { 0x57, 0x4F, 0x5A, 0x31, 0xFF, 0x0A, 0x0D, 0x0A }; +static const uint8 woz_header_magic[8] = { 0x57, 0x4F, 0x5A, 0x31, 0xFF, 0x0A, 0x0D, 0x0A }; +static const uint8 woz2_header_magic[8] = { 0x57, 0x4F, 0x5A, 0x32, 0xFF, 0x0A, 0x0D, 0x0A }; static void LoadWOZ(Stream* sp, FloppyDisk* disk) { @@ -876,13 +877,18 @@ MDFN_printf(_("Parsing WOZ-format disk image...\n")); - if(sp->read(header, 12, false) != 12 || memcmp(header, woz_header_magic, sizeof(woz_header_magic))) + if(sp->read(header, 12, false) != 12 || (memcmp(header, woz_header_magic, sizeof(woz_header_magic)) && memcmp(header, woz2_header_magic, sizeof(woz2_header_magic)))) throw MDFN_Error(0, _("Bad or missing WOZ file header.")); // + const bool woz2 = !memcmp(header, woz2_header_magic, sizeof(woz2_header_magic)); + // uint8 disk_type; uint8 write_protected; uint8 synchronized; uint8 cleaned; + uint8 optimal_bit_timing = 32; + uint16 compat_hw = 0; + uint16 req_ram = 0; // uint8 chunk_header[8]; unsigned required_chunks = 0; @@ -922,6 +928,13 @@ MDFN_zapctrlchars(creator); MDFN_trim(creator); + if(woz2) + { + optimal_bit_timing = info[39]; + compat_hw = MDFN_de16lsb(&info[40]); + req_ram = MDFN_de16lsb(&info[42]); + } + if(disk_type == 0x02) throw MDFN_Error(0, _("3.5\" floppy disk images not currently supported.")); @@ -930,13 +943,40 @@ disk->write_protect = (bool)write_protected; - MDFN_printf(" INFO:\n"); - MDFN_printf(" Version: %u\n", info_version); - MDFN_printf(" Disk type: %u\n", disk_type); - MDFN_printf(" Write protected: %u\n", write_protected); - MDFN_printf(" Synchronized: %u\n", synchronized); - MDFN_printf(" Cleaned: %u\n", cleaned); - MDFN_printf(" Creator: %s\n", creator); + MDFN_printf(_(" INFO:\n")); + MDFN_printf(_(" Version: %u\n"), info_version); + MDFN_printf(_(" Disk type: %u\n"), disk_type); + MDFN_printf(_(" Write protected: %u\n"), write_protected); + MDFN_printf(_(" Synchronized: %u\n"), synchronized); + MDFN_printf(_(" Cleaned: %u\n"), cleaned); + MDFN_printf(_(" Creator: %s\n"), creator); + + if(woz2) + { + static const char* compat_hw_tab[] = { "Apple II", "Apple II+", "Apple IIe", "Apple IIc", "Apple IIe Enhanced", "Apple IIgs", "Apple IIc Plus", "Apple III", "Apple III Plus" }; + std::string compat_hw_str; + + for(size_t i = 0; i < sizeof(compat_hw_tab) / sizeof(compat_hw_tab[0]); i++) + { + if(compat_hw & (1U << i)) + { + if(compat_hw_str.size()) + compat_hw_str += ", "; + + compat_hw_str += compat_hw_tab[i]; + } + } + + if(!compat_hw_str.size()) + compat_hw_str = _("Unknown"); + + MDFN_printf(_(" Optimal bit timing: %u\n"), optimal_bit_timing); + MDFN_printf(_(" Compatible hardware: %s\n"), compat_hw_str.c_str()); + if(!req_ram) + MDFN_printf(_(" Required RAM: %s\n"), _("Unknown")); + else + MDFN_printf(_(" Required RAM: %u KiB\n"), req_ram); + } // required_chunks |= 1; } @@ -963,57 +1003,98 @@ if(sp->tell() != 256) throw MDFN_Error(0, _("Required chunk \"%s\" is at the wrong offset."), "TRKS"); - if(chunk_size != num_src_tracks * 6656) - throw MDFN_Error(0, _("Required chunk \"%s\" is of the wrong size."), "TRKS"); - // src_tracks.reset(new FloppyDisk::Track[num_src_tracks]); MDFN_printf(" TRKS:\n"); - for(unsigned i = 0; i < num_src_tracks; i++) + if(woz2) { - uint8 trk[6656]; - - sp->read(trk, 6656); - // - const uint16 bytes_used = MDFN_de16lsb(&trk[6646]); - const uint16 bit_count = MDFN_de16lsb(&trk[6648]); - const uint16 splice_point = MDFN_de16lsb(&trk[6650]); - const uint8 splice_nibble = trk[6652]; - const uint8 splice_bit_count = trk[6653]; - const uint16 reserved = MDFN_de16lsb(&trk[6654]); - - if(bytes_used > 6646) - throw MDFN_Error(0, _("Bytes used of TRKS chunk TRK entry %u is larger than 6646!"), i); + std::unique_ptr<uint8[]> index(new uint8[1280]); + std::unique_ptr<uint8[]> trk(new uint8[(max_bits_per_track + 7) >> 3]); - if(bit_count > bytes_used * 8) - throw MDFN_Error(0, _("Bit count of TRKS chunk TRK entry %u is larger than the number of bytes used * 8!"), i); + sp->read(index.get(), 1280); - // - // Sanity check, various assumptions to boost performance break down if the number of bits is too low or high. - // Maybe should check if the maximum absolute difference of one track's bit count compared to another track's bit count - // is too large too... - // - if(bit_count < min_bits_per_track || bit_count > max_bits_per_track) - throw MDFN_Error(0, _("Bit count(%u) of TRKS chunk TRK entry %u is out of the acceptable range of %u through %u!"), bit_count, i, min_bits_per_track, max_bits_per_track); + for(unsigned i = 0; i < num_src_tracks; i++) + { + const uint16 starting_block = MDFN_de16lsb(&index[i * 8 + 0]); + const uint16 block_count = MDFN_de16lsb(&index[i * 8 + 2]); + const uint32 bit_count = MDFN_de32lsb(&index[i * 8 + 4]); + + if(bit_count > (block_count * 8 * 512)) + throw MDFN_Error(0, _("Bit count of TRKS chunk TRK entry %u is larger than the block count * 512 * 8!"), i); + + if(bit_count < min_bits_per_track || bit_count > max_bits_per_track) + throw MDFN_Error(0, _("Bit count(%u) of TRKS chunk TRK entry %u is out of the acceptable range of %u through %u!"), bit_count, i, min_bits_per_track, max_bits_per_track); + // + // + // + sp->seek(starting_block * 512); + sp->read(trk.get(), (bit_count + 7) >> 3); + // + MDFN_printf(_(" Source track %u:\n"), i); + + MDFN_printf(_(" Starting block: %u\n"), starting_block); + MDFN_printf(_(" Block count: %u\n"), block_count); + MDFN_printf(_(" Bit count: %u\n"), bit_count); + // + apple2_track_encoder te(&src_tracks[i], bit_count); - MDFN_printf(" Source track %u:\n", i); + for(size_t bi = 0; bi < bit_count; bi++) + { + te.encode_bit((trk[bi >> 3] >> (0x7 - (bi & 0x7))) & 1); + } + te.finish(); + } + } + else + { + if(chunk_size != num_src_tracks * 6656) + throw MDFN_Error(0, _("Required chunk \"%s\" is of the wrong size."), "TRKS"); - MDFN_printf(_(" Bytes used: %u\n"), bytes_used); - MDFN_printf(_(" Bit count: %u\n"), bit_count); - MDFN_printf(_(" Splice point: %u\n"), splice_point); - MDFN_printf(_(" Splice nibble: 0x%02x\n"), splice_nibble); - MDFN_printf(_(" Splice bit count: %u\n"), splice_bit_count); - MDFN_printf(_(" Reserved: 0x%04x\n"), reserved); + for(unsigned i = 0; i < num_src_tracks; i++) + { + uint8 trk[6656]; - // - apple2_track_encoder te(&src_tracks[i], bit_count); + sp->read(trk, 6656); + // + const uint16 bytes_used = MDFN_de16lsb(&trk[6646]); + const uint16 bit_count = MDFN_de16lsb(&trk[6648]); + const uint16 splice_point = MDFN_de16lsb(&trk[6650]); + const uint8 splice_nibble = trk[6652]; + const uint8 splice_bit_count = trk[6653]; + const uint16 reserved = MDFN_de16lsb(&trk[6654]); + + if(bytes_used > 6646) + throw MDFN_Error(0, _("Bytes used of TRKS chunk TRK entry %u is larger than 6646!"), i); + + if(bit_count > bytes_used * 8) + throw MDFN_Error(0, _("Bit count of TRKS chunk TRK entry %u is larger than the number of bytes used * 8!"), i); + + // + // Sanity check, various assumptions to boost performance break down if the number of bits is too low or high. + // Maybe should check if the maximum absolute difference of one track's bit count compared to another track's bit count + // is too large too... + // + if(bit_count < min_bits_per_track || bit_count > max_bits_per_track) + throw MDFN_Error(0, _("Bit count(%u) of TRKS chunk TRK entry %u is out of the acceptable range of %u through %u!"), bit_count, i, min_bits_per_track, max_bits_per_track); + + MDFN_printf(_(" Source track %u:\n"), i); + + MDFN_printf(_(" Bytes used: %u\n"), bytes_used); + MDFN_printf(_(" Bit count: %u\n"), bit_count); + MDFN_printf(_(" Splice point: %u\n"), splice_point); + MDFN_printf(_(" Splice nibble: 0x%02x\n"), splice_nibble); + MDFN_printf(_(" Splice bit count: %u\n"), splice_bit_count); + MDFN_printf(_(" Reserved: 0x%04x\n"), reserved); + // + apple2_track_encoder te(&src_tracks[i], bit_count); - for(size_t bi = 0; bi < bit_count; bi++) - { - te.encode_bit((trk[bi >> 3] >> (0x7 - (bi & 0x7))) & 1); + for(size_t bi = 0; bi < bit_count; bi++) + { + te.encode_bit((trk[bi >> 3] >> (0x7 - (bi & 0x7))) & 1); + } + te.finish(); } - te.finish(); } for(unsigned i = 0; i < sizeof(tmap); i++) @@ -1406,7 +1487,7 @@ MDFN_printf("Warning: Detecting Apple II disk image format by contents and/or size(ext=%s).\n", ext.c_str()); - woz_header_detected = (sp->read(header, 12, false) == 12 && !memcmp(header, woz_header_magic, sizeof(woz_header_magic))); + woz_header_detected = (sp->read(header, 12, false) == 12 && (!memcmp(header, woz_header_magic, sizeof(woz_header_magic)) || !memcmp(header, woz2_header_magic, sizeof(woz2_header_magic)))); sp->rewind(); if(woz_header_detected) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mednafen/src/lynx/ram.h new/mednafen/src/lynx/ram.h --- old/mednafen/src/lynx/ram.h 2019-01-28 07:52:37.000000000 +0100 +++ new/mednafen/src/lynx/ram.h 2019-04-23 23:54:58.000000000 +0200 @@ -65,8 +65,8 @@ void Reset(void) MDFN_COLD; - void Poke(uint32 addr, uint8 data){ mRamData[addr]=data;}; - uint8 Peek(uint32 addr){ return(mRamData[addr]);}; + void Poke(uint32 addr, uint8 data){ mRamData[(uint16)addr]=data;}; + uint8 Peek(uint32 addr){ return(mRamData[(uint16)addr]);}; uint32 ReadCycle(void) {return 5;}; uint32 WriteCycle(void) {return 5;}; uint32 ObjectSize(void) {return RAM_SIZE;}; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mednafen/src/lynx/susie.cpp new/mednafen/src/lynx/susie.cpp --- old/mednafen/src/lynx/susie.cpp 2019-01-28 07:52:37.000000000 +0100 +++ new/mednafen/src/lynx/susie.cpp 2019-04-23 23:54:58.000000000 +0200 @@ -58,13 +58,9 @@ // wa can access this directly without the hassle of // going through the system object, much faster // -//#define RAM_PEEK(m) (mSystem.Peek_RAM((m))) -//#define RAM_POKE(m1,m2) (mSystem.Poke_RAM((m1),(m2))) -//#define RAM_PEEKW(m) (mSystem.PeekW_RAM((m))) - -#define RAM_PEEK(m) (mRamPointer[(m)]) -#define RAM_PEEKW(m) (mRamPointer[(m)]+(mRamPointer[(m)+1]<<8)) -#define RAM_POKE(m1,m2) {mRamPointer[(m1)]=(m2);} +#define RAM_PEEK(m) (mRamPointer[(uint16)(m)]) +#define RAM_PEEKW(m) (mRamPointer[(uint16)(m)]+(mRamPointer[(uint16)((m)+1)]<<8)) +#define RAM_POKE(m1,m2) {mRamPointer[(uint16)(m1)]=(m2);} uint32 cycles_used=0; @@ -838,7 +834,7 @@ INLINE void CSusie::WritePixel(uint32 hoff,uint32 pixel) { - uint32 scr_addr=mLineBaseAddress+(hoff/2); + const uint16 scr_addr=mLineBaseAddress+(hoff/2); uint8 dest=RAM_PEEK(scr_addr); if(!(hoff&0x01)) @@ -861,7 +857,7 @@ INLINE uint32 CSusie::ReadPixel(uint32 hoff) { - uint32 scr_addr=mLineBaseAddress+(hoff/2); + const uint16 scr_addr=mLineBaseAddress+(hoff/2); uint32 data=RAM_PEEK(scr_addr); if(!(hoff&0x01)) @@ -883,7 +879,7 @@ INLINE void CSusie::WriteCollision(uint32 hoff,uint32 pixel) { - uint32 col_addr=mLineCollisionAddress+(hoff/2); + const uint16 col_addr=mLineCollisionAddress+(hoff/2); uint8 dest=RAM_PEEK(col_addr); if(!(hoff&0x01)) @@ -906,7 +902,7 @@ INLINE uint32 CSusie::ReadCollision(uint32 hoff) { - uint32 col_addr=mLineCollisionAddress+(hoff/2); + const uint16 col_addr=mLineCollisionAddress+(hoff/2); uint32 data=RAM_PEEK(col_addr); if(!(hoff&0x01)) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mednafen/src/lynx/sysbase.h new/mednafen/src/lynx/sysbase.h --- old/mednafen/src/lynx/sysbase.h 2019-01-28 07:52:37.000000000 +0100 +++ new/mednafen/src/lynx/sysbase.h 2019-04-23 23:54:58.000000000 +0200 @@ -61,11 +61,6 @@ virtual void PokeW_CPU(uint32 addr,uint16 data)=0; virtual uint16 PeekW_CPU(uint32 addr)=0; - virtual void Poke_RAM(uint32 addr,uint8 data)=0; - virtual uint8 Peek_RAM(uint32 addr)=0; - virtual void PokeW_RAM(uint32 addr,uint16 data)=0; - virtual uint16 PeekW_RAM(uint32 addr)=0; - virtual uint8* GetRamPointer(void)=0; }; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mednafen/src/lynx/system.h new/mednafen/src/lynx/system.h --- old/mednafen/src/lynx/system.h 2019-01-28 07:52:37.000000000 +0100 +++ new/mednafen/src/lynx/system.h 2019-04-23 23:54:58.000000000 +0200 @@ -158,14 +158,6 @@ inline void PokeW_CPU(uint32 addr,uint16 data) { mMemoryHandlers[addr]->Poke(addr,data&0xff);addr++;mMemoryHandlers[addr]->Poke(addr,data>>8);}; inline uint16 PeekW_CPU(uint32 addr) {return ((mMemoryHandlers[addr]->Peek(addr))+(mMemoryHandlers[addr]->Peek(addr+1)<<8));}; - // - // RAM - // - inline void Poke_RAM(uint32 addr, uint8 data) { mRam->Poke(addr,data);}; - inline uint8 Peek_RAM(uint32 addr) { return mRam->Peek(addr);}; - inline void PokeW_RAM(uint32 addr,uint16 data) { mRam->Poke(addr,data&0xff);addr++;mRam->Poke(addr,data>>8);}; - inline uint16 PeekW_RAM(uint32 addr) {return ((mRam->Peek(addr))+(mRam->Peek(addr+1)<<8));}; - // High level cart access for debug etc inline void Poke_CART(uint32 addr, uint8 data) {mCart->Poke(addr,data);}; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mednafen/src/ngp/TLCS-900h/TLCS900h_interpret.cpp new/mednafen/src/ngp/TLCS-900h/TLCS900h_interpret.cpp --- old/mednafen/src/ngp/TLCS-900h/TLCS900h_interpret.cpp 2019-01-28 07:52:37.000000000 +0100 +++ new/mednafen/src/ngp/TLCS-900h/TLCS900h_interpret.cpp 2019-04-23 23:54:58.000000000 +0200 @@ -611,7 +611,9 @@ //Undocumented mode! if (data == 0x13) { - mem = pc + (int16)fetch16(); + const int16 disp = fetch16(); + + mem = pc + disp; cycles_extra = 8; //Unconfirmed... doesn't make much difference return; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mednafen/src/pce/huc6280_ops.inc new/mednafen/src/pce/huc6280_ops.inc --- old/mednafen/src/pce/huc6280_ops.inc 2019-01-28 07:52:37.000000000 +0100 +++ new/mednafen/src/pce/huc6280_ops.inc 2019-04-23 23:54:58.000000000 +0200 @@ -547,7 +547,7 @@ if(EmulateWAI) { if(next_event > 1) - ADDCYC(next_event - 1); + ADDCYC_MASTER(next_event - 1); LastCycle(); break; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mednafen/src/pce/pce.cpp new/mednafen/src/pce/pce.cpp --- old/mednafen/src/pce/pce.cpp 2019-01-28 07:52:37.000000000 +0100 +++ new/mednafen/src/pce/pce.cpp 2019-04-23 23:54:58.000000000 +0200 @@ -44,7 +44,7 @@ static const MDFNSetting_EnumList PSGRevisionList[] = { { "huc6280", PCE_PSG::REVISION_HUC6280, "HuC6280", gettext_noop("HuC6280 as found in the original PC Engine.") }, - { "huc6280a", PCE_PSG::REVISION_HUC6280A, "HuC6280A", gettext_noop("HuC6280A as found in the SuperGrafx and CoreGrafx I. Provides proper channel amplitude centering, but may cause clicking in a few games designed with the original HuC6280's sound characteristics in mind.") }, + { "huc6280a", PCE_PSG::REVISION_HUC6280A, "HuC6280A", gettext_noop("HuC6280A as found in the SuperGrafx and CoreGrafx I. Provides proper channel amplitude centering. Many games will have less clicking with the HuC6280A, but it may cause clicking in a few games designed with the original HuC6280's sound characteristics in mind.") }, { "match", PCE_PSG::_REVISION_COUNT, gettext_noop("Match emulation mode."), gettext_noop("Selects \"huc6280\" for non-SuperGrafx mode, and \"huc6280a\" for SuperGrafx(full) mode.") }, { NULL, 0 }, }; @@ -333,7 +333,8 @@ static void CDSettingChanged(const char *name) { - SetCDSettings(true); + if(PCE_IsCD) + SetCDSettings(true); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mednafen/src/psx/cdc.cpp new/mednafen/src/psx/cdc.cpp --- old/mednafen/src/psx/cdc.cpp 2019-01-28 07:52:37.000000000 +0100 +++ new/mednafen/src/psx/cdc.cpp 2019-04-23 23:54:58.000000000 +0200 @@ -1874,7 +1874,7 @@ if(CommandLoc_Dirty) SeekTarget = CommandLoc; - else + else if(DriveStatus != DS_PAUSED && DriveStatus != DS_STANDBY) SeekTarget = CurSector; PSRCounter = 33868800 / (75 * ((Mode & MODE_SPEED) ? 2 : 1)) + CalcSeekTime(CurSector, SeekTarget, DriveStatus != DS_STOPPED, DriveStatus == DS_PAUSED); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mednafen/src/quicklz/quicklz.c new/mednafen/src/quicklz/quicklz.c --- old/mednafen/src/quicklz/quicklz.c 2019-01-28 07:52:37.000000000 +0100 +++ new/mednafen/src/quicklz/quicklz.c 2019-04-23 23:54:58.000000000 +0200 @@ -39,12 +39,12 @@ return -1; } -__inline unsigned int hash_func(unsigned int i) +static inline unsigned int hash_func(unsigned int i) { return ((i >> 12) ^ i) & 0x0fff; } -__inline unsigned int fast_read(void const *src, unsigned int bytes) +static inline unsigned int fast_read(void const *src, unsigned int bytes) { #ifndef X86X64 unsigned char *p = (unsigned char*)src; @@ -68,7 +68,7 @@ #endif } -__inline void fast_write(unsigned int f, void *dst, unsigned int bytes) +static inline void fast_write(unsigned int f, void *dst, unsigned int bytes) { #ifndef X86X64 unsigned char *p = (unsigned char*)dst; @@ -118,7 +118,7 @@ #endif } -__inline void memcpy_up(unsigned char *dst, const unsigned char *src, unsigned int n) +static inline void memcpy_up(unsigned char *dst, const unsigned char *src, unsigned int n) { // cannot be replaced by overlap handling of memmove() due to LZSS algorithm #ifndef X86X64 @@ -151,7 +151,7 @@ #endif } -__inline unsigned int fast_read_safe(void const *src, unsigned int bytes, const unsigned char *invalid) +static inline unsigned int fast_read_safe(void const *src, unsigned int bytes, const unsigned char *invalid) { #ifdef memory_safe if ((const unsigned char *)src + 4 > (const unsigned char *)invalid) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mednafen/src/settings-driver.h new/mednafen/src/settings-driver.h --- old/mednafen/src/settings-driver.h 2019-01-28 07:52:37.000000000 +0100 +++ new/mednafen/src/settings-driver.h 2019-04-23 23:54:58.000000000 +0200 @@ -20,7 +20,7 @@ bool MDFNI_SetSettingUI(const char *name, uint64 value); static INLINE bool MDFNI_SetSettingUI(const std::string& name, uint64 value) { return MDFNI_SetSettingUI(name.c_str(), value); } -bool MDFNI_DumpSettingsDef(const char *path); +void MDFNI_DumpSettingsDef(const char *path) MDFN_COLD; const std::vector<MDFNCS>* MDFNI_GetSettings(void); std::string MDFNI_GetSettingDefault(const char* name); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mednafen/src/settings.cpp new/mednafen/src/settings.cpp --- old/mednafen/src/settings.cpp 2019-01-28 07:52:37.000000000 +0100 +++ new/mednafen/src/settings.cpp 2019-04-23 23:54:58.000000000 +0200 @@ -28,6 +28,7 @@ #include <locale.h> #include <map> #include "settings.h" +#include "settings-driver.h" #include "string/escape.h" #include <mednafen/string/string.h> #include "FileStream.h" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mednafen/src/ss/db.cpp new/mednafen/src/ss/db.cpp --- old/mednafen/src/ss/db.cpp 2019-01-28 07:52:37.000000000 +0100 +++ new/mednafen/src/ss/db.cpp 2019-04-23 23:54:58.000000000 +0200 @@ -161,6 +161,7 @@ { "T-1206G", CPUCACHE_EMUMODE_DATA_CB }, // Street Fighter Zero (Japan) { "T-1246G", CPUCACHE_EMUMODE_DATA_CB }, // Street Fighter Zero 3 (Japan) { "T-1215H", CPUCACHE_EMUMODE_DATA_CB }, // Super Puzzle Fighter II Turbo (USA) + { "T-5001H", CPUCACHE_EMUMODE_DATA_CB }, // Theme Park (Europe) { "GS-9113", CPUCACHE_EMUMODE_DATA_CB }, // Virtua Fighter Kids (Java Tea Original) { "T-15005G", CPUCACHE_EMUMODE_DATA_CB }, // Virtual Volleyball (Japan) { "T-18601H", CPUCACHE_EMUMODE_DATA_CB }, // WipEout (USA) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mednafen/src/types.h new/mednafen/src/types.h --- old/mednafen/src/types.h 2019-01-28 07:52:37.000000000 +0100 +++ new/mednafen/src/types.h 2019-04-23 23:54:58.000000000 +0200 @@ -17,21 +17,26 @@ // // // - -#ifdef __USING_SJLJ_EXCEPTIONS__ - #error "SJLJ-style exception handling will incur a significant performance penalty even when exceptions are not thrown, and thus an alternative(e.g. DWARF) should be used if at all possible." -#endif - -#if defined(__PIC__) || defined(__pic__) || defined(__PIE__) || defined(__pie__) - #if defined(__386__) || defined(__i386__) || defined(__i386) || defined(_M_IX86) || defined(_M_I386) //|| (SIZEOF_VOID_P <= 4) - #error "Compiling with position-independent code generation enabled is not recommended, for performance reasons." - #else +#ifndef MDFN_DISABLE_PICPIE_ERRWARN + #if defined(__PIC__) || defined(__pic__) || defined(__PIE__) || defined(__pie__) #warning "Compiling with position-independent code generation enabled is not recommended, for performance reasons." #endif #endif -#if defined(__x86_64__) && defined(__code_model_large__) - #error "Compiling with large memory model is not recommended, for performance reasons." +#ifndef MDFN_DISABLE_NO_OPT_ERRWARN + #if defined(__GNUC__) + #if !defined(__OPTIMIZE__) && !defined(__OPTIMIZE_SIZE__) + #warning "Compiling without optimizations." + #endif + + #if defined(__x86_64__) && defined(__code_model_large__) + #error "Compiling with large memory model is not recommended, for performance reasons." + #endif + #endif + + #ifdef __USING_SJLJ_EXCEPTIONS__ + #error "SJLJ-style exception handling will incur a significant performance penalty even when exceptions are not thrown, and thus an alternative(e.g. DWARF) should be used if at all possible." + #endif #endif // //