Language…
11 users online:  bebn legg, bradcomp, DanMario24YT, DaveStateGaming, Dennsen86, Hammerer,  MarkAlarm, oliver1, playagmes169,  Sayuri, signature_steve - Guests: 306 - Bots: 422
Users: 64,795 (2,371 active)
Latest user: mathew

SuperFX Patch Released

I patched "SuperFX.asm", "IRQPatch.asm", and "NMIPatch.asm".

All I get is a blank screen. Anyhelp?
Oh, you just need to patch "SuperFX.asm" in your ROM, the other two files are the special files that you can modify to mess around IRQ and NMI, because of the way SuperFX access the ROM, you only need to have these two in the RAM.

For use them, just insert the patch (IRQPatch.asm or NMIPatch.asm) in a empty file (adjust the "freespace" for the ones in RAM, so if you're using RAM $7F4567, then the "freespace" becomes $4567), then rename to a .bin extension and then put in the folder "SuperFXFiles", like the "IRQ.bin" and "NMI.bin" which is incbin'd in SuperFX.asm.

I hope that helps, if you have any question PM me. ^^

IMPORTANT EDIT: If you want to use ExGFX in your hack, open your hex editor after you've inserted the ExGFX and search for these hex codes "9D0501", it points to the used dummy vector, so you need to replace that with "9560EA". It'll fix the crash and you can use ExGFX freely.

ANOTHER IMPORTANT EDIT: I'm working in a new version of this patch (version 1.1) which will have the following features:

- Bugfixes and increased compatibility.
- Now you can change the way Super FX handles the code/graphic processing by changing a value in the RAM as stated in the section below, like in YI.
- Fixed interrupt in NMIpatch.asm
- Now, VRAM is transferred to the SRAM (Super FX RAM), now with a bit of work, you can MANUALLY change the VRAM and thus obtain graphical effects by DMA'ing the graphics from SRAM -> VRAM. Actually, this change is automatic, so VRAM is dinamically uploading data to the SRAM and from SRAM to VRAM.
- You can input more SRAM size.
- Now it works with Asar.


Now, it should be easier to create graphical effects, now that VRAM will "reside" in SRAM thus being modified by SuperFX when needed.
Originally posted by DiscoMan
Oh, you just need to patch "SuperFX.asm" in your ROM, the other two files are the special files that you can modify to mess around IRQ and NMI, because of the way SuperFX access the ROM, you only need to have these two in the RAM.

For use them, just insert the patch (IRQPatch.asm or NMIPatch.asm) in a empty file (adjust the "freespace" for the ones in RAM, so if you're using RAM $7F4567, then the "freespace" becomes $4567), then rename to a .bin extension and then put in the folder "SuperFXFiles", like the "IRQ.bin" and "NMI.bin" which is incbin'd in SuperFX.asm.

I hope that helps, if you have any question PM me. ^^

IMPORTANT EDIT: If you want to use ExGFX in your hack, open your hex editor after you've inserted the ExGFX and search for these hex codes "9D0501", it points to the used dummy vector, so you need to replace that with "9560EA". It'll fix the crash and you can use ExGFX freely.

ANOTHER IMPORTANT EDIT: I'm working in a new version of this patch (version 1.1) which will have the following features:

- Bugfixes and increased compatibility.
- Now you can change the way Super FX handles the code/graphic processing by changing a value in the RAM as stated in the section below, like in YI.
- Fixed interrupt in NMIpatch.asm
- Now, VRAM is transferred to the SRAM (Super FX RAM), now with a bit of work, you can MANUALLY change the VRAM and thus obtain graphical effects by DMA'ing the graphics from SRAM -> VRAM. Actually, this change is automatic, so VRAM is dinamically uploading data to the SRAM and from SRAM to VRAM.
- You can input more SRAM size.
- Now it works with Asar.


Now, it should be easier to create graphical effects, now that VRAM will "reside" in SRAM thus being modified by SuperFX when needed.

Hm. . . Any chance this update will make actual use of the 10.5MHZ / 21.4MHZ clock speed of the SuperFX?
There's still one time in my ROM that still has slowdown
(Even when ZSNES's Percent to Execute/Per2exec is set to 150):
The transparency of the Path Revealing animations in the World Map when A Level is completed.
When A Path is being revealed in the World Map,
You get major slowdown (minor slowdown if you use ZSNES with Per2exec at 150).
You can see all the other animated 8X8 tiles and all sprites moving slightly or WAY slower.
Is the SuperFX actually doing anything to assist the game with it's slowdown issues,
Or did I only patch it JUST for stuff that needs the SuperFX chip, and not actually use it to help SMW's overrall performance?
Sometimes, I like to hack SMW. This is rare though, but I always try something new.


-------------------------
Image and video hosting by TinyPic

~Developer for "Mario Enters the Void", an abandoned hack. The thread for the hack can be found Here ~
Originally posted by zack30
Hm. . . Any chance this update will make actual use of the 10.5MHZ / 21.4MHZ clock speed of the SuperFX?
There's still one time in my ROM that still has slowdown
(Even when ZSNES's Percent to Execute/Per2exec is set to 150):
The transparency of the Path Revealing animations in the World Map when A Level is completed.
When A Path is being revealed in the World Map,
You get major slowdown (minor slowdown if you use ZSNES with Per2exec at 150).
You can see all the other animated 8X8 tiles and all sprites moving slightly or WAY slower.
Is the SuperFX actually doing anything to assist the game with it's slowdown issues,
Or did I only patch it JUST for stuff that needs the SuperFX chip, and not actually use it to help SMW's overrall performance?


The patch is already programmated to use the full power of Super FX (the 21.4MHz clock speed) but the issue of slowdown "can't" be solved with Super FX, I said "can't" because you can program graphical effetcs but you can program code to run in Super FX, one example is a very very old thread where Bio used a code to solve slowdown problems with the very old (too) Block Tool.

Super FX can be used universally as this chip can't only process graphics but code as well.
It sounds like the "percent to execute" setting is basically adjusting the emulation speed, not something that could be done on real hardware, so a hack relying on it would be greatly frowned upon (especially as ZSnes is already awful).

When you have lag, what you should be doing first is figuring out the cause and correcting it. Especially, I've never heard of lag on the overworld, so there's probably some issue there. Only if you know you're doing something that's just beyond what the CPU can handle should you be thinking about things like porting to coprocessors or trying to overclock (but of course, CPU-intensive operations should be done on the faster processor to begin with, especially if it's not the same one running the game logic, so that lag won't interfere as much). Keep in mind that CPU speed is rarely the issue - usually it's waiting for I/O (although obviously this is more true on systems with some type of disk) or just executing a crummy algorithm, and a 10 times faster CPU won't help nearly as much as fixing that. (How many people use a crappy algorithm like O(n4) and try to fix it by throwing hardware at it, when a faster algorithm would have solved the issue without any upgrades...)
Renamon is best pony.
Originally posted by DiscoMan
Originally posted by zack30
Hm. . . Any chance this update will make actual use of the 10.5MHZ / 21.4MHZ clock speed of the SuperFX?
There's still one time in my ROM that still has slowdown
(Even when ZSNES's Percent to Execute/Per2exec is set to 150):
The transparency of the Path Revealing animations in the World Map when A Level is completed.
When A Path is being revealed in the World Map,
You get major slowdown (minor slowdown if you use ZSNES with Per2exec at 150).
You can see all the other animated 8X8 tiles and all sprites moving slightly or WAY slower.
Is the SuperFX actually doing anything to assist the game with it's slowdown issues,
Or did I only patch it JUST for stuff that needs the SuperFX chip, and not actually use it to help SMW's overrall performance?


The patch is already programmated to use the full power of Super FX (the 21.4MHz clock speed) but the issue of slowdown "can't" be solved with Super FX, I said "can't" because you can program graphical effetcs but you can program code to run in Super FX, one example is a very very old thread where Bio used a code to solve slowdown problems with the very old (too) Block Tool.

Super FX can be used universally as this chip can't only process graphics but code as well.

Oh, Is That So?
The Path Revealing animation's slowdown/lag really annoys me,
So how do I make the code for the animation run in SuperFX?
Sometimes, I like to hack SMW. This is rare though, but I always try something new.


-------------------------
Image and video hosting by TinyPic

~Developer for "Mario Enters the Void", an abandoned hack. The thread for the hack can be found Here ~
So let me get this straight... you have a revolutionary patch that could presumably make SMW do this?



As if it has this logo (see SuperFX)?




YouTube Twitter Twitch
Yea pretty much, but recoding the whole engine to be like that wouldn't make much sense, might as well just make a homebrew or hack Starwing.
Your layout has been removed.
Well, DiscoMan told me about his homebrew that he's developing and the ROM uses a modified SuperFX engine but I believe that it's possible for a user to create such effects, although minor modifications are necessary and a bit of SuperFX ASM knowledge.
Originally posted by wiiqwertyuiop
Originally posted by zack30
The Path Revealing animation's slowdown/lag really annoys me


AFAIK that isn't even slowdown and was done on purpose.

If it's not slowdown,
Then why would it go faster when I speed up ZSNES' Percent to Execute from 100 to 150?
The game speed remains the same, but with virtually no slowdown,
Except for the exact same "Overworld path revealing animation" issue. . . #w{:s}
Sometimes, I like to hack SMW. This is rare though, but I always try something new.


-------------------------
Image and video hosting by TinyPic

~Developer for "Mario Enters the Void", an abandoned hack. The thread for the hack can be found Here ~
Originally posted by wiiqwertyuiop
Uh... I am not really sure what you are saying, since you are contradicting yourself...

No. . . I Ain't, Let's just say, I'm behaving A little serious,
There IS slowdown in this one part of the game, even when ZSNES is at it's fastest emulation speed,
I Wanna make the code for that one animation in the Overworld to be run in the SuperFX chip from the patch,
Now how do I do that? #w{>=(}
Sometimes, I like to hack SMW. This is rare though, but I always try something new.


-------------------------
Image and video hosting by TinyPic

~Developer for "Mario Enters the Void", an abandoned hack. The thread for the hack can be found Here ~
Originally posted by wiiqwertyuiop
Quote
There IS slowdown in this one part of the game, even when ZSNES is at it's fastest emulation speed,


If anything this makes me believe even more that it is not slowdown. If it was speeding up zsnes's emulation speed would have gotten rid of it (since you are saying speeding it up gets rid of other slowdown), anyway if you want to get rid of the "slowdown" find the routine in alllog and change it.

. . . . . Never mind, Alllog is way too big to completely read just to find it,
And I doubt i'd change it without screwing something up in the ROM,

I'll just wait for version 1.1 of the SuperFX patch,
Which hopefully it will run the animation's code in SuperFX. . .
Sometimes, I like to hack SMW. This is rare though, but I always try something new.


-------------------------
Image and video hosting by TinyPic

~Developer for "Mario Enters the Void", an abandoned hack. The thread for the hack can be found Here ~
...search functions exist for a reason.

Anyway, you seem to be confusing slowdown (when the CPU has too much work to do in one frame) with something that the game just deliberately does slowly. If you want to speed that up, it should be just a matter of changing some delay values in the appropriate routine.

Just "move it to SuperFX" isn't a simple solution, since it's a completely different instruction set. You'd have to write all new code. And just adjusting the emulation speed is a dreadful hack. ZSnes is awful anyway; you should be using bsnes or Snes9x.
Renamon is best pony.
Originally posted by Rena Kunisaki
...search functions exist for a reason.

Anyway, you seem to be confusing slowdown (when the CPU has too much work to do in one frame) with something that the game just deliberately does slowly. If you want to speed that up, it should be just a matter of changing some delay values in the appropriate routine.

Just "move it to SuperFX" isn't a simple solution, since it's a completely different instruction set. You'd have to write all new code. And just adjusting the emulation speed is a dreadful hack. ZSnes is awful anyway; you should be using bsnes or Snes9x.

I Always though it was slowdown when it seemed to go faster at ZSNES's highest speed,
But why use other emulators? SNES9x seems to be decent at both accuracy and speed (Sorta),
BSNES is too concerned about accuracy, and is the slowest emulator,
Randomly going below 60FPS on my computer. The only game I play in BSNES is Mario RPG,
BSNES seems like the only emulator to run Mario RPG without the random slowdowns of the other emulators.
Sometimes, I like to hack SMW. This is rare though, but I always try something new.


-------------------------
Image and video hosting by TinyPic

~Developer for "Mario Enters the Void", an abandoned hack. The thread for the hack can be found Here ~
Like Rena Kunisaki said it's a game's setup since "Overworld path revealing animation" speed can be changed in LM easily and I highly doubt that the problem is slowdown itself, unless you're using tons of custom sprite in OW and effects such HDMA...

Anyway, the emulator can be a problem too, since the emulation speed is variable, for example, in my computer BSNES runs at full 60 FPS while in another computer not, be careful with that.

Just a "pointless" trivia, Super FX can run perfectly in ZSNES, maybe they gave more attention to make the emulator "Super FX" compatible rather than accurate at all...

By the way, I kinda "retired" from SMW Hacking, I may post OR not the update but I won't give up, 'til I send the other version with the relevant changes...
Question, I haven't read through the thread due to time and all, but what does SuperFX do???
Your layout has been removed.
Originally posted by DiscoMan
Like Rena Kunisaki said it's a game's setup since "Overworld path revealing animation" speed can be changed in LM easily and I highly doubt that the problem is slowdown itself, unless you're using tons of custom sprite in OW and effects such HDMA...

Anyway, the emulator can be a problem too, since the emulation speed is variable, for example, in my computer BSNES runs at full 60 FPS while in another computer not, be careful with that.

Just a "pointless" trivia, Super FX can run perfectly in ZSNES, maybe they gave more attention to make the emulator "Super FX" compatible rather than accurate at all...

By the way, I kinda "retired" from SMW Hacking, I may post OR not the update but I won't give up, 'til I send the other version with the relevant changes...

Oh, I Never really seen that option in the OW editor,
I Never really edit the OW at all really, only levels,
But by changing the speed of the fading effect,
There IS No fading effect once I do it, It will be disabled.
I Do want the animation to be as fast as it is in the GBA version,
But I don't wanna lose the fading effects! #smw{:(}
Sometimes, I like to hack SMW. This is rare though, but I always try something new.


-------------------------
Image and video hosting by TinyPic

~Developer for "Mario Enters the Void", an abandoned hack. The thread for the hack can be found Here ~