Banner
Views: 924,043,219
Time:
14 users online: ageVerrly, Bernardo, Ice Man, Jead, KevinM, Kitikuchan,  Losoall, MegaSonic1999,  Meirdent, RPG Hacker, S.U, SJandCharlieTheCat, Stucat, syogayaki - Guests: 46 - Bots: 150 Users: 51,678 (2,062 active)
Latest: JohnL990
Tip: Always double-check which slots the ExGFX you are trying to insert goes to, to make sure you don't get accidental glitched graphics elsewhere.
Not logged in.
Some questions regarding my latest rejection
Forum Index - Valley of Bowser - Moderation Questions - Some questions regarding my latest rejection
Pages: « 1 » Link
Speedrun Timer

I'll surely look into optimization errors, but I have a few other questions:

Originally posted by MarkAlarm
Instead of starting at 0:00.00 like I would expect, the seconds was filled with complete garbage tiles and would increment all the way until it reached 0,1,2,etc.


It always started at 00:00.00 for me. Might be an Snes9x issue, since I use bsnes, in which case I do not know how to fix it.

Originally posted by MarkAlarm
Lastly, I was thinking that since this is a speedrun clock, it should be as accurate to real time as possible. From comparing it to another timer I had going, it desynced fairly quickly. I'd recommend using NMI to get the timing accurate, since that runs exactly once per frame regardless of lag. Granted, this would require even further optimizations, but it's something to consider. Note that this point isn't necessarily reject worthy, but it would make sense to implement.


I completely don't understand what I have to do here.


If  MarkAlarm can answer my questions that would be great.
Originally posted by BlueToad
It always started at 00:00.00 for me. Might be an Snes9x issue, since I use bsnes, in which case I do not know how to fix it.

You may want to clear the timer freeRAM on file or level load, before they're used. There is a separate gamemode for file select, in fact.

Originally posted by BlueToad
Originally posted by MarkAlarm
Lastly, I was thinking that since this is a speedrun clock, it should be as accurate to real time as possible. From comparing it to another timer I had going, it desynced fairly quickly. I'd recommend using NMI to get the timing accurate, since that runs exactly once per frame regardless of lag. Granted, this would require even further optimizations, but it's something to consider. Note that this point isn't necessarily reject worthy, but it would make sense to implement.


I completely don't understand what I have to do here.

Ah, now I see why you have asked on Discord what NMI is and why you would need it. Indeed, NMI is typically used to update the screen but since v-blank runs for every frame, you can define a frame that way. Incrementing the timer would take but it's minor. Trouble is...

@MarkAlarm: ... moving the timer to NMI would not solve the issue of desynching. Indeed, NMI is disabled* during the majority of level load due to decompressing graphics and updating the music and enabling NMI would mess this up. As a result, you would only solve the desynching for lags but not for level load (which is generally a bigger deal since it's much harder to avoid them than level lags). At some point, you can really ask whether it's worth it to just ignore the lags.

*Yes, I mentioned on Discord that NMI can't be technically disabled but that's only from the perspective of the CPU. From the perspective of the SNES, there is a register which controls whether the SNES should send a NMI to the CPU or not.

--------------------
Rest in peace, Near.
Originally posted by BlueToad
It always started at 00:00.00 for me. Might be an Snes9x issue, since I use bsnes, in which case I do not know how to fix it.

I ended up re-inserting everything again (both the patch and the uberasm) and it worked out fine that time around. Not sure how or why that happened, but as MFG mentioned, having the timer clear on level load as well would likely be helpful. Especially since this seems to be a timer per level anyway, rather than a whole hack timer. My apologies on not catching this earlier, that should not be an issue upon next submission.
Originally posted by MarioFanGamer

You may want to clear the timer freeRAM on file or level load, before they're used.

As for using NMI over main, it really is up to you. It was only a suggestion and it doesn't really matter which way you go for that. So long as the optimizations and other fixes are done, this should be an easy accept next time around.
Originally posted by MarioFanGamer
You may want to clear the timer freeRAM on file or level load, before they're used.
It's not cleared on level load as it would reset the timer on going through a pipe or door. So it is only cleared on overworld load. (I have mentioned that in the code).

Also, making the timer slower on lag was actually intentional, as it was requested by the requester.
Pages: « 1 » Link
Forum Index - Valley of Bowser - Moderation Questions - Some questions regarding my latest rejection

The purpose of this site is not to distribute copyrighted material, but to honor one of our favourite games.

Copyright © 2005 - 2021 - SMW Central
Legal Information - Privacy Policy - Link To Us


Menu

Follow Us On

  • YouTube
  • Twitch
  • Twitter

Affiliates

  • Super Mario Bros. X Community
  • ROMhacking.net
  • Mario Fan Games Galaxy
  • sm64romhacks