Top Level Namespace

Included Modules

Extended Modules

Defined in:

Constant Summary

COLORS = [[128, 128, 128], [0, 61, 166], [0, 18, 176], [68, 0, 150], [161, 0, 94], [199, 0, 40], [186, 6, 0], [140, 23, 0], [92, 47, 0], [16, 69, 0], [5, 74, 0], [0, 71, 46], [0, 65, 102], [0, 0, 0], [5, 5, 5], [5, 5, 5], [199, 199, 199], [0, 119, 255], [33, 85, 255], [130, 55, 250], [235, 47, 181], [255, 41, 80], [255, 34, 0], [214, 50, 0], [196, 98, 0], [53, 128, 0], [5, 143, 0], [0, 138, 85], [0, 153, 204], [33, 33, 33], [9, 9, 9], [9, 9, 9], [255, 255, 255], [15, 215, 255], [105, 162, 255], [212, 128, 255], [255, 69, 243], [255, 97, 139], [255, 136, 51], [255, 156, 18], [250, 188, 32], [159, 227, 14], [43, 240, 53], [12, 240, 164], [5, 251, 255], [94, 94, 94], [13, 13, 13], [13, 13, 13], [255, 255, 255], [166, 252, 255], [179, 236, 255], [218, 171, 235], [255, 168, 249], [255, 171, 179], [255, 210, 176], [255, 239, 166], [255, 247, 156], [215, 232, 149], [166, 237, 175], [162, 242, 218], [153, 255, 252], [221, 221, 221], [17, 17, 17], [17, 17, 17]]
CYCLES = [7, 6, 2, 8, 3, 3, 5, 5, 3, 2, 2, 2, 4, 4, 6, 6, 2, 5, 2, 8, 4, 4, 6, 6, 2, 4, 2, 7, 4, 4, 6, 7, 6, 6, 2, 8, 3, 3, 5, 5, 4, 2, 2, 2, 4, 4, 6, 6, 2, 5, 2, 8, 4, 4, 6, 6, 2, 4, 2, 7, 4, 4, 6, 7, 6, 6, 2, 8, 3, 3, 5, 5, 3, 2, 2, 2, 3, 4, 6, 6, 2, 5, 2, 8, 4, 4, 6, 6, 2, 4, 2, 7, 4, 4, 6, 7, 6, 6, 2, 8, 3, 3, 5, 5, 4, 2, 2, 2, 5, 4, 6, 6, 2, 5, 2, 8, 4, 4, 6, 6, 2, 4, 2, 7, 4, 4, 6, 7, 2, 6, 2, 6, 3, 3, 3, 3, 2, 2, 2, 2, 4, 4, 4, 4, 2, 6, 2, 6, 4, 4, 4, 4, 2, 4, 2, 5, 5, 4, 5, 5, 2, 6, 2, 6, 3, 3, 3, 3, 2, 2, 2, 2, 4, 4, 4, 4, 2, 5, 2, 5, 4, 4, 4, 4, 2, 4, 2, 4, 4, 4, 4, 4, 2, 6, 2, 8, 3, 3, 5, 5, 2, 2, 2, 2, 4, 4, 6, 6, 2, 5, 2, 8, 4, 4, 6, 6, 2, 4, 2, 7, 4, 4, 7, 7, 2, 6, 3, 8, 3, 3, 5, 5, 2, 2, 2, 2, 4, 4, 6, 6, 2, 5, 2, 8, 4, 4, 6, 6, 2, 4, 2, 7, 4, 4, 7, 7]
OPELAND_DICT = {169 => ["LDA", "immediate", CYCLES[169]], 165 => ["LDA", "zeroPage", CYCLES[165]], 173 => ["LDA", "absolute", CYCLES[173]], 181 => ["LDA", "zeroPageX", CYCLES[181]], 189 => ["LDA", "absoluteX", CYCLES[189]], 185 => ["LDA", "absoluteY", CYCLES[185]], 161 => ["LDA", "preIndexedIndirect", CYCLES[161]], 177 => ["LDA", "postIndexedIndirect", CYCLES[177]], 162 => ["LDX", "immediate", CYCLES[162]], 166 => ["LDX", "zeroPage", CYCLES[166]], 174 => ["LDX", "absolute", CYCLES[174]], 182 => ["LDX", "zeroPageY", CYCLES[182]], 190 => ["LDX", "absoluteY", CYCLES[190]], 160 => ["LDY", "immediate", CYCLES[160]], 164 => ["LDY", "zeroPage", CYCLES[164]], 172 => ["LDY", "absolute", CYCLES[172]], 180 => ["LDY", "zeroPageX", CYCLES[180]], 188 => ["LDY", "absoluteX", CYCLES[188]], 133 => ["STA", "zeroPage", CYCLES[133]], 141 => ["STA", "absolute", CYCLES[141]], 149 => ["STA", "zeroPageX", CYCLES[149]], 157 => ["STA", "absoluteX", CYCLES[157]], 153 => ["STA", "absoluteY", CYCLES[153]], 129 => ["STA", "preIndexedIndirect", CYCLES[129]], 145 => ["STA", "postIndexedIndirect", CYCLES[145]], 134 => ["STX", "zeroPage", CYCLES[134]], 142 => ["STX", "absolute", CYCLES[142]], 150 => ["STX", "zeroPageY", CYCLES[150]], 132 => ["STY", "zeroPage", CYCLES[132]], 140 => ["STY", "absolute", CYCLES[140]], 148 => ["STY", "zeroPageX", CYCLES[148]], 138 => ["TXA", "implied", CYCLES[138]], 152 => ["TYA", "implied", CYCLES[152]], 154 => ["TXS", "implied", CYCLES[154]], 168 => ["TAY", "implied", CYCLES[168]], 170 => ["TAX", "implied", CYCLES[170]], 186 => ["TSX", "implied", CYCLES[186]], 8 => ["PHP", "implied", CYCLES[8]], 40 => ["PLP", "implied", CYCLES[40]], 72 => ["PHA", "implied", CYCLES[72]], 104 => ["PLA", "implied", CYCLES[104]], 105 => ["ADC", "immediate", CYCLES[105]], 101 => ["ADC", "zeroPage", CYCLES[101]], 109 => ["ADC", "absolute", CYCLES[109]], 117 => ["ADC", "zeroPageX", CYCLES[117]], 125 => ["ADC", "absoluteX", CYCLES[125]], 121 => ["ADC", "absoluteY", CYCLES[121]], 97 => ["ADC", "preIndexedIndirect", CYCLES[97]], 113 => ["ADC", "postIndexedIndirect", CYCLES[113]], 233 => ["SBC", "immediate", CYCLES[233]], 229 => ["SBC", "zeroPage", CYCLES[229]], 237 => ["SBC", "absolute", CYCLES[237]], 245 => ["SBC", "zeroPageX", CYCLES[245]], 253 => ["SBC", "absoluteX", CYCLES[253]], 249 => ["SBC", "absoluteY", CYCLES[249]], 225 => ["SBC", "preIndexedIndirect", CYCLES[225]], 241 => ["SBC", "postIndexedIndirect", CYCLES[241]], 224 => ["CPX", "immediate", CYCLES[224]], 228 => ["CPX", "zeroPage", CYCLES[228]], 236 => ["CPX", "absolute", CYCLES[236]], 192 => ["CPY", "immediate", CYCLES[192]], 196 => ["CPY", "zeroPage", CYCLES[196]], 204 => ["CPY", "absolute", CYCLES[204]], 201 => ["CMP", "immediate", CYCLES[201]], 197 => ["CMP", "zeroPage", CYCLES[197]], 205 => ["CMP", "absolute", CYCLES[205]], 213 => ["CMP", "zeroPageX", CYCLES[213]], 221 => ["CMP", "absoluteX", CYCLES[221]], 217 => ["CMP", "absoluteY", CYCLES[217]], 193 => ["CMP", "preIndexedIndirect", CYCLES[193]], 209 => ["CMP", "postIndexedIndirect", CYCLES[209]], 41 => ["AND", "immediate", CYCLES[41]], 37 => ["AND", "zeroPage", CYCLES[37]], 45 => ["AND", "absolute", CYCLES[45]], 53 => ["AND", "zeroPageX", CYCLES[53]], 61 => ["AND", "absoluteX", CYCLES[61]], 57 => ["AND", "absoluteY", CYCLES[57]], 33 => ["AND", "preIndexedIndirect", CYCLES[33]], 49 => ["AND", "postIndexedIndirect", CYCLES[49]], 73 => ["EOR", "immediate", CYCLES[73]], 69 => ["EOR", "zeroPage", CYCLES[69]], 77 => ["EOR", "absolute", CYCLES[77]], 85 => ["EOR", "zeroPageX", CYCLES[85]], 93 => ["EOR", "absoluteX", CYCLES[93]], 89 => ["EOR", "absoluteY", CYCLES[89]], 65 => ["EOR", "preIndexedIndirect", CYCLES[65]], 81 => ["EOR", "postIndexedIndirect", CYCLES[81]], 9 => ["ORA", "immediate", CYCLES[9]], 5 => ["ORA", "zeroPage", CYCLES[5]], 13 => ["ORA", "absolute", CYCLES[13]], 21 => ["ORA", "zeroPageX", CYCLES[21]], 29 => ["ORA", "absoluteX", CYCLES[29]], 25 => ["ORA", "absoluteY", CYCLES[25]], 1 => ["ORA", "preIndexedIndirect", CYCLES[1]], 17 => ["ORA", "postIndexedIndirect", CYCLES[17]], 36 => ["BIT", "zeroPage", CYCLES[36]], 44 => ["BIT", "absolute", CYCLES[44]], 10 => ["ASL", "accumulator", CYCLES[10]], 6 => ["ASL", "zeroPage", CYCLES[6]], 14 => ["ASL", "absolute", CYCLES[14]], 22 => ["ASL", "zeroPageX", CYCLES[22]], 30 => ["ASL", "absoluteX", CYCLES[30]], 74 => ["LSR", "accumulator", CYCLES[74]], 70 => ["LSR", "zeroPage", CYCLES[70]], 78 => ["LSR", "absolute", CYCLES[78]], 86 => ["LSR", "zeroPageX", CYCLES[86]], 94 => ["LSR", "absoluteX", CYCLES[94]], 42 => ["ROL", "accumulator", CYCLES[42]], 38 => ["ROL", "zeroPage", CYCLES[38]], 46 => ["ROL", "absolute", CYCLES[46]], 54 => ["ROL", "zeroPageX", CYCLES[54]], 62 => ["ROL", "absoluteX", CYCLES[62]], 106 => ["ROR", "accumulator", CYCLES[106]], 102 => ["ROR", "zeroPage", CYCLES[102]], 110 => ["ROR", "absolute", CYCLES[110]], 118 => ["ROR", "zeroPageX", CYCLES[118]], 126 => ["ROR", "absoluteX", CYCLES[126]], 232 => ["INX", "implied", CYCLES[232]], 200 => ["INY", "implied", CYCLES[200]], 230 => ["INC", "zeroPage", CYCLES[230]], 238 => ["INC", "absolute", CYCLES[238]], 246 => ["INC", "zeroPageX", CYCLES[246]], 254 => ["INC", "absoluteX", CYCLES[254]], 202 => ["DEX", "implied", CYCLES[202]], 136 => ["DEY", "implied", CYCLES[136]], 198 => ["DEC", "zeroPage", CYCLES[198]], 206 => ["DEC", "absolute", CYCLES[206]], 214 => ["DEC", "zeroPageX", CYCLES[214]], 222 => ["DEC", "absoluteX", CYCLES[222]], 24 => ["CLC", "implied", CYCLES[24]], 88 => ["CLI", "implied", CYCLES[88]], 184 => ["CLV", "implied", CYCLES[184]], 56 => ["SEC", "implied", CYCLES[56]], 120 => ["SEI", "implied", CYCLES[120]], 234 => ["NOP", "implied", CYCLES[234]], 0 => ["BRK", "implied", CYCLES[0]], 32 => ["JSR", "absolute", CYCLES[32]], 76 => ["JMP", "absolute", CYCLES[76]], 108 => ["JMP", "indirectAbsolute", CYCLES[108]], 64 => ["RTI", "implied", CYCLES[64]], 96 => ["RTS", "implied", CYCLES[96]], 16 => ["BPL", "relative", CYCLES[16]], 48 => ["BMI", "relative", CYCLES[48]], 80 => ["BVC", "relative", CYCLES[80]], 112 => ["BVS", "relative", CYCLES[112]], 144 => ["BCC", "relative", CYCLES[144]], 176 => ["BCS", "relative", CYCLES[176]], 208 => ["BNE", "relative", CYCLES[208]], 240 => ["BEQ", "relative", CYCLES[240]], 248 => ["SED", "implied", CYCLES[248]], 216 => ["CLD", "implied", CYCLES[216]], 26 => ["NOP", "implied", CYCLES[26]], 58 => ["NOP", "implied", CYCLES[58]], 90 => ["NOP", "implied", CYCLES[90]], 122 => ["NOP", "implied", CYCLES[122]], 218 => ["NOP", "implied", CYCLES[218]], 250 => ["NOP", "implied", CYCLES[250]], 2 => ["NOP", "implied", CYCLES[2]], 18 => ["NOP", "implied", CYCLES[18]], 34 => ["NOP", "implied", CYCLES[34]], 50 => ["NOP", "implied", CYCLES[50]], 66 => ["NOP", "implied", CYCLES[66]], 82 => ["NOP", "implied", CYCLES[82]], 98 => ["NOP", "implied", CYCLES[98]], 114 => ["NOP", "implied", CYCLES[114]], 146 => ["NOP", "implied", CYCLES[146]], 178 => ["NOP", "implied", CYCLES[178]], 210 => ["NOP", "implied", CYCLES[210]], 242 => ["NOP", "implied", CYCLES[242]], 128 => ["NOPD", "implied", CYCLES[128]], 130 => ["NOPD", "implied", CYCLES[130]], 137 => ["NOPD", "implied", CYCLES[137]], 194 => ["NOPD", "implied", CYCLES[194]], 226 => ["NOPD", "implied", CYCLES[226]], 4 => ["NOPD", "implied", CYCLES[4]], 68 => ["NOPD", "implied", CYCLES[68]], 100 => ["NOPD", "implied", CYCLES[100]], 20 => ["NOPD", "implied", CYCLES[20]], 52 => ["NOPD", "implied", CYCLES[52]], 84 => ["NOPD", "implied", CYCLES[84]], 116 => ["NOPD", "implied", CYCLES[116]], 212 => ["NOPD", "implied", CYCLES[212]], 244 => ["NOPD", "implied", CYCLES[244]], 12 => ["NOPI", "implied", CYCLES[12]], 28 => ["NOPI", "implied", CYCLES[28]], 60 => ["NOPI", "implied", CYCLES[60]], 92 => ["NOPI", "implied", CYCLES[92]], 124 => ["NOPI", "implied", CYCLES[124]], 220 => ["NOPI", "implied", CYCLES[220]], 252 => ["NOPI", "implied", CYCLES[252]], 167 => ["LAX", "zeroPage", CYCLES[167]], 183 => ["LAX", "zeroPageY", CYCLES[183]], 175 => ["LAX", "absolute", CYCLES[175]], 191 => ["LAX", "absoluteY", CYCLES[191]], 163 => ["LAX", "preIndexedIndirect", CYCLES[163]], 179 => ["LAX", "postIndexedIndirect", CYCLES[179]], 135 => ["SAX", "zeroPage", CYCLES[135]], 151 => ["SAX", "zeroPageY", CYCLES[151]], 143 => ["SAX", "absolute", CYCLES[143]], 131 => ["SAX", "preIndexedIndirect", CYCLES[131]], 235 => ["SBC", "immediate", CYCLES[235]], 199 => ["DCP", "zeroPage", CYCLES[199]], 215 => ["DCP", "zeroPageX", CYCLES[215]], 207 => ["DCP", "absolute", CYCLES[207]], 223 => ["DCP", "absoluteX", CYCLES[223]], 219 => ["DCP", "absoluteY", CYCLES[216]], 195 => ["DCP", "preIndexedIndirect", CYCLES[195]], 211 => ["DCP", "postIndexedIndirect", CYCLES[211]], 231 => ["ISB", "zeroPage", CYCLES[231]], 247 => ["ISB", "zeroPageX", CYCLES[247]], 239 => ["ISB", "absolute", CYCLES[239]], 255 => ["ISB", "absoluteX", CYCLES[255]], 251 => ["ISB", "absoluteY", CYCLES[248]], 227 => ["ISB", "preIndexedIndirect", CYCLES[227]], 243 => ["ISB", "postIndexedIndirect", CYCLES[243]], 7 => ["SLO", "zeroPage", CYCLES[7]], 23 => ["SLO", "zeroPageX", CYCLES[23]], 15 => ["SLO", "absolute", CYCLES[15]], 31 => ["SLO", "absoluteX", CYCLES[31]], 27 => ["SLO", "absoluteY", CYCLES[27]], 3 => ["SLO", "preIndexedIndirect", CYCLES[3]], 19 => ["SLO", "postIndexedIndirect", CYCLES[19]], 39 => ["RLA", "zeroPage", CYCLES[39]], 55 => ["RLA", "zeroPageX", CYCLES[55]], 47 => ["RLA", "absolute", CYCLES[47]], 63 => ["RLA", "absoluteX", CYCLES[63]], 59 => ["RLA", "absoluteY", CYCLES[59]], 35 => ["RLA", "preIndexedIndirect", CYCLES[35]], 51 => ["RLA", "postIndexedIndirect", CYCLES[51]], 71 => ["SRE", "zeroPage", CYCLES[71]], 87 => ["SRE", "zeroPageX", CYCLES[87]], 79 => ["SRE", "absolute", CYCLES[79]], 95 => ["SRE", "absoluteX", CYCLES[95]], 91 => ["SRE", "absoluteY", CYCLES[91]], 67 => ["SRE", "preIndexedIndirect", CYCLES[67]], 83 => ["SRE", "postIndexedIndirect", CYCLES[83]], 103 => ["RRA", "zeroPage", CYCLES[103]], 119 => ["RRA", "zeroPageX", CYCLES[119]], 111 => ["RRA", "absolute", CYCLES[111]], 127 => ["RRA", "absoluteX", CYCLES[127]], 123 => ["RRA", "absoluteY", CYCLES[123]], 99 => ["RRA", "preIndexedIndirect", CYCLES[99]], 115 => ["RRA", "postIndexedIndirect", CYCLES[115]]}
SPRITES_NUMBER = 256

Method Summary

Method Detail

def parse(nes_buf : Bytes) : Array(Bytes) #

[View source]