-
Notifications
You must be signed in to change notification settings - Fork 6
/
chomp.asm
173 lines (161 loc) · 7.55 KB
/
chomp.asm
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
10 ORG 100H
20 JP MAIN
30GPF EQU 0BFD0H
40MAIN: LD HL,L0
50 LD B,96
60 LD DE,0
70 CALL GPF
80 LD HL,L1
90 LD B,96
100 LD DE,0100H
110 CALL GPF
120 LD HL,L2
130 LD B,96
140 LD DE,0200H
150 CALL GPF
160 LD HL,L3
170 LD B,96
180 LD DE,0300H
190 CALL GPF
200 LD HL,L4
210 LD B,96
220 LD DE,0400H
230 CALL GPF
240 LD HL,L5
250 LD B,96
260 LD DE,0500H
270 CALL GPF
280 CALL WAIT
290 LD HL,L6
300 LD B,96
310 LD DE,0000H
320 CALL GPF
330 LD HL,L7
340 LD B,96
350 LD DE,0100H
360 CALL GPF
370 LD HL,L8
380 LD B,96
390 LD DE,0200H
400 CALL GPF
410 LD HL,L9
420 LD B,96
430 LD DE,0300H
440 CALL GPF
450 LD HL,L10
460 LD B,96
470 LD DE,0400H
480 CALL GPF
490 LD HL,L11
500 LD B,96
510 LD DE,0500H
520 CALL GPF
530 CALL WAIT
540 IN A,(1FH)
550 RLCA
560 RET C
570 JP MAIN
580 RET
590WAIT: LD BC,500
600WLOOP: DEC BC
610 LD A,B
620 OR C
630 JR NZ,WLOOP
640 RET
650L0: DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H
660 DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H
670 DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H
680 DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H
690 DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 80H, 0C0H, 0E0H
700 DB 0E0H, 0F0H, 78H, 78H, 0BCH, 0BCH, 0BCH, 0BEH, 0BEH, 3EH, 0FEH, 0FEH
710 DB 0FEH, 0FFH, 0FEH, 0FFH, 0FEH, 0FEH, 0FEH, 0FEH, 0FEH, 0FEH, 0FCH, 0FCH
720 DB 0F8H, 0F8H, 0F0H, 0F0H, 0E0H, 0C0H, 80H, 00H, 00H, 00H, 00H, 00H
730L1: DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H
740 DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H
750 DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H
760 DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H
770 DB 00H, 00H, 00H, 00H, 0C0H, 0F0H, 0F8H, 0FEH, 5FH, 07H, 0BH, 07H
780 DB 11H, 60H, 0C6H, 0CFH, 0DEH, 0DEH, 0EFH, 0EFH, 0F7H, 0F0H, 0FFH, 0FFH
790 DB 0FFH, 0FFH, 0FFH, 0FFH, 7FH, 0FFH, 0FFH, 0FFH, 0FFH, 0EFH, 5FH, 0A7H
800 DB 0DBH, 27H, 0DBH, 25H, 0FBH, 0FEH, 0FFH, 0FBH, 0F0H, 0C0H, 00H, 00H
810L2: DB 00H, 80H, 0C0H, 0C0H, 0C0H, 80H, 80H, 80H, 00H, 00H, 00H, 00H
820 DB 00H, 80H, 0E0H, 0E0H, 0F0H, 0E0H, 0E0H, 0C0H, 0C0H, 80H, 00H, 00H
830 DB 80H, 0C0H, 60H, 7CH, 0FEH, 7CH, 66H, 0E6H, 66H, 0C6H, 7EH, 0FEH
840 DB 0FEH, 0FEH, 0E0H, 80H, 00H, 00H, 00H, 80H, 0C0H, 0C0H, 0E0H, 0A0H
850 DB 0C0H, 0E8H, 0FCH, 0FEH, 0FFH, 0FFH, 0FFH, 0FFH, 0FEH, 0FCH, 0FCH, 0F4H
860 DB 0FCH, 0FAH, 0FEH, 0FFH, 0FFH, 0FFH, 0FFH, 0FFH, 0FFH, 0FFH, 0EFH, 0FFH
870 DB 0E7H, 0CBH, 0F5H, 8AH, 0F5H, 0FFH, 0FFH, 0FFH, 0FFH, 0FFH, 7FH, 3FH
880 DB 1EH, 1FH, 3EH, 3DH, 1FH, 1FH, 00H, 01H, 03H, 07H, 0FH, 08H
890L3: DB 03H, 0FH, 0FH, 1CH, 19H, 39H, 3BH, 33H, 77H, 7FH, 3EH, 1EH
900 DB 0FH, 0FH, 06H, 07H, 07H, 0EH, 1CH, 1CH, 3FH, 3FH, 3FH, 1FH
910 DB 0FH, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H
920 DB 03H, 0FH, 3FH, 0FFH, 0FFH, 0FFH, 73H, 31H, 31H, 19H, 1DH, 0FH
930 DB 07H, 0FH, 0FH, 7FH, 0FFH, 0FFH, 0FFH, 0FFH, 0FFH, 0FFH, 0FFH, 0FFH
940 DB 0FFH, 0FFH, 0FFH, 0FFH, 0FFH, 0FBH, 0FFH, 0F7H, 97H, 6FH, 0BFH, 0FFH
950 DB 0FFH, 0FFH, 0FFH, 0FFH, 0FFH, 0FFH, 0FFH, 0FFH, 0FFH, 7FH, 0FFH, 0FFH
960 DB 0F2H, 0EEH, 40H, 00H, 80H, 00H, 80H, 0E0H, 50H, 00H, 00H, 00H
970L4: DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H
980 DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H
990 DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H
1000 DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H
1010 DB 00H, 00H, 00H, 00H, 03H, 0FH, 3FH, 7FH, 0FFH, 0FFH, 0FFH, 0FFH
1020 DB 0FFH, 0FFH, 0FFH, 0FFH, 0FFH, 0FFH, 0FFH, 0FFH, 0FFH, 0FFH, 0FFH, 0FFH
1030 DB 0FFH, 0FFH, 0F7H, 0EBH, 0C5H, 0A9H, 42H, 08H, 22H, 00H, 0DBH, 0FFH
1040 DB 0FFH, 0FFH, 0FFH, 7DH, 0BAH, 5EH, 2FH, 17H, 06H, 01H, 00H, 00H
1050L5: DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H
1060 DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H
1070 DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H
1080 DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H
1090 DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 01H, 03H, 07H
1100 DB 0FH, 0FH, 1FH, 3FH, 3FH, 7FH, 7FH, 7FH, 7FH, 0FFH, 0FFH, 0FFH
1110 DB 0FFH, 0FFH, 0FFH, 0FFH, 0FFH, 0FFH, 0FFH, 7FH, 7EH, 7EH, 3CH, 3DH
1120 DB 3DH, 1AH, 0CH, 0CH, 07H, 00H, 00H, 00H, 00H, 00H, 00H, 00H
1130L6: DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H
1140 DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H
1150 DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H
1160 DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H
1170 DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H
1180 DB 00H, 00H, 00H, 00H, 00H, 00H, 90H, 80H, 08H, 14H, 28H, 9AH
1190 DB 0F4H, 58H, 0ACH, 0F4H, 0D8H, 0B6H, 0F8H, 0ACH, 0F0H, 0B8H, 0E8H, 0B0H
1200 DB 0E8H, 0D0H, 60H, 0C0H, 40H, 80H, 80H, 00H, 00H, 00H, 00H, 00H
1210L7: DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H
1220 DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H
1230 DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H
1240 DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H
1250 DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H
1260 DB 00H, 00H, 00H, 0FH, 04H, 88H, 09H, 0C7H, 40H, 0B0H, 0D8H, 76H
1270 DB 0AAH, 0DDH, 77H, 5AH, 2FH, 1AH, 0CFH, 8AH, 87H, 02H, 03H, 00H
1280 DB 01H, 00H, 00H, 00H, 00H, 00H, 31H, 40H, 00H, 00H, 00H, 00H
1290L8: DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H
1300 DB 00H, 00H, 80H, 40H, 0A0H, 20H, 40H, 00H, 00H, 00H, 00H, 00H
1310 DB 00H, 80H, 40H, 20H, 10H, 4CH, 00H, 00H, 00H, 00H, 00H, 08H
1320 DB 10H, 0A8H, 40H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 80H
1330 DB 00H, 00H, 00H, 0A0H, 0D8H, 0B4H, 60H, 80H, 0E0H, 00H, 0C0H, 40H
1340 DB 0A0H, 40H, 0A0H, 0D0H, 68H, 0B4H, 0EAH, 0BDH, 0EAH, 0CFH, 0C2H, 81H
1350 DB 81H, 80H, 00H, 00H, 00H, 0F8H, 0AFH, 0F6H, 0BDH, 2BH, 2EH, 14H
1360 DB 08H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H
1370L9: DB 00H, 01H, 00H, 08H, 00H, 00H, 00H, 20H, 20H, 00H, 12H, 02H
1380 DB 00H, 01H, 00H, 02H, 00H, 04H, 04H, 00H, 18H, 24H, 30H, 0BH
1390 DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H
1400 DB 00H, 00H, 1BH, 74H, 5CH, 40H, 41H, 20H, 00H, 10H, 00H, 02H
1410 DB 02H, 00H, 02H, 09H, 06H, 5DH, 0B7H, 0EAH, 5DH, 0B7H, 0EAH, 0BDH
1420 DB 0EFH, 0D5H, 0BBH, 0EEH, 0DDH, 0B3H, 0C3H, 43H, 87H, 03H, 0FH, 7FH
1430 DB 0FFH, 0DBH, 0FFH, 7FH, 0D7H, 0FDH, 0AFH, 76H, 3DH, 2BH, 54H, 0A8H
1440 DB 40H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H
1450L10: DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H
1460 DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H
1470 DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H
1480 DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H
1490 DB 00H, 00H, 00H, 00H, 00H, 04H, 01H, 16H, 2DH, 97H, 7AH, 0AFH
1500 DB 0FAH, 0AFH, 0FAH, 0DFH, 0F6H, 0BDH, 0EFH, 0FDH, 0BBH, 0EEH, 0FCH, 0A8H
1510 DB 0F3H, 0A1H, 0C1H, 81H, 80H, 00H, 00H, 00H, 00H, 00H, 00H, 2CH
1520 DB 45H, 12H, 10H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H
1530L11: DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H
1540 DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H
1550 DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H
1560 DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H
1570 DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 01H, 02H, 05H
1580 DB 02H, 0BH, 06H, 0BH, 16H, 0DH, 17H, 0AH, 1FH, 16H, 1BH, 2EH
1590 DB 97H, 0BAH, 8FH, 0BAH, 2EH, 0DH, 1AH, 54H, 4CH, 30H, 2CH, 20H
1600 DB 10H, 18H, 08H, 04H, 06H, 00H, 00H, 00H, 00H, 00H, 00H, 00H