Welcome to the playground!

The purpose of the playground is to give you a space where you can try out the things you learn and make your own games! If you want to publish and share your creations, log in with Github and join the MOOC!

If you're having trouble getting started, try grabbing the NES warmup code.

Assembly Cheat Sheet! Click on an opcode, directive, or memory location to read its help page!

ADC ADd with Carry AND bitwise AND with accumulator
ASL Arithmetic Shift Left BCC Branch on Carry Clear (less than)
BCS Branch on Carry Set (greater than/equal to) BEQ Branch if EQual
BIT Test BITs BMI Branch on MInus
BNE Branch if Not Equal BPL Branch on PLus
BRK BReaK (software interrupt) BVC Branch on oVerflow Clear
BVS Branch on oVerflow Set CLC CLear Carry
CLD CLear Decimal CLI CLear Interrupt
CLV CLear oVerflow CMP CoMPare to accumulator
CPX CoMpare to X CPY CoMpare to Y
DEC DECrement memory DEX DEcrement X
DEY DEcrement Y EOR Exclusive OR with accumulator
INC INCrement memory INX INcrement X
INY INcrement Y JMP JuMP
JSR Jump to SubRoutine LDA LoaD Accumulator
LSR Logical Shift Right NOP NO oPeration
ORA bitwise OR with Accumulator PHA PusH Accumulator
PHP PusH Processor status PLA PuLl Accumulator
PLP PuLl Processor status ROL ROtate Left
ROR ROtate Right RTI ReTurn from Interrupt
RTS ReTurn from Subroutine SBC SuBtract with Carry
SEC SEt Carry SED SEt Decimal
SEI SEt Interrupt STA STore Accumulator
TAX Transfer Accumulator to X TAY Transfer Accumulator to Y
TSX Transfer Stack pointer to X TXA Transfer X to Accumulator
TXS Transfer X to Stack pointer TYA Transfer Y to Accumulator
.org [address] change program counter .define [label]=[value] define a constant
.bytes [byte1],[byte2],... add bytes directly to the code .words [word1],[word2],... add words (two bytes) directly to the code
.ascii "[string]" add a string of ascii characters to the code
$4016 (read/write) Player 1's controller. Write a 1, followed by 0 to bit 0 to enable reading the button presses.
$4016 (read) Player 1's controller. Bit 0 can be read 8 times to read the 8 buttons: A, B, Start, Select, Up, Down, Left, Right
$4017 (read) Player 2's controller. Same as $4016