2018年2月28日 星期三
MAME 0.195
MAME 發布新版,更新如下 :
MAMETesters Bugs Fixed
- 03563: [Graphics] (namcos11.cpp) souledge: Li Long stage background problem (smf)
- 05764: [Graphics] (radio86.cpp) radio4k: Display is not stable and flickers (shattered)
- 06446: [Graphics] (shanghai.cpp) kothello: Display cut off at right (AJR)
- 06688: [Graphics] (sandscrp.cpp) sandscrp and clones: Graphic priority issue in title screen animation (cam900)
- 06866: [Interface] (midxunit.cpp) revx: No crosshairs (Osso)
- 06867: [Misc.] (namcos12.cpp) technodr: Game refuses to boot if printer is ON (Osso)
- 06870: [Sound] (mario.cpp) mario and clones: Missing music/sound effects (AJR)
- 06872: [Documentation] (vegas.cpp) sf2049se: Wrong Year Listed (And Publisher?) (sjy96525)
- 06884: [Crash/Freeze] (djmain.cpp) All sets in djmain.c: MAME exception (smf)
- 06885: [Crash/Freeze] (qdrmfgp.cpp) qdrmfgp2: Hang on boot (Osso)
- 06888: [Crash/Freeze] (segag80v.cpp) tacscan: Cannot play past second phase (AJR)
- 06889: [Graphics] (darkseal.cpp) darkseal: Background missing in the first boss area and third stage (cam900)
New working machines
- 89 in 1 Mini Game Console (060-92023011V1.0) [TeamEurope]
- 007: GoldenEye (Tiger handheld) [hap, Sean Riddle]
- 200 in 1 Retro TV Game [David Shah]
- Back to the Future (Tiger handheld) [hap, Sean Riddle]
- Coolboy RS-18 (280 in 1) [TeamEurope]
- Family Pocket 638 in 1 [David Shah]
- FC Pocket 600 in 1 [David Shah]
- Hammer Boy [alt/deepfb, Dan Dare, mad3001, Habi, Adonías, cpcmaniaco, Robcfg, Pablo Ruiz, Recreativas.org, The Dumping Union]
- Hook (Tiger handheld) [hap, Sean Riddle]
- Play TV Skateboarder (NTSC) [Sean Riddle, David Haywood]
- Player's Edge Plus (PS0280) 4th of July Slots [Brian Troha, Kevin Nagle]
- Robocop 3 (Tiger handheld) [hap, Sean Riddle]
- Sonic The Hedgehog 2 (Tiger handheld) [hap, Sean Riddle]
- Street Fighter 2010 - The Final Fight (Tiger handheld) [hap, Sean Riddle]
- Strider (Tiger handheld) [hap, Sean Riddle]
- SY-888B 288 in 1 Handheld [David Shah]
- ZDog (44 in 1) [unknown]
New working clones
- Ares no Tsubasa (Japan, rev. A) [Corrado Tomaselli, The Dumping Union]
- Coleco Head to Head: Electronic Hockey (TMS1000 version) [hap, Sean Riddle]
- Connectv Skateboarder (PAL) [Sean Riddle, David Haywood]
- Donkey Junior High Score Kit (hack,V1.2) [smf]
- Donkey Kong High Score Kit (hack,V1.0a) [smf]
- Donkey Kong High Score Kit (hack,V1.2) [smf]
- Donkey Kong/DK (Japan) (hack,V1.1 IKE) [smf, SpinDaddy]
- Gee Bee (UK) [Andrew Welburn, The Dumping Union]
- Gigas Mark II (MC-8123 317-5002) [frsj8112]
- Hard Yardage (v1.10) [Brian Troha, The Dumping Union]
- Ironman Ivan Stewart's Super Off-Road (rev 3) [unknown]
- Moon Shuttle (US, version A) [ShouTime, The Dumping Union]
- Pac-Land (Bally-Midway) [Andrea Palazzetti]
- Pac-Man (bootleg, Video Game SA) [Arcade Vintage, Recreativas.org, The Dumping Union]
- Quarterback (rev 1, cocktail) [Brian Troha, The Dumping Union]
- Rabbit (Japan, location test) [Hammy, Spinalfeyd, The Dumping Union]
- Street Fighter II: The World Warrior (bootleg, set 2) [f205v, Maru79]
- Street Fighter II: The World Warrior (bootleg with rules screen) [hammy, The Dumping Union]
- Street Fighter II': Champion Edition (Taiwan 920313) [sampson]
- Tapper (Budweiser, 12/9/83) [Marc Deslauriers]
- Target Ball '96 [Brian Troha, TeamEurope, The Dumping Union]
- Tecmo Bowl (World, set 2) [coolmod]
Machines promoted to working
- 100 in 1 Arcade Action II (AT-103) [David Shah]
- 888888 in 1 (Coolboy AEF-390) [David Shah]
- 999999 in 1 (PXP2 Slim Station) [David Shah]
- Altos Computer Systems ACS8600 [Carl]
- BittBoy Mini FC 300 in 1 [David Shah]
- dreamGEAR My Arcade Gamer V Portable Gaming System (DGUN-2573) [David Shah]
- PowerJoy Navigator 50 in 1 [David Shah]
- PowerJoy Supermax 30 in 1 [David Shah]
- PowerJoy Supermax 60 in 1 [David Shah]
- Samuri (60 in 1) [David Shah]
- Sports Game 69 in 1 [David Shah]
- Super Arcade 110 (set 1) [David Shah]
- SY-889 300 in 1 Handheld [David Shah]
Clones promoted to working
- 999999 in 1 (8 bit Slim Station, NEWPXP-DVT22-A PCB) [David Shah]
- Panasonic JB-3000 [Luke Sleeman, protosphere]
- Super Arcade 110 (set 2) [David Shah]
New machines marked as NOT_WORKING
- Blockout (TAX) [Peter Wilhelmsen, David Haywood]
- Casio SK-1 [Vas Crabb]
- CoolBoy RS-8 168 in 1 [TeamEurope]
- DVTech Nimbus 176 in 1 [CaH4e3]
- e-kara Starter [Sean Riddle, Peter Wilhelmsen]
- Handheld 210 in 1 [David Shah]
- Intelligence Advance E/R Lerncomputer [R. Belmont, Sean Riddle, TeamEurope, rfka01]
- MOGIS M320 246 in 1 Handheld [David Shah]
- Olympia BOSS D [friol, rfka01]
- Panafacom Duet-16 [rfka01, Carl]
- Pittanko Zaurus [R. Belmont, SpinalFeyd, TeamEurope, The Dumping Union]
- Play TV Baseball 2 [Sean Riddle, Peter Wilhelmsen]
- Play TV Bass Fishin' [Sean Riddle, Peter Wilhelmsen]
- Play TV Boxing (NTSC) [Sean Riddle, Peter Wilhelmsen]
- Play TV Card Night (NTSC) [Sean Riddle, Peter Wilhelmsen]
- Play TV Monster Truck (NTSC) [Sean Riddle, Peter Wilhelmsen]
- Play TV Ping Pong [Sean Riddle]
- Pocket Games 150 in 1 [David Shah]
- Sekai Kaseki Hakken (Japan, SKH1 Ver.A) [coolmod, The Dumping Union]
- Soreyuke Anpanman Crayon Kids (J 001026 V1.000) [ShouTime, Bill D, Surgeville, Sean Sutton, George Walsh, Evan Korzon, Dullaron, SpinalFeyd, Gyrovision, Bryce Van Horn, Paul Vining, Charles MacDonald, Smitdogg, The Dumping Union]
- Star Wars Saga Edition - Lightsaber Battle Game [Sean Riddle, Peter Wilhelmsen]
- Super Medal Fighters (Japan 970228) [ShouTime, Surgeville, Sean Sutton, George Walsh, Evan Korzon, Dullaron, SpinalFeyd, Gyrovision, Bryce Van Horn, Paul Vining, Charles MacDonald, Smitdogg, The Dumping Union]
- The Dealer (ACL) [Robbbert, Shamus McCrave, Guru]
- Triumph-Adler alphatronic P1 [rfka01]
- VJ Visual & Music Slap [Naibo]
- Wireless [BeckyRGB]
- Wireless Air 60 [BeckyRGB]
- XaviX Tennis (XaviXPORT) [Sean Riddle, Peter Wilhelmsen]
- Zhaoji Fengdou [Peter Wilhelmsen, The Dumping Union]
- Zone 40 [BeckyRGB]
New clones marked as NOT_WORKING
- Compaq Portable II [rfka01]
- ConnecTV Bass Fishin' [Sean Riddle, Peter Wilhelmsen]
- ConnecTV Boxing (PAL) [Sean Riddle, Peter Wilhelmsen]
- ConnecTV Card Night (PAL) [Sean Riddle, Peter Wilhelmsen]
- ConnecTV Monster Truck (PAL) [Sean Riddle, Peter Wilhelmsen]
- Donkey Kong/JR (combo) (hack,V1.2) [smf]
- Double Donkey Kong (hack,V1.2) [smf]
- Dam Dam Boy (on Tsukande Toru Chicchi PCB) [R. Belmont, SpinalFeyd, Klaus, The Dumping Union]
- Ericsson WS286 [Edström, Mattis Lind]
- Olympia BOSS A 8085 [rfka01]
- Olympia BOSS B [rfka01]
- Olympia BOSS B 8085 [Carl, rfka01]
- Olympia BOSS C [rfka01]
- Sangokushi II (bootleg) [Hammy, Spinalfeyd, The Dumping Union]
New working software list additions
- electron_cart: Solidisk EFS 2.1E, Stop Press 64 [Nigel Barnes]
- electron_flop: BBC Music Demo World [Nigel Barnes]
- fmtowns_cd:
- Battle Chess, Emit Vol. 1 - Toki no Maigo, Emit Vol. 2 - Inochigake no Tabi [redump.org, r09]
- Doda Mega-Mix!!!, Oshare Club, Rinkan Gakkou, Sakura no Mori [r09]
- Ku²++ [Tokugawa Corporate Forums, DamienD]
- fmtowns_flop: Cameltry, Dragon Slayer - The Legend of Heroes [r09]
- gamegear: David Robinson's Supreme Court (non-playable demo), David Robinson's Supreme Court (non-playable demo, hack), Off The Wall (prototype), Street Battle (US, SMS Mode, prototype), Super Off Road (prototype) [David Haywood]
- ibm5150:
- Blood Money, Indiana Jones and the Temple of Doom, The Norton AntiVirus 1.0, The Norton AntiVirus 2.0, Nova 9: The Return of Gir Draxon (version 1.0), Rambo III, Renegade [Arcade Shadow]
- Airborne Ranger, Alf - The First Adventure, ASP: A Statistical Package for Business, Economics, and the Social Sciences (Student Version), Lotus Amstel Beta Build 2 [Justin Kerk]
- ibm5170:
- Alien Breed, Alien Carnage, Batman Returns, Blake Stone: Planet Strike, Epic Pinball: Deep Sea, Fire and Ice [Arcade Shadow]
- The Adventures of Willy Beamish [Justin Kerk]
- mac_flop:
- Beyond Dark Castle, MacBTX 1&1, MacDraw 1.9.5 (German), Photoshop 2.5.1 Limited Edition (German) [darkstar]
- Airborne!, System Software 1.1, System Software 3.0 [Justin Kerk]
- pce: Off The Wall (prototype) [David Haywood]
- pico: Image Training for the Right Side of the Brain - The Arithmetic & ABC Fight vs Mojars (Best Selection, Jpn), Kanshuu Unou Image Training - Hiragana - Katakana (Best Selection, Jpn), Soreike! Anpanman no Minna de Kyousou Anpanman! (Jpn) [TeamEurope]
- sg1000: Shénqí huāyuán (Tw), Yǔzhòu zhànshì (Tw) [David Haywood]
Software list items promoted to working
- electron_cart: Advanced Plus 3, Advanced Plus 3/4, Advanced Quarter Meg RAM, Cumana Floppy Disc System v1.00, Cumana Floppy Disc System v1.01, Cumana Floppy Disc System v1.02, Slogger Electron Disk System v1.00, Slogger Electron Disk System v1.02, Slogger Electron Disk System v1.03, Sound Expansion v3 [Nigel Barnes]
- fmtowns_cd: Elfish, Elfish Lite, Hana no Kioku, Hoshi no Suna Monogatari 3, Kindan no Ketsuzoku, Koko wa Rakuensou, Koko wa Rakuensou 2, Oshare Cooking, Psychic Detective Series Vol. 3 - Aya, SimEarth, The 4th Unit 3 - Dual Targets, The 4th Unit 7 - Wyatt, Towns Hyakunin Isshu, Trigger, Ultima VI - The False Prophet [Carl, r09]
- fmtowns_flop:
- Columns [Carl]
- D.P.S SG - Dream Program System SG, D.P.S SG 2 - Dream Program System SG Set 2, D.P.S SG 3 - Dream Program System SG Set 3, Dinosaur, Dr. Stop!, Image, Irium, Premium 2, Rance 2 - Hangyaku no Shoujotachui, Toushin Toshi, Toushin Toshi (Alt Disk 2), VZ Editor 1.6 with ATOK 7 [Carl, r09]
- picno: Kiiroi Kyōryū-kun Parasa no Obake Taiji [SSJ, Dustin, TeamEurope]
New NOT_WORKING software list additions
- dc: 18 Wheeler - American Pro Trucker (Euro), 18 Wheeler: American Pro Trucker (Jpn), 18 Wheeler: American Pro Trucker (USA), 18 Wheeler: American Pro Trucker (USA, Prototype 20010202), 18 Wheeler: American Pro Trucker (USA, Prototype 20010202), 18 Wheeler: American Pro Trucker (USA, Prototype 20010405), 18 Wheeler: American Pro Trucker (USA, Prototype 20010405), 21: Two One (Jpn), 4 Wheel Thunder (Euro), 4 Wheel Thunder (USA), 4x4 Evo (USA), 90 Minutes: Sega Championship Football (Euro), Advanced Daisenryaku 2001 (Jpn), Advanced Daisenryaku: Sturm über Europa - Der Deutsche Blitzkrieg (Jpn), Aero Dancing featuring Blue Impulse (Jpn), Aero Dancing featuring Blue Impulse Tentou Taikenban (Jpn), Aero Dancing F (Jpn), Aero Dancing F (Jpn, Rev. 1), Aero Dancing F - Taikenban (Jpn), Aero Dancing F Taikenban (Jpn), Aero Dancing F: Todoroki Tsubasa no Hatsu Hikou (Jpn), Aero Dancing i: Jikai Saku Made Matemasen (Jpn), Aero Dancing i (Jpn), Aero Dancing: Todoroki Taichou no Himitsu Disc (Jpn), Aero to Jet de Dancing - Taikenban Disc (Jpn), AeroWings 2: Airstrike (Euro), AeroWings 2: Airstrike (USA), AeroWings (Euro), AeroWings (USA), After…: Wasureenu Kizuna - Shokai Genteiban (Jpn), Aikagi: Hidamari to Kanojo no Heyagi (Jpn), Air (Jpn), Akihabara Dennou-gumi Pata Pies! (Jpn), Airforce Delta (Jpn), Airforce Delta (USA), Airforce Delta (USA, Alt), Alice Dreams Tournament (Euro), Alice Dreams Tournament (Euro, Collector's Edition), Alice Dreams Tournament (Jpn), Alice Dreams Tournament (Jpn, Collector's Edition), Alice Dreams Tournament (USA), Alice Dreams Tournament (USA, Collector's Edition), Alien Front Online (USA), Alien Front Online (USA, Prototype 20010625), Alone in the Dark: The New Nightmare (Euro), Alone in the Dark: The New Nightmare (Fra), Alone in the Dark: The New Nightmare (Ger), Alone in the Dark: The New Nightmare (USA), Angel Present (Jpn), Angel Wish: Kimi no Egao ni Chu! (Jpn), Animastar (Jpn), Ao no 6-go Saigetsufutai Hito: Time and Tide (Jpn), Aqua GT (Euro), Armada (USA), Army Men: Sarge's Heroes (Euro), Army Men: Sarge's Heroes (USA), Atari Anniversary Edition (USA), Atsumare! Guru Guru Onsen BB (Jpn), Atsumare! Guru Guru Onsen (Jpn), Bakuretsu Muteki Bangaioh (Jpn), Baldr Force EXE (Jpn), Ball Breakers (USA, Prototype 20000924), Bangai-O (Euro), Bangai-O (USA), Bang! Gunship Elite (USA), Bass Rush Dream: EcoGear PowerWorm Championship (Jpn), Battle Beaster (Jpn), Bikkuriman 2000: Viva! Festiva! (Jpn), Biohazard: Code: Veronica - Kanzenban (Jpn), Biohazard: Code: Veronica - Shokai Genteiban (Jpn), Biohazard: Code: Veronica - Shokai Genteiban (Jpn, Alt), Biohazard: Code: Veronica - Trial Edition (Jpn), Black Matrix A/D (Jpn), Blue-Sky-Blue: Sora o Mau Tsubasa - Shokai Genteiban (Jpn), Blue Stinger (Euro), Blue Stinger (Fra), Blue Stinger (Fra, Prototype 19990824), Blue Stinger (Ger), Blue Stinger (Jpn), Blue Stinger (USA), Boku Doraemon (Jpn), Boku no Tennis Jinsei (Jpn), Boku to, Bokura no Natsu (Jpn), Bomber Hehhe! (Jpn), Bomberman Online (USA), Bomberman Online (USA, Prototype 20010908), Border Down (Jpn), Bounty Hunter Sara: Holy Mountain no Teiou (Jpn), Broadband Passport (Jpn), Broadband Passport (Jpn, Alt), Buggy Heat (Euro), Buggy Heat (Jpn), Bust-A-Move 4 (Euro), Bust-A-Move 4 (USA), Caesars Palace 2000: Millennium Gold Edition (Euro), Caesars Palace 2000: Millennium Gold Edition (USA), Cafe Little Wish (Jpn), Canary: Kono Omoi wo Uta ni Nosete (Jpn), Candy Stripe: Minarai Tenshi (Jpn), Cannon Spike (Euro), Cannon Spike (USA), Canvas: Sepia-iro no Motif (Jpn), Capcom Taisen Fan Disc (Jpn), Capcom vs. SNK 2: Millionaire Fighting 2001 (Jpn), Capcom vs. SNK (Euro), Capcom vs. SNK: Millennium Fight 2000 (Jpn), Capcom vs. SNK: Millennium Fight 2000 (Jpn, Rev. 1), Capcom vs. SNK: Millennium Fight 2000 Pro (Jpn), Capcom vs. SNK (USA), Cardcaptor Sakura: Tomoyo no Video Daisakusen (Jpn), Carrier (Euro), Carrier (Jpn), Carrier (USA), Centipede (USA), Championship Surfer (Euro), Championship Surfer (USA), Chaos Field (Jpn), Charge 'n Blast (Euro), Charge 'n Blast (Jpn), Charge 'n Blast (USA), Cherry Blossom (Jpn), Chicken Run (Euro, English), Chicken Run (Euro, French / Italian / Spanish / German), Chicken Run (USA), Chocolat: Maid Cafe "Curio" (Jpn), Chocolat: Maid Cafe "Curio" - Taikenban (Jpn), Chou Hatsumei Boy Kanipan: Bousou Robot no Nazo!? (Jpn), ChuChu Rocket! including Dreamkey 1.5 (Euro), ChuChu Rocket! inclus Dreamkey 1.5 (Fra), Chu-Chu Rocket! (Jpn), ChuChu Rocket! (USA), Close To: Inori no Oka (Jpn), Coaster Works (Euro), Coaster Works (USA), Confidential Mission (Euro), Confidential Mission (Euro, Prototype 20010409), Confidential Mission (USA), Conflict Zone (Euro), Conflict Zone (USA), Cosmic Smash (Jpn), Crazy Taxi 2 (Euro), Crazy Taxi 2 (Jpn), Crazy Taxi 2 (USA), Crazy Taxi (Euro), Crazy Taxi (Jpn), Crazy Taxi (USA), Crazy Taxi (USA, Sega All Stars), Culdcept II (Jpn), Cyber Troopers Virtual-On: Oratorio Tangram (Jpn), Cyber Troopers Virtual-On: Oratorio Tangram (USA), D2 Shock (Jpn), D-2 (USA), Dance Dance Revolution 2nd Mix - Dreamcast Edition (Jpn), Dance Dance Revolution Club Version - Dreamcast Edition (Jpn), Dancing Blade: Katte ni Momotenshi II - Tears of Eden - Kanzenban (Jpn), Dancing Blade: Katte ni Momotenshi! - Kanzenban (Jpn), Dave Mirra Freestyle BMX (Euro), Dave Mirra Freestyle BMX (USA), Daytona USA 2001 (Euro), Daytona USA 2001 (Jpn), Daytona USA (USA), Daytona USA (USA, Prototype), Deadly Skies (Euro), D no Shokutaku 2 (Jpn), D no Shokutaku 2 (Jpn, Alt), GameShark Lite (USA), Jet Coaster Dream (Jpn), J.League Spectacle Soccer (Jpn), Puzzle Bobble 4 (Jpn), Resident Evil: Code: Veronica (Euro), Resident Evil: Code: Veronica (Euro, Prototype), Resident Evil: Code: Veronica (Fra), Resident Evil: Code: Veronica (Ger), Resident Evil: Code: Veronica (USA), Seaman: Kindan no Pet (Jpn), Seaman (USA), TNN Motorsports Hardcore Heat (USA) [FakeShemp]
- ews286_flop: DOS v3.10C, DOS Supplemental Programs v3.10C, Ericsson Maintenance Program v4.10 [Edström]
- hyperscan: Ben 10 (USE1), Ben 10 (USE2), IWL - Interstellar Wrestling League (USE1), IWL - Interstellar Wrestling League (USE2), Marvel Heroes (USE2), Spider-Man (USE1), X-Men (USE) [incog]
- leapster: Animal Genius (US), Cars 2 (US), Creature Create (US), Kindergarten (US), Learning with Leap (US), Letterpillar (US), Number Raiders (US), Ratatouille (US), Scholastic I Spy - Challenger (US), Scooby Doo! - Spooky Snacks! (US), Scooby Doo! (US), Star Wars - Jedi Reading (US), Thomas and Friends - Calling all Engines! (US), Up (US), Wall-E (US) [TeamEurope]
- mac_flop: RadiusWare [darkstar]
Translations added or modified
- Portuguese (Brazil) [Wellington Uemura]
- Turkish [Kadir Ekşi]
Source Changes
- tms9927: Fixed excessive sync width after recomputing parameters during sync. [AJR]
- ponpoko, hcastle, sonson: Changed to 4-way joysticks. [AJR]
- Fixed flip screen rendering of DECO MXC06 sprites. [AJR]
- Added some internal peripheral block registers to 80186 debug state. [AJR]
- Fixed ASCII dump output for big-endian spaces. [AJR]
- i960: Fixed disassembly of REG instructions. [AJR]
- deco146/deco104: Synchronize soundlatch writes – fixes dropouts in dblewing. [AJR]
- decocass.cpp: Inverted sprite/sprite priority – seems to help coozumou. [AJR]
- com8116: Added several clock rate/divider table variant types. [AJR]
- saturn, sfish2: Encapsulated existing CD-ROM emulation as device. [AJR]
- Set up heavily mirrored memory ranges with subunit masks (e.g. orunners) much more efficiently. [AJR]
- Created RST interrupt buffer device. [AJR]
- ym2203: Made interrupt output use an instant timer, preventing synchronization glitches. [AJR]
- msm6242: De-assert interrupt output when the IRQ flag is cleared. [AJR]
- 6840ptm: Stop defaulting external clocks to 1 Hz. [AJR]
- Register device callbacks and add some basic validation for them. [AJR]
- unidasm: Corrected endianness of m6800, m6805 and other Motorola-type CPUs. [AJR]
- cdicdic: Made DMA handling safer. [AJR]
- z8: Made address spaces big-endian. [AJR]
- hd63484: Added external skew kludge to prevent display cutoff in kothello. [AJR]
- photoply.cpp: Added Cirrus Logic GD5446 VGA PCI device – now shows legacy BIOS error. [Angelo Salese]
- namcona1.cpp updates: [Angelo Salese]
- Fixed soft reset hangs.
- Improved encapsulation.
- Fixed status bar colors for VS Express event in Numan Athletics.
- Fixed video disable graphic transitions.
- Added dynamic screen visible area change effect (used mostly by Numan Athletics on transitions).
- Fixed bogus palette transfers for xday2.
- Fixed horizontal scroll adjust and background color pen (improves X-Day 2 video).
- Added MSM6242 RTC and fixed EEPROM type for X-Day 2.
- pc6001.cpp: Major encapsulation clean-ups. [Angelo Salese]
- gkigt.cpp: Made some improvements to make most games to boot up to display CMOS error. [Angelo Salese]
- i960.cpp: Added support for burst mode stalling save and restore. [Angelo Salese]
- Fixes stalls in several Sega Model 2 games.
- badlandsbl.cpp: Added preliminary sprite drawing. [Angelo Salese]
- buster.cpp: Preliminary work to make it actually show something. [Angelo Salese]
- model2.cpp: Added 30 Hz renderer mode – fixes Virtua Striker timings. [Angelo Salese]
- taito_en: Hooked up ES5510 effects DSP. [cam900, R. Belmont]
- vamphalf.cpp: Converted OKI map to configured banking and implemented OKI bank switching for Diet Family. [cam900]
- vgmplay: Added K051649 support, and added clock change support to K051649. [cam900]
- darkseal.cpp: Corrected PF1 size to 64×64 and removed audio CPU interrupt hold line hack. [cam900]
- dec8.cpp: Corrected CPU types, eliminated many runtime tagmap lookups, and reduced code duplication. [cam900]
- deco32.cpp: Templated handlers to reduce duplication, improved naming, and eliminated unnecessary shares. [cam900]
- rohga.cpp: Cleaned up I/O and protection handling, reduced code duplication, and updated comments. [cam900]
- itech32.cpp: Hooked up stereo audio output for Time Killers and Driver’s Edge. [cam900]
- st0016: Made ROM region tag configurable, and improved CPU tags in jclub2.cpp and srmp5.cpp. [cam900]
- macs.cpp: Converted to configured banking. [cam900]
- simple_st0016.cpp, speglsht.cpp, srmp5.cpp: Cleaned up banking code and reduced runtime tagmap lookups. [cam900]
- x1_010: Improved naming of member variables/functions. [cam900]
- seta.cpp: Converted expanded 6502 ROM to configured banking. [cam900]
- cbuster.cpp: Cleaned up and converted to buffered sprite RAM device. [cam900]
- gaiden.cpp: Cleanup and fixes: [cam900]
- Reduced code duplication using templates and object finder arrays.
- Split wildfang and raiga machine configuration/address map.
- Fixed raiga hang on soft reset.
- nmk16.cpp: Reduced code duplication, converted to configured banking, and updated notes. [cam900]
- Also verified OKI bank switching for vandykeb and atombjt, and corrected OKI clock for vandykeb.
- taito_f2.cpp: Fixed palette format for games using 15-bit colour. [cam900]
- okim9810: Corrected sample rate divider table, added support for clock changes, and implemented DADR and serial interface. [cam900]
- ninjaw.cpp, warriorb.cpp: Reduced code duplication using templates and object array finders, and reduced tagmap lookups. [cam900]
- Also identified warriorb sound chip as YM2610B, and demoted sagaia and darius2d to imperfect sound due to SSG issues.
- ymz280b: Converted memory access to device_rom_interface. [cam900]
- firebeat.cpp: Reduced code duplication and split memory maps according to the number of GCU chips on PCB. [cam900]
- ymf271: Implemented four-channel output and converted memory access to device_rom_interface. [cam900]
- bnstars.cpp: Cleaned up bank switching.
- ms32.cpp: Cleaned up bank switching and enabled stereo output.
- seibuspi.cpp: Cleaned up bank switching and changed single-board systems to mono output.
- taito_l.cpp: Converted VRAM banks to address_map_bank_device and reduced code duplication. [cam900]
- deco_mlc.cpp updates and improvements: [cam900]
- Cleaned up duplicated and unused code, improved interrupt hookup, updated notes, and corrected regions and versions.
- Implemented 8bpp+alpha sprite drawing mode, and implemented alpha/shadow select bits.
- zn.cpp: Cleaned up duplicated and unused code, converted nbajamex banking to address_map_bank_device, moved bank configuration from reset to start time, and identified beastrzrb CPU type and sound chip. [cam900]
- cave.cpp: Reduced code duplication with templates and object array finders. [cam900]
- seta.cpp: Reduced code duplication, and made data arrays dynamically allocated at start time. [cam900]
- sandscrp.cpp: Improved sprite-tile priority, and cleaned up duplicated code. [cam900]
- jchan.cpp: Improved sprite-tile priority, verified background pen, and cleaned up duplicated code. [cam900]
- am9519: Added AM9519 UIC device. [Carl]
- vii.cpp: Added I/O for skateboarder, and promoted to working with bad graphics/no sound; also modernised the code a bit. [David Haywood]
- Added preliminary XaviX driver: [David Haywood]
- Created derived 6502 type with far call/return instructions and banked data memory.
- Implemented graphics, including sprites, and packed 7bpp tiles – Monster Truck track outline and test mode work.
- Implemented multiplier chip.
- nes_vt.cpp: Fixes and improvements: [David Shah]
- Added support for VTxx systems with scrambled instructions (FC Pocket, DGUN2573).
- Added support for Family Pocket, and more FC Pocket games.
- Added support for VTxx scrambled banking (thanks NewRisingSun for help).
- Improved PPU colour palette using reference code from NewRisingSun.
- Fixed scanline interrupts and PPU data reads.
- asteroid.cpp, namcos1.cpp: Use LS153 device for DIP switches. [Dirk Best]
- amiga.cpp, cubo.cpp, ssv.cpp, unixpc.cpp: Fixed address map order after semantic change. [Dirk Best]
- gkigt.cpp: Added QUARTs and serial ports to machine configuration, but commented out handlers in memory maps. [Dirk Best]
- hamboy: Patched PIC ROM to reduce timer delay, and stared fixing DIP switches. [Dirk Best]
- Added vertical blanking input to ampoker2. [El Chango v4]
- alphatpx.cpp: Fixed P2 drive ready and added missing <> key. [helwie44]
- Converted many configuration helpers to non-static member functions. [Judge]
- Allow building with system-wide utf8proc, PortAudio, ASIO, GLM and RapidJSON. [Julian Sikorski]
- Fixed issue linking Emscripten build with certain single-driver configurations (e.g. spectrum.cpp). [Justin Kerk]
- exterm.cpp, raiden2.cpp: Updated memory map order for new semantics. [MASH]
- v9938: Improved logging options with logmacro. [Michael Zapf]
- Improved Stepping Stage driver and added support for recently-dumped VJDash set: [Naibo]
- Added fundamental communication between main 68000 and (undumped) Windows PC.
- Figured out logic for how CPU uploads data to unknown device (possibly FPGA on unknown board).
- Discovered vertical blank frequency of four logical screens – affects communication/synchronization of 68k CPUs.
- Added proper foreground layer handling (stepstag borrows foreground graphics from vjdash for now).
- Separated palette and graphics decoding for three screens, and added independent decoding/drawing routine for third screen.
- Corrected sprite ROM loading for step3.
- Mapped dancing floor, spot, neon, and key lamp/LED outputs based on footage of real machine.
- Corrected NVRAM handling.
- Adjusted default input mapping to avoid key conflicts.
- Identified graphics ROMs for vjdash foreground/background/ROZ layers.
- electron: Added a number of cartridge devices. [Nigel Barnes]
- P.R.E.S. Advanced Plus 3/4, Advanced Quarter Meg Ram, Cumana Floppy Disk System, Sound Expansion, Sound Expansion v3, Stop Press 64, Solidisk EFS.
- Changed memory map behaviour to “last entry wins”. [O. Galibert]
- Allows more natural “import and patch” and “cover a region then punch holes” structures.
- m6502: Fixed tracing and breakpoints for paged variants. [O. Galibert]
- Made memory maps member functions of owner class. [O. Galibert]
- Added disassembler for VM Labs Aries VLIW processor (used in NUON DVD players). [O. Galibert]
- interpro: Improved graphics emulation – basic bit blit and line drawing work well enough for now. [Patrick Mackinlay]
- Added preliminary ABC CAD pointing device/high-resolution graphics add-on device for Luxor ABC 80. [Peter Bortas, Edström]
- Added kzaurus driver: [R.Belmont]
- Implemented interrupts, inputs and sound - passes POST.
- Fixed layer priority and added 55555 gradient background.
- Improved visible area and layer alignment, and hooked up scroll register readback.
- kingpin.cpp: Added memory map for dealracl. [Robbbert]
- i8275 improvements and fixes: [shattered]
- Handle invisible field attributes and “end of row – stop DMA” special code better.
- Honor Video Enable bit.
- Made Preset Counters command useful.
- agat7: Added serial/parallel interface card, hard-coded to Agat-Author configuration for now. [shattered]
- Popeye/Sky Skipper improvements: [smf]
- Reverted “Popeye (bootleg set 1)” to 0.33b6 names and contents.
- Popeye: Moved Copyright from DIP switches to machine configuration – schematics show they are resistors.
- Sky Skipper: Added difficulty DIP switches.
- Popeye: Fixed background alignment and test mode background in TPP2 sets.
- Converted configuration/handlers to virtual methods.
- Removed protection device from systems that lack it.
- Popeye: Added sprite RAM, background scroll and palette buffering.
- Popeye: Unmapped $8000 to $87ff for TPP2 as 7f is not populated.
- Popeye: Latch NMI disable from A9 on falling edge of RFSH.
- Donkey Kong/Donkey Kong Jr: Hooked up undocumented service switch and undumped diagnostic ROM. [smf]
- Debugger: Fixed F10 step over for instructions with a branch delay slot. [smf]
- ti85.cpp: Re-implemented IPL disable for Flash-based models. [smf]
- z80: Changed refresh callback to write8. [smf]
- CoCo cartridge improvements: [Tim Lindner]
- Added support for the Color Computer MultiPak slot switch.
- Fleshed out serial expansion cards to support actual input and output.
- Added some compatible CoCo cartridges to the Dragon driver.
- x1: Converted I/O to memory maps and address map bank devices. [Vas Crabb]
- Improved encapsulation of a number of drivers. [Vas Crabb]
- cyberbal.cpp: Untangled the dual-screen and single-screen versions – there are substantial hardware differences.
- tvboy.cpp: Untangled from a2600 cartridge slot, replaced unnecessary bankdev with ROM bank, and fixed save states.
- vectrex.cpp: Partially untangled console and arcade variants from each other.
- Untangled ladybug and redclash from each other, and converted common video arrangements to devices.
- Added support for multiple patterns and devices to -listfull verb. [Vas Crabb]
- vt100ac: Redumped bad ROM. [Al Kossow]
- toratora.cpp: Fixed DIP switch descriptions and locations according to manual. [Bad A. Billy]
- ms32.cpp: Corrected many ROM names. [Brian Troha, Smitdogg, The Dumping Union]
- leland.cpp: Corrected many ROM names. [Brian Troha]
- littlerb.cpp: Added PCB layout for Little Robin. [Brian Troha]
- midvunit.cpp: Confirmed Cruis’n USA PAL dumps are bad. [caius]
- Decapped and dumped PIC16F84 for Shizhan Ding Huang Maque (Version 4.1). [Caps0ff, EdHunter]
- raiden.cpp: Corrected crystal and clocks for raidenkb set. [Corrado Tomaselli, The Dumping Union]
- galaxold.cpp: Verified PROMs for drivfrcsg. [Ed Cross]
- wallc.cpp: Updated wallca crystal frequency according to PCB picture. [f205v]
- midvunit.cpp: Noted labels for Cruis’n USA PAL2. [Guru]
- namcos23.cpp: Redumped timecrs2v2b main CPU program ROMs. [Guru]
- plus4.cpp: Corrected kernal location for plus4p set. [Guru]
- wireless: Fixed Flash size. [incog]
- ti85.cpp: Improved naming of Flash-based calculators based on boot codes. [Julian Lachniet]
- mcr.cpp: Corrected several ROM names for the Tapper sets. [Marc Deslauriers, Brian Troha]
- Corrected year for Piccolo Poker 100. [Roberto Fresca]
- Magic Card II: Documented the modified Mexican Rockwell R65C02 CPU. [Roberto Fresca]
- Added additional Leapster BIOS sets. [Sean Riddle]
- rabbit.cpp: Corrected ROM labels for the recently added rabbitjt set. [ShouTime, The Dumping Union]
- Corrected years for Cyber Troopers Virtual-On, Racing Jam Chapter 2, Rail Chase 2 and San Francisco Rush 2049: Tournament Edition. [sjy96525]
- taito_f3.cpp: Added PAL dump to kirameki. [undamned]
2018年2月27日 星期二
Visualboyadvance-m Development Test c7c6ad6
GBA/GB (C) 模擬器 Visualboyadvance-m 發布新版,更新如下:
1. 67c6ad6 - ZachBacon - implemented the fix from nhdailey, should
resolve #153. Will put up a test build soon - 02/25/2018
2. 669893 - rkitover - add multi-platform build system - 02/24/2018
3. 3e052c9 - obea and rkitover - cmake: Fix -DENABLE_FFMPEG=OFF -
01/18/2018
4. df0bd43 - rkitover - fix deps submodule init on windows - 10/25/2017
5. 7dca069 - ZachBacon - Added some windows specific stuff to builder
10/22/2017
..+ f527d0a - ZachBacon - The not so finished builder script for
windows
..+ 4204502 - rkitover - mac build/builder improvements
6. c3fc4e7 - ZachBacon - Added basic windows script. 10/21/2017
7. 21926d6 - rkitover - add -mfpmath=sse -msse2 compiler flags:
x86/amd64 10/17/2017
8. d7ff2af - rkitover - add mac release builder script 10/12/2017
..+ 5e63398 - rkitover - mac builder refactor/improvements
..+ afb1cd3 - automate codesign/zip for mac build, add xz dep
9. 30b6ecf - ZachBacon - add a changelog 10/11/2017
..+ 4648638 - rkitover - read version from CHANGELOG.md if no git
https://github.com/visualboyadvance-m/visualboyadvance-m/releases
1. 67c6ad6 - ZachBacon - implemented the fix from nhdailey, should
resolve #153. Will put up a test build soon - 02/25/2018
2. 669893 - rkitover - add multi-platform build system - 02/24/2018
3. 3e052c9 - obea and rkitover - cmake: Fix -DENABLE_FFMPEG=OFF -
01/18/2018
4. df0bd43 - rkitover - fix deps submodule init on windows - 10/25/2017
5. 7dca069 - ZachBacon - Added some windows specific stuff to builder
10/22/2017
..+ f527d0a - ZachBacon - The not so finished builder script for
windows
..+ 4204502 - rkitover - mac build/builder improvements
6. c3fc4e7 - ZachBacon - Added basic windows script. 10/21/2017
7. 21926d6 - rkitover - add -mfpmath=sse -msse2 compiler flags:
x86/amd64 10/17/2017
8. d7ff2af - rkitover - add mac release builder script 10/12/2017
..+ 5e63398 - rkitover - mac builder refactor/improvements
..+ afb1cd3 - automate codesign/zip for mac build, add xz dep
9. 30b6ecf - ZachBacon - add a changelog 10/11/2017
..+ 4648638 - rkitover - read version from CHANGELOG.md if no git
RPCS3 v0.0.5 Alpha
PS3模擬器 RPCS3 發布新版,更新如下 :
Core
– Optimized CPUID checks;
– Fixed fs::dir with constant begin/end;
– Fixed cond_variable timeout;
– Fixed "Exit RPCS3 when process finishes" command line crash;
– Improved Restart function – should now work correctly with game launchers;
– Added warning when corrupted PARAM.SFO is detected;
– Added installation for additional packages on game boot (INSDIR, PKGDIR, PS3_EXTRA);
– Removed /app_home/ dependency;
– Improved logging messages for multiple RPCS3 instances;
– Refactored logging mechanisms;
– Restored log compression;
– PKG installer update for DLC: Don't ask for overwriting, Limit cancellation capabilities;
– Improved check for cellSurmixer event queue (some games do not set event queue name, though key seems constant for them);
– Implemented setting for maximum threads to be used on LLVM compilation (default: All);
– CPUTranslator: Added bitcast, trunc, zext, sext;
– Added option to manage thread placement. Makes an impact on windows when using Ryzen processors, most other CPUs should be unaffected. Linux does a better job on its own so the option is not recommended on Linux;
– Handles exceptions at game list update, fixed RPCS3 not starting when corrupted PARAM.SFO is present;
– Handles exceptions at loading patch.yml file, fixed RPCS3 not starting when bad patch.yml file is present;
– Initial cpu_translator implementation;
– Returns CELL_ENOSYS on unpresented syscalls;
– Removed PSP2 (PS Vita) code;
PPU
– Use shared jit_compiler instance – fixes deregisterEHFrames error message on Linux;
– Disassembler: Added db8cyc, db10cyc, db12cyc, db16cyc opcodes;
– Remove SSSE3 dependency;
– Fixed primary stack size;
– PPU LLVM: rewrote add/sub instructions: Uses new patterns for saturation instructions, Avoids ZExt/SExt completely;
– PPU LLVM: rewrote AVG instructions;
SPU
– sys_spu_thread_group_create: If priority is between 16 and 255, make sure type is not SYS_SPU_THREAD_GROUP_TYPE_EXCLUSIVE_NON_CONTEXT;
– SPU ASMJIT: Interrupt optimizations - Pigeonhole optimize for branching pattern that is used to enable and disable interrupts used in code, this should lower amount of blocks that are compiled and avoid falling out of a block. Recompiled interrupt check in some cases to stay in block instead of falling out to dispatcher;
– MFC: Fixed support for list transfer stall bit with partial support for out of order execution - also give Sync commands a size so they are properly detected by queue checks;
– Fixed interrupt jump check, also change interrupt variable to atomic bool for ease of setting/checking;
– Interpreter/Recompiler: Implemented DFCMGT;
– SPU ASMJIT: Rewritten ROTH AVX-512 implementation;
– Fixed Size and Tag clamping;
– Allow reading of the RdSRR0 channel;
– Allow writing to the WrSSR0 channel;
– Remove SSSE3 dependency;
– SPU ASMJIT: Added AVX-512 support to ROT, ROTM, ROTMA, SHL, ROTH, ROTHM, ROTMAH, SHLH, CLZ, SHUFB, CFLTU, CUFLT, BG, NOR, ROTI, CG, NAND, CGTH, CLGTH instructions;
– SPU ASMJIT: Reordered some instructions for better throughput;
– Redesigned LVSL and LVSR instructions;
– Interpreter/Recompiler: Fixes for ROTM, ROTMA, SHL, ROTH, ROTHM, ROTMAH, SHLH, ROTQMBYBI, ROTQMBY instructions;
– SPU/MFC: Checks for sync command before doing a list transfer;
– SPU ASMJIT: Added AVX2 support to ROT, ROTM, ROTMA, SHL instructions;
– SPU ASMJIT: Added support for 16-bit shifts using AVX2 (ROTHM, ROTMAH, SHLH);
– SPU ASMJIT: Added support for XOP instruction set on ROT, ROTM, ROTMA, SHL, ROTH, ROTHM, ROTMAH, SHLH, ROTI, SELB, SHUFB instructions;
– Emit VZEROUPPER: Workaround dirty AVX high state;
– SPU ASMJIT: Rewrote ORX instruction;
– SPU ASMJIT: Minor change to ROTH instruction: Only AVX-512 path is changed (third version). This instruction is extremely rare;
– SPU ASMJIT: rewrote 128-bit shifts by bit: Six instructions changed to use xmm registers instead of gpr. ROTQBII, ROTQMBII, SHLQBII look better (shifts by imm). ROTQBI, ROTQMBI, SHLQBI changed for consistency (shifts by variable);
– Removed redundant and harming check from tag update completion type 2 condition;
– Implemented Stop Code 0x100;
– sys_spu_thread_get_exit_status: Implemented missing check, now checks CELL_ESTAT condition as well;
– Disassembler: Clamps SPU address - allows the SPU disassembler to nicely wrap around addresses instead of reporting "illegal address" on addresses outside of LS and resolves potential memory conflicts with main storage memory in the debugger;
RSX
– Optimized frame limiter;
– Improved nv406e::semaphore_release;
– Added WIP research into getting WCB (Write Color Buffers) working correctly. Should now mostly work correctly on OpenGL and correctly on Vulkan where on swizzle contexts are involved;
– Enables blitting from main memory to local (RSX) memory using hardware acceleration. A few more titles no longer need the slow WCB path for this;
– Fixed a bug where NVIDIA drivers would leak memory leak when window was minimized;
– Fixed FP (Fragment Program) to take into account data range modifiers in SRC1. Fixes negative color values getting to the tone-mapping passes in some games (e.g. Dark Souls 2);
– Do not discard depth buffer is stencil test is enabled (e.g. Vesperia);
– Enabled ZCull conditional render on Vulkan;
– Fixed D3D12 compiler crashes introduced by previous changes;
– Fixed shader cache constantly compiling new shaders in some games;
– Fixed default vertex attributes for undefined reads (e.g. Eternal Sonata, Ni no Kuni);
– Fixed OpenGL texture flickering due to broken optimization path when WCB was enabled;
– Synchronizes access to the present/graphics queue during submit. It's simpler to just use a global lock in this case since at the moment we only use one queue and contention only happens during submit. Should fix some cases of device_lost when running NVIDIA + WCB;
– Implemented depth clamp;
– Fixes for stencil surface configuration when address is contested;
– Work on depth/color address resolve when address contention happens;
– Implemented ZCull on the Vulkan render;
– Shader overlay implementation allowing all kinds of transforms and passes;
– Implemented binding color data for depth access for example using a RGBA->depth casting pass;
– Fixed face winding on OpenGL;
– Fragment program decompiler fixes for pack/unpack with optional register gathering implemented;
– Fixed potential crash in image_in when using CPU blit, or when unable to GPU scale the texture;
– Avoids unprotecting memory unless writing is almost guaranteed to be near immediate. Should lower chances of race conditions on sections leading to corruption, but this is not a final fix. Should greatly reduce chances of encountering;
– Fix for framebuffer setup: Ignore stencil flag if current depth format does not support stencil operation;
– Fixed depth clipping: Should now correctly scale/offset z for viewport, which may help in random clipping issues. tested game doesn't work on master without hacks (e.g. Vancouver 2010) but this fixes graphics display in it;
– Fixed image_in arg decoding / swizzle: Fixes x/y decoding, fixes some psl1ght blitting samples. After seeing countless weird values games seem to give for swizzle size, it seems the RSX just ignores the values, fixes cpu blit in age of booty;
– Fixed invalid framebuffer crash and shader compile on D3D12;
– Updated Vulkan dependencies: solves an issue where broken Windows drivers wouldn't register the ICD key and break the only detection method present on older Vulkan versions;
– Added detection for Vulkan Xlib/Wayland surface support at runtime (Linux/BSD);
– Several (many!) texture caches fixes;
– Remove SSSE3 dependency;
– Track last working state and reset to it if RSX starts to desync. This is especially useful when running Vulkan since the renderer will easily outpace the rest of the system when merely recording draw commands;
– Ignore empty index buffer sets. Mark empty/invalid IB sets as having 0 element counts;
– Implement deferred swizzle remaps for twice-remapped resources;
– Fix blit engine operations on RGB565;
– Add a timeout on nv406e::semaphore_acquire. Requires further investigation to why some semaphore addresses always lock up;
– Fix WCB causing hanging due to incorrect memory range approximation
– Properly synchronize FIFO ctrl updates. Can improve stability in some cases. The issue still happens if the SPUs lag too far behind RSX;
– Implement variable point size;
– Implement FP instructions BEM, TEXBEM, TXPBEM (untested, rarely used);
– Fix for LG2 FP instruction processing invalid values;
– Framebuffer setup fixes to avoid lost draw calls;
– Code style fixes;
– Fixed alphakill;
– Fixed color swizzle ordering for new blit destination surfaces;
– Tweak to RSX hang detection;
– Tweaks to sampler fallback paths for Vulkan;
– Fixed regression with texture format G8B8;
– Fixed typo in emulated primitive restart, fixing graphics with some AMD cards;
– Fixed emulator hang that could happen when RSX thread crashes/throws/exits, making sure the event queue is cleared and disabled and the VBlank thread is shut down;
– Added setting to disable shader preloading, useful for debugging/testing purposes;
– Added setting to force FIFO present mode option (workaround for recent MESA drivers);
– Added setting to force Force primitive restart flag (should also work on MESA drivers);
– Vulkan: Flush command queue on access violation event before attempting to touch texture cache in the event of access violations. This makes the device internal state consistent before texture operations. Fixes VK_ERROR_DEVICE_LOST in some cases when WCB is in use;
– Fixed Z clipping using selective Z clamping;
– Texture cache (blit engine) fix – Remove a conditional guess that has been properly reverse-engineered (it has been proven that in offsets are in x16 fixed point);
– OpenGL: Use correct target for type when creating new textures. They are not always 2D;
– OpenGL: Track stale cache entries for deleted textures. Avoids invalid texture getting bound to the pipeline when WCB is enabled;
– Vulkan: Implement texture barrier for framebuffer feedback situations if strict mode is disabled. Strict mode bypasses all of this and just makes a duplicate copy which is the safest way to avoid the memory access hazard;
– RSX: Improve framebuffer setup code. If pitch is 64, check the log2 dimension bits instead to determine size;;
– Fixed B8 format render target swizzling;
– Partial fix for extended clamp range draws; Try to preserve z information for draws outside the [0,1] range if the clip extents allow it. Range compression for [0,1] draws is disabled as it interferes with regular draw ops in a negative way, so this workaround will result in Z fighting on the near and far plane when extended range is used;
– Implemented decoding a shuffle flag in the low bits of the texture remap vector. Seems to affect only some formats;
– Texture format fixes: now rpcs3 almost passes all the texture formats test from autotests;
– Removes a workaround in texture cache as it seems to not be required with texture formats fixed. There are almost no test cases for this but I expect no regressions;
– OpenGL performance optimizations: Treats entire attribute buffer as a fixed heap addressed with index offsets instead of the "sliding window" approach that incurred overhead setting up the texture buffers. This was very expensive on NVIDIA drivers leading to very poor OpenGL performance on NVIDIA cards;
– Minor fixes for overlays: Do not assume swap queue is in a well defined state since a flip can be requested externally. Also avoids processing unsupported glyphs in font handlers;
– Implements swap control on Linux when using OpenGL;
– Fixed the epsilon value that was replaced with decimal to fix NVIDIA issues back to the old value. It has to be very very small, 1.E-5 is not small enough, but 1.E-10 works well enough;
– Fixed a race condition during startup using qt dialogs;
– Clean up shaders by removing as much clutter as possible and only compiling subroutines actually used by the program. Makes decompiled SPIR-V easier to read and should hopefully mean less work for the drivers as well.
– Reuse sampler objects (Vulkan) to avoid too many create/delete cycles. Wont do much for performance but its the right thing to do and it makes debugging alot easier;
– Removes subpass dependencies on Vulkan. They have a very high cost on AMD GPUs especially older GCN1 and maybe GCN2 cards and can easily drop throughput by 80%+ (Tested on R9 270x);
– Framebuffer setup improvements: Improves fast paths in framebuffer setup code and allows resource reuse when using OpenGL instead of constantly recreating new resources and binding;
– OpenGL: Do not rely on OpenGL null texture; instead, provide our own black null texture to make reads from non-existent textures return (0, 0, 0, 1);
– Implemented FBO flush-always when WCB is enabled. This is for games that read back the currently bound render target. Fixes some missing graphics in some games especially when using the blit debugger (force_cpu_blit);
– Vulkan API compliance fixes;
– Synchronize blit engine resources with cell to avoid data loss. A typical scenario would be where an image is rendered on RSX pixel pipeline to render target A which is copied to location B using blit engine. Cell then reads back the pixels at B to do some image processing on SPU and re-uploads the data from another location C. Without synchronizing reads and writes, data at B would not exist from Cell's point of view. Fixes some problems in some games like Journey.
– Vulkan: Minor memory management fixes. Avoids running out of memory during a draw call;
– FP: Explicitly gather or discard writes to output if none is defined. While the GL spec makes this work correctly, undefined output in SPIR-V updated the render target with blue pixels;
– texture cache: Fixed component ordering on depth surfaces – all components should always read R (e.g. solves TOCS/TOCS2 blur issue);
– Fixed a bug in multidraw implementation and range splitting of disjoint draw calls (e.g. solves flickering in R&C games);
– Improved workaround for AMD Vulkan driver where u16 index buffers would mistakenly break primitive restart due to fetching of the restart index T(-1), likely due to broken type identification;
– General minor optimizations all round;
– Optimize texture readback performance by tracking flushable targets and performing transfers ahead of time;
– Implemented base swapchain type to remove dependency on WSI providers being present. This is the case when attempting to run Vulkan from a secondary GPU whilst the primary GPU is an NVIDIA one on Linux. Two additional display providers other than the WSI one are also provided, one for WIN32 and another for X11 to cover the common cases. This allows use of a secondary GPU on Linux which was a big problem for graphics development on Linux. Note that while mesa drivers can present data from secondary GPUs, proprietary drivers do not, and often times the user will have the NVIDIA GPU as primary to avoid problems with X. Overhead of using the native software fallbacks is currently about 4ms at 720p, 7ms at 1080p (~250FPS max at 720p, ~125FPS max at 1080p). While this change in itself may not mean much to most users, the possibilities with display out are now infinite. Additional swapchain providers can be added to do cool things like writing images to file, injecting custom postfx, encoding image output to video and streaming over a network, etc, etc;
Audio
– Fixes for ALSA backend, improved performance;
– ALSA: Added Start Threshold parameter;
Native UI (RSX Overlay)
– Implemented core for native user interface support in rpcs3;
– Implemented save dialog with native UI;
– Implemented message dialog and progress dialog;
– Implemented trophy popup;
– Implemented shader compiling notification;
– Properly handle failed initialization and fallback paths;
– Properly handle TTF search and loading as well as fallback paths;
– Fixed native UI save_dialog when there are no saves;
– Properly handle disconnected pads on overlay;
– Added fallback path in dev_flash for glyphs and prevents Vulkan from freezing if icons are non-existent;
Trophies
– Fixed a bug on trophy manager which would hide some games;
– Returns correct disk space requirements;
– Check both bdvd and hdd locations;
– Fixed trophy initialization for Game Data (game patch);
– sceNpTrophyGetRequiredDiskSpace: Take VFS into account for trophy directory;
Firmware (HLE)
– Implements _sys_prx_load_module_by_fd, _sys_prx_load_module_on_memcontainer_by_fd;
– cellSaveData: Bugfixes;
– cellSaveData: Implemented Savedata delete operation;
– Fixed an issue with cellMsgDialog;
– Fixed an issue with exitspawn (autoexit option);
– Fixed sys_fs_open on MSELF files: previously it would move the file pointer, but not reset it;
– sys_usbd: Initial work on syscalls;
– sys_memory: Lower maximum size for memory block to fake OS size – Reports available memory minus another fake block that can be used for the OS;
– cellMsgDialog: Added SetMsg() for changing main text;
– cellGame: Don't write empty TITLE_IDs in PARAM.SFO;
– cellVDec/cellVPost: Avoids recreating SwsContext every frame;
– cellSaveData: Avoids passing vm memory to fs::file;
– cellPadSetPortSetting: Don't skip setting port settings when no controller is connected;
– cellPad: Fixed port status query -> disconnected devices don't cripple following devices by decreased now_connect;
– cellPad: Initialize devices as disconnected;
– cellGameDataCheckCreate2: Fixed PARAM.SFO;
– Implemented psf::assign;
– cellGameSetParamString: Potential fix;
– cellGameBootCheck: Experimental fix, assuming dirName is read-only;
– cellSysutil: Registered _ZN8cxmlutil7SetFileERKN4cxml7ElementEPKcRKNS0_4FileE, _ZN4cxml8Document5WriteEPFiPKvjPvES3_ and _ZN4cxml8Document12RegisterFileEPKvjPNS_4FileE functions;
– cellWebBrowser/sceNpSns: Stubbed some functions;
– cellGame: Stubbed cellHddGameSetSystemVer, cellGameDataSetSystemVer;
– cellSearch: Overhauled previous stub implementation, notable improvements;
– cellGame: Fixed a bug in cellHddGameCheck and cellGameBootCheck that caused memory access violations;
– cellUserInfo: Fixed a bug that caused memory access violations in cellUserInfoGetStat;
– sys_fs_unlink: Return CELL_ENOENT if path is an empty string;
– sys_fs_stat: Return CELL_EFAULT when path variable is not defined;
– cellGame: Better stub cellGameUpdateCheckStartAsync, cellGameUpdateCheckFinishAsync
– cellRec: Improved stubbed implementation by adding its respective callbacks;
– cellVideoExport: Improved stubbed implementation by adding its respective callbacks;
– cellVideoUpload: Improved stubbed implementation by adding its respective callbacks;
– cellPhotoExport: Improved stubbed implementation by adding its respective callbacks;
– cellMusic: Improved stubbed implementation by adding its respective callbacks;
– cellMsgDialog: Fixed a null pointer dereference;
– sys_gpio: Implemented sys_gpio_get and sys_gpio_set syscalls;
– sceNpMatcingInt: Registers module and the following functions: sceNpMatchingGetRoomMemberList, sceNpMatchingJoinRoomGUI, sceNpMatchingGetRoomListGUI, sceNpMatchingSendRoomMessage;
– sys_fs: Implemented 01000000 flag (found only in Rockband games);
– sys_libc_: Implemented _sys_qsort;
Network
– Stubs SOCK_DGRAM_P2P to handle some regressions caused by the Network overhaul;
– Added support for unspec sockets (YouTube app);
– Forces AF_INET (Youtube app);
– Fixed lv2_socket id_base;
Input
– Overhauled pad_settings dialog;
– Added a simple timer and only saves to configuration upon pressing the save button;
– XInput: Added full remapping, rumble settings, deadzones;
– DualShock4: Added remapping;
– Evdev: Added remapping, deadzones;
– MMJoy: Added remapping, deadzones;
– MMJoy: Improved multi controller support;
– MMJoy: Prioritizes button presses due to constant axis events;
– Added fallback in FindKeyCode to prevent crashes on incompatible config;
– Implemented blacklist to filter noise in pad dialog;
– MMJoy: Handle Axis and POV capabilities;
– MMJoy: Handle MMJoy reconnection;
– Fixed filter button for evdev and DualShock 4;
– Improved evdev and MMJoy stick input;
– DualShock 4: Fixed led for ds4 when connected by bluetooth;
– DualShock 4: Fixed a regression on initial DS4 connection;
– Fixed regression on numpad keys;
– Evdev: Added positive axis list yml to handle 0+ range sticks;
– MMJoy: Improved settings dialog, changed threshold behavior;
– Evdev: Improve MMJOY settings dialog / change threshold behavior;
– Evdev: Misc fixes, fixed directions, sticks and first rumble implementation;
– Implemented mouse button mapping, improved keyboard;
– Fixed connection count;
– Improved cellKB keyreleases and autorepeat;
– Enabled XInput configs with disconnected devices;
– Implemented Input Profiles;
GUI
– Implemented new progress_dialog for installations;
– Redesigned settings dialog to use an horizontal layout, solves some small screen issues;
– Uses global AppIcon instead of setting it in every Dialog;
– Moved Disable Vertex Cache option back to the GPU tab;
– Show total number of LLVM objects that are to be compiled on LLVM compilation dialogs;
– Fixed compatibility column sorting;
– Fixed Register Editor;
– Fixed CurrentSelectionIconPath();
– Fixed deadzone preview size on high dpi;
– Fixed GameList icon backgrounds on existing themes;
– Handles zero-width columns in game list;
– Implemented simple find dialog for logs;
– Use Qt for error reports;
– Fixed icon size actions;
– New themes: Darker Style and ModernBlue by TheMitoSan;
– Added commit hash to the game panel with non master builds;
– Removed obsolete and faulty m_icon_color. RepaintGui does it already;
– Updated compatibility colors to match the new ones from the website;
– Game list: Improved deduplication logic;
– Updated Qt to version 5.10.1 (also updated AppVeyor and Travis to use 5.10);
– Fixed gs_frame spawning on monitor other than the one the main window is on. Now spawns the GSFrame on top of the RPCS3 main window;
– Fixed scrolling in Game Grid;
– Improved VFS (virtual filesystem) dialog;
Windows
– File: Clamps utime range;
– Readme: Updated build instructions to include prebuilt library binaries downloads;
– Fixed free space check;
– Added sha256 hashing of builds for checksum purposes;
– Added a separate OpenSSL artifact containing the required libs to make compatibility database fetching work. These binaries are distributed by AppVeyor as part of the build environment. Users can be directed to download and extract the binaries to their local rpcs3 directory (e.g. in the quickstart guide). A warning can also be included regarding legal issues pertaining to using OpenSSL, if any;
– Package artifacts using 7z format, reduces rpcs3 artifact size from ~20MB to ~14MB;
– Compat database is fetched and packaged after the build has finished. Failed DB downloads are (hopefully) accounted for by adding some basic fault tolerance using powershell + AppVeyor caching;
– Changes Windows master builds artifact version format to: rpcs3-{tag}-{commit_count}-{commit_hash}_win64.7z;
– Changes Windows pull request artifact version format to: rpcs3-{tag}-{commit_hash}_win64.7z;
Linux + BSD:
– Installs GUI Themes to /usr/share/rpcs3 and icons to Icons in executable directory and loads them from there;
– Fixed a bug on fs::dir::open, now returns false on failed metadata instead of crashing;
– Added support for Vulkan on Wayland;
Linux
– Implemented set_ideal_processor_core;
– Readme: Updated Fedora instructions with required packages;
– Readme: Added libpulse-dev;
– Readme: Added OpenSUSE instructions;
– Workaround for NVIDIA Linux bug: For some reason, using 1.E-x notation does not work on NVIDIA Linux. Could be a bug in SPIR-V generator or the driver itself;
– Fixed commit count on AppImage (TravisCI) builds by unshallowing git clone;
– Implemented fs::unshare;
– AppImage: Now compiling with Clang 5.0 instead of Clang 4.0;
– AppImage: Removes libfreetype.so.6, fixes AppImages for some users;
– Added an easy way for package builders to disable native cpu optimizations (-march=native);
– Changes Linux master builds appimage version format to: rpcs3-{tag}-{commit_count}-{commit_hash}_linux64.AppImage, in sync with the Windows builds;
BSD
– Fixed set_ideal_processor_core on several BSD distributions;
– Fixed a bug with LLVM JIT on FreeBSD;
– Uses glslang, HLSL, OGLCompiler, SPIRV, OSDependent system libraries when building;
Misc
– Fixed command line arguments passed to rpcs3;
– Added libswscale CMake detection as the component is mandatory to build the project;
– Removed libswresample as the component was not used to build the project;
– Simplified ALSA, GLEW, Qt, ZLIB detection/integration in CMake;
– Cleaned up rpcs3/CMakeLists.txt;
– Fixed log size limitations;
– Implemented set_ideal_processor_core for MacOS;
– Bump CMake requirement to 3.1.0+;
– Fixed debug without LLVM build;
– Use depth:false instead of depth:bigNumber for unshallowed clone on TravisCI;
– Silenced some build warnings;
– Removes GIT_VERSION's incorrect commit count on non-master Pull Request builds – make GIT_VERSION only be the Commit ID in those cases (e.g: 0.0.4-abcdefgh instead of 0.0.4-3-abcdefgh);
– Replaced make by Ninja build system on Travis;
– Pass missing arguments to _sys_process_exit logging function;
– Map and update pugixml with the upstream repository instead of the one from RPCS3;
– Log sys_fs_utime values;
– Bump last PS3 firmware version indicator from 4.81 to 4.82;
– Travis: Updated URLs to retrieve glew and Vulkan deb packages;
– Updated OpenAL externals to 1.18.2;
– Updated GL header to 20180114;
– Remove ps3emu_api unused files that were really never used for anything;
– Update LLVM submodule URL (to rpcs3/llvm);
– Added ignore=dirty to hidapi submodule;
– AppVeyor: Various formatting and changes to the file structure (mainly cmd -> powershell for better readability);
– Updated versioning: rpcs3 latest release tag is now fetched using git describe, no need to manually update appveyor.yaml for each release or milestone;
– Added vscode and kdevelop files to gitignore;
– Fixed quoting in CMake files, solved an issue with packaging for NixOS;
Core
– Optimized CPUID checks;
– Fixed fs::dir with constant begin/end;
– Fixed cond_variable timeout;
– Fixed "Exit RPCS3 when process finishes" command line crash;
– Improved Restart function – should now work correctly with game launchers;
– Added warning when corrupted PARAM.SFO is detected;
– Added installation for additional packages on game boot (INSDIR, PKGDIR, PS3_EXTRA);
– Removed /app_home/ dependency;
– Improved logging messages for multiple RPCS3 instances;
– Refactored logging mechanisms;
– Restored log compression;
– PKG installer update for DLC: Don't ask for overwriting, Limit cancellation capabilities;
– Improved check for cellSurmixer event queue (some games do not set event queue name, though key seems constant for them);
– Implemented setting for maximum threads to be used on LLVM compilation (default: All);
– CPUTranslator: Added bitcast, trunc, zext, sext;
– Added option to manage thread placement. Makes an impact on windows when using Ryzen processors, most other CPUs should be unaffected. Linux does a better job on its own so the option is not recommended on Linux;
– Handles exceptions at game list update, fixed RPCS3 not starting when corrupted PARAM.SFO is present;
– Handles exceptions at loading patch.yml file, fixed RPCS3 not starting when bad patch.yml file is present;
– Initial cpu_translator implementation;
– Returns CELL_ENOSYS on unpresented syscalls;
– Removed PSP2 (PS Vita) code;
PPU
– Use shared jit_compiler instance – fixes deregisterEHFrames error message on Linux;
– Disassembler: Added db8cyc, db10cyc, db12cyc, db16cyc opcodes;
– Remove SSSE3 dependency;
– Fixed primary stack size;
– PPU LLVM: rewrote add/sub instructions: Uses new patterns for saturation instructions, Avoids ZExt/SExt completely;
– PPU LLVM: rewrote AVG instructions;
SPU
– sys_spu_thread_group_create: If priority is between 16 and 255, make sure type is not SYS_SPU_THREAD_GROUP_TYPE_EXCLUSIVE_NON_CONTEXT;
– SPU ASMJIT: Interrupt optimizations - Pigeonhole optimize for branching pattern that is used to enable and disable interrupts used in code, this should lower amount of blocks that are compiled and avoid falling out of a block. Recompiled interrupt check in some cases to stay in block instead of falling out to dispatcher;
– MFC: Fixed support for list transfer stall bit with partial support for out of order execution - also give Sync commands a size so they are properly detected by queue checks;
– Fixed interrupt jump check, also change interrupt variable to atomic bool for ease of setting/checking;
– Interpreter/Recompiler: Implemented DFCMGT;
– SPU ASMJIT: Rewritten ROTH AVX-512 implementation;
– Fixed Size and Tag clamping;
– Allow reading of the RdSRR0 channel;
– Allow writing to the WrSSR0 channel;
– Remove SSSE3 dependency;
– SPU ASMJIT: Added AVX-512 support to ROT, ROTM, ROTMA, SHL, ROTH, ROTHM, ROTMAH, SHLH, CLZ, SHUFB, CFLTU, CUFLT, BG, NOR, ROTI, CG, NAND, CGTH, CLGTH instructions;
– SPU ASMJIT: Reordered some instructions for better throughput;
– Redesigned LVSL and LVSR instructions;
– Interpreter/Recompiler: Fixes for ROTM, ROTMA, SHL, ROTH, ROTHM, ROTMAH, SHLH, ROTQMBYBI, ROTQMBY instructions;
– SPU/MFC: Checks for sync command before doing a list transfer;
– SPU ASMJIT: Added AVX2 support to ROT, ROTM, ROTMA, SHL instructions;
– SPU ASMJIT: Added support for 16-bit shifts using AVX2 (ROTHM, ROTMAH, SHLH);
– SPU ASMJIT: Added support for XOP instruction set on ROT, ROTM, ROTMA, SHL, ROTH, ROTHM, ROTMAH, SHLH, ROTI, SELB, SHUFB instructions;
– Emit VZEROUPPER: Workaround dirty AVX high state;
– SPU ASMJIT: Rewrote ORX instruction;
– SPU ASMJIT: Minor change to ROTH instruction: Only AVX-512 path is changed (third version). This instruction is extremely rare;
– SPU ASMJIT: rewrote 128-bit shifts by bit: Six instructions changed to use xmm registers instead of gpr. ROTQBII, ROTQMBII, SHLQBII look better (shifts by imm). ROTQBI, ROTQMBI, SHLQBI changed for consistency (shifts by variable);
– Removed redundant and harming check from tag update completion type 2 condition;
– Implemented Stop Code 0x100;
– sys_spu_thread_get_exit_status: Implemented missing check, now checks CELL_ESTAT condition as well;
– Disassembler: Clamps SPU address - allows the SPU disassembler to nicely wrap around addresses instead of reporting "illegal address" on addresses outside of LS and resolves potential memory conflicts with main storage memory in the debugger;
RSX
– Optimized frame limiter;
– Improved nv406e::semaphore_release;
– Added WIP research into getting WCB (Write Color Buffers) working correctly. Should now mostly work correctly on OpenGL and correctly on Vulkan where on swizzle contexts are involved;
– Enables blitting from main memory to local (RSX) memory using hardware acceleration. A few more titles no longer need the slow WCB path for this;
– Fixed a bug where NVIDIA drivers would leak memory leak when window was minimized;
– Fixed FP (Fragment Program) to take into account data range modifiers in SRC1. Fixes negative color values getting to the tone-mapping passes in some games (e.g. Dark Souls 2);
– Do not discard depth buffer is stencil test is enabled (e.g. Vesperia);
– Enabled ZCull conditional render on Vulkan;
– Fixed D3D12 compiler crashes introduced by previous changes;
– Fixed shader cache constantly compiling new shaders in some games;
– Fixed default vertex attributes for undefined reads (e.g. Eternal Sonata, Ni no Kuni);
– Fixed OpenGL texture flickering due to broken optimization path when WCB was enabled;
– Synchronizes access to the present/graphics queue during submit. It's simpler to just use a global lock in this case since at the moment we only use one queue and contention only happens during submit. Should fix some cases of device_lost when running NVIDIA + WCB;
– Implemented depth clamp;
– Fixes for stencil surface configuration when address is contested;
– Work on depth/color address resolve when address contention happens;
– Implemented ZCull on the Vulkan render;
– Shader overlay implementation allowing all kinds of transforms and passes;
– Implemented binding color data for depth access for example using a RGBA->depth casting pass;
– Fixed face winding on OpenGL;
– Fragment program decompiler fixes for pack/unpack with optional register gathering implemented;
– Fixed potential crash in image_in when using CPU blit, or when unable to GPU scale the texture;
– Avoids unprotecting memory unless writing is almost guaranteed to be near immediate. Should lower chances of race conditions on sections leading to corruption, but this is not a final fix. Should greatly reduce chances of encountering;
– Fix for framebuffer setup: Ignore stencil flag if current depth format does not support stencil operation;
– Fixed depth clipping: Should now correctly scale/offset z for viewport, which may help in random clipping issues. tested game doesn't work on master without hacks (e.g. Vancouver 2010) but this fixes graphics display in it;
– Fixed image_in arg decoding / swizzle: Fixes x/y decoding, fixes some psl1ght blitting samples. After seeing countless weird values games seem to give for swizzle size, it seems the RSX just ignores the values, fixes cpu blit in age of booty;
– Fixed invalid framebuffer crash and shader compile on D3D12;
– Updated Vulkan dependencies: solves an issue where broken Windows drivers wouldn't register the ICD key and break the only detection method present on older Vulkan versions;
– Added detection for Vulkan Xlib/Wayland surface support at runtime (Linux/BSD);
– Several (many!) texture caches fixes;
– Remove SSSE3 dependency;
– Track last working state and reset to it if RSX starts to desync. This is especially useful when running Vulkan since the renderer will easily outpace the rest of the system when merely recording draw commands;
– Ignore empty index buffer sets. Mark empty/invalid IB sets as having 0 element counts;
– Implement deferred swizzle remaps for twice-remapped resources;
– Fix blit engine operations on RGB565;
– Add a timeout on nv406e::semaphore_acquire. Requires further investigation to why some semaphore addresses always lock up;
– Fix WCB causing hanging due to incorrect memory range approximation
– Properly synchronize FIFO ctrl updates. Can improve stability in some cases. The issue still happens if the SPUs lag too far behind RSX;
– Implement variable point size;
– Implement FP instructions BEM, TEXBEM, TXPBEM (untested, rarely used);
– Fix for LG2 FP instruction processing invalid values;
– Framebuffer setup fixes to avoid lost draw calls;
– Code style fixes;
– Fixed alphakill;
– Fixed color swizzle ordering for new blit destination surfaces;
– Tweak to RSX hang detection;
– Tweaks to sampler fallback paths for Vulkan;
– Fixed regression with texture format G8B8;
– Fixed typo in emulated primitive restart, fixing graphics with some AMD cards;
– Fixed emulator hang that could happen when RSX thread crashes/throws/exits, making sure the event queue is cleared and disabled and the VBlank thread is shut down;
– Added setting to disable shader preloading, useful for debugging/testing purposes;
– Added setting to force FIFO present mode option (workaround for recent MESA drivers);
– Added setting to force Force primitive restart flag (should also work on MESA drivers);
– Vulkan: Flush command queue on access violation event before attempting to touch texture cache in the event of access violations. This makes the device internal state consistent before texture operations. Fixes VK_ERROR_DEVICE_LOST in some cases when WCB is in use;
– Fixed Z clipping using selective Z clamping;
– Texture cache (blit engine) fix – Remove a conditional guess that has been properly reverse-engineered (it has been proven that in offsets are in x16 fixed point);
– OpenGL: Use correct target for type when creating new textures. They are not always 2D;
– OpenGL: Track stale cache entries for deleted textures. Avoids invalid texture getting bound to the pipeline when WCB is enabled;
– Vulkan: Implement texture barrier for framebuffer feedback situations if strict mode is disabled. Strict mode bypasses all of this and just makes a duplicate copy which is the safest way to avoid the memory access hazard;
– RSX: Improve framebuffer setup code. If pitch is 64, check the log2 dimension bits instead to determine size;;
– Fixed B8 format render target swizzling;
– Partial fix for extended clamp range draws; Try to preserve z information for draws outside the [0,1] range if the clip extents allow it. Range compression for [0,1] draws is disabled as it interferes with regular draw ops in a negative way, so this workaround will result in Z fighting on the near and far plane when extended range is used;
– Implemented decoding a shuffle flag in the low bits of the texture remap vector. Seems to affect only some formats;
– Texture format fixes: now rpcs3 almost passes all the texture formats test from autotests;
– Removes a workaround in texture cache as it seems to not be required with texture formats fixed. There are almost no test cases for this but I expect no regressions;
– OpenGL performance optimizations: Treats entire attribute buffer as a fixed heap addressed with index offsets instead of the "sliding window" approach that incurred overhead setting up the texture buffers. This was very expensive on NVIDIA drivers leading to very poor OpenGL performance on NVIDIA cards;
– Minor fixes for overlays: Do not assume swap queue is in a well defined state since a flip can be requested externally. Also avoids processing unsupported glyphs in font handlers;
– Implements swap control on Linux when using OpenGL;
– Fixed the epsilon value that was replaced with decimal to fix NVIDIA issues back to the old value. It has to be very very small, 1.E-5 is not small enough, but 1.E-10 works well enough;
– Fixed a race condition during startup using qt dialogs;
– Clean up shaders by removing as much clutter as possible and only compiling subroutines actually used by the program. Makes decompiled SPIR-V easier to read and should hopefully mean less work for the drivers as well.
– Reuse sampler objects (Vulkan) to avoid too many create/delete cycles. Wont do much for performance but its the right thing to do and it makes debugging alot easier;
– Removes subpass dependencies on Vulkan. They have a very high cost on AMD GPUs especially older GCN1 and maybe GCN2 cards and can easily drop throughput by 80%+ (Tested on R9 270x);
– Framebuffer setup improvements: Improves fast paths in framebuffer setup code and allows resource reuse when using OpenGL instead of constantly recreating new resources and binding;
– OpenGL: Do not rely on OpenGL null texture; instead, provide our own black null texture to make reads from non-existent textures return (0, 0, 0, 1);
– Implemented FBO flush-always when WCB is enabled. This is for games that read back the currently bound render target. Fixes some missing graphics in some games especially when using the blit debugger (force_cpu_blit);
– Vulkan API compliance fixes;
– Synchronize blit engine resources with cell to avoid data loss. A typical scenario would be where an image is rendered on RSX pixel pipeline to render target A which is copied to location B using blit engine. Cell then reads back the pixels at B to do some image processing on SPU and re-uploads the data from another location C. Without synchronizing reads and writes, data at B would not exist from Cell's point of view. Fixes some problems in some games like Journey.
– Vulkan: Minor memory management fixes. Avoids running out of memory during a draw call;
– FP: Explicitly gather or discard writes to output if none is defined. While the GL spec makes this work correctly, undefined output in SPIR-V updated the render target with blue pixels;
– texture cache: Fixed component ordering on depth surfaces – all components should always read R (e.g. solves TOCS/TOCS2 blur issue);
– Fixed a bug in multidraw implementation and range splitting of disjoint draw calls (e.g. solves flickering in R&C games);
– Improved workaround for AMD Vulkan driver where u16 index buffers would mistakenly break primitive restart due to fetching of the restart index T(-1), likely due to broken type identification;
– General minor optimizations all round;
– Optimize texture readback performance by tracking flushable targets and performing transfers ahead of time;
– Implemented base swapchain type to remove dependency on WSI providers being present. This is the case when attempting to run Vulkan from a secondary GPU whilst the primary GPU is an NVIDIA one on Linux. Two additional display providers other than the WSI one are also provided, one for WIN32 and another for X11 to cover the common cases. This allows use of a secondary GPU on Linux which was a big problem for graphics development on Linux. Note that while mesa drivers can present data from secondary GPUs, proprietary drivers do not, and often times the user will have the NVIDIA GPU as primary to avoid problems with X. Overhead of using the native software fallbacks is currently about 4ms at 720p, 7ms at 1080p (~250FPS max at 720p, ~125FPS max at 1080p). While this change in itself may not mean much to most users, the possibilities with display out are now infinite. Additional swapchain providers can be added to do cool things like writing images to file, injecting custom postfx, encoding image output to video and streaming over a network, etc, etc;
Audio
– Fixes for ALSA backend, improved performance;
– ALSA: Added Start Threshold parameter;
Native UI (RSX Overlay)
– Implemented core for native user interface support in rpcs3;
– Implemented save dialog with native UI;
– Implemented message dialog and progress dialog;
– Implemented trophy popup;
– Implemented shader compiling notification;
– Properly handle failed initialization and fallback paths;
– Properly handle TTF search and loading as well as fallback paths;
– Fixed native UI save_dialog when there are no saves;
– Properly handle disconnected pads on overlay;
– Added fallback path in dev_flash for glyphs and prevents Vulkan from freezing if icons are non-existent;
Trophies
– Fixed a bug on trophy manager which would hide some games;
– Returns correct disk space requirements;
– Check both bdvd and hdd locations;
– Fixed trophy initialization for Game Data (game patch);
– sceNpTrophyGetRequiredDiskSpace: Take VFS into account for trophy directory;
Firmware (HLE)
– Implements _sys_prx_load_module_by_fd, _sys_prx_load_module_on_memcontainer_by_fd;
– cellSaveData: Bugfixes;
– cellSaveData: Implemented Savedata delete operation;
– Fixed an issue with cellMsgDialog;
– Fixed an issue with exitspawn (autoexit option);
– Fixed sys_fs_open on MSELF files: previously it would move the file pointer, but not reset it;
– sys_usbd: Initial work on syscalls;
– sys_memory: Lower maximum size for memory block to fake OS size – Reports available memory minus another fake block that can be used for the OS;
– cellMsgDialog: Added SetMsg() for changing main text;
– cellGame: Don't write empty TITLE_IDs in PARAM.SFO;
– cellVDec/cellVPost: Avoids recreating SwsContext every frame;
– cellSaveData: Avoids passing vm memory to fs::file;
– cellPadSetPortSetting: Don't skip setting port settings when no controller is connected;
– cellPad: Fixed port status query -> disconnected devices don't cripple following devices by decreased now_connect;
– cellPad: Initialize devices as disconnected;
– cellGameDataCheckCreate2: Fixed PARAM.SFO;
– Implemented psf::assign;
– cellGameSetParamString: Potential fix;
– cellGameBootCheck: Experimental fix, assuming dirName is read-only;
– cellSysutil: Registered _ZN8cxmlutil7SetFileERKN4cxml7ElementEPKcRKNS0_4FileE, _ZN4cxml8Document5WriteEPFiPKvjPvES3_ and _ZN4cxml8Document12RegisterFileEPKvjPNS_4FileE functions;
– cellWebBrowser/sceNpSns: Stubbed some functions;
– cellGame: Stubbed cellHddGameSetSystemVer, cellGameDataSetSystemVer;
– cellSearch: Overhauled previous stub implementation, notable improvements;
– cellGame: Fixed a bug in cellHddGameCheck and cellGameBootCheck that caused memory access violations;
– cellUserInfo: Fixed a bug that caused memory access violations in cellUserInfoGetStat;
– sys_fs_unlink: Return CELL_ENOENT if path is an empty string;
– sys_fs_stat: Return CELL_EFAULT when path variable is not defined;
– cellGame: Better stub cellGameUpdateCheckStartAsync, cellGameUpdateCheckFinishAsync
– cellRec: Improved stubbed implementation by adding its respective callbacks;
– cellVideoExport: Improved stubbed implementation by adding its respective callbacks;
– cellVideoUpload: Improved stubbed implementation by adding its respective callbacks;
– cellPhotoExport: Improved stubbed implementation by adding its respective callbacks;
– cellMusic: Improved stubbed implementation by adding its respective callbacks;
– cellMsgDialog: Fixed a null pointer dereference;
– sys_gpio: Implemented sys_gpio_get and sys_gpio_set syscalls;
– sceNpMatcingInt: Registers module and the following functions: sceNpMatchingGetRoomMemberList, sceNpMatchingJoinRoomGUI, sceNpMatchingGetRoomListGUI, sceNpMatchingSendRoomMessage;
– sys_fs: Implemented 01000000 flag (found only in Rockband games);
– sys_libc_: Implemented _sys_qsort;
Network
– Stubs SOCK_DGRAM_P2P to handle some regressions caused by the Network overhaul;
– Added support for unspec sockets (YouTube app);
– Forces AF_INET (Youtube app);
– Fixed lv2_socket id_base;
Input
– Overhauled pad_settings dialog;
– Added a simple timer and only saves to configuration upon pressing the save button;
– XInput: Added full remapping, rumble settings, deadzones;
– DualShock4: Added remapping;
– Evdev: Added remapping, deadzones;
– MMJoy: Added remapping, deadzones;
– MMJoy: Improved multi controller support;
– MMJoy: Prioritizes button presses due to constant axis events;
– Added fallback in FindKeyCode to prevent crashes on incompatible config;
– Implemented blacklist to filter noise in pad dialog;
– MMJoy: Handle Axis and POV capabilities;
– MMJoy: Handle MMJoy reconnection;
– Fixed filter button for evdev and DualShock 4;
– Improved evdev and MMJoy stick input;
– DualShock 4: Fixed led for ds4 when connected by bluetooth;
– DualShock 4: Fixed a regression on initial DS4 connection;
– Fixed regression on numpad keys;
– Evdev: Added positive axis list yml to handle 0+ range sticks;
– MMJoy: Improved settings dialog, changed threshold behavior;
– Evdev: Improve MMJOY settings dialog / change threshold behavior;
– Evdev: Misc fixes, fixed directions, sticks and first rumble implementation;
– Implemented mouse button mapping, improved keyboard;
– Fixed connection count;
– Improved cellKB keyreleases and autorepeat;
– Enabled XInput configs with disconnected devices;
– Implemented Input Profiles;
GUI
– Implemented new progress_dialog for installations;
– Redesigned settings dialog to use an horizontal layout, solves some small screen issues;
– Uses global AppIcon instead of setting it in every Dialog;
– Moved Disable Vertex Cache option back to the GPU tab;
– Show total number of LLVM objects that are to be compiled on LLVM compilation dialogs;
– Fixed compatibility column sorting;
– Fixed Register Editor;
– Fixed CurrentSelectionIconPath();
– Fixed deadzone preview size on high dpi;
– Fixed GameList icon backgrounds on existing themes;
– Handles zero-width columns in game list;
– Implemented simple find dialog for logs;
– Use Qt for error reports;
– Fixed icon size actions;
– New themes: Darker Style and ModernBlue by TheMitoSan;
– Added commit hash to the game panel with non master builds;
– Removed obsolete and faulty m_icon_color. RepaintGui does it already;
– Updated compatibility colors to match the new ones from the website;
– Game list: Improved deduplication logic;
– Updated Qt to version 5.10.1 (also updated AppVeyor and Travis to use 5.10);
– Fixed gs_frame spawning on monitor other than the one the main window is on. Now spawns the GSFrame on top of the RPCS3 main window;
– Fixed scrolling in Game Grid;
– Improved VFS (virtual filesystem) dialog;
Windows
– File: Clamps utime range;
– Readme: Updated build instructions to include prebuilt library binaries downloads;
– Fixed free space check;
– Added sha256 hashing of builds for checksum purposes;
– Added a separate OpenSSL artifact containing the required libs to make compatibility database fetching work. These binaries are distributed by AppVeyor as part of the build environment. Users can be directed to download and extract the binaries to their local rpcs3 directory (e.g. in the quickstart guide). A warning can also be included regarding legal issues pertaining to using OpenSSL, if any;
– Package artifacts using 7z format, reduces rpcs3 artifact size from ~20MB to ~14MB;
– Compat database is fetched and packaged after the build has finished. Failed DB downloads are (hopefully) accounted for by adding some basic fault tolerance using powershell + AppVeyor caching;
– Changes Windows master builds artifact version format to: rpcs3-{tag}-{commit_count}-{commit_hash}_win64.7z;
– Changes Windows pull request artifact version format to: rpcs3-{tag}-{commit_hash}_win64.7z;
Linux + BSD:
– Installs GUI Themes to /usr/share/rpcs3 and icons to Icons in executable directory and loads them from there;
– Fixed a bug on fs::dir::open, now returns false on failed metadata instead of crashing;
– Added support for Vulkan on Wayland;
Linux
– Implemented set_ideal_processor_core;
– Readme: Updated Fedora instructions with required packages;
– Readme: Added libpulse-dev;
– Readme: Added OpenSUSE instructions;
– Workaround for NVIDIA Linux bug: For some reason, using 1.E-x notation does not work on NVIDIA Linux. Could be a bug in SPIR-V generator or the driver itself;
– Fixed commit count on AppImage (TravisCI) builds by unshallowing git clone;
– Implemented fs::unshare;
– AppImage: Now compiling with Clang 5.0 instead of Clang 4.0;
– AppImage: Removes libfreetype.so.6, fixes AppImages for some users;
– Added an easy way for package builders to disable native cpu optimizations (-march=native);
– Changes Linux master builds appimage version format to: rpcs3-{tag}-{commit_count}-{commit_hash}_linux64.AppImage, in sync with the Windows builds;
BSD
– Fixed set_ideal_processor_core on several BSD distributions;
– Fixed a bug with LLVM JIT on FreeBSD;
– Uses glslang, HLSL, OGLCompiler, SPIRV, OSDependent system libraries when building;
Misc
– Fixed command line arguments passed to rpcs3;
– Added libswscale CMake detection as the component is mandatory to build the project;
– Removed libswresample as the component was not used to build the project;
– Simplified ALSA, GLEW, Qt, ZLIB detection/integration in CMake;
– Cleaned up rpcs3/CMakeLists.txt;
– Fixed log size limitations;
– Implemented set_ideal_processor_core for MacOS;
– Bump CMake requirement to 3.1.0+;
– Fixed debug without LLVM build;
– Use depth:false instead of depth:bigNumber for unshallowed clone on TravisCI;
– Silenced some build warnings;
– Removes GIT_VERSION's incorrect commit count on non-master Pull Request builds – make GIT_VERSION only be the Commit ID in those cases (e.g: 0.0.4-abcdefgh instead of 0.0.4-3-abcdefgh);
– Replaced make by Ninja build system on Travis;
– Pass missing arguments to _sys_process_exit logging function;
– Map and update pugixml with the upstream repository instead of the one from RPCS3;
– Log sys_fs_utime values;
– Bump last PS3 firmware version indicator from 4.81 to 4.82;
– Travis: Updated URLs to retrieve glew and Vulkan deb packages;
– Updated OpenAL externals to 1.18.2;
– Updated GL header to 20180114;
– Remove ps3emu_api unused files that were really never used for anything;
– Update LLVM submodule URL (to rpcs3/llvm);
– Added ignore=dirty to hidapi submodule;
– AppVeyor: Various formatting and changes to the file structure (mainly cmd -> powershell for better readability);
– Updated versioning: rpcs3 latest release tag is now fetched using git describe, no need to manually update appveyor.yaml for each release or milestone;
– Added vscode and kdevelop files to gitignore;
– Fixed quoting in CMake files, solved an issue with packaging for NixOS;
2018年2月23日 星期五
Kronos 1.0.0
基於 UoYabause/Yaba Sanshiro 改版的SS模擬器 Kronos 發布了,更新如下 :
http://www.tradu-france.com/index.php?page=fullstory&id=533
- Changement de nom (Yabause --> Kronos) dans les chaînes de traductions.
- Fonctionnalité : bascule automatiquement entre le mode 50 Hz (PAL) et 60 Hz (NTSC).
- Suppression de l'option Format Vidéo dans l'onglet Vidéo (remplacer par le changement auto).
- Suppression du port Android (Devmiyax le développeur de Yaba Sanshiro a crée une version Android).
- Suppression du port GLFW (Version abandonné par le développeur d'origine).
- Suppression du port GTK (Version abandonné par le développeur d'origine).
- Suppression du port MAC (Version abandonné par le développeur d'origine).
- Correction d'un problème graphique avec des parties en arrière plan manquant pour le jeu Sega Ages Afterburner 2 (Devmiyax - Yaba Sanshiro).
- Correction d'un problème de rotation de l'avion pour le jeu Sega Ages Afterburner 2 (Devmiyax - Yaba Sanshiro).
- Correction d'un problème d'affichage de l'écran Press Start avec les jeux Sega Ages (Devmiyax - Yaba Sanshiro).
2018年2月22日 星期四
Mednafen 1.21.0-UNSTABLE
多機種模擬器 Mednafen 發布新版,更新如下 :
Notable changes since 0.9.48:
https://forum.fobby.net/index.php?t=rview&goto=5427&th=1652#msg_5427
Notable changes since 0.9.48:
- Migrated to SDL2(building from source requires 2.0.5+).
- An attempt to run an instance of Mednafen while another instance is already running with the same base directory is now blocked during startup, via a lock file; note that this check occurs after stdout and stderr are potentially redirected to stdout.txt and stderr.txt on Windows.
- Removed the "overlay" video driver.
- Changed the default value of setting "video.driver" from "opengl" to "default", removed the old "0" and "1" backwards-compatibility value aliases, renamed the "sdl" driver to "softfb"(without backwards-compat aliases), and made it so the setting's value will be reset to "default" after automatically importing settings from "mednafen-09x.cfg".
- Added setting "video.fs.display".
- Added settings "fps.autoenable", "fps.position", "fps.scale", "fps.font", "fps.textcolor", and "fps.bgcolor".
- Added support for pasting text into the cheat and netplay consoles.
- On Windows, Mednafen will now output text to a console if it's started from a console(e.g. cmd.exe or Cygwin), and if not, write to stdout.txt and stderr.txt like before.
- On Windows, error messages during startup will now be displayed in a popup message box.
- On Windows, Mednafen now uses Unicode variants of CRT and Win32 functions; this may require the user to update path settings and convert their CUE sheets to UTF-8 if filenames use exotic(e.g. not directly typable on a standard US-layout keyboard) characters.
- For key bindings relating to the debugger and cheat management interface, the Right ALT key modifier will no longer be respected(only the Left ALT has any effect now), for internationalization reasons.
- Configuration file is now named "mednafen.cfg" again, instead of "mednafen-09x.cfg"; if "mednafen.cfg" doesn't exist or is for an old version(earlier than 0.9.0) of Mednafen, the settings will be loaded from "mednafen-09x.cfg" on startup, but still saved to "mednafen.cfg" on exit.
- Reworked the input mapping setting format to be more human-readable(and editable). Details are in the documentation, in the "Advanced Usage" section. Old input mappings will be translated internally, except for keyboard mappings, due to incompatibilities between how SDL 1.2 and 2 handle keyboards.
- Added support for mapping joystick axes and buttons, mouse buttons, and keyboard keys to emulated mouse device relative motion for testing purposes(via manually editing the configuration file, as the in-emulator configuration process currently won't create such mappings).
- Added support for digital button input mappings that mix AND, ANDNOT, and OR-style operations together(previously it was either just AND or OR); refer to the documentation for more details. Note that the in-emulator configuration process won't create complex mappings that mix different boolean operations, but you can map combinations using simpler logic in-emulator, and then edit the configuration file to adjust the boolean operations used.
- Altered calculations involving *.xscale(fs)/*.yscale(fs) settings to be more predictable given floating point nuances; any user using non-integer scaling values for these settings may need to adjust them to get the same result as in previous versions of Mednafen, however.
- Fixed broken cheat file saving on MS Windows.
- PCE_FAST: Fixed fubared mouse emulation.
- PC-FX: Fixed integer overflows that caused fatal division by zero when Mednafen's cheat functionality was used(a regression introduced around 0.9.39).
- SS: Fixed a logic error in the BIOS sanity check code that caused it to throw a less helpful error message than intended in certain circumstances, and made the error messages related to BIOS file misconfiguration more verbose(and hopefully more helpful...).
- SS: Fixed at least one background layer graphical glitch in "Radiant Silvergun"(at the start of stage 2C).
- SS: Fixed the graphical glitch near the end of the intro in "Snatcher".
- SS: Added Japanese keyboard(HSS-0129) emulation.
2018年2月20日 星期二
RetroArch 1.7.1
多平台多機種模擬器 RetroArch 發布新版,更新如下 :
– 3DS: Now correctly reports amount of CPU cores.
– 3DS: Frontend rating is now correctly implemented for both New 3DS/2DS and Old 3DS/2DS.
– 3DS: Initial networking support, HTTP requests won’t work yet.
– 3DS: Now reports memory and battery state.
– AUDIO: Added ‘Audio Resampler Quality’ setting to Audio Settings. Setting this higher will increase sound quality at the expense of sound latency and/or performance. Setting this value lower will improve sound latency/performance at the expense of sound quality. Only has an effect if the Sinc resampler is used, and you have to restart the game for changes to take effect.
– CHEEVOS: Fix unofficial achievements not being loaded.
– CHEEVOS: Show savestate menu entries when no achievements are found even if hardcore mode is enabled.
– CHEEVOS: Support Neo Geo Pocket.
– COMMON: Bugfix for issue related to ‘Windows mouse pointer visible when running MESS or MAME cores’.
– COMMON: Fix bug ‘Last item in a Playlist is ignored’.
– COMMON: New LED API. Driver implemented for Raspberry Pi, proof of concept implemented for core MAME 2003.
– COMMON: Add quick menu option to watch shader files for changes and recompile them automatically (Linux only for now).
– D3D8: Direct3D 8 can now work on systems that have Direct3D 8 installed.
– D3D9: Add menu support for MaterialUI/XMB.
– D3D10: Initial video driver implementation.
– D3D11: Initial video driver implementation.
– D3D11: SPIRV-Cross/slang shader support for D3D11.
– D3D12: Initial video driver implementation.
– DINPUT: don’t reinitialize input driver on network events / media insertion / network drive connection
– INPUT: show friendly names when available under input binds and system information
– INPUT: show the config name when available under system information
– GUI: Allow changing menu font color.
– GUI: Menu visibility options for RGUI and MaterialUI.
– GUI/MaterialUI: Works now with D3D8, D3D9 Cg, D3D11 and D3D12 drivers.
– GUI/XMB: Add Monochrome Inverted icon theme.
– GUI/XMB: Allow changing menu scale to 200%.
– GUI/XMB: Works now with D3D8, D3D9 Cg, D3D11 and D3D12 drivers. Menu shader effects currently don’t work on D3D8/D3D9 Cg.
– HAIKU: Restored port.
– KEYMAPPER: prevent a condition that caused input_menu_toggle to stop working when a RETRO_DEVICE_KEYBOARD type device is enabled
– GL: ignore hard gpu sync when fast-forwarding
– IOS10/11: Handle hardware keyboards and iCade controllers
– LOCALIZATION: Update Italian translation.
– LOCALIZATION: Update Japanese translation.
– LOCALIZATION: Update Portuguese-Brazilian translation.
– LOCALIZATION: Update Spanish translation.
– NETPLAY: Add menu option to select different MITM (relay) server locations.
– OSX: Modify HID buttons detection algorithm.
– QB: Added –datarootdir.
– QB: Added –bindir and –mandir and deprecated –with-bin_dir and –with-man_dir.
– QB: Added –docdir.
– SHADERS: Allow saving of shader presets based on the parent directory (Saving one for */foo/bar/mario.sfc* would result in *shaders/presets/corename/bar.ext*). We decided it’s safer to still isolate the presets to a single core because different cores may treat video output differently.
– SHADERS: Don’t save the path to the current preset to the main config. This was causing weird behavior, instead it will try to load *currentconfig.ext* and it will save a preset with that name when select *apply shader preset*. The resulting shader will restore properly after restarting and even after core/parent/game specific presets are loaded
– SOLARIS: Initial port.
– SWITCH: Initial Nintendo Switch port, based on libtransistor SDK.
– PS3: Enable Cheevos.
– PSP: Enable threading support through pthreads.
– SHADERS: SPIRV-Cross/slang shader support for D3D11.
– SHIELD ATV: Allow the remote / gamepad takeover hack to work with the 2017 gamepad
– SUBSYSTEM: Subsystem saves now respect the save directory
– SUBSYSTEM: You can now load subsystem games from the menu (see https://github.com/libretro/RetroArch/pull/6282 for caveats)
– VULKAN: Fix swapchain recreation bug on Nvidia GPUs with Windows 10 (resolved in Windows Nvidia driver version 390.77).
– WINDOWS: Improved Unicode support (for cores/directory creation and 7zip archives).
– WINDOWS: Show progress meter on taskbar for downloads (Windows 7 and up).
– WINDOWS: WS_EX_LAYERED drastically decreases performance, so only set it when needed (transparency in windowed mode).
– WIIU: Overlay support.
– WIIU: Transparency support in menu + overlays.
– WIIU: Increased stability during core switching.
– WIIU: Shader support.
– WIIU: Menu shader effects added (shaders).
– WIIU: Add missing time/clock support. (also fixes RTC [Real Time Clock] in Gambatte)
– XBOX OG: Restored port.
– 3DS: Now correctly reports amount of CPU cores.
– 3DS: Frontend rating is now correctly implemented for both New 3DS/2DS and Old 3DS/2DS.
– 3DS: Initial networking support, HTTP requests won’t work yet.
– 3DS: Now reports memory and battery state.
– AUDIO: Added ‘Audio Resampler Quality’ setting to Audio Settings. Setting this higher will increase sound quality at the expense of sound latency and/or performance. Setting this value lower will improve sound latency/performance at the expense of sound quality. Only has an effect if the Sinc resampler is used, and you have to restart the game for changes to take effect.
– CHEEVOS: Fix unofficial achievements not being loaded.
– CHEEVOS: Show savestate menu entries when no achievements are found even if hardcore mode is enabled.
– CHEEVOS: Support Neo Geo Pocket.
– COMMON: Bugfix for issue related to ‘Windows mouse pointer visible when running MESS or MAME cores’.
– COMMON: Fix bug ‘Last item in a Playlist is ignored’.
– COMMON: New LED API. Driver implemented for Raspberry Pi, proof of concept implemented for core MAME 2003.
– COMMON: Add quick menu option to watch shader files for changes and recompile them automatically (Linux only for now).
– D3D8: Direct3D 8 can now work on systems that have Direct3D 8 installed.
– D3D9: Add menu support for MaterialUI/XMB.
– D3D10: Initial video driver implementation.
– D3D11: Initial video driver implementation.
– D3D11: SPIRV-Cross/slang shader support for D3D11.
– D3D12: Initial video driver implementation.
– DINPUT: don’t reinitialize input driver on network events / media insertion / network drive connection
– INPUT: show friendly names when available under input binds and system information
– INPUT: show the config name when available under system information
– GUI: Allow changing menu font color.
– GUI: Menu visibility options for RGUI and MaterialUI.
– GUI/MaterialUI: Works now with D3D8, D3D9 Cg, D3D11 and D3D12 drivers.
– GUI/XMB: Add Monochrome Inverted icon theme.
– GUI/XMB: Allow changing menu scale to 200%.
– GUI/XMB: Works now with D3D8, D3D9 Cg, D3D11 and D3D12 drivers. Menu shader effects currently don’t work on D3D8/D3D9 Cg.
– HAIKU: Restored port.
– KEYMAPPER: prevent a condition that caused input_menu_toggle to stop working when a RETRO_DEVICE_KEYBOARD type device is enabled
– GL: ignore hard gpu sync when fast-forwarding
– IOS10/11: Handle hardware keyboards and iCade controllers
– LOCALIZATION: Update Italian translation.
– LOCALIZATION: Update Japanese translation.
– LOCALIZATION: Update Portuguese-Brazilian translation.
– LOCALIZATION: Update Spanish translation.
– NETPLAY: Add menu option to select different MITM (relay) server locations.
– OSX: Modify HID buttons detection algorithm.
– QB: Added –datarootdir.
– QB: Added –bindir and –mandir and deprecated –with-bin_dir and –with-man_dir.
– QB: Added –docdir.
– SHADERS: Allow saving of shader presets based on the parent directory (Saving one for */foo/bar/mario.sfc* would result in *shaders/presets/corename/bar.ext*). We decided it’s safer to still isolate the presets to a single core because different cores may treat video output differently.
– SHADERS: Don’t save the path to the current preset to the main config. This was causing weird behavior, instead it will try to load *currentconfig.ext* and it will save a preset with that name when select *apply shader preset*. The resulting shader will restore properly after restarting and even after core/parent/game specific presets are loaded
– SOLARIS: Initial port.
– SWITCH: Initial Nintendo Switch port, based on libtransistor SDK.
– PS3: Enable Cheevos.
– PSP: Enable threading support through pthreads.
– SHADERS: SPIRV-Cross/slang shader support for D3D11.
– SHIELD ATV: Allow the remote / gamepad takeover hack to work with the 2017 gamepad
– SUBSYSTEM: Subsystem saves now respect the save directory
– SUBSYSTEM: You can now load subsystem games from the menu (see https://github.com/libretro/RetroArch/pull/6282 for caveats)
– VULKAN: Fix swapchain recreation bug on Nvidia GPUs with Windows 10 (resolved in Windows Nvidia driver version 390.77).
– WINDOWS: Improved Unicode support (for cores/directory creation and 7zip archives).
– WINDOWS: Show progress meter on taskbar for downloads (Windows 7 and up).
– WINDOWS: WS_EX_LAYERED drastically decreases performance, so only set it when needed (transparency in windowed mode).
– WIIU: Overlay support.
– WIIU: Transparency support in menu + overlays.
– WIIU: Increased stability during core switching.
– WIIU: Shader support.
– WIIU: Menu shader effects added (shaders).
– WIIU: Add missing time/clock support. (also fixes RTC [Real Time Clock] in Gambatte)
– XBOX OG: Restored port.
訂閱:
文章 (Atom)