Language…
17 users online: autisticsceptile1993, crm0622, Dark Prince,  Deeke,  Eden_, Ekimnoid, Gamet2004, JezJitzu, koffe190, Mischievous Marc, neidoodle, NewPointless, Rauf, Scags, sinseiga, StarWolf3000, The_Uber_Camper - Guests: 275 - Bots: 269
Users: 64,795 (2,375 active)
Latest user: mathew

uberASM code inserted wrong??


i think this should speak for itself, it's level ASM and this is apparently why it keeps crashing, any clue as to why this happens?

Benny Harvey RIP, miss you big man.

"CMP #$021" is being compiled as CMP #$0021 (asar assumes 16 bit here), so the extra $00 there is read as the next instruction, which is a BRK (and the #$90 is the hex value of the BCC instruction right after). So long story short, change that to "CMP #$21" (or "CMP.b #$021").
OH MY GOD i'm an idiot, thanks lol

Benny Harvey RIP, miss you big man.



For what it's worth, you can also force Asar to interpret values to be a particular length, rather than relying on its default assumptions. To do so, just add a .b, .w, or .l after the opcode (for 8-bit, 16-bit, and 24-bit respectively), like so:

Code
	LDA.b #$0010	; -> LDA #$10
	STA.w $7E0100	; -> STA $0100
	REP #$20
	LDA.w #$80	; -> LDA #$0080
	STA.b $FF80	; -> STA $80

This is particularly useful if you ever need to do assembler math (e.g. LDA #!value*2), for which Asar will often assume 16-bit even the result is expected to be 8-bit. The .b specifier will ensure that Asar interprets that value as intended.

Professional frame-by-frame time wizard. YouTube - Twitter - SMW Glitch List - SMW Randomizer