A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | Crash Setup | Crash Timing | Odds of Crash | Color odds assuming crash happens | Raw Color Odds | |||||||||||||||||||||
2 | 1-T156C, 3-T168, 2-T169, 4-T169p, 4+168C, 0-250p, 0-254P | 29731 | 1.67% | 100.00% | 1.67% | |||||||||||||||||||||
3 | 4+169P, 3-175N, 2-176N, 0-252p, 0h-255, 0v-253 | 29732 | 9.17% | 100.00% | 9.17% | |||||||||||||||||||||
4 | 1-157p, 1-158C, 1-159P, 1-T159, 4-T165p, 4-T170N, 0v-247p | 29733 | 23.33% | 100.00% | 23.33% | |||||||||||||||||||||
5 | 3-170C, 2-171C, 3-171P, 3-171N, 2-172P, 2-172N, 3-T171C, 2-T172C, 0v-250P, 0h-253N | 29734 | 40.00% | 95.83% | 4.17% | 38.33% | 1.67% | |||||||||||||||||||
6 | 4-T167P, 0-248P, 0h-252P | 29735 | 56.67% | 83.82% | 16.18% | 47.50% | 9.17% | |||||||||||||||||||
7 | 1-161N, 3-167P, 2-168P, 4-169p 3-T167C, 2-T168C, 4+T169p, 0h-249, 0v-255 | 29736 | 73.33% | 68.18% | 31.82% | 50.00% | 23.33% | |||||||||||||||||||
8 | 29737 | 86.67% | 55.77% | 44.23% | 48.33% | 38.33% | ||||||||||||||||||||
9 | 4+T165p, 4+T170N, 0v-253N | 29738 | 88.33% | 46.23% | 53.77% | 40.83% | 47.50% | |||||||||||||||||||
10 | 4-169, 4-T170, 0h-250p, 0v-252P, 0h-254P | 29739 | 76.67% | 34.78% | 65.22% | 26.67% | 50.00% | |||||||||||||||||||
11 | 3-172N, 2-173N, 4+T167P, 0v-249, 0-254p | 29740 | 60.00% | 19.44% | 80.56% | 11.67% | 48.33% | |||||||||||||||||||
12 | 1-156C, 4+169p, 3-T173N, 2-T174N | 29741 | 43.33% | 5.77% | 94.23% | 2.50% | 40.83% | |||||||||||||||||||
13 | 1-159p, 3-T168C, 2-T169C | 29742 | 28.33% | 94.12% | 5.88% | 26.67% | 1.67% | |||||||||||||||||||
14 | 3-T169P, 2-T170P, 3-171p, 2-172p, 0h-248P, 0v-250p, 0v-254P | 29743 | 20.83% | 56.00% | 44.00% | 11.67% | 9.17% | |||||||||||||||||||
15 | 1-159N, 1-T159C, 4-T167p, 4+169, 4+T170, 0-248p, 0h-252p | 29744 | 25.83% | 9.68% | 90.32% | 2.50% | 23.33% | |||||||||||||||||||
16 | 3-157p, 2-168p | 29745 | 40.00% | 100.00% | 40.00% | |||||||||||||||||||||
17 | 29746 | 56.67% | 100.00% | 56.67% | ||||||||||||||||||||||
18 | 1-157, 1-T162N, 4-T167, 3-169P, 2-170P, 0v-248P | 29747 | 73.33% | 100.00% | 73.33% | |||||||||||||||||||||
19 | 4-174N, 0v-252p, 0h-254p | 29748 | 88.33% | 100.00% | 88.33% | |||||||||||||||||||||
20 | 4+T167p, 0-254N | 29749 | 97.50% | 100.00% | 97.50% | |||||||||||||||||||||
21 | 4-170P, 4-169C, 4-170N, 4-T170C | 29750 | 100.00% | 100.00% | 100.00% | |||||||||||||||||||||
22 | 1-T155, 3-172, 2-173 | 29751 | 100.00% | 98.33% | 1.67% | 98.33% | 1.67% | |||||||||||||||||||
23 | 4-166P, 4+T167, 3-T169p, 2-T170p, 0h-252p, 0v-254p | 29752 | 100.00% | 90.83% | 9.17% | 90.83% | 9.17% | |||||||||||||||||||
24 | 4-T166, 3-168, 2-169, 4+174N | 29753 | 100.00% | 76.67% | 23.33% | 76.67% | 23.33% | |||||||||||||||||||
25 | 29754 | 100.00% | 60.00% | 38.33% | 1.67% | 60.00% | 38.33% | 1.67% | ||||||||||||||||||
26 | 4+170P, 4+169C, 4+170N, 4+T170C | 29755 | 100.00% | 43.33% | 47.50% | 9.17% | 43.33% | 47.50% | 9.17% | |||||||||||||||||
27 | 3-169p, 2-170p, 4-171N, 0v-248p | 29756 | 100.00% | 26.67% | 50.00% | 23.33% | 26.67% | 50.00% | 23.33% | |||||||||||||||||
28 | 1-T156P, 4+166P, 4-T172N, 0h-254N | 29757 | 100.00% | 11.67% | 48.33% | 40.00% | 11.67% | 48.33% | 40.00% | |||||||||||||||||
29 | 1-157C, 4+T166 4-T167C | 29758 | 100.00% | 2.50% | 40.83% | 56.67% | 2.50% | 40.83% | 56.67% | |||||||||||||||||
30 | 1-158P, 4-T168P, 3-169, 2-170, 4-170p | 29759 | 100.00% | 26.67% | 73.33% | 26.67% | 73.33% | |||||||||||||||||||
31 | 3-T170, 2-T171 | 29760 | 100.00% | 11.67% | 88.33% | 11.67% | 88.33% | |||||||||||||||||||
32 | 1-160N, 4-166p, 4+171N, 0v-254N | 29761 | 98.33% | 2.54% | 97.46% | 2.50% | 95.83% | |||||||||||||||||||
33 | 1-T155C, 3-172C, 4+T172N, 2-173C | 29762 | 90.83% | 100.00% | 90.83% | |||||||||||||||||||||
34 | 4-168P, 4+T167C | 29763 | 76.67% | 100.00% | 76.67% | |||||||||||||||||||||
35 | 4-T166C, 3-168C, 2-169C, 4+160p, 4+T168P, 3-T173N, 2-T174N | 29764 | 60.00% | 100.00% | 60.00% | |||||||||||||||||||||
36 | 1-T158N | 29765 | 43.33% | 100.00% | 43.33% | |||||||||||||||||||||
37 | 1-T156p, 4+166p, 3-T170N, 2-T171N | 29766 | 26.67% | 100.00% | 26.67% | |||||||||||||||||||||
38 | 1-156P, 4-171 | 29767 | 11.67% | 100.00% | 11.67% | |||||||||||||||||||||
39 | 1-158p, 4+168P, 4-T168p | 29768 | 2.50% | 100.00% | 2.50% | |||||||||||||||||||||
40 | What it all means: | |||||||||||||||||||||||||
41 | 1-: Single, 2-: Double, 3-: Triple, 4-: Tetris 4%8, 4+: Tetris 0%8 | |||||||||||||||||||||||||
42 | 0-: No lines, T/J, 0h-: No lines, horizontal Z, 0v-: No lines, vertical Z or OSLI | |||||||||||||||||||||||||
43 | 155: Level 155, T155: Transition to level 155 | |||||||||||||||||||||||||
44 | p: 1-6 pushdown, P: 7+ pushdown, N: No next box, C: Clear count 10 | |||||||||||||||||||||||||
45 | Crash Timing: | |||||||||||||||||||||||||
46 | Expected number of frames before reaching the switch routine responsible for crashing, assuming 3c delay for extra instruction, 1c delay for PRNG, 1c delay for DMA cycle parity | |||||||||||||||||||||||||
47 | Color Coding: | |||||||||||||||||||||||||
48 | Crashes are seperated into 5 types based on where in the switch routine they are interrupted because this determines where execution will jump to afterwards. In the odds of crash column, and in the other sheets, darker colors indicate it is more likely the crash will be this particular color than one of the other possibilities. Italicized text indicates it is guaranteed it will be that color, should the crash occur. | |||||||||||||||||||||||||
49 | Red Crash Behavior | |||||||||||||||||||||||||
50 | This is the earliest in the routine the code may be interrupted and have adverse effects. The final instructions permitted to execute were either sta tmp1 or pla. The original routine will choose which page of memory to read the jump from, while where on the page to read from will be set by the P4 expansion port. Assuming no input, switches 1,3,5, and 7 all result in initiating the copyright screen sequence without updating onscreen graphics, resetting the game to the title screen after 500 frames. Switch 2 does not crash, as the PC is directed to an RTS elsewhere in memory. Switch 4 sends the PC into the PPU bus region which generally crashes but sometimes switches the graphics bank and continues. Switch 6 runs a routine which draws a large blank region in the middle of the frame, resulting in horrible graphics corruption overwriting vram tiles with their position, however the game will resume as normal afterwards. Switch 8 crashes immediately. | |||||||||||||||||||||||||
51 | Orange Crash Behavior | |||||||||||||||||||||||||
52 | This is one of the three rarer crashes, the others being blue and green. On an orange crash, the sta tmp2 is allowed to execute before being interrupted, meaning the table to load from is entirely overwritten during NMI. The readout of the P3/P4 controllers allows you to read a pair of bytes from anywhere in memory as the point to jump to. Assuming no input, all switches send the PC to $0000 | |||||||||||||||||||||||||
53 | Yellow Crash Behavior | |||||||||||||||||||||||||
54 | The most common crash. This allows lda (tmp1),y | tax | iny to run. In this case, the address the PC will jump to is formed by taking low byte of the routine it was supposed to run, and loading the high byte from an arbitrary point in memory specified by the P3/P4 readout. Assuming no input, switches 1,3,5,7 send the PC to $005D, switch 2 to $0086, switch 4 to $0016, switch 6 to $007F, switch 8 to $0027 | |||||||||||||||||||||||||
55 | Green Crash Behavior | |||||||||||||||||||||||||
56 | Another rarer crash, this one lets sta tmp2 run and then be instantly obliterated by NMI. Similar to yellow, the low byte that it jumps to will be correct, but the high byte is the P4 readout on the expansion port. Assuming no input, switches 1,3,5,7 send the PC to $005D, switch 2 to $0086, switch 4 to $0016, switch 6 to $007F, switch 8 to $0027 | |||||||||||||||||||||||||
57 | Blue Crash Behavior | |||||||||||||||||||||||||
58 | The latest you can interrupt the switch routine and mess things up. This is quite direct; the high byte and low bytes are the readout of P3/P4 on the expansion port. Assuming no input, the PC is always sent to $0000 | |||||||||||||||||||||||||
59 | The actual routine we're interrupting Instruction Length in Cycles | Instruction | Cycles Elapsed | |||||||||||||||||||||||
60 | 2 | asl a | 0 | |||||||||||||||||||||||
61 | 2 | tay | 2 | |||||||||||||||||||||||
62 | 2 | iny | 4 | |||||||||||||||||||||||
63 | 4 | pla | 6 | |||||||||||||||||||||||
64 | 3 | sta tmp1 | 10 | |||||||||||||||||||||||
65 | 4 | pla | 13 | |||||||||||||||||||||||
66 | 3 | sta tmp2 | 17 | |||||||||||||||||||||||
67 | 5 | lda (tmp1),y | 20 | |||||||||||||||||||||||
68 | 2 | tax | 25 | |||||||||||||||||||||||
69 | 2 | iny | 27 | |||||||||||||||||||||||
70 | 5 | lda (tmp1),y | 29 | |||||||||||||||||||||||
71 | 3 | sta tmp2 | 34 | |||||||||||||||||||||||
72 | 3 | stx tmp1 | 37 | |||||||||||||||||||||||
73 | 5 | jmp (tmp1) | 40 | |||||||||||||||||||||||
74 | ||||||||||||||||||||||||||
75 | Calculator to see if a given setup will crash: | |||||||||||||||||||||||||
76 | Input | Cycle Impact | ||||||||||||||||||||||||
77 | 7279 | Cycles which always happen. | ||||||||||||||||||||||||
78 | Cleared Lines | 1 | 97 | |||||||||||||||||||||||
79 | Lines cleared above row 11 | 0 | 0 | Includes row 11, the row directly above the Z piece count. | ||||||||||||||||||||||
80 | Pressed Select on this frame | 0 | 0 | |||||||||||||||||||||||
81 | Next Box On | 1 | 394 | |||||||||||||||||||||||
82 | Position of first mino in 15th row | 0 | 149 | 0 = no blocks in row; 1-10 indexed Left to Right, 15th row is the row directly above the T piece count. | ||||||||||||||||||||||
83 | Music Currently Allegro | 0 | 0 | Getting to allegro on killscreen and not dying is borderline impossible. | ||||||||||||||||||||||
84 | Crossed multiple of 10 Lines? | 0 | 0 | |||||||||||||||||||||||
85 | Crossed multiple of 100 Lines? | 0 | 0 | Be careful of this. From a 15+ start, happens on levels ending in 6. | ||||||||||||||||||||||
86 | Levelup? | 0 | 0 | Make sure you set both levelup and 10 lines. | ||||||||||||||||||||||
87 | Clear stats crossed multiple of 10? | 0 | 0 | Example: 1520th single would have this set. 1521st would not. | ||||||||||||||||||||||
88 | Pushdown Points | 0 | 53 | Varies based on if greater or less than 7 | ||||||||||||||||||||||
89 | Level | 157 | 21380 | Use level transitioned into. | ||||||||||||||||||||||
90 | Current piece horizontal Z? | 0 | 0 | Do not worry about these if there is a line clear. | ||||||||||||||||||||||
91 | Current piece vert Z, or OSLI? | 0 | 12 | |||||||||||||||||||||||
92 | Current frame counter % 8 is 0? | 0 | 0 | |||||||||||||||||||||||
93 | Editing on this sheet used to be on so that people could use the calculator but someone used that to post their donation link. If you want to edit and play around, make a copy | |||||||||||||||||||||||||
94 | Switch Routine | Crash Timing | Odds | Blue | Green | Yellow | Orange | Red | 29876 | |||||||||||||||||
95 | Switch 6 | 29747 | 73.33% | 0.00% | 0.00% | 100.00% | 0.00% | 0.00% | 0.00% | |||||||||||||||||
96 | ||||||||||||||||||||||||||
97 | 1 | |||||||||||||||||||||||||
98 | 100.00% | |||||||||||||||||||||||||
99 | ||||||||||||||||||||||||||
100 | Red Crash behavior: Game reset | Switch 1 | 29364 | 0.00% | 0% | 0% | 0% | 0 | 0 | 72B4 | cb+4c = 10b+c = 117 |