Re: [stella] [ann] Distance disassembler

Subject: Re: [stella] [ann] Distance disassembler
From: "Eckhard Stolberg" <Eckhard_Stolberg@xxxxxx>
Date: Tue, 23 Jan 2001 19:50:03 +0100
> I'd appreciate it if as many people as possible would download it and 
> try it with various games before I do a 1.0.0 release. It's pretty 
> similar to Distella, but the system-specific stuff is mostly in the 
> configuration files. Config files for the 2600 and 7800 are included. 
> I've been using it to disassemble a few 7800 games while working on my 
> emulator.

OK, I donwloaded it and did some quick test. Here are some things that
I think could use an improvement:

A 1.0.0 release should include a documantation. ;-)

I don't really like how the output is formated. I think most of us
put the labels at collumn 1, the instructions at collumn 17 and the
operands at collumn 25. Maybe your disassembler could format it's
output like this too? This would also allow you to put in the
addressing mode overrides for the instructions. If you do:

NUSIZ0 equ $0004
sta NUSIZ0

then DASM will generate a zeropage access, because of the leading zeroes.
But sometimes you might want to generate an absolute access, because of
the different timing. In DASM you can enforce this by doing

sta.w NUSIZ0

I think your disassembler should generate those overrides automatically,
because otherwise some games wouldn't assmeble to the correct binary
with DASM.

Also it would be good if one could define different labels for read
and write accesses. On the VCS for example writing to address $04
will set the NUSIZ register for player 0, but reading from that same
address will get you the status of one of the collision registers.
Maybe your disassembler could differentiate between the two access
modes and use different labels accordingly?

Distella only includes those equates for TIA registers that get
actually used. I think this helps the readability a bit. Maybe
your disassembler could do the same?

And it would be good if your disassembler could handle atleast the
simple bankswitching formats that use accesses to fixed addresses
to switch to a certain bank. I think there are at least two games
for the 7800 that also use such a scheme, so this feature might be
helpfull for your own purposes too. ;-) Maybe you could allow the
user to define an area in the binary and set the origin for it.
Then one could assign a hotspot address to that area and the
automatic tracing routine would know when to switch banks.

And since you have to redirect the output into a file yourself,
which affects all output of the program, maybe there is a way to
get at least some sort progress indicator still displayed on the

Ciao, Eckhard Stolberg

Archives (includes files) at
Unsub & more at

Current Thread