I decided that I'd give learning 6502 assembly another try, since I just learned how to use DOS to a decent extent[thanks creaothceann]. I've got a couple disassemblers working, Tracer and something simply called 6502 Disassembler. I disassembled a SMB3 rom on each. Then my problem arose: I couldn't get an assembler to work. WLA-DX said "not enough memory." o.0 From what I understand, 6502 and 65816 are almost identical. So I tried byuu's xkas, and it appears that BOTH disassemblers gave an odd dump, because I got several hundred "invalid opcode" errors before I closed it.
This is a sample of the dump from Tracer:
Code:
03/B0B3: B4 01 LDY $01,X
03/B0B5: 6F 0C E3 13 ADC $13E30C
03/B0B9: 0C 0A 70 TSB $700A
03/B0BC: 03 73 ORA $73,S
03/B0BE: 2F 01 C1 2F AND $2FC101
03/B0C2: 0D C6 FF ORA $FFC6
03/B0C5: 00 00 BRK $00
03/B0B5: 6F 0C E3 13 ADC $13E30C
03/B0B9: 0C 0A 70 TSB $700A
03/B0BC: 03 73 ORA $73,S
03/B0BE: 2F 01 C1 2F AND $2FC101
03/B0C2: 0D C6 FF ORA $FFC6
03/B0C5: 00 00 BRK $00
And a snippet from "6502 Disasembler"
Code:
00017218: BD8079 LDA $7980,X
0001721B: E506 SBC $06
0001721D: D006 BNE $06
0001721F: A505 LDA $05
00017221: C941 CMP #$41
0001721B: E506 SBC $06
0001721D: D006 BNE $06
0001721F: A505 LDA $05
00017221: C941 CMP #$41
I'm really confused. I guess when it disassembles, it's not in the right form to assemble again. I also noticed that these files use X and Y. Am I confused again, or am I correct that 6502 only has the accumulator? I had hoped that once I had learned how to use the damn MS-DOS shell that I would have no problems assembling and disassembling, but this pops up. Am I using the wrong disassembler, assembler, both, or am I just retarded?
I would greatly appreciate any help. Thanks.