Seems like a live thread.
I am wanting to re-assemble the disassembly listing of the Acorn Atom OS ROM (modified to move the start of the video memory, where the address is hard coded).
I am running (and modifying) the Atomulator emulator in a Linux environment. I am modifying the memory map to maximise memory RAM for BASIC source code.
I was looking to find a 6502 assembler with C source code that I could compile under Linux (gcc) to assemble the disassembly. I am happy to modify the disassembly to change directives to any needed format.
I tried as6502 by "Jos Visser" (from GitHub). Source code compiles with some trivial issues to fix. It is a two pass assembler. Gives an error on "pass 1" but no indication of where the error is in the source code, doesn't print the line of source or the line number. I have added a bug request to GitHub, but no idea if the author is still around.
I tried gaia by "andi-spajk". Sources compile with no issues. Appears to be a bug that "lda ABS,Y" generates an error. Does not support maths. Does not support db/.byte and other commonly used directives.
Briefly looked at Macroassembler-AS, but I had no idea how to use Git to download the sources.
I am happy to try suggestions of other assembler. Ideally should have C source code for compilation under Linux (to generate runnable binaries).
Some example code(math needed) and directives...
Code: Select all
lda LF8BE+1, x ; Get LSB address from command table
bvc LF9A2+1 ; ..<CTRL> key was pressed - execute BRK
L0052 := $0052
.org $f000
LF000: .byte "PLOT", >plot, <plot
.byte $1C, $8A, $1C, $23, $5D, $8B, $1B, $A1
.word $A000 ;
.byte "OUT OF RANGE:", 10, 13