asar
asar copied to clipboard
(Now) official repository of the SNES assembler Asar, originally created by Alcaro
``` asar 1.90 arch 65816 lorom org $008000 skip 1234 END: org $00FFC0 ; header function HeaderSizeByte(size) = ceil(log2((size>>10)+notequal(size&$3FF))) db "foobar foobar foobar " db $20 db $00 db HeaderSizeByte(snestopc(END))...
asar2's size guesser considers `
``` asar 1.90 function Foo(bar) = BAR print dec(Foo(42)) ``` This prints `42`. While the fix for this is relatively simple (replacing `stribegin()` with `strncmp()` in `asar_call_user_function()`), it would be...
``` asar 1.90 arch 65816 lorom macro ModifySomething(op) function isOp(x) = stringsequal("", x) $0000 if isOp("inc") ; Maybe inc does something we need to account for. elseif not(isOp("dec")) ; Who...
I have many folders, numbered 1,2,3,7,8,9,A,C,11,12 (hexadecimal numbers). I made a loop in asar to check each folder contents* one by one. The index value in loop is decimal so...
saying "your rom title looks like garbage. is that correct? saying no improperly will crash your rom" is absurdly unhelpful when the correct message is "i am pedantic about file...
``` asar 1.90 function Foo() = 42 ``` This produces `error: (Einvalid_param_name): Invalid parameter name. [function Foo() = 42]`. The cause is `nsplit()` weirdly returning the input string if the...
god i hate this parser so much ``` Errors occurred while assembling. :2: error: (Einvalid_label_name): Invalid label name. in block: [lda stringlength("?")] ``` i narrowed it down to getlen() calling...
``` asar 1.90 macro Foo() ; Filler error "foo" endmacro %Foo() ``` This produces `foo.asm:4 (called from foo.asm:8): error: (Eerror_command): error command: foo`. The error should be reported to originate...
``` asar 1.90 arch spc700 norom org $0000 namespace DSP struct V $00 .VOLL: skip 1 .VOLR: skip 1 .PITCH: skip 2 .SRCN: skip 1 .ADSR1: skip 1 .ADSR2: skip...