Re: [stella] Line Labels/Memory Location...

Subject: Re: [stella] Line Labels/Memory Location...
From: Thomas Jentzsch <tjentzsch@xxxxxx>
Date: Mon, 05 Nov 2001 20:57:10 +0100
Joel Park wrote:

>The thing is, adventure is designed in more of a game engine 
format, so it
>draws it's graphics in a loop of sorts, pulling the graphics 
locations out
>of a table which just stored the High and Low bytes of the 
graphic location.
>At the end of each set of graphic bytes is a Null terminator 
thing, $00
>which signals the last byte in the graphic definition.   
Therefore the
>graphics are actually accessed by their start location in 
memory without the
>ability to use Line Tags. I hope that made sense.. :-)  

The best (or most perfect) way is, to complete the disassembly.

That means, replace all high and low bytes with the labels 
(that you'll have to define too!) they are pointing at. And 
you'll also have to find all other places in the code, where 
some pointer bytes are loaded directly (without tables access). 

I call those bytes "magic numbers". 

Every number (except maybe #0 or #1) that is loaded, compared, 
added etc. directly can be removed, when you understand what it 
is used for. Some magic numbers are constants, which can be 
defined, some are pointers for tables and some are hardware 
register values.

If you look at my disassemblies of Starmaster, River Raid and 
Pitfall! you will see, how the result of "magic number removal" 
looks. 

That way, you'll will get the maximum flexibility to do with 
the code what you want. You won't have to worry anymore, that 
changes to some code will break other code somewhere else. 

And, as a bonus, you will learn a lot about how the code works 
and the Atari community will get another fine disassembly :-)

Have fun!
Thomas




----------------------------------------------------------------------------------------------
Archives (includes files) at http://www.biglist.com/lists/stella/archives/
Unsub & more at http://www.biglist.com/lists/stella/


Current Thread