Home
Development
OpCodes
Technical
Screen Shots
Downloads
JavaDocs
NES Specs
Links
Help
Feedback
Admin


monkeycoder();
MonkeyNES OpCode Development

The table below is used for tracking all op code related changes. The ones that I've written are shown below in black, and the spots that either have no documented op code or that I haven't written yet are shown in gray. Op codes that are coded but are known to have incorrect timing due to not having coded page boundry extra cycles are shown in blue.

Please note that the table below uses JavaScript a LOT and it must be enabled for most of the functionality of the table. It should work in either IE or a Mozilla based browser and probably others as well, but I can't make any promises.

Supported Op Codes [0/152] [0/152] [0/152] [0/152] [0/152] [0/152]
BRK ORA --- --- --- ORA ASL --- PHP ORA ASL --- --- ORA ASL ---
BPL ORA --- --- --- ORA ASL --- CLC ORA --- --- --- ORA ASL ---
JSR AND --- --- BIT AND ROL --- PLP AND ROL --- BIT AND ROL ---
BMI AND --- --- --- AND ROL --- SEC AND --- --- --- AND ROL ---
RTI EOR --- --- --- EOR LSR --- PHA EOR LSR --- JMP EOR LSR ---
BVC EOR --- --- --- EOR LSR --- CLI EOR --- --- --- EOR LSR ---
RTS ADC --- --- --- ADC ROR --- PLA ADC ROR --- JMP ADC ROR ---
BVS ADC --- --- --- ADC ROR --- SEI ADC --- --- JMP ADC ROR ---
--- STA --- --- STY STA STX --- DEY --- TXA --- STY STA STX ---
BCC STA --- --- STY STA STX --- TYA STA TXS --- --- STA --- ---
LDY LDA LDX --- LDY LDA LDX --- TAY LDA TAX --- LDY LDA LDX ---
BCS LDA --- --- LDY LDA LDX --- CLV LDA TSX --- LDY LDA LDX ---
CPY CMP --- --- CPY CMP DEC --- INY CMP DEX --- CPY CMP DEC ---
BNE CMP --- --- --- CMP DEC --- CLD CMP --- --- --- CMP DEC ---
CPX SBC --- --- CPX SBC INC --- INX SBC NOP --- CPX SBC INC ---
BEQ SBC --- --- --- SBC INC --- SED SBC --- --- --- SBC INC ---
Output Script
Master Test Bucket
XXX Unknown XXX Implemented XXX Wrong Page Boundry Cycles
XXX Address Wrap Error   Verified   Failed Verify

This table will show you all extra OpCode information when you mouse over OpCodes in the table. Assembly syntax, index, code, bytes, and cycles (base, page boundry, and branch taken) are all shown. Please note that pa in the syntax represents a 1 byte page address, va represents a 1 byte raw value, and addr represents a 2 byte full address.

OpCodes that have been validated to work correctly or have a test script that should work but fails will show up with a greenish or redish background respectively and will act as links to the verification output or the test script based on the radio buttons below the table.

Added a link in the key area below the table to the Master Test Bucket script. This script runs all other test scripts in one huge batch. Testing is not considered complete until the results of this master script comes back fully successful. This serves as a "second verify" opportunity that will show any errors created in opcodes that were already verified caused by correcting other subsequent opcodes.