Shiny New 6502 Thing

New 6502 emulator feature: Instruction preview with resolved operands.

Screenshot of the 6502 emulator at masswerk.at/6502

A new feature for the 6502 emulator: Now, there’s an instant preview for the effects of the next instruction to be executed, with effective values and operands resolved.

E.g., given the following memory and register content,

$2004: $88
$0044: $04 ;<$2004
$0045: $20 ;>$2004
    X: $04

the emulator will show the following preview for the instruction `A1 40` or “LDA ($40,X)”:

A ⇐ $88

resolving the X-indexed addressing and showing the effective value, which will be assigned to the A register (accumulator).

Or, for an ASL instruction, it may show this (depending on the content of A):

A ⇐ C < |10001000| < 0

And, for the instruction `CE 04 20` or “DEC $2004”, it may show:

[2004] ⇐ $88 - 1

Thanks to this preview of the effective values, which will be actually used, complex behavior may be followed more easily and common errors, like forgetting “#” to mark up immediate operands in the assembler (and using zeropage mode instead — the dreaded “LDX $00”), should become pretty obvious.
(I’m not aware, whether there is prior art for this idea or not.)

And, by popular demand, there is now a “RST” button, sending a RESET signal to the emulator.

Try the 6502 emulator.