Latest version of ZSNES, get it here. (WIP)

General area for talk about ZSNES. The best place to ask for related questions as well as troubleshooting.

Moderator: ZSNES Mods

Nach
ZSNES Developer
ZSNES Developer
Posts: 3904
Joined: Tue Jul 27, 2004 10:54 pm
Location: Solar powered park bench
Contact:

Post by Nach »

Here's the patch since you seem to want it real bad:

Code: Select all

Index: guiwindp.inc
===================================================================
RCS file: /cvsroot/zsnes/zsnes/src/gui/guiwindp.inc,v
retrieving revision 1.200
retrieving revision 1.201
diff -r1.200 -r1.201
5584c5584
<     push ecx ;need to save register for when called by the following macro
---
>     push ecx                    ;Needed for the macro below
5592c5592,5596
<     GUIOuttextwin2 %1,%2-1,%3-1,%4
---
>     push esi
>     mov esi,%2
>     dec esi
>     GUIOuttextwin2 %1,esi,%3-1,%4
>     pop esi
5597c5601
<     mov ecx,%4
---
>     mov ecx,%4                  ;Move pointer to text into ecx
5599c5603
<     cmp byte[ecx],0
---
>     cmp byte[ecx],0             ;Check for null in string
5601c5605
<     inc ecx
---
>     inc ecx
5604c5608,5610
<     sub ecx,%5
---
>     push eax
>     mov eax,ecx                 ;Move pointer to null into eax
>     sub ecx,%5                  ;Move ecx pointer back by length to display
5607c5613
<     mov ecx,%4
---
>     mov ecx,%4                  ;If pointer is before beginning, reset pointer to beginning
5608a5615,5616
>     sub eax,ecx                 ;Subtract new pointer from old null pointer which gives us length of chars
>     push eax
5609a5618,5636
>     pop eax
>     push ebx
>     pop ecx
>     call BlinkCursorCheck
>     cmp ebx,%4
>     pop ebx
>     jne %%fixreg
>     cmp byte[GUIBlinkCursor],' '
>     je %%three
>     mov byte[GUIBlinkCursor],' '
>     jmp %%four
> %%three
>     mov byte[GUIBlinkCursor],'_'
> %%four
>     imul eax,6
>     add eax,%2
>     push ecx
>     mov ecx,eax
>     GUIOuttextwin2c %1,ecx,%3,GUIBlinkCursor
5610a5638,5639
> %%fixreg
>     pop eax
6323a6353,6415
> BlinkCursorCheck:
>     cmp dword[GUIInputBox],0
>     jne .checkboxes
>     mov ebx,0
>     ret
>
> .checkboxes
>     cmp dword[GUIInputBox],1
>     jne .notBox1
>     mov ebx,SRAMPath
>     ret
> .notBox1
>     cmp dword[GUIInputBox],2
>     jne .notBox2
>     mov ebx,SnapPath
>     ret
> .notBox2
>     cmp dword[GUIInputBox],3
>     jne .notBox3
>     mov ebx,SPCPath
>     ret
> .notBox3
>     cmp dword[GUIInputBox],4
>     jne .notBox4
>     mov ebx,BSXPath
>     ret
> .notBox4
>     cmp dword[GUIInputBox],5
>     jne .notBox5
>     mov ebx,SGPath
>     ret
> .notBox5
>     cmp dword[GUIInputBox],6
>     jne .notBox6
>     mov ebx,STPath
>     ret
> .notBox6
>     cmp dword[GUIInputBox],7
>     jne .notBox7
>     mov ebx,GNextPath
>     ret
> .notBox7
>     cmp dword[GUIInputBox],8
>     jne .notBox8
>     mov ebx,FEOEZPath
>     ret
> .notBox8
>     cmp dword[GUIInputBox],9
>     jne .notBox9
>     mov ebx,SJNSPath
>     ret
> .notBox9
>     cmp dword[GUIInputBox],10
>     jne .notBox10
>     mov ebx,MDHPath
>     ret
> .notBox10
>     cmp dword[GUIInputBox],11
>     jne .notBox11
>     mov ebx,SPL4Path
> .notBox11
>     ret
>
6361,6362c6453,6454
<     DrawGUIWinBox  19,7,94,101,106,177
<     DrawGUIWinBox  19,7,119,101,131,177
---
>     DrawGUIWinBox  19,7,94,107,106,177
>     DrawGUIWinBox  19,7,119,107,131,177
6365,6366c6457,6458
<     DrawGUIWinBox  19,7,154,101,166,177
<     DrawGUIWinBox  19,7,179,101,191,177
---
>     DrawGUIWinBox  19,7,154,107,166,177
>     DrawGUIWinBox  19,7,179,107,191,177
6374,6375c6466,6467
<     DrawGUIWinBox  19,8,95,100,105,167
<     DrawGUIWinBox  19,8,120,100,130,167
---
>     DrawGUIWinBox  19,8,95,106,105,167
>     DrawGUIWinBox  19,8,120,106,130,167
6378,6379c6470,6471
<     DrawGUIWinBox  19,8,155,100,165,167
<     DrawGUIWinBox  19,8,180,100,190,167
---
>     DrawGUIWinBox  19,8,155,106,165,167
>     DrawGUIWinBox  19,8,180,106,190,167
6383,6385c6475,6477
<     GUIOuttextwin2d 19,77,19,SRAMPath,26
<     GUIOuttextwin2d 19,77,39,SnapPath,26
<     GUIOuttextwin2d 19,77,59,SPCPath,26
---
>     GUIOuttextwin2d 19,77,19,SRAMPath,25
>     GUIOuttextwin2d 19,77,39,SnapPath,25
>     GUIOuttextwin2d 19,77,59,SPCPath,25
6410c6502
<
---
> NEWSYM GUIBlinkCursor, times 2 db 0
May 9 2007 - NSRT 3.4, now with lots of hashing and even more accurate information! Go download it.
_____________
Insane Coding
grinvader
ZSNES Shake Shake Prinny
Posts: 5632
Joined: Wed Jul 28, 2004 4:15 pm
Location: PAL50, dood !

Post by grinvader »

m(_v_)m
皆黙って俺について来い!!

Code: Select all

<jmr> bsnes has the most accurate wiki page but it takes forever to load (or something)
Pantheon: Gideon Zhi | CaitSith2 | Nach | kode54
Nach
ZSNES Developer
ZSNES Developer
Posts: 3904
Joined: Tue Jul 27, 2004 10:54 pm
Location: Solar powered park bench
Contact:

Post by Nach »

In ZSNES, baking the cake is usually pretty simple, but when you want to put the icing on it, better be ready for a long weekend.
May 9 2007 - NSRT 3.4, now with lots of hashing and even more accurate information! Go download it.
_____________
Insane Coding
DataPath
Lurker
Posts: 128
Joined: Wed Jul 28, 2004 1:35 am
Contact:

Post by DataPath »

heh.

Assembly makes easy things hard, and hard things not that much worse.
Nach
ZSNES Developer
ZSNES Developer
Posts: 3904
Joined: Tue Jul 27, 2004 10:54 pm
Location: Solar powered park bench
Contact:

Post by Nach »

Well, to make it easier to understand.

First got to get one of these at the end of text _

Need to make sure no matter where the end of the text is, it's displayed after it. Yet it can't be part of the string that appears on the screen, because we don't want to go wild handling backspace and issues what happens if the real last char is _

Now that a way was made up for the _ to appear always at the end, and only in the currently selected box of course, how to make it blink?

So I had to work all that out, which wasn't hard at all, but doing it in assembly, especially in ZSNES macros where register usage is really wacky and limited starts getting really complex.

For example, using a standard register as eax made the shadow of _ appear in a different location for some inexplicable reason. The algorithm was perfect, but I had to cycle through which register I could use where because of ZSNES macro hell. Ended up using the more exotic register edi after trial and error.


So first there's the actual work, which as you can see is a few steps, it's not a simple oh let's add a blinking _. Then there's the ZSNES quirks.
Oh yeah and all this is on top of actually finding the section you need to deal with in ZSNES which usually takes a while.
May 9 2007 - NSRT 3.4, now with lots of hashing and even more accurate information! Go download it.
_____________
Insane Coding
neo-y2k
New Member
Posts: 5
Joined: Sun Sep 26, 2004 8:16 am

yo

Post by neo-y2k »

has anyone got any ideas as to when a zsnes version will be released with 3+ players on netplay?
Nightcrawler
Romhacking God
Posts: 922
Joined: Wed Jul 28, 2004 11:27 pm
Contact:

Post by Nightcrawler »

My guess is a few days before never and I'm serious.
[url=http://transcorp.romhacking.net]TransCorp[/url] - Home of the Dual Orb 2, Cho Mahou Tairyku Wozz, and Emerald Dragon SFC/SNES translations.
[url=http://www.romhacking.net]ROMhacking.net[/url] - The central hub of the ROM hacking community.
Tallgeese
Justice is Blind
Posts: 620
Joined: Wed Jul 28, 2004 3:33 pm
Location: Test
Contact:

Post by Tallgeese »

Nightcrawler wrote:My guess is a few days before never and I'm serious.
Actually, back on the ZSNESboard before this one pagefault posted some tidbits of progress he was making on this.
Ichinisan
Veteran
Posts: 603
Joined: Wed Jul 28, 2004 8:54 am

Post by Ichinisan »

Yes. He said the first test was successful.
Shogetsu
Rookie
Posts: 29
Joined: Thu Jul 29, 2004 1:36 am

Post by Shogetsu »

Ichinisan wrote:Yes. He said the first test was successful.
But... wasn't it before the HDD crash? or was he able to recover that?
I'll tell you the meaning of life: It's not to live, but to die
ipher
ZSNES Developer
ZSNES Developer
Posts: 269
Joined: Wed Jul 28, 2004 2:37 am
Contact:

Post by ipher »

ZSNES Oct 19 WIP is now available @ ipher's WIP site

NOTE: While this WIP fixes the flickering in Star Fox 2, it still has major problems.

Here's whats new

10/18/04
General Code Cleanup [pagefault]
Fixed a strange crashing bug in 239 line games when interpolation is
enabled [pagefault]
More accurate way of calculating timing for CPU cycles [pagefault]
Remove warning about 32 bpp since it is no longer an issue [pagefault]
Starfox 2 flickering Fixed [pagefault]
Made battery for SFX more meaningful, fixed SRAM not being cleared. [Nach]
SuperFX 20mhz timing fix [pagefault]
Fixed GUI laggyness problems hopefully. (Linux) [pagefault]
Reset now doesn't reset parts of RAM that shouldn't be. [Nach]
Begin work of socket server for automation [pagefault]
Update copyright date and change text to 'ZSNES Team' on startup [pagefault, ipher]
-z now disables stereo sound insted of enabling it, because it is on by default anyway [pagefault]
Updated -m in help to be more specific [pagefault]
SDL port is now way more CPU usage friendly, no longer uses 100% [kode54, pagefault]
Removed breakpoints for Mario Chip 1 and GSU-1. [Nach]
Fixed the DSP-1 not getting unloaded error. [Nach]
Last edited by ipher on Wed Oct 20, 2004 9:59 pm, edited 1 time in total.
[url=http://www.ipherswipsite.com]ipher's WIP Site[/url]
Nach
ZSNES Developer
ZSNES Developer
Posts: 3904
Joined: Tue Jul 27, 2004 10:54 pm
Location: Solar powered park bench
Contact:

Post by Nach »

Make sure to checkout this thread http://board.zsnes.com/phpBB2/viewtopic.php?t=1037 now that you all have CVS.
May 9 2007 - NSRT 3.4, now with lots of hashing and even more accurate information! Go download it.
_____________
Insane Coding
Overload
Hazed
Posts: 70
Joined: Sat Sep 18, 2004 12:47 am
Location: Australia
Contact:

Post by Overload »

ipher wrote:ZSNES Oct 19 WIP is now available @ ipher's WIP site

NOTE: While this WIP fixes the flickering in Star Fox 2, it still has major problems. NO EMULATOR CURRENTLY PLAYS STAR FOX 2 PERFECTLY.
Just curious, what seems to be the problems associated with Star Fox 2, that no emulator plays it perfectly?
ipher
ZSNES Developer
ZSNES Developer
Posts: 269
Joined: Wed Jul 28, 2004 2:37 am
Contact:

Post by ipher »

if you mean "what are the problems found in emulators", the two that i found in EVERY emulator is on MacBeth, and in Fortuna. (easily available under the Test option)

in MacBeth, when you go into the underground base (after unlocking the hanger thing), the first room is empty, and half of the walls are invisible, no enemies to be found, and no way to continue.

in Fortuna, once you unlock the hanger thing, and you enter the base (which is underwater), you get stuck in a small area right after you "swim" into the base, no walls or enemies to be found.

if you meant technical reasons why it doesn't work, i have no clue :)

EDIT: Actually, im thinking that these two areas might just be incomplete... since the Tests are for "Normal" difficulty mode, and MacBeth and Fortuna are NEVER chosen as captured planets in Normal mode...

looks like more testing is needed :(
[url=http://www.ipherswipsite.com]ipher's WIP Site[/url]
Tallgeese
Justice is Blind
Posts: 620
Joined: Wed Jul 28, 2004 3:33 pm
Location: Test
Contact:

Post by Tallgeese »

Erm... I JUST checked. MacBeth loads fine on Expert Mode.
Nach
ZSNES Developer
ZSNES Developer
Posts: 3904
Joined: Tue Jul 27, 2004 10:54 pm
Location: Solar powered park bench
Contact:

Post by Nach »

Overload wrote:
ipher wrote:ZSNES Oct 19 WIP is now available @ ipher's WIP site

NOTE: While this WIP fixes the flickering in Star Fox 2, it still has major problems. NO EMULATOR CURRENTLY PLAYS STAR FOX 2 PERFECTLY.
Just curious, what seems to be the problems associated with Star Fox 2, that no emulator plays it perfectly?
I tried playing it in ZSNES, Snes9x, and Super Sleuth, and I had no problems. ipher and pagefault though said it was crashing for them in various places in all 3 of them.
May 9 2007 - NSRT 3.4, now with lots of hashing and even more accurate information! Go download it.
_____________
Insane Coding
grinvader
ZSNES Shake Shake Prinny
Posts: 5632
Joined: Wed Jul 28, 2004 4:15 pm
Location: PAL50, dood !

Post by grinvader »

Now that this thread has gone back to some kind of constant topic, here it goes:

ipher posts here. Devs post here. Other users should only report/discuss current WIP problems here (like with Darkfalz' aspect ratio code).
Anything other than that will cause a lock. "Anything" includes 'Thank you for the new WIP' posts.

Keep this clean and everything will be fine.
皆黙って俺について来い!!

Code: Select all

<jmr> bsnes has the most accurate wiki page but it takes forever to load (or something)
Pantheon: Gideon Zhi | CaitSith2 | Nach | kode54
ipher
ZSNES Developer
ZSNES Developer
Posts: 269
Joined: Wed Jul 28, 2004 2:37 am
Contact:

Post by ipher »

Notice to all WIP Users: There is a bug in the latest WIP which can delete SRAM files. This only occurs in the 10/19 WIP, and a fix should be out shortly.
[url=http://www.ipherswipsite.com]ipher's WIP Site[/url]
ipher
ZSNES Developer
ZSNES Developer
Posts: 269
Joined: Wed Jul 28, 2004 2:37 am
Contact:

Post by ipher »

ZSNES 10/24 WIP is now available @ ipher's WIP Site

Here's whats new

10/24/04
Minor Comment update [ipher]
FF3u hack no longer discriminates against the Japanese version. [Nach]
Battery fixes (unforunetly ZSNES is too complex for a full fix right now). [Nach]
SuperFX2 Updates [pagefault]
[url=http://www.ipherswipsite.com]ipher's WIP Site[/url]
jdratlif
Regular
Posts: 317
Joined: Tue Sep 14, 2004 12:48 am
Location: In a small padded white room
Contact:

Post by jdratlif »

ipher wrote:Notice to all WIP Users: There is a bug in the latest WIP which can delete SRAM files. This only occurs in the 10/19 WIP, and a fix should be out shortly.
Does the 10/24 version fix this? I wasn't sure if the battery fixes you mentioned were the solution or not.
http://jdrrant.blogspot.com/ - CODEpendent Blog
http://games.technoplaza.net/ - Emulation Goodies
ipher
ZSNES Developer
ZSNES Developer
Posts: 269
Joined: Wed Jul 28, 2004 2:37 am
Contact:

Post by ipher »

yes, the battery fixes solve the SRAM problem
[url=http://www.ipherswipsite.com]ipher's WIP Site[/url]
Nach
ZSNES Developer
ZSNES Developer
Posts: 3904
Joined: Tue Jul 27, 2004 10:54 pm
Location: Solar powered park bench
Contact:

Post by Nach »

It's a Battery problem.

Effectively, our battery isn't powering the SRAM correctly on the hard drive :P
May 9 2007 - NSRT 3.4, now with lots of hashing and even more accurate information! Go download it.
_____________
Insane Coding
ShadowFX
Regular
Posts: 265
Joined: Thu Jul 29, 2004 8:55 am
Location: The Netherlands

Post by ShadowFX »

ipher wrote:yes, the battery fixes solve the SRAM problem
Did this bug also affect the SRM file being written in the ZSNES dir itself (randomly) while the save path is pointing somewhere else?
DataPath
Lurker
Posts: 128
Joined: Wed Jul 28, 2004 1:35 am
Contact:

Post by DataPath »

I hope pagefault doesn't mind - I'm reposting his status update here:
Hi, first of all I would like to thank all who have donated so far, your donation is greatly appreciated. But it seems the copier we thought was going to work won't after all and the one that will work will cost another $100 on top of what we already have. We have reached our goal of $100 but more will be needed to get what we need to continue development on ZSNES. I would have no problem paying for this myself but being a student I can't really afford it with all the expenses I have to pay each month. If you can afford to donate a bit to our cause then your donation would be greatly appreciated, if you are like me an can't afford a donation, please do not feel obligated to donate, ZSNES is free software which means just that you don't have to pay anything for it.

In the mean time I have continued to work on SuperFX and Starfox 2 and other SuperFX games are working far better than the last WIP so there should be a new WIP coming out soon with the latest updates. Also the work on the SuperFX chip has helped me with the work that needs to be done on SA-1 and other chips in regards to timing which will fix many bugs (Super Mario RPG) to name one. This also has enabled me to support C4 PAL games properly. I have also made a HDMA discovery that should eliminate the hacks we have for games that require it and increase compatibility across the board. People who play PAL games will also benefit from this continued development as the entire PAL timing code has been reworked for better support for these games.

Thats basically my status report, this is an odd spot to put it I guess but here it is.
http://board.zsnes.com/phpBB2/viewtopic.php?t=1042
Noxious Ninja
Dark Wind
Posts: 1271
Joined: Thu Jul 29, 2004 8:58 pm
Location: Texas
Contact:

Post by Noxious Ninja »

ipher wrote:ZSNES 10/24 WIP is now available @ ipher's WIP Site
Hmm, the latest I see is the Sept. 20 version.
[u][url=http://bash.org/?577451]#577451[/url][/u]
Locked