xa-2.3.2, dxa-0.1.2 released

classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

xa-2.3.2, dxa-0.1.2 released

Cameron Kaiser-5

xa-2.3.2, the current version of the xa65 assembler package has been released
along with dxa-0.1.2, the current version of its companion disassembler.

xa is a 6502/R65C02/65816 crossassembler in portable C featuring a built-in
preprocessor, rich instruction and pseudo-op expression syntax, and built-in
o65 relocatable object support. 2.3.2 adds:

- character set translation for quoted strings (such as ASCII->PETSCII)
- proper recursive macro evaluation
- groks cpp(1) line tags automatically
- multiple bug fixes
- updated documentation

See the changelog for a complete listing.

dxa-0.1.2 is a portable crossassembler based on Marko Makela's d65 package
featuring intelligent disassembly and multiple output options, including
support for undocumented instructions. 65816 instruction support is pending.
0.1.2 corrects an occasional bug with relative addressing and an output bug
with back-to-back label formatting. dxa should still be considered alpha.

Suggestions and bug reports always welcome. Both programs are released
under the GNU Public License.

        http://www.floodgap.com/retrotech/xa/

--
--------------------------------- personal: http://www.armory.com/~spectre/ ---
  Cameron Kaiser * Floodgap Systems * www.floodgap.com * [hidden email]
-- Once, adv.: Enough. -- Ambrose Bierce, "The Devil's Dictionary" ------------

       Message was sent through the cbm-hackers mailing list

Reply | Threaded
Open this post in threaded view
|

Re: xa-2.3.2, dxa-0.1.2 released

Marko Mäkelä-3
On Wed, Jan 31, 2007 at 11:03:53AM -0800, Cameron Kaiser wrote:
> dxa-0.1.2 is a portable crossassembler based on Marko Makela's d65 package
> featuring intelligent disassembly and multiple output options, including
> support for undocumented instructions. 65816 instruction support is pending.
> 0.1.2 corrects an occasional bug with relative addressing and an output bug
> with back-to-back label formatting. dxa should still be considered alpha.

Thanks again for reviving this program.  I designed it in 1992 or 1993
and implemented it mostly in 1994.  I wanted to finish it some day, but
it worked well enough for my needs, and I got other projects on the way.

One thing that I wanted to implement an optional cross-reference.  Next
to each label, there would be a comment listing all routines jumping
to or accessing the address.  This might work best as hyperlinks in
HTML-formatted output.  (Naturally, also each label reference in the
HTML output would be a hyperlink to the definition of that label.)
You'd probably want to generate two kinds of labels: global (targets of
jump tables or jsr instructions, or user-specified) and local.  The
routines in the cross-reference would be best identified by the preceding
global label.

        Marko

       Message was sent through the cbm-hackers mailing list

Reply | Threaded
Open this post in threaded view
|

Re: xa-2.3.2, dxa-0.1.2 released

Cameron Kaiser-5
> > dxa-0.1.2 is a portable crossassembler based on Marko Makela's d65 package
> > featuring intelligent disassembly and multiple output options, including
> > support for undocumented instructions. 65816 instruction support is pending.
> > 0.1.2 corrects an occasional bug with relative addressing and an output bug
> > with back-to-back label formatting. dxa should still be considered alpha.
>
> Thanks again for reviving this program.  I designed it in 1992 or 1993
> and implemented it mostly in 1994.  I wanted to finish it some day, but
> it worked well enough for my needs, and I got other projects on the way.

I found it was easy to hack for my purposes, so I just went ahead and
released my "hacked" version to fill the gap in the xa suite (i.e., a
companion disassembler). I intend that as a compliment on your easy to
understand and modify code :)

> One thing that I wanted to implement an optional cross-reference.  Next
> to each label, there would be a comment listing all routines jumping
> to or accessing the address.  This might work best as hyperlinks in
> HTML-formatted output.  (Naturally, also each label reference in the
> HTML output would be a hyperlink to the definition of that label.)
> You'd probably want to generate two kinds of labels: global (targets of
> jump tables or jsr instructions, or user-specified) and local.  The
> routines in the cross-reference would be best identified by the preceding
> global label.

That's an intriguing idea. Although my first and biggest goal is to get
65816 support working for orthogonality, that sounds quite useful and I'll
add that to my to-do-after list.

--
--------------------------------- personal: http://www.armory.com/~spectre/ ---
  Cameron Kaiser * Floodgap Systems * www.floodgap.com * [hidden email]
-- Why was I born with such contemporaries? -- Oscar Wilde --------------------

       Message was sent through the cbm-hackers mailing list

Reply | Threaded
Open this post in threaded view
|

Re: xa-2.3.2, dxa-0.1.2 released

André Fachat

Hm, I just had the need to "pretty-print" an assembly program (available
in source, with comments). If dxa and xa go together, maybe they could
be combined in a way that xa would use the same output routines, or
that xa would be able to produce and dxa would be able to read something
like recomment hint files.

What do you think?

André

On Wed, Jan 31, 2007 at 01:32:00PM -0800, Cameron Kaiser wrote:
> > > dxa-0.1.2 is a portable crossassembler based on Marko Makela's d65 package
>
> released my "hacked" version to fill the gap in the xa suite (i.e., a
> companion disassembler). I intend that as a compliment on your easy to
> understand and modify code :)

André


       Message was sent through the cbm-hackers mailing list

Reply | Threaded
Open this post in threaded view
|

Re: xa-2.3.2, dxa-0.1.2 released

Cameron Kaiser-5
> Hm, I just had the need to "pretty-print" an assembly program (available
> in source, with comments). If dxa and xa go together, maybe they could
> be combined in a way that xa would use the same output routines, or
> that xa would be able to produce and dxa would be able to read something
> like recomment hint files.

I'm not quite sure I follow. Give me an example :)

--
--------------------------------- personal: http://www.armory.com/~spectre/ ---
  Cameron Kaiser * Floodgap Systems * www.floodgap.com * [hidden email]
-- Another visitor. Stay awhile. Stay forever! -- Professor Elvin Atombender --

       Message was sent through the cbm-hackers mailing list

Reply | Threaded
Open this post in threaded view
|

Re: xa-2.3.2, dxa-0.1.2 released

André Fachat

I've had an assembly source file with messed up spaces/tabs,
and with lots of comments. Difficult to read if you have the
code like:

---------------
start lda #0; comment
sta dummy ; xxx
tay
loop iny
bne loop; back to loop
rts
---------------

This looks much better when it is "pretty-printed" like this
after by the assembler (or other tool):

---------------
start   lda #0       ; comment
        sta dummy    ; xxx
        tay
loop    iny
        bne loop     ; back to loop
        rts
---------------

Do you know the "recomment" utility? I used it to
disassemble and pretty-print the output (see
http://www.zimmers.net/anonftp/pub/cbm/firmware/computers/pet/d/rom-1.html
for example).

I think I remember that the original @ASS or other
assemblers running on the C64 itself output the formatted
listing that could be redirected to a file.

Well, just an idea from a problem I had lately.

André


> > Hm, I just had the need to "pretty-print" an assembly program (available
> > in source, with comments). If dxa and xa go together, maybe they could
> > be combined in a way that xa would use the same output routines, or
> > that xa would be able to produce and dxa would be able to read something
> > like recomment hint files.
>
> I'm not quite sure I follow. Give me an example :)

--
Der GMX SmartSurfer hilft bis zu 70% Ihrer Onlinekosten zu sparen!
Ideal für Modem und ISDN: http://www.gmx.net/de/go/smartsurfer

       Message was sent through the cbm-hackers mailing list