[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: ARM and 6502



Regnirps writes ...
> 
> ARM Simulation of 65C02
> 
 ....
> 
> The main idea is to treat 65C02 instructions as tokens like in BASIC or Java or
> some forms of Forth.
 ....

> From here
> on you simply disect the actions of the instruction and do them as if you were
> the �microcode� inside a 65C02.
>

     So far, so good. ARM sounds a lot like a 32-bit version of the old
29xxx series from AMD.

 
> Lets say the 6502 program counter points to some location that contains an
> instruction -- always true at this point in the code. We fetch the byte and
> multiply by 16 to get the address of the code to simulate this instruction.

 ....

> Well, if this keeps up, we get about a 2/1 ratio which implies:
> 
> 40 MHz ARM7500 = 20 MHz 6502
> 60 MHz ARM 7500 = 30 MHz 6502
> 200 MHz SA1100 = 100 MHz 6502
> 
> I�m sure a good ARM programmer can do better.

     Maybe, but a 1:2 speed conversion is not at all bad.

     Regarding memory. Is it fair to say that 32M of 32-bit memory
translates into about 128MB of 65C02 mem?

     There are some instructions which would be very nice to have. One
would be an address-relative JSR. Another is some way to handle data and
code address bank switching. (Another is a way to set up multiple large
stacks.)  Anyway, it looks like ARM makes it possible to define a 'super
6502'. Is this the case?



Rubywand