Testing: - Tests for cycle counting - More tests for branching operations - More tests for CMP/CPY/CPX operations - Tests needed for JMP operations - Tests needed for LD* and ST* operations - Tests needed for bank/page wrapping - Tests needed for IN* and DE* operations - Tests needed for T** transfer operations - Tests needed for interrupt support - Tests needed for the numerous other operations added CPU: - Code cleanup - Add support for loading a binary using a url - Figure out the exact details of how the 65816 handles illegal BCD numbers when decimal mode is set - Optimization * Use typed arrays if browser supports them Memory: - Bank wrapping or not wrapping for certain addressing modes and with certain settings - Page wrapping or not wrapping for certain addressing modes and with certain settings Display: - Add the ability to step, pause and stop execution - Ability to view the path of operation execution as it executes, like have the hex chars that are being interpreted at the moment highlighted - Display a log of the cpu's interpretation process, display what operations it finds and what arguments it finds for those operations in the order they are executed - Ability to view what the contents of memory are in a nice fashion - Ability to change the contents of registers or memory through the user interface - Ability to load binary files into the emulator through the user interface - Improve upon the appearance of the interface - Assembler - Disassembler