Language…
6 users online: 7 up, Dispace, Nitrogen, Pizzarulez66, Reese_Pufferson, Zavok - Guests: 180 - Bots: 98
Users: 70,831 (2,356 active)
Latest user: quagsire4smash

On/Off Switch Rhythm Mechanic.

CompleteASM

Recently I've submitted this port from Super Mario 3D World, and HammerBrother mentioned there is infact a way to use Rhythm Mechanics with AMK, but I have about to zero asm/uberasm skills.

so, my request is, someone who could set it up for me and I can provide all the needed info.
you can find the code in the link provided on HammerBrother's comment.

- The whole song ammount of ticks is 8832.
- The switch activation should happen within every 2 whole notes (384 ticks)
- no need to include switch sfx in the code,since the song already features it.
use this
I won't fulfill it (right now) but as someone who's worked with code which synchs with them music, the way it works is that you can send two bytes of data with $F9 $xx $yy in the MML which then can be read from $7FB004 ($xx) and $7FB005 ($yy) in the UberASM code. The exact implementation differs since there is no one solution but the easiest would be to simply use $F9 $00 $00 and $F9 $01 $00 for on and off, respectively and store the value in $7FB004 to $14AF.
Originally posted by MarioFanGamer
I won't fulfill it (right now) but as someone who's worked with code which synchs with them music, the way it works is that you can send two bytes of data with $F9 $xx $yy in the MML which then can be read from $7FB004 ($xx) and $7FB005 ($yy) in the UberASM code. The exact implementation differs since there is no one solution but the easiest would be to simply use $F9 $00 $00 and $F9 $01 $00 for on and off, respectively and store the value in $7FB004 to $14AF.

Interesting,so on MML side something like this would work?
Code
#0 w255 t48
"@ON = $F9$00$00"
"@OFF = $F9$01$00"
"@beep = v120"
$F4$02 v0/
[[@ON y8(01)[@30 o3 g=9 $DD$00$06$AF]1 y12(01)1 y10(01)1 r=213 
@beep y12[@2 o5 f=12 $DD$00$06$B2 r=36]1 y8*1 y10*1
@OFF y8(01)1 y12 (01)1 y10 (01)1 r=213 y12*1 y8*1 y10*1]]10

the code being the beeps and switch sfx implemented into the song.
the idea is to it act like an On/Off switch and people could use these blocks along with the uberasm.
the problem is, I don't actually ASM/UberASM at all #smrpg{ohno}
Minor correction: It should be $F9$00$00 and $F9$00$01, respectively since I confused which byte is stored where.

At its most basic, the UberASM code is simply this:
Code
main:
	LDA $7FB000+$04
	STA $14AF|!addr
RTL


Even better IMO would be to have the SFX be handled by the engine itself but that would necessate a more complex code alongside complicating the trackdata itself.
Originally posted by MarioFanGamer
Minor correction: It should be $F9$00$00 and $F9$00$01, respectively since I confused which byte is stored where.

At its most basic, the UberASM code is simply this:
Code
main:
	LDA $7FB000+$04
	STA $14AF|!addr
RTL

Even better IMO would be to have the SFX be handled by the engine itself but that would necessate a more complex code alongside complicating the trackdata itself.

Excellent! that works just as Intended, and doesn't desync in pause and powerdown.

CompleteASM