I spent some time recently looking at freeware 6502 assemblers on the net. There are plenty of them, but none that work the way I'd like to see (e.g., portable source, correct operation, high capacity, ease of use, macros, and scoping). So I'm writing my own. Hopefully I'll have it done before my MicroKIM shows up on my doorstep.
I've had the program produce a 6502 opcode decoding list as a test. The easily program readable list is available at:
http://homepage.mac.com/chessnotation/6502decode
The assembler will include a disassembly service, and I'm thinking of using it on the PROM contents from a few 6502 based dedicated chess machines. I guess that's okay as I don't recall signing a "no reverse engineering" End User License Agreement when I purchased any Fidelity, Novag, or Saitek machine.
Here's a snippet from my program's disassember output from scanning part of the KIM-1's ROMs:
Code:
1800 a9ad lda #$ad
1802 8eec17 stx $17ec
1805 203219 jsr $1932
1808 a927 lda #$27
180a 8d4217 sta $1742
180d a9bf lda #$bf
180f 8d4317 sta $1743
1812 a264 ldx #$64
1814 a916 lda #$16
1816 207a19 jsr $197a
1819 ca dex
181a d0f8 bne $1814
181c a92a lda #$2a
181e 207a19 jsr $197a
1821 adf917 lda $17f9
1824 206119 jsr $1961
1827 adf517 lda $17f5
182a 205e19 jsr $195e