Thanks for the response!
I checked out https://tasvideos.org/GameResources/SNES/SuperMarioWorld#DuplicationAwayFromBlocks but im still a little confused on some things:
I looked at the chart for y subpixel based on distance from block, and im assuming thats y position from the bottom of the block, but i could be wrong here.
Also, does your x-position matter?
Like for all duplications, your x-position matters and your x-speed must be 0.
As it says in the resources, the item has enough y-speed to go far enough into the block only on the first 7 frames after it is thrown, so if it takes more time the duplication isn't possible.
But you can easily see with the naked eye, if the item goes more or less deep in the block before hitting it. Once you've found a frame where it goes deep and doesn't duplicate, try adjusting your y-position (assuming your jumping) by keeping the jump button pressed more or less longer.
Hello. I am Linkister and i am new to the whole "TASING" community. I was just wondering how to make SMW tases. Becuse i have been serching, but can not find answers. P.S. I whould love to work and make tases with someone if anyone are interested.
- Linkister 2023
Hi Linkister and welcome!
In general, it is not recommended for beginners in TASing to tackle such monumentally researched games (i.e., any game starts with Super or Mario). Instead, you'll have a much fun slide into this hobby by tackling a more basic game that you might be fond of.
To start TASing in general, there are a lot of resources. If I were you, I'd start perusing the article library in this site, especially the Tasing Guide
If you are nevertheless insisting on tackling this game then I, no joke, would read every single post in this very thread. There is a rich history that you just cannot ignore. Then take a look, reproduce, and analyze published movies. Finally, take a look at the knowledge others have curated in the game's resources
TASing has a steep learning curve, but it's incredibly rewarding. Looking forward to watching your movies in the future!
Joined: 12/28/2013
Posts: 396
Location: Rio de Janeiro, Brasil
I respectfully disagree with eien86's comment's here - it can be lots of fun to start with a popular and well researched game, especially because you will have access to a ton of resources and it will be much easier to reach for help online. Unless your goal is to get a submission of yours published as soon as possible (which would indeed be harder in a game such as Super Mario World since the competition is narrower), I don't see a reason to particularly avoid games with big communities.
If you do choose to go with SMW, no need to read the entire history of this thread (I haven't read more than 10% of it myself), but definitely take a look at the resources page and get a lua script (which are linked there). If you have specific questions, go ahead and use this thread. I'm not around as much lately but I'm sure many others will be happy to help.
I recently found, by accident, that 'null spit' glitch in some ROM hacks has some extraneous results that I don't think have been found before.
Normally with null spit, we corrupt the target address of various writes with 0xFF (e.g. write to $d8+FF), because FF = null value in Yoshi's mouth. Actually, now we can change the value of FF for the write, allowing us to write to $d8+[0..255].
Here is a snippet of a credits warp using this:
ldy $160e,x A:f1df X:0000 Y:00ff S:01e3 ; load Sprite slot in Yoshi's mouth (0xFF)
phy A:f1df X:0000 Y:00ff S:01e3 ; push Y to stack
phy A:f1df X:0000 Y:00ff S:01e2 ; ditto, stack is now [.. .. 0xFF 0xFF]
ldy $157c,x A:f1df X:0000 Y:00ff S:01e1 ; load Yoshi's direction (1 = facing right)
lda $e4,x A:f1df X:0000 Y:0001 S:01e1 ; load Yoshi's X position (low byte)
clc A:f138 X:0000 Y:0001 S:01e1
adc $f305,y A:f138 X:0000 Y:0001 S:01e1 ; add Yoshi's direction modifier to A (0x10 if left, 0xF0 if right)
ply A:f128 X:0000 Y:0001 S:01e1 ; pop stack (FF)
sta $00e4,y A:f128 X:0000 Y:00ff S:01e2 ; stack corruption! writes to $1e2
ldy $157c,x A:f128 X:0000 Y:00ff S:01e2
lda $14e0,x A:f128 X:0000 Y:0001 S:01e2
adc $f307,y A:f101 X:0000 Y:0001 S:01e2
ply A:f101 X:0000 Y:0001 S:01e2 ; pops corrupted value from stack
sta $14e0,y A:f101 X:0000 Y:0028 S:01e3
lda $d8,x A:f101 X:0000 Y:0028 S:01e3 ; load Yoshi's Y position (low byte)
sta $00d8,y A:f120 X:0000 Y:0028 S:01e3 ; store to $d8 + [corrupted stack value]
In this case since we corrupted the stack with value 28, this stores to $d8+0x28=$100, which is the game mode. Thus, we can write any value to the game mode based on low byte of Yoshi's Y position, by carefully positioning Yoshi horizontally.
Actually, we can write any value to any address $d8+[0x0..0xFF]. There's many other corrupted writes, but I didn't investigate it further; it's mostly just sprite tables.
I was trying to work out why this doesn't work in original SMW, but I was stymied by my lack of ASM knowledge. All I know is that the stack pointer is several bytes higher when performing in SMW. My best guess is that since this hack has FastROM enabled, this changes initialization and hence stack pointer. But I'm mostly just speculating.
Anyway, cool glitch, but I'm sad it's hack specific. :-(
Sample for the credits warp:
Link to video
Maybe credits warps are a bit banal these days, but I'm happy to get an ACEless one.