Devia Eleven Posted August 14, 2008 Share Posted August 14, 2008 Changelog ZSNES v1.51, with the SPC7110 v5 Okay, at long last, I think I finally completed all the SPC7110 programming and tweaking (famous last words). If you find any issues, let me know, and I´ll try to fix it (sigh). Windows: http://zsnes.sourceforge.net/zsnesw-spc7110-5.zipDOS: http://zsnes.sourceforge.net/zsnes-spc7110-5.zip Changes:_Demo_ and I optimized the code even more, to the extent that we don´t think there´s anything else significant we can do.Fixed a bug with save states/rewind that Deathlike found.Removed the gfx packs stuff from the GUI and config file.Added to the config file an option to turn off the graphics cache.The cache isn´t used if there´s not enough free memory, but you can play SPC7110 games anyway.Cleanup. Post results of speeds with the cache on and off (changing the setting requires ZSNES to be restarted). I´d appreciate if people with sub 1 GHz machines can post some FPS and CPU info with and without cache. Todo:Post source changes for people who want them.Coordinate with some translation teams to get the 4 SPC7110 games translated. If you need a special build of ZSNES for something, or some info which I can provide, let me know.Party?---------------------------------------------------------------------------------------------- ZSNES v1.51, with the SPC7110 v4Okay, _Demo_ pointed out some relics of neviksti´s code still in our optimized version. I rewrote some of the tightest loops to use 64 less bytes of memory, and only loop 25% of the amount of loops it was currently doing. http://zsnes.sourceforge.net/zsnesw-spc7110-4.zip Let me know if I broke anything. If you also were getting a slow down on initial load in the previous build, that should be cut down now. Test with the cache deleted, and let me know how it works.--------------------------------------------------------------------------------------------- ZSNES v1.51, with the SPC7110 v3 Okay, anomie and I rewrote pretty much all of neviksti´s code and seriously optimized it like nuts. We still have a little bit more that we can optimize (and hopefully will), but we´re MUCH faster now. http://zsnes.sourceforge.net/zsnesw-spc7110-3.zip This build offers over the previous build even more optimized decompression, and a persistent cache (which at this point I don´t think we really need anymore). Let me know what kind of FPS you get now, and how much CPU usage it takes (and list which CPU and MHz you have). Also, please test save states and all that. We´re almost done here. Once I am, I´ll figure out exactly what it is that I changed, so I can package a new source release. If you run into any issues, let me know. If the persistent cache for whatever reason is causing issues, delete the *.idx and *.gfx files, and let me know about it. Thanks.------------------------------------------------------------------------------------------- ZSNES v1.51, with the SPC7110 v2 Okay, I got a new build up. Thanks for the feedback everyone. http://zsnes.sourceforge.net/zsnesw-spc7110-2.zip I optimized neviksti´s decompression code a bit more, but this isn´t the good part. I wrote a completely new caching algorithm which is able to cache the complete decompressed data for any game, and search for entries with an upper bound of O(6). What this means, is that once the game already saw a graphic, it´ll be able to recall it instantly. Some initial screens may be slow, but if you ever come there again, it should be full speed. So for example, the first time or two watching the FEoEZ intro, I would have it dipping to 55 FPS on occasion, but after that, all repeat loops are full speed. Also, how long it dips for initially should be less as well, since the games keep on re-decompressing graphics multiple times on each screen, now, that´s been completely eliminated. Hold down fast forward, you may be surprised. In SPL4, in the field, I´m now able to get 196/60 FPS. I also redid the save state code again. It should now generate save states approximately 64KB smaller than before, which are obviously incompatible with previous build. I also double checked the movie code, so that should work too, unlike the previous build which had some issues there. Todo:Finish optimizing neviksti´s decompresser so initial loads are even quicker.Perhaps offer an option to save the cache to disk, so every time you reload a game, it doesn´t have to rebuild it. Let me know if you guys want this or not.Clean out the old pack path stuff from the GUI and the config file. Let me know how this new build is working for you, if there´s any issues or not. Please post your results with FPS, and your CPU, and what you think of it. Thanks. Edit:Er, redownload that, byuu caught a bug that I broke the Press A test if you started a game without an SRM. That´s fixed now.------------------------------------------------------------------------------------------------ ZSNES v1.51, with the SPC7110 This is v1.51, with the SPC7110 pack loading code removed (although I didn´t remove the GUI stuff for it yet), and real decompression added. Save states with this version are not compatible with SPC7110 save states of pack loading versions, however SRMs should remain compatible. Thanks for the code is as follows:SPC7110:Research by Dark Force, zsKnight, and The Dumper.Implementation by zsKnight, Jonas Quinn, and Nach Decompression:Research by neviksti, Andreas Naive, and jolly_codgerImplementation by neviksti, Nach, and TRACWith lots of help from CaitSith2 I spent the better part of two days trying to optimize as much as I could the decompression code, since it was really slow, I was only getting 16 FPS on my 2.5 GHz machine in some cases. Now I get 60/60 and it uses ~20% CPU. Games are:Code: NSRT v3.5 - Nach´s SNES ROM Tools -------------------------Container--------------------------File: Far East of Eden Zero (J).gzSub File: Far East of Eden Zero (J)---------------------Internal ROM Info----------------------Name: HU TENGAI MAKYO ZERO Company: Hudson SoftHeader: None Bank: HiROMInterleaved: None ROM: 40 MbType: SPC7110 + RTC SRAM: 64 KbExpansion: None Battery: PresentCountry: Japan Video: NTSCROM Speed: 120ns (FastROM) Revision: 1.0Checksum: Good 0xDE89 Game Code: Marked, AZRJ---------------------------Hashes---------------------------CRC32: 1E327BD9MD5: 29998124A67DEDA111D5ACA8AAF5DCA5RIPEMD: 4B4BFFEAC1B74E840F4E717BB19E6CC6475BEE43SHA-1: 91FF16DA242D39736AEAD4D360BF6BF7C0AFCE82SHA-256: 8620203DA71D32D017BB21F542864C1D90705B87EB67815D06 B43F09120318AASHA-512: 9A9D7BD00C1D5B89D04A721D84D1938E103F09BAEB286BDD81 762BD68EF6C4C0B255C939350EE5A8474E14DD4B08AA6D44DFE1AADD05C765B8 8958F04F3EDEDCTiger: 7B8878874CE01F2A6945B163CEE43823955A980079FD17A1Whirlpool: E441C19D24BB0E70411FFF1D0B42B35937170456206C2127AF 91983C81BEAC60E7A6F849427E962A09D9E22D55B30004D472A3960D73C91A33 9834ED35E51C87--------------------------Database--------------------------Name: Far East of Eden ZeroCountry: Japan Revision: 1.0Port 1: Gamepad Port 2: GamepadGenre 1: RPG Genre 2: Unknown -------------------------Container--------------------------File: Far East of Eden Zero - Shounen Jump no Shou (J).gzSub File: Far East of Eden Zero - Shounen Jump no Shou (J)---------------------Internal ROM Info----------------------Name: JUMP TENGAIMAKYO ZERO Company: Hudson SoftHeader: None Bank: HiROMInterleaved: None ROM: 40 MbType: SPC7110 + RTC SRAM: 64 KbExpansion: None Battery: PresentCountry: Japan Video: NTSCROM Speed: 120ns (FastROM) Revision: 1.0Checksum: Good 0x2EE2 Game Code: Marked, AZQJ---------------------------Hashes---------------------------CRC32: BF8FEF7AMD5: A7438CD69E608BD2B268DDC0ED05C2CDRIPEMD: E283BF95078D166AD748E344ED9827B3374B45D9SHA-1: 36E5099128088B95623FF77F8196FCECD3F26731SHA-256: 69D06A3F3A4F3BA769541FE94E92B42142E423E9F0924EAB97 865B2D826EC82DSHA-512: 61129E6CC759C65BCA4208B7C433CF0550B7A6E949E09B2F3E 4A08FD4445D308BF663C2C19956BEA8348BF2991E538D5FC680D59BC828B8F67 B4EC6A7CBEC019Tiger: 8412D4B472EC69C9632A64EA87E375FF6DA9D15B147B17B5Whirlpool: BF8EA37FCCD8209AA560836D4240FF69A6BBAE6751BBEAB851 C36D551E7FBC0B48492136A289C66A1109B4A733D062B1608AB260C22A5084CE E35BC205AE7FCE--------------------------Database--------------------------Name: Far East of Eden Zero - Shounen Jump no ShouCountry: Japan Revision: 1.0Port 1: Gamepad Port 2: GamepadGenre 1: RPG Genre 2: Unknown -------------------------Container--------------------------File: Momotarou Dentetsu Happy (J).gzSub File: Momotarou Dentetsu Happy (J)---------------------Internal ROM Info----------------------Name: MOMOTETSU HAPPY Company: Hudson SoftHeader: None Bank: HiROMInterleaved: None ROM: 24 MbType: SPC7110 SRAM: 64 KbExpansion: None Battery: PresentCountry: Japan Video: NTSCROM Speed: 120ns (FastROM) Revision: 1.0Checksum: Good 0xE28C Game Code: Marked, AH8J---------------------------Hashes---------------------------CRC32: 0B8D1474MD5: 18862A20E311F8CA08D064190C25504FRIPEMD: 47BCFF141F8EDD2C39A476E0D16C95E9766D4D57SHA-1: A0EEBF715C93751C6423DC277717E365D69C735FSHA-256: 9FC7A66464E71D0F056FED2B560F527A5AF69034C96293A273 1107479763A9D8SHA-512: B354DEBEA0430D7E54B4D4B646FE27FDFBBE9E1BA778C8B388 C173B982827A165DA5F588FD4DBCFF5311EA9B1B0E4625B9BDC38635D0B9A5C3 985D5D9C6F135CTiger: 2FC55D6A656BF7DA4CABA92A5139EB9DA0CAFE9B716010F1Whirlpool: 4D4C68401B267FDA2F2777A770A174F534DFD97245F1B6E530 307A20BE819CA9673D4BD9BD7F7561E3F2D375C40B4CDA43B9B7C09F7E9567A6 5529C2A08F1B15--------------------------Database--------------------------Name: Momotarou Dentetsu HappyCountry: Japan Revision: 1.0Port 1: Gamepad Port 2: GamepadGenre 1: Board Game Genre 2: Unknown -------------------------Container--------------------------File: Super Power League 4 (J).gzSub File: Super Power League 4 (J)---------------------Internal ROM Info----------------------Name: SUPER POWER LEAG 4 Company: Hudson SoftHeader: None Bank: HiROMInterleaved: None ROM: 16 MbType: SPC7110 SRAM: 64 KbExpansion: None Battery: PresentCountry: Japan Video: NTSCROM Speed: 120ns (FastROM) Revision: 1.0Checksum: Good 0x01AA Game Code: Marked, AE7J---------------------------Hashes---------------------------CRC32: C07F099DMD5: FEBCA3A92D34FFA119891247D9B27D09RIPEMD: B62CD87A62ED17AECD7EB0C0D99D97E220B7A705SHA-1: 632061AE4892EC6CD75616DA66F7BE5C75E8D7AFSHA-256: 0847C8F8021AF9C7C139C98312E4974308650C2CBCB617161B B56C46626258BBSHA-512: 26D9FD331BF78D6BD5D1545638C1D5AE80A5399A5A550C5082 8A4391242879318BCB224AC43874FB0F3CE4C6649A54ABC5D9887DD1247EDB70 5D6891EB687DBFTiger: BE71AE8FA36AAE7DA599905228E7DC287F7A6D34CB877EFAWhirlpool: 9EA72BA133C75DBA075507E5536267155040A8934C821AE1F5 8989CB1EFFE242D42D3FE0EB664ED1961E339DD8C57B58109218AA8ACE6EED5A 08946EBE198B4B--------------------------Database--------------------------Name: Super Power League 4Country: Japan Revision: 1.0Port 1: Gamepad Port 2: GamepadGenre 1: Sports Genre 2: Baseball Report how things work. What kind of FPS do you get. Which CPU do you have? How much CPU does it use? Also play around the games a bit and see if something isn´t decompressing. I´m hoping I didn´t cut any important corners, so if a graphic appears missing, or severely garbled, please let me know. Also test save states and make sure they´re working good. Thanks guys. Download Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now