Re: 6502 Recompiled

From: Graham Toal <>
Date: Fri Oct 15 2004 - 13:17:38 EDT

> Neil,
> I'm going to expose myself for the bozo that I am, but would you explain for
> the non-programmer type what this means? Not the details, just the Big
> Picture. Does this mean you can run Asteroids or Tempest code on new
> hardware, or modify the code, or make new games that run on
> asteroids/tempest/any 6502 game board?

This is a _low-level_ translation of the assembly code into C, on an
instruction by instruction basis. For example "Lda #42" would be
replaced with "A=42;". It does indeed make it easier to port a
game to another platform, but you do still need a good understanding
of the original assembly code in order to do so.

However it is quite a reasonable approach to start with a machine
translation and gradually over time manually refine it as you identify
what various areas of the code do.

This will *not* let you run games on old 6502 boards however. The
generated C code is too large and makes assumptions about the machine
which are not valid (for example, that you can have a huge 'case'
statement, which alone might use 64K of memory that wouldn't be
possible on the original micro)

For that problem, what you need is a good disassembly.

But if your target board is an ARM or a 68000 (or even an X86), this
will work very nicely.


PS I've started a Wiki page for the intersection of our vector stuff
and the folks working on binary translations:
** Unsubscribe, subscribe, or view the archives at
** Please direct other questions, comments, or problems to
Received on Fri Oct 15 12:04:47 2004

This archive was generated by hypermail 2.1.8 : Sat Oct 16 2004 - 13:50:01 EDT