Former player
Joined: 11/3/2010
Posts: 17
Link to video i always got there 1 or more frames lag, can someone help me?
Super Mario World
Player (172)
Joined: 12/28/2007
Posts: 235
Location: Japan, Sapporo
Dawn wrote:
(video) i always got there 1 or more frames lag, can someone help me?
AFAICT, 1) you need better score management, or 2) you have to modify your movement a little, or possibly 3) there is no room to reduce lag frames. Anyway in this score route you'll have many lag frames after iggy fight.
Retired because of that deletion event. Projects (WIP RIP): VIP3 all-exits "almost capeless yoshiless", VIP2 all-exits, TSRP2 "normal run"
Former player
Joined: 11/3/2010
Posts: 17
Mister wrote:
Dawn wrote:
(video) i always got there 1 or more frames lag, can someone help me?
AFAICT, 1) you need better score management, or 2) you have to modify your movement a little, or possibly 3) there is no room to reduce lag frames. Anyway in this score route you'll have many lag frames after iggy fight.
Very strange i explain you what i did? For ordinary when i enter this level, my lag counter counts 895 and this jump didn't worked without lag. With a trick i got 894 lag(I'm not faster) and now it worked.^_^
Super Mario World
Active player (263)
Joined: 4/15/2010
Posts: 197
Location: England
Couple of new glitches. New method of item swap (very limited usage): [Youtube 1] [Youtube 2] [SMV] By destroying an item block as it is being pulled to Yoshis mouth, he temporarily eats "nothing", so any new sprite coming on screen will replace it. Item teleporting bug: [Youtube] When Yoshis tongue goes off the left side of the screen, it can "grab" items that are in the middle of the screen. It is an odd glitch. Perhaps Mister can explain this better. This isn't really much use except for puzzle hacks. Both glitches were found by Nathan (nathanisbored). Oh! I almost forgot to mention! I found one a while back whereby if Yoshi is in a high sprite #id, when he despawns if a new sprite comes on screen, the sprite will teleport to near Mario. Unfortunately this does not work on the goal. [Youtube]
Retired smw-96, smw any%
Experienced player (617)
Joined: 11/30/2008
Posts: 650
Location: a little city in the middle of nowhere
http://code.google.com/p/andymac-tas/source/browse/trunk/Super+demo+world/SDW.smv?spec=svn61&r=61 Okay, so the progress for SDW has been pretty slow recently because I hate TASing autoscrollers. I also hate swimming levels. Finally I also hate lag reduction. This level has all three. So anyway, the problem is that I have about 10 more frames of lag than Chef Stef in this autoscroller. Now I'm not completely sure, but there is a fish that I kill at frame 80709, and if I could kill it maybe 1 or 2 frames before, I could get less lag, however, because of my cape spin timer, I can't kill this fish earlier unless I am on the other side of it, but I can't do that because I need the screen to scroll. Ideally I want to have less frames of lag than Chef-Stef. Can anyone help me with this?
Measure once. Cut twice.
Joined: 6/27/2010
Posts: 14
andymac wrote:
http://code.google.com/p/andymac-tas/source/browse/trunk/Super+demo+world/SDW.smv?spec=svn61&r=61 Okay, so the progress for SDW has been pretty slow recently because I hate TASing autoscrollers. I also hate swimming levels. Finally I also hate lag reduction. This level has all three. So anyway, the problem is that I have about 10 more frames of lag than Chef Stef in this autoscroller. Now I'm not completely sure, but there is a fish that I kill at frame 80709, and if I could kill it maybe 1 or 2 frames before, I could get less lag, however, because of my cape spin timer, I can't kill this fish earlier unless I am on the other side of it, but I can't do that because I need the screen to scroll. Ideally I want to have less frames of lag than Chef-Stef. Can anyone help me with this?
A lot of time, not moving will reduce the lag. You can at least save 3 frames like this => http://dehacked.2y.net/microstorage.php/info/1659546890/SDW%282%29.smv 4 frames should be possible with better positionning and moves. I have absolutely no idea if more is possible, so you should probably wait for Mister's answer, but having 4 of your score digits above 4 when Chef Stef only had 1 might also be the cause of that extra lag
Experienced player (617)
Joined: 11/30/2008
Posts: 650
Location: a little city in the middle of nowhere
I have absolutely no idea if more is possible, so you should probably wait for Mister's answer, but having 4 of your score digits above 4 when Chef Stef only had 1 might also be the cause of that extra lag
I wouldn't think so, because there are no calculations done on the score during this time, this would affect lag at the end of the level when the score is recalculated, but I don't think it affects lag in the level.
Measure once. Cut twice.
Joined: 6/27/2010
Posts: 14
andymac wrote:
I have absolutely no idea if more is possible, so you should probably wait for Mister's answer, but having 4 of your score digits above 4 when Chef Stef only had 1 might also be the cause of that extra lag
I wouldn't think so, because there are no calculations done on the score during this time, this would affect lag at the end of the level when the score is recalculated, but I don't think it affects lag in the level.
Well if I set the score to 0 with a code I got 24 frames less of lag so I'm pretty confident it does although I don't know why it happens.
Player (172)
Joined: 12/28/2007
Posts: 235
Location: Japan, Sapporo
andymac wrote:
I have absolutely no idea if more is possible, so you should probably wait for Mister's answer, but having 4 of your score digits above 4 when Chef Stef only had 1 might also be the cause of that extra lag
I wouldn't think so, because there are no calculations done on the score during this time, this would affect lag at the end of the level when the score is recalculated, but I don't think it affects lag in the level.
The score always affects lag in the level. Much more processings would increase lag, so I think lag comes from hex-dec conversion of the score and it's done every frame. You may want to put 0 into score to see which lag frames can be removed by score management. Get a dragon coin in the last level and one more dragon coin in ww3, and you'll have better score without redoing much. Coins affect lag a little in such a laggy situation as well. You'll meet more levels that are laggy in sdw than in smw, so I would think score management should be done for in-level lag reduction in such levels rather than for fadeout lag reduction (ideally for both, but I can't find any good reason to take such great pains). I actually don't think we need lag reduction in a long run, because it would make us lose our way, which aims for entertainment. Well, I have no words to express my feeling toward the matter. :(
Retired because of that deletion event. Projects (WIP RIP): VIP3 all-exits "almost capeless yoshiless", VIP2 all-exits, TSRP2 "normal run"
Joined: 9/20/2010
Posts: 80
Link to video Done with world 2 of spw3!!! :) yes, there is a lot of improvement to be made, but i will be going back after i finish the whole game and put it in one smv. http://dehacked.2y.net/microstorage.php/info/1006757772/Super%20Puzzle%20World%203%20V1.6%20World%202a.smv
Current Projects: SPW3 any% (World 1 Finished 8/29), SMW 100% Glitched (Making a Path), SMW any% (Glitched?) (Testing)
Experienced player (617)
Joined: 11/30/2008
Posts: 650
Location: a little city in the middle of nowhere
Okay, I wanted to do some investigating on score lag, so I did some trace logging and it turns out that Mister was totally right. The score IS calculated every frame, and it's a monster of a code believe me. Basically, the program repeatedly subtracts powers of ten from the score until it gets zero. The programmers were really dumb, For example, once you have subtracted the hudreds of thousands, the tens of thousands, the thousands, hundreds and tens, you would think that whatever remains you would just put in the last digit. well no. After you get to the ones, the program subtracts one after one after one, while incrementing the score on screen one by one. Here's the kicker: the 65c816 CPU has a decimal mode, so you can calculate decimal arithmetic on any BCD numbers. so there's no need for a HEX-DEC conversion. It also takes no longer to do decimal arithmetic than binary arithmetic on the 65c816. Simply set the decimal flag beforehand, and unset it afterwards. simple! Stupid? yes. Anyway, here is the code for the HEX-DEC score conversion for SMW:
Language: asm

;initial values for variables: ;(4 bytes) $0000 = score ;X = 14 <- okay what the hell ;Y = 0 ;P = nvMXdiZc ;$8FFA,y (4 bytes) = 100,000 for y = 0, 10,000 for y = 4 , 1,000 for y = 8 ect. 009012 sep #$20 009014 stz $0F15,x 009017 rep #$20 009019 lda $02 00901B sec 00901C sbc $8FFC,y 00901F sta $06 009021 lda $00 009023 sbc $8FFA,y 009026 sta $04 009028 bcc $9039 00902A lda $06 00902C sta $02 00902E lda $04 009030 sta $00 009032 sep #$20 009034 inc $0F15,x 009037 bra $9017 009039 inx 00903A iny 00903B iny 00903C iny 00903D iny 00903E cpy #$18 009040 bne $9012 009042 sep #$20 009044 rts
Okay, doesn't look too bad does it? Here is a pseudocode version of the same process (simplified, not exact)
Language: cpp

void hexDecScore(int score) { int *x; int y = 5; int scorecheck; while(true) { int ten_to_y = 10 ^ y; *x = 0; while(true) { scorecheck = score - ten_to_y; if(scorecheck < 0) break; score = scorecheck; *x = *x++; } x = x++; y = y--; if(y == 0) break; } }
again, seems pretty easy, but when you realise that this process repeats itself over and over again, and this subroutine is called EVERY FRAME, you can see where it gets bad. The following is taken directly from a log file in a hex editor: 009012 sep #$20 009014 stz $0f15,x 009017 rep #$20 009019 lda $02 00901b sec 00901c sbc $8ffc,y 00901f sta $06 009021 lda $00 009023 sbc $8ffa,y 009026 sta $04 009028 bcc $9039 009039 inx 00903a iny 00903b iny 00903c iny 00903d iny 00903e cpy #$18 009040 bne $9012 009012 sep #$20 009014 stz $0f15,x 009017 rep #$20 009019 lda $02 00901b sec 00901c sbc $8ffc,y 00901f sta $06 009021 lda $00 009023 sbc $8ffa,y 009026 sta $04 009028 bcc $9039 00902a lda $06 00902c sta $02 00902e lda $04 009030 sta $00 009032 sep #$20 009034 inc $0f15,x 009037 bra $9017 009017 rep #$20 009019 lda $02 00901b sec 00901c sbc $8ffc,y 00901f sta $06 009021 lda $00 009023 sbc $8ffa,y 009026 sta $04 009028 bcc $9039 00902a lda $06 00902c sta $02 00902e lda $04 009030 sta $00 009032 sep #$20 009034 inc $0f15,x 009037 bra $9017 009017 rep #$20 009019 lda $02 00901b sec 00901c sbc $8ffc,y 00901f sta $06 009021 lda $00 009023 sbc $8ffa,y 009026 sta $04 009028 bcc $9039 00902a lda $06 00902c sta $02 00902e lda $04 009030 sta $00 009032 sep #$20 009034 inc $0f15,x 009037 bra $9017 009017 rep #$20 009019 lda $02 00901b sec 00901c sbc $8ffc,y 00901f sta $06 009021 lda $00 009023 sbc $8ffa,y 009026 sta $04 009028 bcc $9039 009039 inx 00903a iny 00903b iny 00903c iny 00903d iny 00903e cpy #$18 009040 bne $9012 009012 sep #$20 009014 stz $0f15,x 009017 rep #$20 009019 lda $02 00901b sec 00901c sbc $8ffc,y 00901f sta $06 009021 lda $00 009023 sbc $8ffa,y 009026 sta $04 009028 bcc $9039 00902a lda $06 00902c sta $02 00902e lda $04 009030 sta $00 009032 sep #$20 009034 inc $0f15,x 009037 bra $9017 009017 rep #$20 009019 lda $02 00901b sec 00901c sbc $8ffc,y 00901f sta $06 009021 lda $00 009023 sbc $8ffa,y 009026 sta $04 009028 bcc $9039 00902a lda $06 00902c sta $02 00902e lda $04 009030 sta $00 009032 sep #$20 009034 inc $0f15,x 009037 bra $9017 009017 rep #$20 009019 lda $02 00901b sec 00901c sbc $8ffc,y 00901f sta $06 009021 lda $00 009023 sbc $8ffa,y 009026 sta $04 009028 bcc $9039 00902a lda $06 00902c sta $02 00902e lda $04 009030 sta $00 009032 sep #$20 009034 inc $0f15,x 009037 bra $9017 009017 rep #$20 009019 lda $02 00901b sec 00901c sbc $8ffc,y 00901f sta $06 009021 lda $00 009023 sbc $8ffa,y 009026 sta $04 009028 bcc $9039 00902a lda $06 00902c sta $02 00902e lda $04 009030 sta $00 009032 sep #$20 009034 inc $0f15,x 009037 bra $9017 009017 rep #$20 009019 lda $02 00901b sec 00901c sbc $8ffc,y 00901f sta $06 009021 lda $00 009023 sbc $8ffa,y 009026 sta $04 009028 bcc $9039 00902a lda $06 00902c sta $02 00902e lda $04 009030 sta $00 009032 sep #$20 009034 inc $0f15,x 009037 bra $9017 009017 rep #$20 009019 lda $02 00901b sec 00901c sbc $8ffc,y 00901f sta $06 009021 lda $00 009023 sbc $8ffa,y 009026 sta $04 009028 bcc $9039 00902a lda $06 00902c sta $02 00902e lda $04 009030 sta $00 009032 sep #$20 009034 inc $0f15,x 009037 bra $9017 009017 rep #$20 009019 lda $02 00901b sec 00901c sbc $8ffc,y 00901f sta $06 009021 lda $00 009023 sbc $8ffa,y 009026 sta $04 009028 bcc $9039 00902a lda $06 00902c sta $02 00902e lda $04 009030 sta $00 009032 sep #$20 009034 inc $0f15,x 009037 bra $9017 009017 rep #$20 009019 lda $02 00901b sec 00901c sbc $8ffc,y 00901f sta $06 009021 lda $00 009023 sbc $8ffa,y 009026 sta $04 009028 bcc $9039 009039 inx 00903a iny 00903b iny 00903c iny 00903d iny 00903e cpy #$18 009040 bne $9012 009012 sep #$20 009014 stz $0f15,x 009017 rep #$20 009019 lda $02 00901b sec 00901c sbc $8ffc,y 00901f sta $06 009021 lda $00 009023 sbc $8ffa,y 009026 sta $04 009028 bcc $9039 00902a lda $06 00902c sta $02 00902e lda $04 009030 sta $00 009032 sep #$20 009034 inc $0f15,x 009037 bra $9017 009017 rep #$20 009019 lda $02 00901b sec 00901c sbc $8ffc,y 00901f sta $06 009021 lda $00 009023 sbc $8ffa,y 009026 sta $04 009028 bcc $9039 00902a lda $06 00902c sta $02 00902e lda $04 009030 sta $00 009032 sep #$20 009034 inc $0f15,x 009037 bra $9017 009017 rep #$20 009019 lda $02 00901b sec 00901c sbc $8ffc,y 00901f sta $06 009021 lda $00 009023 sbc $8ffa,y 009026 sta $04 009028 bcc $9039 00902a lda $06 00902c sta $02 00902e lda $04 009030 sta $00 009032 sep #$20 009034 inc $0f15,x 009037 bra $9017 009017 rep #$20 009019 lda $02 00901b sec 00901c sbc $8ffc,y 00901f sta $06 009021 lda $00 009023 sbc $8ffa,y 009026 sta $04 009028 bcc $9039 00902a lda $06 00902c sta $02 00902e lda $04 009030 sta $00 009032 sep #$20 009034 inc $0f15,x 009037 bra $9017 009017 rep #$20 009019 lda $02 00901b sec 00901c sbc $8ffc,y 00901f sta $06 009021 lda $00 009023 sbc $8ffa,y 009026 sta $04 009028 bcc $9039 00902a lda $06 00902c sta $02 00902e lda $04 009030 sta $00 009032 sep #$20 009034 inc $0f15,x 009037 bra $9017 009017 rep #$20 009019 lda $02 00901b sec 00901c sbc $8ffc,y 00901f sta $06 009021 lda $00 009023 sbc $8ffa,y 009026 sta $04 009028 bcc $9039 009039 inx 00903a iny 00903b iny 00903c iny 00903d iny 00903e cpy #$18 009040 bne $9012 009012 sep #$20 009014 stz $0f15,x 009017 rep #$20 009019 lda $02 00901b sec 00901c sbc $8ffc,y 00901f sta $06 009021 lda $00 009023 sbc $8ffa,y 009026 sta $04 009028 bcc $9039 00902a lda $06 00902c sta $02 00902e lda $04 009030 sta $00 009032 sep #$20 009034 inc $0f15,x 009037 bra $9017 009017 rep #$20 009019 lda $02 00901b sec 00901c sbc $8ffc,y 00901f sta $06 009021 lda $00 009023 sbc $8ffa,y 009026 sta $04 009028 bcc $9039 00902a lda $06 00902c sta $02 00902e lda $04 009030 sta $00 009032 sep #$20 009034 inc $0f15,x 009037 bra $9017 009017 rep #$20 009019 lda $02 00901b sec 00901c sbc $8ffc,y 00901f sta $06 009021 lda $00 009023 sbc $8ffa,y 009026 sta $04 009028 bcc $9039 00902a lda $06 00902c sta $02 00902e lda $04 009030 sta $00 009032 sep #$20 009034 inc $0f15,x 009037 bra $9017 009017 rep #$20 009019 lda $02 00901b sec 00901c sbc $8ffc,y 00901f sta $06 009021 lda $00 009023 sbc $8ffa,y 009026 sta $04 009028 bcc $9039 00902a lda $06 00902c sta $02 00902e lda $04 009030 sta $00 009032 sep #$20 009034 inc $0f15,x 009037 bra $9017 009017 rep #$20 009019 lda $02 00901b sec 00901c sbc $8ffc,y 00901f sta $06 009021 lda $00 009023 sbc $8ffa,y 009026 sta $04 009028 bcc $9039 00902a lda $06 00902c sta $02 00902e lda $04 009030 sta $00 009032 sep #$20 009034 inc $0f15,x 009037 bra $9017 009017 rep #$20 009019 lda $02 00901b sec 00901c sbc $8ffc,y 00901f sta $06 009021 lda $00 009023 sbc $8ffa,y 009026 sta $04 009028 bcc $9039 00902a lda $06 00902c sta $02 00902e lda $04 009030 sta $00 009032 sep #$20 009034 inc $0f15,x 009037 bra $9017 009017 rep #$20 009019 lda $02 00901b sec 00901c sbc $8ffc,y 00901f sta $06 009021 lda $00 009023 sbc $8ffa,y 009026 sta $04 009028 bcc $9039 00902a lda $06 00902c sta $02 00902e lda $04 009030 sta $00 009032 sep #$20 009034 inc $0f15,x 009037 bra $9017 009017 rep #$20 009019 lda $02 00901b sec 00901c sbc $8ffc,y 00901f sta $06 009021 lda $00 009023 sbc $8ffa,y 009026 sta $04 009028 bcc $9039 009039 inx 00903a iny 00903b iny 00903c iny 00903d iny 00903e cpy #$18 009040 bne $9012 009012 sep #$20 009014 stz $0f15,x 009017 rep #$20 009019 lda $02 00901b sec 00901c sbc $8ffc,y 00901f sta $06 009021 lda $00 009023 sbc $8ffa,y 009026 sta $04 009028 bcc $9039 00902a lda $06 00902c sta $02 00902e lda $04 009030 sta $00 009032 sep #$20 009034 inc $0f15,x 009037 bra $9017 009017 rep #$20 009019 lda $02 00901b sec 00901c sbc $8ffc,y 00901f sta $06 009021 lda $00 009023 sbc $8ffa,y 009026 sta $04 009028 bcc $9039 00902a lda $06 00902c sta $02 00902e lda $04 009030 sta $00 009032 sep #$20 009034 inc $0f15,x 009037 bra $9017 009017 rep #$20 009019 lda $02 00901b sec 00901c sbc $8ffc,y 00901f sta $06 009021 lda $00 009023 sbc $8ffa,y 009026 sta $04 009028 bcc $9039 00902a lda $06 00902c sta $02 00902e lda $04 009030 sta $00 009032 sep #$20 009034 inc $0f15,x 009037 bra $9017 009017 rep #$20 009019 lda $02 00901b sec 00901c sbc $8ffc,y 00901f sta $06 009021 lda $00 009023 sbc $8ffa,y 009026 sta $04 009028 bcc $9039 00902a lda $06 00902c sta $02 00902e lda $04 009030 sta $00 009032 sep #$20 009034 inc $0f15,x 009037 bra $9017 009017 rep #$20 009019 lda $02 00901b sec 00901c sbc $8ffc,y 00901f sta $06 009021 lda $00 009023 sbc $8ffa,y 009026 sta $04 009028 bcc $9039 00902a lda $06 00902c sta $02 00902e lda $04 009030 sta $00 009032 sep #$20 009034 inc $0f15,x 009037 bra $9017 009017 rep #$20 009019 lda $02 00901b sec 00901c sbc $8ffc,y 00901f sta $06 009021 lda $00 009023 sbc $8ffa,y 009026 sta $04 009028 bcc $9039 00902a lda $06 00902c sta $02 00902e lda $04 009030 sta $00 009032 sep #$20 009034 inc $0f15,x 009037 bra $9017 009017 rep #$20 009019 lda $02 00901b sec 00901c sbc $8ffc,y 00901f sta $06 009021 lda $00 009023 sbc $8ffa,y 009026 sta $04 009028 bcc $9039 009039 inx 00903a iny 00903b iny 00903c iny 00903d iny 00903e cpy #$18 009040 bne $9012 009042 sep #$20 009044 rts ALL that JUST to convert the score. and remember, that is done EVERY FRAME! In other words, if you actually look at the code, it's not the number of digits below 4, it's the total sum of all the digits that makes the really big difference. As for coins and lives, the HEX-DEC conversion is much simpler. Subtract 10 until your number is below 10, then the remainder is the second digit. Therefore, the second digit doesn't affect lag at all, because it requires the same amount of calculations no matter what. So there's 59 cycles for every extra number above 0, plus the overhead that you would have anyway, even if you did have a score of zero. so in my TAS I have 37576, which is 28 digits which is 1793 cycles taken up by the score every frame. 60 FPS makes 107580 cycles every second taken up by the score. The 65c816 processor runs at 3.58 MHz, so that's 3% of processor time taken up purely by calculating the score, which is pretty substantial when you think about it. As far as end of level lag is concerned, I think it's because your score is being tallied as well as the timer countdown, so there are two simultaneous HEX-DEC conversions going on. Ideally, you want 0, this will always get you the least amount of calculations. You can't really manipulate the timer, so that leaves the score. The best case scenario is to have more low digits for the more significant digits of the score, the reason being, is that these numbers will remain low for the majority of the timer countdown (discount this if your timer is still not counting down by the time the screen starts increasing it's brightness), whereas say, the hundreds digit goes 1,2,3,4,5,6,7,8,9,0,1... ect, which gives a mean of about 4.5 no matter what digit you started with. For example even if your hundreds digit is a 9, even if you only have 20 seconds on the clock, it will average to 4.5. during the countdown. However, before and afterwards, you might have trouble. Also, the tens digit of the score is very important, because it doesn't change until right at the end. Make sure that it's a 5 or 0, depending on the timer, so that you get a good value for the finish, when it draws the circle. If your timer isn't counting down by the time the screen becomes brighter, then all you have to worry about is what the score is before the countdown, and what it is afterwards. The point in time where lag reduction is really important is when the game is drawing the circle around mario. I believe this process is very computationally expensive, and low score should help in relieving some of the stress on the CPU. Make sure that the sum of your score digits and the second digit in your lives, coins, and stars is as low as possible to get the least amount of lag. EDIT: more code snippets HEX-DEC star conversion:
Language: asm

009051 sep #$20 009053 stz $0F15,x 009056 rep #$20 009058 lda $02 00905A sec 00905B sbc $8FFC,y 00905E sta $06 009060 bcc $906D 009062 lda $06 009064 sta $02 009066 sep #$20 009068 inc $0F15,x 00906B bra $9056 00906D inx 00906E iny 00906F iny 009070 iny 009071 iny 009072 cpy #$18 009074 bne $9051 009076 sep #$20 009078 rts
and HED-DEC for coins:
Language: asm

009045 ldx #$00 009047 cmp #$0A 009049 bcc $9050 00904B sbc #$0A 00904D inx 00904E bra $9047 009047 cmp #$0A 009049 bcc $9050 009050 rts
so for coins, only the first digit counts for lag, but for stars, the second digit does too...
Measure once. Cut twice.
Player (172)
Joined: 12/28/2007
Posts: 235
Location: Japan, Sapporo
Thanks for your investigation and... thanks for proving me right. ;) The code is almost the same as I expected. That looks so bad though I'm not familiar with coding. One thing to note about the circle stuff is that mario's position or motion would also affect lag, so slightly modifying these when cutting a goal tape, will sometimes remove some of fadeout lags. In that way I shaved off a few lag frames in any% run. TheFinalBoss726: Nice wip. By the way, it seems like the exit flag of "It is a Cave!" level is set incorrectly, so I wonder if there would be no problem with completing the game.
Retired because of that deletion event. Projects (WIP RIP): VIP3 all-exits "almost capeless yoshiless", VIP2 all-exits, TSRP2 "normal run"
Former player
Joined: 11/3/2010
Posts: 17
http://dehacked.2y.net/microstorage.php/info/140251396/OnlySmall-Dawn%20wip.smv Rom:SMW Tell me your improvements, excluded lag(because at the moment i don't really understand it:-/)
Super Mario World
Joined: 9/20/2010
Posts: 80
Mister wrote:
TheFinalBoss726: Nice wip. By the way, it seems like the exit flag of "It is a Cave!" level is set incorrectly, so I wonder if there would be no problem with completing the game.
there shouldnt be a problem, and i got the flag as a break. the intended solution was for you to do an item swap to eat the goal (easy way was eat the green shell and swallow it why the goal was on screen, and behind it was the key. the normal exit sent me in the same direction so it shouldnt affect completing it.
Current Projects: SPW3 any% (World 1 Finished 8/29), SMW 100% Glitched (Making a Path), SMW any% (Glitched?) (Testing)
Joined: 6/27/2010
Posts: 14
Dawn wrote:
http://dehacked.2y.net/microstorage.php/info/140251396/OnlySmall-Dawn%20wip.smv Rom:SMW Tell me your improvements, excluded lag(because at the moment i don't really understand it:-/)
Catching an object before changing direction : most of the time it's gonna be faster to just run into the object at full speed to reset your speed and then use the -1 trick. That'll save you a few frames in Donut Secret House. http://dehacked.2y.net/microstorage.php/info/998300366/PSwitchCatch.smv
Former player
Joined: 6/4/2006
Posts: 267
Location: CO
Dawn wrote:
http://dehacked.2y.net/microstorage.php/info/140251396/OnlySmall-Dawn%20wip.smv Rom:SMW Tell me your improvements, excluded lag(because at the moment i don't really understand it:-/)
Looks good, glad to see someone is working on this. Do you know how much faster it is than the latest Small Only WIP that me and skamastaG did but never finished? http://dehacked.2y.net/microstorage.php/info/837410913/small%20ci3a.smv
Active player (263)
Joined: 4/15/2010
Posts: 197
Location: England
Hey, I was hoping somebody could help me. I have seen people "warp" downwards through a wall by sticking Mario into it, e.g. by two POWs or something similar. What I'm wondering is whether I can do it in this situation: I have stuck Mario into the wall by three pixels and I was wondering whether I could force myself under the level to start flight. It would be a huge time-saver for me. Thankyou :3c
Retired smw-96, smw any%
Masterjun
He/Him
Site Developer, Skilled player (1970)
Joined: 10/12/2010
Posts: 1179
Location: Germany
i think, you must duck and then press A...
Warning: Might glitch to credits I will finish this ACE soon as possible (or will I?)
Active player (263)
Joined: 4/15/2010
Posts: 197
Location: England
I have tried that. I get pushed out or die. I have been trying for a while and I posted because I didn't want to waste my time trying if it wasn't possible. :)
Retired smw-96, smw any%
Joined: 9/20/2010
Posts: 80
bahamete wrote:
I have tried that. I get pushed out or die. I have been trying for a while and I posted because I didn't want to waste my time trying if it wasn't possible. :)
i feel i have done something similar in the past. in may work, tho you may get killed on your way down :/
Current Projects: SPW3 any% (World 1 Finished 8/29), SMW 100% Glitched (Making a Path), SMW any% (Glitched?) (Testing)
Masterjun
He/Him
Site Developer, Skilled player (1970)
Joined: 10/12/2010
Posts: 1179
Location: Germany
Just to show you: Link to video
Video Description wrote:
Ghost: unoptimized small only run Not-Ghost: better run (pay attention to the score/lag) I do the small only run again and this time, I try to be faster: - I tried to make the digits of the score as small as possible (after a lvl) and especially for the iggy fight, because there, I would get much more lag as on fade out, etc. - In the 2. level, I used 49 hopping, and as you can see, this is faster! - Nice to see in the 3. level: Often you get lag at the shelljump, but in the optimized run, there is no lag :-D SO, after you have read this text, you should watch the video again and look at the score/lag :DD I don't really understand the number in the top left of the video... maybe that are the frames I'm faster... BUT, how do I get 1 frame before the 1. level O_o
Warning: Might glitch to credits I will finish this ACE soon as possible (or will I?)
Active player (263)
Joined: 4/15/2010
Posts: 197
Location: England
Your score plan was phenomenal! 100100 points after Yoshis Island 4, I actually laughed. It is good to see you are improving the run. I hope this one may get accepted. Good luck ^^
Retired smw-96, smw any%
Joined: 12/13/2010
Posts: 4
Location: Super mario ghost house
How do i view these memory addresses? I can't figure that out for the life of me. Is it on the emulator itself already?
Experienced player (617)
Joined: 11/30/2008
Posts: 650
Location: a little city in the middle of nowhere
If you have a recent version of Snes9x, all you need to do is open your ROM, and then go to "tools" and then "RAM watch". After it's open, click "new" to add an address to watch. To save a watch file with all the addresses in it, go to file -> save. Actually, this walljump information isn't entirely correct. You don't have to be exactly at a block boundary vertically, you can be up to 7 pixels below the block boundary and still do a walljump as normal. This is useful in some cases where you can't quite jump high enough to get the block boundary. Also, if you do manage to snag a wall below the block boundary, you will automatically be warped up to the block boundary. I use this in my SDW TAS at about frame 30,000. If in doubt, make sure mario is lower than the block. The most important thing is your horizontal position.
Measure once. Cut twice.
Joined: 12/13/2010
Posts: 4
Location: Super mario ghost house
andymac wrote:
If you have a recent version of Snes9x, all you need to do is open your ROM, and then go to "tools" and then "RAM watch". After it's open, click "new" to add an address to watch. To save a watch file with all the addresses in it, go to file -> save. Actually, this walljump information isn't entirely correct. You don't have to be exactly at a block boundary vertically, you can be up to 7 pixels below the block boundary and still do a walljump as normal. This is useful in some cases where you can't quite jump high enough to get the block boundary. Also, if you do manage to snag a wall below the block boundary, you will automatically be warped up to the block boundary. I use this in my SDW TAS at about frame 30,000. If in doubt, make sure mario is lower than the block. The most important thing is your horizontal position.
Ahh great thanks Andymac now that i have them added i can't view them on the screen for some reason can enable it somewhere?