-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathfirmware-1.1.diz
4477 lines (4463 loc) · 134 KB
/
firmware-1.1.diz
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
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
; IM 1
; 8k firmware, 0000, 2000
; sp = 81c0
; reset
org 0x0000
0x0000 c3 69 04 jp start ; 0x0469
org 0x0020
; rst20
0x0020 01 06 27 ld bc,0x2706
0x0023 ed 78 in a,(c)
0x0025 e6 02 and 0x02
0x0027 28 fa jr z,0x0023
0x0029 0d dec c
0x002a ed 59 out (c),e
0x002c c9 ret
org 0x0038
; IRQ
0x0038 fd e9 jp (iy)
0x003a d9 exx
0x003b 08 ex af,af'
0x003c ed 78 in a,(c)
0x003e e6 20 and 0x20
0x0040 4b ld c,e
0x0041 2a 91 80 ld hl,(0x8091)
0x0044 c2 fb 02 jp nz,0x02fb
0x0047 ed 78 in a,(c)
0x0049 4a ld c,d
0x004a 77 ld (hl),a
0x004b 2c inc l
0x004c c2 51 00 jp nz,0x0051
0x004f 2e c0 ld l,0xc0
0x0051 22 91 80 ld (0x8091),hl
0x0054 d9 exx
0x0055 08 ex af,af'
0x0056 fb ei
0x0057 c9 ret
org 0x0066
; NMI
0x0066 f5 push af
0x0067 ed 5f ld a,r
0x0069 f5 push af
0x006a e5 push hl
0x006b 3a 08 20 ld a,(0x2008)
0x006e dd e9 jp (ix)
; 0, 20, 40, 60, 80, a0, c0, e0??
0x0070 00 nop
0x0071 00 nop
0x0072 20 20 jr nz,0x0094
0x0074 40 ld b,b
0x0075 40 ld b,b
0x0076 40 ld b,b
0x0077 40 ld b,b
0x0078 60 ld h,b
0x0079 60 ld h,b
0x007a 80 add a,b
0x007b 80 add a,b
0x007c a0 and b
0x007d a0 and b
0x007e a0 and b
0x007f a0 and b
0x0080 c0 ret nz
0x0081 c0 ret nz
0x0082 c0 ret nz
0x0083 c0 ret nz
0x0084 e0 ret po
0x0085 e0 ret po
0x0086 e0 ret po
0x0087 e0 ret po
0x0088 1f rra
0x0089 d2 ab 00 jp nc,0x00ab
0x008c 21 00 80 ld hl,0x8000
0x008f cb 46 bit 0,(hl)
0x0091 c2 ab 00 jp nz,0x00ab
0x0094 34 inc (hl)
0x0095 2a 2c 80 ld hl,(0x802c)
0x0098 22 00 20 ld (0x2000),hl
0x009b 2a 2e 80 ld hl,(0x802e)
0x009e 22 10 20 ld (0x2010),hl
0x00a1 21 1a 20 ld hl,0x201a
0x00a4 36 18 ld (hl),0x18
0x00a6 21 0a 20 ld hl,0x200a
0x00a9 36 00 ld (hl),0x00
0x00ab 1f rra
0x00ac d2 ce 00 jp nc,0x00ce
0x00af 21 01 80 ld hl,0x8001
0x00b2 cb 46 bit 0,(hl)
0x00b4 c2 ce 00 jp nz,0x00ce
0x00b7 34 inc (hl)
0x00b8 2a 2c 80 ld hl,(0x802c)
0x00bb 22 02 20 ld (0x2002),hl
0x00be 2a 2e 80 ld hl,(0x802e)
0x00c1 22 12 20 ld (0x2012),hl
0x00c4 21 1a 20 ld hl,0x201a
0x00c7 36 19 ld (hl),0x19
0x00c9 21 0a 20 ld hl,0x200a
0x00cc 36 01 ld (hl),0x01
0x00ce 1f rra
0x00cf d2 f1 00 jp nc,0x00f1
0x00d2 21 02 80 ld hl,0x8002
0x00d5 cb 46 bit 0,(hl)
0x00d7 c2 f1 00 jp nz,0x00f1
0x00da 34 inc (hl)
0x00db 2a 2c 80 ld hl,(0x802c)
0x00de 22 04 20 ld (0x2004),hl
0x00e1 2a 2e 80 ld hl,(0x802e)
0x00e4 22 14 20 ld (0x2014),hl
0x00e7 21 1a 20 ld hl,0x201a
0x00ea 36 1a ld (hl),0x1a
0x00ec 21 0a 20 ld hl,0x200a
0x00ef 36 02 ld (hl),0x02
0x00f1 1f rra
0x00f2 d2 14 01 jp nc,0x0114
0x00f5 21 03 80 ld hl,0x8003
0x00f8 cb 46 bit 0,(hl)
0x00fa c2 14 01 jp nz,0x0114
0x00fd 34 inc (hl)
0x00fe 2a 2c 80 ld hl,(0x802c)
0x0101 22 06 20 ld (0x2006),hl
0x0104 2a 2e 80 ld hl,(0x802e)
0x0107 22 16 20 ld (0x2016),hl
0x010a 21 1a 20 ld hl,0x201a
0x010d 36 1b ld (hl),0x1b
0x010f 21 0a 20 ld hl,0x200a
0x0112 36 03 ld (hl),0x03
0x0114 3a 08 21 ld a,(0x2108)
0x0117 1f rra
0x0118 d2 3a 01 jp nc,0x013a
0x011b 21 04 80 ld hl,0x8004
0x011e cb 46 bit 0,(hl)
0x0120 c2 3a 01 jp nz,0x013a
0x0123 34 inc (hl)
0x0124 2a 2c 80 ld hl,(0x802c)
0x0127 22 00 21 ld (0x2100),hl
0x012a 2a 2e 80 ld hl,(0x802e)
0x012d 22 10 21 ld (0x2110),hl
0x0130 21 1a 21 ld hl,0x211a
0x0133 36 18 ld (hl),0x18
0x0135 21 0a 21 ld hl,0x210a
0x0138 36 00 ld (hl),0x00
0x013a 1f rra
0x013b d2 5d 01 jp nc,0x015d
0x013e 21 05 80 ld hl,0x8005
0x0141 cb 46 bit 0,(hl)
0x0143 c2 5d 01 jp nz,0x015d
0x0146 34 inc (hl)
0x0147 2a 2c 80 ld hl,(0x802c)
0x014a 22 02 21 ld (0x2102),hl
0x014d 2a 2e 80 ld hl,(0x802e)
0x0150 22 12 21 ld (0x2112),hl
0x0153 21 1a 21 ld hl,0x211a
0x0156 36 19 ld (hl),0x19
0x0158 21 0a 21 ld hl,0x210a
0x015b 36 01 ld (hl),0x01
0x015d e1 pop hl
0x015e f1 pop af
0x015f e2 63 01 jp po,0x0163
0x0162 fb ei
0x0163 f1 pop af
0x0164 c9 ret
0x0165 1f rra
0x0166 d2 88 01 jp nc,0x0188
0x0169 21 00 80 ld hl,0x8000
0x016c cb 46 bit 0,(hl)
0x016e c2 88 01 jp nz,0x0188
0x0171 34 inc (hl)
0x0172 2a 2c 80 ld hl,(0x802c)
0x0175 22 00 20 ld (0x2000),hl
0x0178 2a 2e 80 ld hl,(0x802e)
0x017b 22 10 20 ld (0x2010),hl
0x017e 21 1a 20 ld hl,0x201a
0x0181 36 38 ld (hl),0x38
0x0183 21 0a 20 ld hl,0x200a
0x0186 36 00 ld (hl),0x00
0x0188 1f rra
0x0189 d2 ab 01 jp nc,0x01ab
0x018c 21 01 80 ld hl,0x8001
0x018f cb 46 bit 0,(hl)
0x0191 c2 ab 01 jp nz,0x01ab
0x0194 34 inc (hl)
0x0195 2a 2c 80 ld hl,(0x802c)
0x0198 22 02 20 ld (0x2002),hl
0x019b 2a 2e 80 ld hl,(0x802e)
0x019e 22 12 20 ld (0x2012),hl
0x01a1 21 1a 20 ld hl,0x201a
0x01a4 36 39 ld (hl),0x39
0x01a6 21 0a 20 ld hl,0x200a
0x01a9 36 01 ld (hl),0x01
0x01ab 1f rra
0x01ac d2 ce 01 jp nc,0x01ce
0x01af 21 02 80 ld hl,0x8002
0x01b2 cb 46 bit 0,(hl)
0x01b4 c2 ce 01 jp nz,0x01ce
0x01b7 34 inc (hl)
0x01b8 2a 2c 80 ld hl,(0x802c)
0x01bb 22 04 20 ld (0x2004),hl
0x01be 2a 2e 80 ld hl,(0x802e)
0x01c1 22 14 20 ld (0x2014),hl
0x01c4 21 1a 20 ld hl,0x201a
0x01c7 36 3a ld (hl),0x3a
0x01c9 21 0a 20 ld hl,0x200a
0x01cc 36 02 ld (hl),0x02
0x01ce 1f rra
0x01cf d2 f1 01 jp nc,0x01f1
0x01d2 21 03 80 ld hl,0x8003
0x01d5 cb 46 bit 0,(hl)
0x01d7 c2 f1 01 jp nz,0x01f1
0x01da 34 inc (hl)
0x01db 2a 2c 80 ld hl,(0x802c)
0x01de 22 06 20 ld (0x2006),hl
0x01e1 2a 2e 80 ld hl,(0x802e)
0x01e4 22 16 20 ld (0x2016),hl
0x01e7 21 1a 20 ld hl,0x201a
0x01ea 36 3b ld (hl),0x3b
0x01ec 21 0a 20 ld hl,0x200a
0x01ef 36 03 ld (hl),0x03
0x01f1 3a 08 21 ld a,(0x2108)
0x01f4 1f rra
0x01f5 d2 17 02 jp nc,0x0217
0x01f8 21 04 80 ld hl,0x8004
0x01fb cb 46 bit 0,(hl)
0x01fd c2 17 02 jp nz,0x0217
0x0200 34 inc (hl)
0x0201 2a 2c 80 ld hl,(0x802c)
0x0204 22 00 21 ld (0x2100),hl
0x0207 2a 2e 80 ld hl,(0x802e)
0x020a 22 10 21 ld (0x2110),hl
0x020d 21 1a 21 ld hl,0x211a
0x0210 36 38 ld (hl),0x38
0x0212 21 0a 21 ld hl,0x210a
0x0215 36 00 ld (hl),0x00
0x0217 1f rra
0x0218 d2 3a 02 jp nc,0x023a
0x021b 21 05 80 ld hl,0x8005
0x021e cb 46 bit 0,(hl)
0x0220 c2 3a 02 jp nz,0x023a
0x0223 34 inc (hl)
0x0224 2a 2c 80 ld hl,(0x802c)
0x0227 22 02 21 ld (0x2102),hl
0x022a 2a 2e 80 ld hl,(0x802e)
0x022d 22 12 21 ld (0x2112),hl
0x0230 21 1a 21 ld hl,0x211a
0x0233 36 39 ld (hl),0x39
0x0235 21 0a 21 ld hl,0x210a
0x0238 36 01 ld (hl),0x01
0x023a e1 pop hl
0x023b f1 pop af
0x023c e2 40 02 jp po,0x0240
0x023f fb ei
0x0240 f1 pop af
0x0241 c9 ret
0x0242 d1 pop de
0x0243 e1 pop hl
0x0244 f1 pop af
0x0245 e2 49 02 jp po,0x0249
0x0248 fb ei
0x0249 f1 pop af
0x024a c9 ret
0x024b 1f rra
0x024c d2 59 02 jp nc,0x0259
0x024f 21 2b 80 ld hl,0x802b
0x0252 7e ld a,(hl)
0x0253 a7 and a
0x0254 ca 59 02 jp z,0x0259
0x0257 36 00 ld (hl),0x00
0x0259 3a 08 21 ld a,(0x2108)
0x025c c3 43 02 jp 0x0243
0x025f d5 push de
0x0260 c5 push bc
0x0261 01 00 80 ld bc,0x8000
0x0264 51 ld d,c
0x0265 2a 2e 80 ld hl,(0x802e)
0x0268 1f rra
0x0269 5f ld e,a
0x026a d2 79 02 jp nc,0x0279
0x026d 0a ld a,(bc)
0x026e 0f rrca
0x026f 07 rlca
0x0270 da 79 02 jp c,0x0279
0x0273 22 10 20 ld (0x2010),hl
0x0276 cd db 02 call 0x02db
0x0279 0c inc c
0x027a cb 1b rr e
0x027c d2 8b 02 jp nc,0x028b
0x027f 0a ld a,(bc)
0x0280 0f rrca
0x0281 07 rlca
0x0282 da 8b 02 jp c,0x028b
0x0285 22 12 20 ld (0x2012),hl
0x0288 cd db 02 call 0x02db
0x028b 0c inc c
0x028c cb 1b rr e
0x028e d2 9d 02 jp nc,0x029d
0x0291 0a ld a,(bc)
0x0292 0f rrca
0x0293 07 rlca
0x0294 da 9d 02 jp c,0x029d
0x0297 22 14 20 ld (0x2014),hl
0x029a cd db 02 call 0x02db
0x029d 0c inc c
0x029e cb 1b rr e
0x02a0 d2 af 02 jp nc,0x02af
0x02a3 0a ld a,(bc)
0x02a4 0f rrca
0x02a5 07 rlca
0x02a6 da af 02 jp c,0x02af
0x02a9 22 16 20 ld (0x2016),hl
0x02ac cd db 02 call 0x02db
0x02af 0c inc c
0x02b0 3a 08 21 ld a,(0x2108)
0x02b3 1f rra
0x02b4 5f ld e,a
0x02b5 d2 c4 02 jp nc,0x02c4
0x02b8 0a ld a,(bc)
0x02b9 0f rrca
0x02ba 07 rlca
0x02bb da c4 02 jp c,0x02c4
0x02be 22 10 21 ld (0x2110),hl
0x02c1 cd eb 02 call 0x02eb
0x02c4 14 inc d
0x02c5 0c inc c
0x02c6 cb 1b rr e
0x02c8 d2 d7 02 jp nc,0x02d7
0x02cb 0a ld a,(bc)
0x02cc 0f rrca
0x02cd 07 rlca
0x02ce da d7 02 jp c,0x02d7
0x02d1 22 12 21 ld (0x2112),hl
0x02d4 cd eb 02 call 0x02eb
0x02d7 c1 pop bc
0x02d8 c3 42 02 jp 0x0242
0x02db ee 20 xor 0x20
0x02dd 02 ld (bc),a
0x02de e6 20 and 0x20
0x02e0 f6 08 or 0x08
0x02e2 b1 or c
0x02e3 32 1a 20 ld (0x201a),a
0x02e6 79 ld a,c
0x02e7 32 0a 20 ld (0x200a),a
0x02ea c9 ret
0x02eb ee 20 xor 0x20
0x02ed 02 ld (bc),a
0x02ee e6 20 and 0x20
0x02f0 f6 08 or 0x08
0x02f2 b2 or d
0x02f3 32 1a 21 ld (0x211a),a
0x02f6 7a ld a,d
0x02f7 32 0a 21 ld (0x210a),a
0x02fa c9 ret
0x02fb ed 78 in a,(c)
0x02fd 3a 8a 80 ld a,(0x808a)
0x0300 f6 b0 or 0xb0
0x0302 77 ld (hl),a
0x0303 2c inc l
0x0304 c2 09 03 jp nz,0x0309
0x0307 2e c0 ld l,0xc0
0x0309 36 7b ld (hl),0x7b
0x030b af xor a
0x030c 2c inc l
0x030d c2 49 00 jp nz,0x0049
0x0310 2e c0 ld l,0xc0
0x0312 c3 49 00 jp 0x0049
0x0315 3e 44 ld a,0x44
0x0317 32 08 20 ld (0x2008),a
0x031a 32 08 21 ld (0x2108),a
0x031d 01 04 27 ld bc,0x2704
0x0320 3e 15 ld a,0x15
0x0322 ed 79 out (c),a
0x0324 32 0b 2f ld (0x2f0b),a
0x0327 f3 di
0x0328 c9 ret
0x0329 3e 40 ld a,0x40
0x032b 32 08 20 ld (0x2008),a
0x032e 32 08 21 ld (0x2108),a
0x0331 f3 di
0x0332 fd 21 3a 00 ld iy,0x003a
0x0336 01 06 27 ld bc,0x2706
0x0339 51 ld d,c
0x033a 1e 07 ld e,0x07
0x033c d9 exx
0x033d 01 04 27 ld bc,0x2704
0x0340 3e 17 ld a,0x17
0x0342 ed 79 out (c),a
0x0344 3e d5 ld a,0xd5
0x0346 ed 79 out (c),a
0x0348 32 0a 2f ld (0x2f0a),a
0x034b fb ei
0x034c c9 ret
0x034d 2a 96 80 ld hl,(0x8096)
0x0350 eb ex de,hl
0x0351 21 73 80 ld hl,0x8073
0x0354 19 add hl,de
0x0355 3a 00 26 ld a,(0x2600)
0x0358 77 ld (hl),a
0x0359 1d dec e
0x035a f2 5f 03 jp p,0x035f
0x035d 1e 07 ld e,0x07
0x035f 7b ld a,e
0x0360 32 00 26 ld (0x2600),a
0x0363 32 96 80 ld (0x8096),a
0x0366 c9 ret
0x0367 2a 93 80 ld hl,(0x8093)
0x036a 3a 91 80 ld a,(0x8091)
0x036d bd cp l
0x036e c8 ret z
0x036f 7e ld a,(hl)
0x0370 2c inc l
0x0371 c2 76 03 jp nz,0x0376
0x0374 2e c0 ld l,0xc0
0x0376 22 93 80 ld (0x8093),hl
0x0379 cd b2 0f call 0x0fb2
0x037c c3 67 03 jp 0x0367
0x037f 01 00 80 ld bc,0x8000
0x0382 ed 78 in a,(c)
0x0384 ed 40 in b,(c)
0x0386 b8 cp b
0x0387 c2 7f 03 jp nz,0x037f
0x038a e6 0f and 0x0f
0x038c c9 ret
0x038d 3a aa 80 ld a,(0x80aa)
0x0390 fe 02 cp 0x02
0x0392 c0 ret nz
0x0393 11 05 00 ld de,0x0005
0x0396 26 80 ld h,0x80
0x0398 6b ld l,e
0x0399 7e ld a,(hl)
0x039a e6 06 and 0x06
0x039c ca d1 03 jp z,0x03d1
0x039f 21 e7 13 ld hl,0x13e7
0x03a2 19 add hl,de
0x03a3 19 add hl,de
0x03a4 7e ld a,(hl)
0x03a5 23 inc hl
0x03a6 66 ld h,(hl)
0x03a7 c6 10 add a,0x10
0x03a9 6f ld l,a
0x03aa 22 a2 80 ld (0x80a2),hl
0x03ad cd a1 80 call 0x80a1
0x03b0 23 inc hl
0x03b1 7c ld a,h
0x03b2 fe 02 cp 0x02
0x03b4 d2 d1 03 jp nc,0x03d1
0x03b7 21 17 80 ld hl,0x8017
0x03ba 19 add hl,de
0x03bb 7e ld a,(hl)
0x03bc 1f rra
0x03bd 1f rra
0x03be e6 3f and 0x3f
0x03c0 3c inc a
0x03c1 4f ld c,a
0x03c2 7e ld a,(hl)
0x03c3 91 sub c
0x03c4 d2 cd 03 jp nc,0x03cd
0x03c7 e5 push hl
0x03c8 cd 6f 13 call 0x136f
0x03cb af xor a
0x03cc e1 pop hl
0x03cd 77 ld (hl),a
0x03ce cd b3 05 call writeVoice ; 0x05b3
0x03d1 1d dec e
0x03d2 f2 96 03 jp p,0x0396
0x03d5 c9 ret
0x03d6 cd 7f 03 call 0x037f
0x03d9 21 40 80 ld hl,0x8040
0x03dc 4e ld c,(hl)
0x03dd 77 ld (hl),a
0x03de a9 xor c
0x03df e6 03 and 0x03
0x03e1 c8 ret z
0x03e2 3a 7a 80 ld a,(0x807a)
0x03e5 21 7d 80 ld hl,0x807d
0x03e8 cd 0d 09 call 0x090d
0x03eb ca f1 03 jp z,0x03f1
0x03ee 32 80 80 ld (0x8080),a
0x03f1 3a 80 80 ld a,(0x8080)
0x03f4 21 1d 80 ld hl,0x801d
0x03f7 cb 7e bit 7,(hl)
0x03f9 0e ff ld c,0xff
0x03fb ca 04 04 jp z,0x0404
0x03fe c6 55 add a,0x55
0x0400 d2 04 04 jp nc,0x0404
0x0403 79 ld a,c
0x0404 1f rra
0x0405 1f rra
0x0406 1f rra
0x0407 1f rra
0x0408 e6 0f and 0x0f
0x040a 32 58 80 ld (0x8058),a
0x040d 01 05 00 ld bc,0x0005
0x0410 21 00 80 ld hl,0x8000
0x0413 09 add hl,bc
0x0414 7e ld a,(hl)
0x0415 e6 02 and 0x02
0x0417 ca 64 04 jp z,0x0464
0x041a 21 11 80 ld hl,0x8011
0x041d 09 add hl,bc
0x041e e5 push hl
0x041f 5e ld e,(hl)
0x0420 21 17 80 ld hl,0x8017
0x0423 09 add hl,bc
0x0424 e5 push hl
0x0425 56 ld d,(hl)
0x0426 cb 3a srl d
0x0428 cb 1b rr e
0x042a cb 3a srl d
0x042c cb 1b rr e
0x042e 62 ld h,d
0x042f 6b ld l,e
0x0430 3a 58 80 ld a,(0x8058)
0x0433 a7 and a
0x0434 1f rra
0x0435 da 3f 04 jp c,0x043f
0x0438 29 add hl,hl
0x0439 19 add hl,de
0x043a eb ex de,hl
0x043b cb 3a srl d
0x043d cb 1b rr e
0x043f cb 3a srl d
0x0441 cb 1b rr e
0x0443 3d dec a
0x0444 f2 3f 04 jp p,0x043f
0x0447 37 scf
0x0448 ed 52 sbc hl,de
0x044a d2 57 04 jp nc,0x0457
0x044d 50 ld d,b
0x044e 59 ld e,c
0x044f cd 6f 13 call 0x136f
0x0452 42 ld b,d
0x0453 4b ld c,e
0x0454 21 00 00 ld hl,0x0000
0x0457 29 add hl,hl
0x0458 29 add hl,hl
0x0459 eb ex de,hl
0x045a e1 pop hl
0x045b 72 ld (hl),d
0x045c e1 pop hl
0x045d 73 ld (hl),e
0x045e 7a ld a,d
0x045f 50 ld d,b
0x0460 59 ld e,c
0x0461 cd b3 05 call writeVoice ; 0x05b3
0x0464 0d dec c
0x0465 f2 10 04 jp p,0x0410
0x0468 c9 ret
start:
0x0469 32 0b 2f ld (0x2f0b),a ; Write to 2f0b, a = not initalized
0x046c 31 c0 81 ld sp,0x81c0 ; sp=81c0
; Reset voices
0x046f 11 05 00 ld de,0x0005 ; voice 5 to 0
0x0472 af xor a ; 0
0x0473 cd b3 05 call writeVoice ; 0x05b3
0x0476 1d dec e
0x0477 f2 72 04 jp p,0x0472
; Clear 0x8000 - 0x80ff
0x047a 01 00 80 ld bc,0x8000 ; 8000
0x047d 78 ld a,b ; 80
0x047e ed 47 ld i,a ; 80
0x0480 af xor a ; 0
0x0481 02 ld (bc),a ; both memory
0x0482 ed 79 out (c),a ; and i/o
0x0484 0c inc c
0x0485 c2 81 04 jp nz,0x0481 ; 0x80ff
0x0488 21 00 82 ld hl,0x8200
0x048b 44 ld b,h
0x048c 4d ld c,l
0x048d 36 80 ld (hl),0x80
0x048f ed 79 out (c),a
0x0491 03 inc bc
0x0492 2c inc l
0x0493 c2 8d 04 jp nz,0x048d
0x0496 24 inc h
0x0497 c2 8d 04 jp nz,0x048d
0x049a 21 32 05 ld hl,0x0532
0x049d 11 8a 80 ld de,0x808a
0x04a0 01 4b 00 ld bc,0x004b
0x04a3 ed b0 ldir
0x04a5 3e 8b ld a,0x8b
0x04a7 01 03 27 ld bc,0x2703
0x04aa ed 79 out (c),a
0x04ac 32 0d 2f ld (0x2f0d),a
0x04af 32 08 2e ld (0x2e08),a
0x04b2 32 06 2e ld (0x2e06),a
0x04b5 32 02 2e ld (0x2e02),a
0x04b8 32 00 2e ld (0x2e00),a
0x04bb 3a 01 27 ld a,(0x2701)
0x04be e6 01 and 0x01
0x04c0 ca c9 04 jp z,0x04c9
0x04c3 cd 27 16 call 0x1627
0x04c6 c3 cc 04 jp 0x04cc
0x04c9 cd 59 17 call 0x1759
0x04cc 0e 03 ld c,0x03
0x04ce 21 22 05 ld hl,0x0522
0x04d1 11 03 04 ld de,0x0403
0x04d4 46 ld b,(hl)
0x04d5 23 inc hl
0x04d6 7e ld a,(hl)
0x04d7 23 inc hl
0x04d8 ed 79 out (c),a
0x04da 1d dec e
0x04db c2 d6 04 jp nz,0x04d6
0x04de 1e 03 ld e,0x03
0x04e0 15 dec d
0x04e1 c2 d4 04 jp nz,0x04d4
0x04e4 16 04 ld d,0x04
0x04e6 21 00 02 ld hl,0x0200
0x04e9 1e 03 ld e,0x03
0x04eb 0e 02 ld c,0x02
0x04ed ed 69 out (c),l
0x04ef ed 61 out (c),h
0x04f1 0d dec c
0x04f2 f2 ed 04 jp p,0x04ed
0x04f5 05 dec b
0x04f6 7a ld a,d
0x04f7 fe 03 cp 0x03
0x04f9 c2 ff 04 jp nz,0x04ff
0x04fc 21 04 00 ld hl,0x0004
0x04ff 15 dec d
0x0500 c2 e9 04 jp nz,0x04e9
0x0503 ed 56 im 1
0x0505 cd f0 05 call 0x05f0
0x0508 11 05 00 ld de,0x0005
0x050b cd 6f 13 call 0x136f
0x050e 1d dec e
0x050f f2 0b 05 jp p,0x050b
0x0512 21 1a 21 ld hl,0x211a
0x0515 36 0a ld (hl),0x0a
0x0517 36 0b ld (hl),0x0b
0x0519 cd 29 03 call 0x0329
0x051c 32 0d 2e ld (0x2e0d),a
0x051f c3 49 09 jp 0x0949
0x0522 22 36 76 ld (0x7636),hl
0x0525 b6 or (hl)
0x0526 23 inc hl
0x0527 36 76 ld (hl),0x76
0x0529 b6 or (hl)
0x052a 24 inc h
0x052b 36 76 ld (hl),0x76
0x052d b6 or (hl)
0x052e 25 dec h
0x052f 36 76 ld (hl),0x76
0x0531 b6 or (hl)
0x0532 80 add a,b
0x0533 ff rst 0x38
0x0534 00 nop
0x0535 00 nop
0x0536 82 add a,d
0x0537 00 nop
0x0538 00 nop
0x0539 c0 ret nz
0x053a 81 add a,c
0x053b c0 ret nz
0x053c 81 add a,c
0x053d ff rst 0x38
0x053e 00 nop
0x053f 00 nop
0x0540 00 nop
0x0541 00 nop
0x0542 04 inc b
0x0543 3f ccf
0x0544 3c inc a
0x0545 00 nop
0x0546 7f ld a,a
0x0547 00 nop
0x0548 00 nop
0x0549 2a 00 00 ld hl,(0x0000)
0x054c c9 ret
0x054d 22 00 00 ld (0x0000),hl
0x0550 c9 ret
0x0551 00 nop
0x0552 03 inc bc
0x0553 00 nop
0x0554 00 nop
0x0555 ff rst 0x38
0x0556 18 08 jr 0x0560
0x0558 06 fc ld b,0xfc
0x055a 03 inc bc
0x055b 96 sub (hl)
0x055c 04 inc b
0x055d 80 add a,b
0x055e 80 add a,b
0x055f 80 add a,b
0x0560 80 add a,b
0x0561 80 add a,b
0x0562 80 add a,b
0x0563 80 add a,b
0x0564 80 add a,b
0x0565 80 add a,b
0x0566 80 add a,b
0x0567 80 add a,b
0x0568 80 add a,b
0x0569 80 add a,b
0x056a 80 add a,b
0x056b 80 add a,b
0x056c 80 add a,b
0x056d 80 add a,b
0x056e 80 add a,b
0x056f 80 add a,b
0x0570 80 add a,b
0x0571 80 add a,b
0x0572 80 add a,b
0x0573 80 add a,b
0x0574 80 add a,b
0x0575 80 add a,b
0x0576 80 add a,b
0x0577 80 add a,b
0x0578 80 add a,b
0x0579 80 add a,b
0x057a 80 add a,b
0x057b 80 add a,b
0x057c 80 add a,b
0x057d 43 ld b,e
0x057e 4f ld c,a
0x057f 50 ld d,b
0x0580 59 ld e,c
0x0581 52 ld d,d
0x0582 49 ld c,c
0x0583 47 ld b,a
0x0584 48 ld c,b
0x0585 54 ld d,h
0x0586 20 41 jr nz,0x05c9
0x0588 4b ld c,e
0x0589 41 ld b,c
0x058a 49 ld c,c
0x058b 20 44 jr nz,0x05d1
0x058d 45 ld b,l
0x058e 4e ld c,(hl)
0x058f 4b ld c,e
0x0590 49 ld c,c
0x0591 20 4a jr nz,0x05dd
0x0593 41 ld b,c
0x0594 4e ld c,(hl)
0x0595 20 31 jr nz,0x05c8
0x0597 39 add hl,sp
0x0598 38 35 jr c,0x05cf
0x059a 47 ld b,a
0x059b 41 ld b,c
0x059c 4c ld c,h
0x059d 4c ld c,h
0x059e 55 ld d,l
0x059f 53 ld d,e
0x05a0 20 46 jr nz,0x05e8
0x05a2 41 ld b,c
0x05a3 43 ld b,e
0x05a4 49 ld c,c
0x05a5 45 ld b,l
0x05a6 42 ld b,d
0x05a7 41 ld b,c
0x05a8 54 ld d,h
0x05a9 21 11 80 ld hl,0x8011
0x05ac 19 add hl,de
0x05ad 72 ld (hl),d
0x05ae 21 17 80 ld hl,0x8017
0x05b1 19 add hl,de
0x05b2 77 ld (hl),a
; write a to voice e
; addresses are 0x2800, 0x2900, 0x2a00, 0x2b00, 0x2c00 and 0x2d00
writeVoice:
0x05b3 2e 28 ld l,0x28
0x05b5 19 add hl,de
0x05b6 c5 push bc
0x05b7 45 ld b,l
0x05b8 0e 00 ld c,0x00
0x05ba ed 79 out (c),a
0x05bc c1 pop bc
0x05bd c9 ret
0x05be 3a 79 80 ld a,(0x8079)
0x05c1 21 7c 80 ld hl,0x807c
0x05c4 cd 0d 09 call 0x090d
0x05c7 c8 ret z
0x05c8 2f cpl
0x05c9 a7 and a
0x05ca 1f rra
0x05cb a7 and a
0x05cc 1f rra
0x05cd 32 9b 80 ld (0x809b),a
0x05d0 11 05 00 ld de,0x0005
0x05d3 26 80 ld h,0x80
0x05d5 6b ld l,e
0x05d6 7e ld a,(hl)
0x05d7 e6 06 and 0x06
0x05d9 ca eb 05 jp z,0x05eb
0x05dc 21 0b 80 ld hl,0x800b
0x05df 19 add hl,de
0x05e0 7e ld a,(hl)
0x05e1 e6 7f and 0x7f
0x05e3 d6 24 sub 0x24
0x05e5 cd fa 12 call 0x12fa
0x05e8 cd 26 13 call 0x1326
0x05eb 1d dec e
0x05ec f2 d3 05 jp p,0x05d3
0x05ef c9 ret
0x05f0 3a aa 80 ld a,(0x80aa)
0x05f3 21 5f 02 ld hl,0x025f
0x05f6 fe 01 cp 0x01
0x05f8 ca 10 06 jp z,0x0610
0x05fb 21 4b 02 ld hl,0x024b
0x05fe fe 03 cp 0x03
0x0600 c2 10 06 jp nz,0x0610
0x0603 21 88 00 ld hl,0x0088
0x0606 3a af 80 ld a,(0x80af)
0x0609 e6 20 and 0x20
0x060b 28 03 jr z,0x0610
0x060d 21 65 01 ld hl,0x0165
0x0610 e5 push hl
0x0611 dd e1 pop ix
0x0613 c9 ret
0x0614 3a 22 80 ld a,(0x8022)
0x0617 a7 and a
0x0618 21 04 2e ld hl,0x2e04
0x061b ca 21 06 jp z,0x0621
0x061e 21 05 2e ld hl,0x2e05
0x0621 77 ld (hl),a
0x0622 3a aa 80 ld a,(0x80aa)
0x0625 01 01 2f ld bc,0x2f01
0x0628 11 04 2f ld de,0x2f04
0x062b 21 02 2f ld hl,0x2f02
0x062e fe 02 cp 0x02
0x0630 ca 3c 06 jp z,0x063c
0x0633 0d dec c
0x0634 1c inc e
0x0635 fe 01 cp 0x01
0x0637 ca 3c 06 jp z,0x063c
0x063a 1d dec e
0x063b 2c inc l
0x063c 02 ld (bc),a
0x063d 12 ld (de),a
0x063e 77 ld (hl),a
0x063f fe 02 cp 0x02
0x0641 ca 4f 06 jp z,0x064f
0x0644 3a 1e 80 ld a,(0x801e)
0x0647 a7 and a
0x0648 ca 4f 06 jp z,0x064f
0x064b 32 07 2f ld (0x2f07),a
0x064e c9 ret
0x064f 32 06 2f ld (0x2f06),a
0x0652 c9 ret
0x0653 3a 0a 80 ld a,(0x800a)
0x0656 c6 6b add a,0x6b
0x0658 6f ld l,a
0x0659 3e 06 ld a,0x06
0x065b ce 00 adc a,0x00
0x065d 67 ld h,a
0x065e 3a 84 80 ld a,(0x8084)
0x0661 86 add a,(hl)
0x0662 d8 ret c
0x0663 21 b3 80 ld hl,0x80b3
0x0666 be cp (hl)
0x0667 3f ccf
0x0668 d8 ret c
0x0669 32 84 80 ld (0x8084),a
0x066c c9 ret
0x066d 26 80 ld h,0x80
0x066f 6b ld l,e
0x0670 7e ld a,(hl)
0x0671 e6 06 and 0x06
0x0673 c8 ret z
0x0674 21 0b 80 ld hl,0x800b
0x0677 19 add hl,de
0x0678 7e ld a,(hl)
0x0679 e6 7f and 0x7f
0x067b c6 6b add a,0x6b
0x067d 6f ld l,a
0x067e 3e 06 ld a,0x06
0x0680 ce 00 adc a,0x00
0x0682 67 ld h,a
0x0683 3a 84 80 ld a,(0x8084)
0x0686 96 sub (hl)
0x0687 d2 8b 06 jp nc,0x068b
0x068a af xor a
0x068b 32 84 80 ld (0x8084),a
0x068e c9 ret
0x068f 02 ld (bc),a
0x0690 02 ld (bc),a
0x0691 02 ld (bc),a
0x0692 02 ld (bc),a
0x0693 02 ld (bc),a
0x0694 02 ld (bc),a
0x0695 02 ld (bc),a
0x0696 03 inc bc
0x0697 03 inc bc
0x0698 03 inc bc
0x0699 03 inc bc
0x069a 03 inc bc
0x069b 03 inc bc
0x069c 04 inc b
0x069d 04 inc b
0x069e 04 inc b
0x069f 04 inc b
0x06a0 05 dec b
0x06a1 05 dec b
0x06a2 05 dec b
0x06a3 06 06 ld b,0x06
0x06a5 06 07 ld b,0x07
0x06a7 07 rlca
0x06a8 07 rlca
0x06a9 08 ex af,af'
0x06aa 08 ex af,af'
0x06ab 09 add hl,bc
0x06ac 09 add hl,bc
0x06ad 0a ld a,(bc)
0x06ae 0a ld a,(bc)
0x06af 0b dec bc
0x06b0 0c inc c
0x06b1 0c inc c
0x06b2 0d dec c
0x06b3 0e 0f ld c,0x0f
0x06b5 10 11 djnz 0x06c8
0x06b7 12 ld (de),a
0x06b8 13 inc de
0x06b9 14 inc d
0x06ba 15 dec d
0x06bb 16 18 ld d,0x18
0x06bd 19 add hl,de
0x06be 1a ld a,(de)
0x06bf 1c inc e
0x06c0 1e 1f ld e,0x1f
0x06c2 21 23 25 ld hl,0x2523
0x06c5 28 2a jr z,0x06f1
0x06c7 2c inc l
0x06c8 2f cpl
0x06c9 32 35 38 ld (0x3835),a
0x06cc 3a 01 27 ld a,(0x2701)
0x06cf e6 01 and 0x01
0x06d1 ca d6 06 jp z,0x06d6
0x06d4 3e 01 ld a,0x01
0x06d6 32 54 80 ld (0x8054),a
0x06d9 3a aa 80 ld a,(0x80aa)
0x06dc f5 push af
0x06dd cd e5 06 call 0x06e5
0x06e0 f1 pop af
0x06e1 32 aa 80 ld (0x80aa),a
0x06e4 c9 ret
0x06e5 3e 02 ld a,0x02
0x06e7 32 aa 80 ld (0x80aa),a
0x06ea cd f0 05 call 0x05f0
0x06ed 21 ab 80 ld hl,0x80ab
0x06f0 7e ld a,(hl)
0x06f1 36 00 ld (hl),0x00
0x06f3 2f cpl
0x06f4 3c inc a
0x06f5 21 9c 80 ld hl,0x809c
0x06f8 86 add a,(hl)
0x06f9 fe 61 cp 0x61
0x06fb da 00 07 jp c,0x0700
0x06fe 3e 60 ld a,0x60
0x0700 fe 24 cp 0x24
0x0702 d2 07 07 jp nc,0x0707
0x0705 3e 24 ld a,0x24
0x0707 77 ld (hl),a
0x0708 32 0a 2e ld (0x2e0a),a
0x070b cd 14 06 call 0x0614
0x070e af xor a
0x070f 32 a9 80 ld (0x80a9),a
0x0712 32 6c 80 ld (0x806c),a
0x0715 11 00 00 ld de,0x0000
0x0718 cd 6d 06 call 0x066d
0x071b 3e 48 ld a,0x48
0x071d cd 56 06 call 0x0656
0x0720 d8 ret c
0x0721 3e 04 ld a,0x04
0x0723 32 0a 20 ld (0x200a),a
0x0726 3e 04 ld a,0x04
0x0728 32 1a 20 ld (0x201a),a
0x072b 3e 48 ld a,0x48
0x072d 32 0b 80 ld (0x800b),a
0x0730 3e 84 ld a,0x84
0x0732 32 00 80 ld (0x8000),a
0x0735 cd d6 03 call 0x03d6
0x0738 cd be 05 call 0x05be
0x073b cd 67 03 call 0x0367
0x073e cd 1c 09 call 0x091c
0x0741 3a 9c 80 ld a,(0x809c)
0x0744 fe 49 cp 0x49
0x0746 da 4b 07 jp c,0x074b
0x0749 3e 48 ld a,0x48
0x074b d6 08 sub 0x08
0x074d cd 04 13 call 0x1304
0x0750 01 00 22 ld bc,0x2200
0x0753 ed 79 out (c),a
0x0755 3e 00 ld a,0x00
0x0757 ed 79 out (c),a
0x0759 cd b6 08 call 0x08b6
0x075c cd d1 08 call 0x08d1
0x075f ca 6e 07 jp z,0x076e
0x0762 cd af 08 call 0x08af
0x0765 32 0d 2f ld (0x2f0d),a
0x0768 11 00 00 ld de,0x0000