hmn wrote:
- ca65 (cc65) only has listing output for it's relocatables, so you only see placeholder addresses ("rr rr")
You can get fully qualified output when you switch relocation off - ie. use a .org in your code - then you'll be simply including source files, if you have a project in separate files.
Some ca65 list output from my first stage bootstrap loader in Ruby:
Code: Select all
000000r 1 .org bootBase
000400 1
000400 1 ; The usual reset initialisation
000400 1 ; This really runs from $FF00
000400 1
000400 1 reset:
000400 1 D8 cld ; Standard 6502 reset code - We don't strictly need to do this, but ...
000401 1 78 sei
000402 1 A2 FF ldx #$FF
000404 1 9A txs
000405 1
000405 1 8E 30 FE stx VIA_DDRA
000408 1 A9 7E lda #$7E
00040A 1 8D 10 FE sta VIA_ORA
00040D 1
00040D 1 ; Move ourselves from $FF00 to bootBase ($0400)
00040D 1 ; We're < 256 bytes, so a single indexed loop is all we need
00040D 1 ; and we'll just copy all 256 bytes ...
00040D 1
00040D 1 A0 00 ldy #$00
00040F 1 reloc:
00040F 1 B9 00 FF lda load0,y
000412 1 99 00 04 sta bootBase,y
000415 1 C8 iny
000416 1 D0 F7 bne reloc
000418 1
000418 1 check:
000418 1 B9 00 FF lda load0,y
00041B 1 D9 00 04 cmp bootBase,y
00041E 1 D0 05 bne copyErr
000420 1 C8 iny
000421 1 D0 F5 bne check
000423 1 80 05 bra copyOk
000425 1
000425 1 copyErr:
000425 1 AD 10 FE lda VIA_ORA
000428 1 80 FB bra copyErr
00042A 1
00042A 1 copyOk:-Gordon