Jump to content

ZSNES v1.51 SPC7110 Test v5 released


Recommended Posts

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.zip

DOS: 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 v4

Okay, _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_codger

Implementation by neviksti, Nach, and TRAC

With 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).gz

Sub File: Far East of Eden Zero (J)

---------------------Internal ROM Info----------------------

Name: HU TENGAI MAKYO ZERO Company: Hudson Soft

Header: None Bank: HiROM

Interleaved: None ROM: 40 Mb

Type: SPC7110 + RTC SRAM: 64 Kb

Expansion: None Battery: Present

Country: Japan Video: NTSC

ROM Speed: 120ns (FastROM) Revision: 1.0

Checksum: Good 0xDE89 Game Code: Marked, AZRJ

---------------------------Hashes---------------------------

CRC32: 1E327BD9

MD5: 29998124A67DEDA111D5ACA8AAF5DCA5

RIPEMD: 4B4BFFEAC1B74E840F4E717BB19E6CC6475BEE43

SHA-1: 91FF16DA242D39736AEAD4D360BF6BF7C0AFCE82

SHA-256: 8620203DA71D32D017BB21F542864C1D90705B87EB67815D06 B43F09120318AA

SHA-512: 9A9D7BD00C1D5B89D04A721D84D1938E103F09BAEB286BDD81 762BD68EF6C4C0

B255C939350EE5A8474E14DD4B08AA6D44DFE1AADD05C765B8 8958F04F3EDEDC

Tiger: 7B8878874CE01F2A6945B163CEE43823955A980079FD17A1

Whirlpool: E441C19D24BB0E70411FFF1D0B42B35937170456206C2127AF 91983C81BEAC60

E7A6F849427E962A09D9E22D55B30004D472A3960D73C91A33 9834ED35E51C87

--------------------------Database--------------------------

Name: Far East of Eden Zero

Country: Japan Revision: 1.0

Port 1: Gamepad Port 2: Gamepad

Genre 1: RPG Genre 2: Unknown

 

-------------------------Container--------------------------

File: Far East of Eden Zero - Shounen Jump no Shou (J).gz

Sub File: Far East of Eden Zero - Shounen Jump no Shou (J)

---------------------Internal ROM Info----------------------

Name: JUMP TENGAIMAKYO ZERO Company: Hudson Soft

Header: None Bank: HiROM

Interleaved: None ROM: 40 Mb

Type: SPC7110 + RTC SRAM: 64 Kb

Expansion: None Battery: Present

Country: Japan Video: NTSC

ROM Speed: 120ns (FastROM) Revision: 1.0

Checksum: Good 0x2EE2 Game Code: Marked, AZQJ

---------------------------Hashes---------------------------

CRC32: BF8FEF7A

MD5: A7438CD69E608BD2B268DDC0ED05C2CD

RIPEMD: E283BF95078D166AD748E344ED9827B3374B45D9

SHA-1: 36E5099128088B95623FF77F8196FCECD3F26731

SHA-256: 69D06A3F3A4F3BA769541FE94E92B42142E423E9F0924EAB97 865B2D826EC82D

SHA-512: 61129E6CC759C65BCA4208B7C433CF0550B7A6E949E09B2F3E 4A08FD4445D308

BF663C2C19956BEA8348BF2991E538D5FC680D59BC828B8F67 B4EC6A7CBEC019

Tiger: 8412D4B472EC69C9632A64EA87E375FF6DA9D15B147B17B5

Whirlpool: BF8EA37FCCD8209AA560836D4240FF69A6BBAE6751BBEAB851 C36D551E7FBC0B

48492136A289C66A1109B4A733D062B1608AB260C22A5084CE E35BC205AE7FCE

--------------------------Database--------------------------

Name: Far East of Eden Zero - Shounen Jump no Shou

Country: Japan Revision: 1.0

Port 1: Gamepad Port 2: Gamepad

Genre 1: RPG Genre 2: Unknown

 

-------------------------Container--------------------------

File: Momotarou Dentetsu Happy (J).gz

Sub File: Momotarou Dentetsu Happy (J)

---------------------Internal ROM Info----------------------

Name: MOMOTETSU HAPPY Company: Hudson Soft

Header: None Bank: HiROM

Interleaved: None ROM: 24 Mb

Type: SPC7110 SRAM: 64 Kb

Expansion: None Battery: Present

Country: Japan Video: NTSC

ROM Speed: 120ns (FastROM) Revision: 1.0

Checksum: Good 0xE28C Game Code: Marked, AH8J

---------------------------Hashes---------------------------

CRC32: 0B8D1474

MD5: 18862A20E311F8CA08D064190C25504F

RIPEMD: 47BCFF141F8EDD2C39A476E0D16C95E9766D4D57

SHA-1: A0EEBF715C93751C6423DC277717E365D69C735F

SHA-256: 9FC7A66464E71D0F056FED2B560F527A5AF69034C96293A273 1107479763A9D8

SHA-512: B354DEBEA0430D7E54B4D4B646FE27FDFBBE9E1BA778C8B388 C173B982827A16

5DA5F588FD4DBCFF5311EA9B1B0E4625B9BDC38635D0B9A5C3 985D5D9C6F135C

Tiger: 2FC55D6A656BF7DA4CABA92A5139EB9DA0CAFE9B716010F1

Whirlpool: 4D4C68401B267FDA2F2777A770A174F534DFD97245F1B6E530 307A20BE819CA9

673D4BD9BD7F7561E3F2D375C40B4CDA43B9B7C09F7E9567A6 5529C2A08F1B15

--------------------------Database--------------------------

Name: Momotarou Dentetsu Happy

Country: Japan Revision: 1.0

Port 1: Gamepad Port 2: Gamepad

Genre 1: Board Game Genre 2: Unknown

 

-------------------------Container--------------------------

File: Super Power League 4 (J).gz

Sub File: Super Power League 4 (J)

---------------------Internal ROM Info----------------------

Name: SUPER POWER LEAG 4 Company: Hudson Soft

Header: None Bank: HiROM

Interleaved: None ROM: 16 Mb

Type: SPC7110 SRAM: 64 Kb

Expansion: None Battery: Present

Country: Japan Video: NTSC

ROM Speed: 120ns (FastROM) Revision: 1.0

Checksum: Good 0x01AA Game Code: Marked, AE7J

---------------------------Hashes---------------------------

CRC32: C07F099D

MD5: FEBCA3A92D34FFA119891247D9B27D09

RIPEMD: B62CD87A62ED17AECD7EB0C0D99D97E220B7A705

SHA-1: 632061AE4892EC6CD75616DA66F7BE5C75E8D7AF

SHA-256: 0847C8F8021AF9C7C139C98312E4974308650C2CBCB617161B B56C46626258BB

SHA-512: 26D9FD331BF78D6BD5D1545638C1D5AE80A5399A5A550C5082 8A439124287931

8BCB224AC43874FB0F3CE4C6649A54ABC5D9887DD1247EDB70 5D6891EB687DBF

Tiger: BE71AE8FA36AAE7DA599905228E7DC287F7A6D34CB877EFA

Whirlpool: 9EA72BA133C75DBA075507E5536267155040A8934C821AE1F5 8989CB1EFFE242

D42D3FE0EB664ED1961E339DD8C57B58109218AA8ACE6EED5A 08946EBE198B4B

--------------------------Database--------------------------

Name: Super Power League 4

Country: Japan Revision: 1.0

Port 1: Gamepad Port 2: Gamepad

Genre 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

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...