48 lines
2.1 KiB
Plaintext
48 lines
2.1 KiB
Plaintext
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 supported
|
|
CPU:
|
|
- Code cleanup
|
|
* Re-evaluate closure based privacy for instructions. This currently
|
|
makes it impossible to actually unit test the small bit of functionality
|
|
the instruction implements. There has to be a nice way to handle this.
|
|
- Ideally this should wait till after instructions are altered to grab
|
|
whatever bytes they need instead of relying on the loop to grab it
|
|
for them.
|
|
- 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
|
|
* Each instruction should be reponsible for getting what it needs from
|
|
memory(remove byte acquisition from cpu.step), remove bytes_required from
|
|
each instruction, and then each instruction should be able to be turned
|
|
into a function(instructions will no longer be objects)
|
|
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 support for loading a binary using a url
|
|
- 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
|