From: Robin Harbron (macbeth_at_tbaytel.net)
Date: 2003-11-03 05:59:42
I'm attempting to use da65 to disassemble M.U.L.E.
You can grab the binary and info file here if
you want to play along at home:
http://my.tbaytel.net/macbeth/mule.zip
So, I'd like to use da65 to generate source code that I
can then assemble with ca65 - so I did this:
da65 -o mule.s mule.o (this was fine)
ca65 mule.s
And got many errors (here's a sampling):
mule.s(18261): Error #42: Symbol `pei' is already defined
mule.s(18261): Error #12: `:' expected
mule.s(18261): Error #11: Too many characters
It appears that the 65816's instruction "pei" is getting
disassembled instead of just being put in a .byte, as
an illegal opcode would be. Maybe I'm just confused?
Anyway, I then created an info file to block most of the
large not-code areas into byte tables (info.txt is
included in the .zip above) and that got rid of those
errors (and yeah, I should have been doing this anyway):
da65 -i info.txt -o mule.s
ca65 mule.s
But added these errors:
mule.s(6): Error #10: Control statement expected
mule.s(6): Error #11: Too many characters
Line 6 in mule.s is:
.setcpu "6502"
Which doesn't appear to be a valid control statement, but
that's what da65 seems to be automatically inserting.
Anyway, I delete that line, and try again:
ca65 mule.s
errors:
mule.s(3489): Error #43: Undefined symbol `L47D9'
mule.s(3484): Error #43: Undefined symbol `L47D2'
mule.s(2702): Error #43: Undefined symbol `L56AD'
mule.s(2701): Error #43: Undefined symbol `L567C'
mule.s(1925): Error #43: Undefined symbol `L4A72'
mule.s(1898): Error #43: Undefined symbol `L4A44'
It appears that da65 can't handle situations that often happen
in self-modifying code, such as:
selfmod lda #$ff
lda #$00
sta selfmod+1
Where the label refers to one or two bytes past the opcode
byte.
Now, I know I can work around this by just editing the output
from da65, or slightly better, adding to my info.txt file to
treat these areas as byte tables, but both seem sort of ugly,
and partially defeat the purpose of the info file, which is
a very cool idea, btw, Uz.
Anyway, thanks for any advice any of you can give.
--
Robin Harbron - macbeth_at_tbaytel.net
http://my.tbaytel.net/macbeth
http://www.psw.ca/
----------------------------------------------------------------------
To unsubscribe from the list send mail to majordomo_at_musoftware.de with
the string "unsubscribe cc65" in the body(!) of the mail.
This archive was generated by hypermail 2.1.3 : 2003-11-03 05:46:35 CET