6502 Emulator

From CDOT Wiki
Revision as of 12:20, 8 January 2020 by Chris Tyler (talk | contribs) (Peripherals)
Jump to: navigation, search

A simple web-based 6502 emulator is available at [1]

Basic Controls

The emulator has a text area for data entry, a small bit-mapped screen (32x32 pixels), a character screen (80x25 characters), a debug area, a memory monitor, and a message area.

These controls are available at the top of the screen:

  • Assemble - assembles the code in the text area, placing the resulting binary machine language at $0600 and outputting any error messasges to the message area.
  • Run - runs the assembled code, if it assembled correctly. While the code is running, this button becomes a Stop button.
  • Reset - changes the PC to $0600, clears the bitmap and character displays, and clears the stack and zero page.
  • Hexdump - shows the hexadecimal values in memory starting at $0600
  • Disassemble - shows a combined hexdump and disassembly of code at $0600
  • Notes - displays notes about the emulator in the message area.

Using the Debugger

The debugger will constantly show the value of the emulated 6502's registers. If you select the Debugger checkbox, you will be able to single-step through memory or jump to an address or label using the associated pushbuttons.

Using the Monitor

Selecting the Monitor checkbox will display the specified region of memory as code is executed. For example, specifying a start of $00 and a length of $ff will display the entire zero page.

Peripherals

There are four peripherals available: the bitmapped and character displays, a pseudo-random number generator, and a single-key keyboard interface. For details, click the Notes button within the emulator.

Example Code

See the 6502 Emulator Example Code page.