65816.js/TODO

48 lines
2.1 KiB
Plaintext
Raw Permalink Normal View History

2011-05-06 03:37:58 +00:00
Testing:
- Tests for cycle counting
2011-05-06 03:37:58 +00:00
- More tests for branching operations
2011-05-08 02:19:39 +00:00
- More tests for CMP/CPY/CPX operations
2011-05-06 03:37:58 +00:00
- Tests needed for JMP operations
- Tests needed for LD* and ST* operations
- Tests needed for bank/page wrapping
2011-05-06 03:37:58 +00:00
- Tests needed for IN* and DE* operations
- Tests needed for T** transfer operations
2011-05-16 00:21:02 +00:00
- Tests needed for interrupt support
2012-02-17 21:37:19 +00:00
- Tests needed for the numerous other operations supported
2011-05-01 01:45:56 +00:00
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
2011-05-16 00:21:02 +00:00
- Optimization
2011-11-06 15:15:42 +00:00
* Use typed arrays if browser supports them
2012-02-17 21:37:19 +00:00
* 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)
2011-05-01 01:45:56 +00:00
Memory:
2011-05-12 20:23:03 +00:00
- 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
2011-05-01 17:54:49 +00:00
Display:
- Add support for loading a binary using a url
2011-07-11 23:17:41 +00:00
- 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