Re: [cc65] DA65 GEOS Disassembly?

Date view Thread view Subject view

From: Todd Elliott (eyeth_at_videocam.net.au)
Date: 2003-10-10 16:23:02


On Fri, 10 Oct 2003, Maciej Witkowiak wrote:
> What else would be needed besides unpacking .cvt file into header+seq or
> header+vlirs? The latter case is tricky because without analysing the code of
> the first chain you never know what are load addresses for all the other chains.
>
Hello, Maciej-

The DA65 disassembler would need to get the start address from the header
as a starting PC value for both sequential GEOS files and VLIR #0 of VLIR
GEOS files.

As for disassembling GEOS VLIR files, maybe the user could specify (pass
via command line argument?) a starting PC value for the VLIR records
(#1-126) in a GEOS VLIR file being disassembled? If the user does not pass
a value, perphaps a default starting value of $0000 should be used.

Also, I'd like to have the ability to do a targeted VLIR record
disassembly. Let's say I want to disassemble VLIR #3 of a GEOS VLIR file.
I happen to know the starting PC address, so I supply this value. I'd like
DA65 to do this, generating a disassembled source code file only for VLIR
#3 and nothing else.

What I would love to see from a disassembler with respect to
GEOS sequential and VLIR files is this:

The disassembly output for GEOS sequential files would be split into two
source code files; One for the header and one for the main code.

For GEOS VLIR files, the disassembly output would be split into seperate
source code files for the header, individual VLIR records, etc. So, if a
GEOS VLIR file had ten VLIR records, I'd like to see ten seperate source
code files corresponding to each VLIR record, in addition to a source code
file for the header.

As with either disassembly done under DA65, I'd like to have a .CFG file
or something similar where I could immediately compile it under CA65 to
ensure that the disassembly worked. (I'd compare the new compiled program
against the original under a file compare utility.)

Lastly, I would like for DA65 to have support for GEOS address labels
(r0..r15, etc.) and GEOS function call labels (SetDevice, OpenDisk, etc.)
into the disassembled source code output. (No GEOS constant labels should
be used, though.)

This way, I could easily patch GEOS programs, by simply going through the
entire source, fixing code here and there. I recently patched geoList v2.1
for 4-drive support, and I used CA65 for only a small snippet of source
code. I then used a hex editor to insert this small snippet directly into
the geoList .CVT file, tested it under VICE emulator, repeated as
necessary. This has been somewhat tedious, as I have to insert code
manually into the geoList .CVT file everytime I need to make a change.

Am I asking for too much? I hope it is feasible for DA65 to support
disassembly of GEOS files. It will make for quicker and more productive
GEOS development.

Enjoy.
-- 
Todd Elliott
----------------------------------------------------------------------
To unsubscribe from the list send mail to majordomo_at_musoftware.de with
the string "unsubscribe cc65" in the body(!) of the mail.


Date view Thread view Subject view

This archive was generated by hypermail 2.1.3 : 2003-10-10 16:25:21 CEST