/
fat16patch.txt
10363 lines (10090 loc) · 204 KB
/
fat16patch.txt
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
;MSXDOS2 kernel version 2.30
;1999/8/10
;kernel version 2.30を基にしているため、version 2.31のアドレスに変換するには、
0~17D5hまではそのまま、17D6h以降はアドレス+0Ahしてください。
;「FAT16」で検索すると、パッチをあてた場所がわかります。
; DPBという単語が出てきますが、ページ3の物ではなくページ2のドライブ情報のことです。
;ブートセクタに'FAT16'の文字列があるときはFAT16フォーマット
;それ以外はFAT12フォーマットと判定する
;FAT16ドライブ登録時、DPB+1Eh ~ 1FhをFF,FF(ルートディレクトリ)にする
;BBE4hがFFxxhの時、BBE8hがFFFFhかどうかをチェックする
;BBDEh~ Dirのセクタ番号を24bitでコピー
;BBDEh~ FIBにコピーするときも24bit copy
;データセグメント内のFile handleは38hbytes 確保する(Bit16-23のため)
ORG 00h
JP 0095h ;0 Reboot
DB 0,0 ;3
JP 026Dh ;5 Entry to DOS2 function calls
DB 0,0,0,0 ;8
JP 0F1E8h ;C RDSLT
DB 0,0,0,0,0 ;F
JP 0F1EBh ;14 WRSLT
DB 0,0,0,0,0 ;17
JP 0F1EEh ;1C CALSLT
DB 0,0,0,0,0 ;1F
JP 0F1F1h ;24 ENASLT
NOP ;27
JP 0C206h ;28 RST28
DB 0,0,0,0,0 ;2B
JP 0F1F4h ;30 CALLF
DB 0,0,0,0,0 ;33
JP 0F1E5h ;38 INT
OUT (0A8h),A ;3B Change to expansion slot
LD A,(0FFFFh) ;3D
CPL ;40
LD L,A ;41
AND H ;42
OR D ;43
JR Z0002 ;44
OUT (0A8h),A ;46
LD A,L ;48
JR Z0002 ;49
OUT (0A8h),A ;4B
LD A,E ;4D
Z0002: LD (0FFFFh),A ;4E
LD A,B ;51
OUT (0A8h),A ;52
RET ;54
DB 0,0,0,0,0,0,0 ;55
JP 011A6h ;5C
JP 01256h ;5F
DB 0,0,0,0,0,0,0,0,0,0 ;62
DB 0,0,0,0,0,0,0,0,0,0
DB 0,0,0,0,0,0,0,0,0,0
JP 0A2Dh ;80 Entry CHGET 009Fh
JP 0A6Bh ;83 CHPUT 00A2h
JP 0A42h ;86 CHSNS 009Ch
JP 0B25h ;89 LPTOUT 00A5h
JP 0B37h ;8C LPTSTT 00A8h
JP 0B50h ;8F
JP 0B46h ;92
;Reboot
LD IY,0BB80h ;95 Top of work area
LD DE,0F353h ;99
LD A,(0F348h) ;9C Master slot
LD C,A ;9F
LD L,080h ;A0 RAMDISKのためにドライブ情報エリアを確保
LD B,01h ;A2
CALL 017Eh ;A4
JR NZ,Z0004 ;A7
LD HL,0FB21h ;A9
LD DE,0F355h ;AC Top of DPB
LD B,04h ;AF
Z0005: LD A,(HL) ;B1
INC HL ;B2
LD C,(HL) ;B3
INC HL ;B4
OR A ;B5
PUSh HL ;B6
PUSh BC ;B7
LD B,A ;B8
LD L,010h ;B9 ドライブ情報エリアを確保
CALL NZ,017Eh ;BB
POP BC ;BE
POP HL ;BF
JR NZ,Z0004 ;C0 エラー
DJNZ Z0005 ;C2
LD D,B ;C4
CALL 0E8Bh ;C5
LD HL,012Ch ;C8
Z0010: LD A,(HL) ;CB
OR A ;CC
JR Z,Z0006 ;CD
INC HL ;CF
PUSh HL ;D0
LD HL,02Bh ;D1
CALL 01CBh ;D4 Reserve 2Bh bytes for device files
POP DE ;D7
Z0004: JR NZ,Z0008 ;D8
LD BC,(0BBF4h) ;DA
LD (0BBF4h),HL ;DE
LD (HL),C ;E1
INC HL ;E2
LD (HL),B ;E3
INC HL ;E4
EX DE,HL ;E5
LDI ;E6
LDI ;E8
EX DE,HL ;EA
LD BC,06h ;EB
ADD HL,BC ;EE
EX DE,HL ;EF
LD BC,0Ch ;F0
LDIR ;F3
LD A,080h ;F5
LD (DE),A ;F7
LD B,014h ;F8
XOR A ;FA
Z0009: INC DE ;FB
LD (DE),A ;FC
DJNZ Z0009 ;FD
JR Z0010 ;FF
Z0006: LD B,05h ;101 Buffers = 5
CALL 0E44h ;103 Reserve #20B bytes for Buffer
LD B,00h ;106
CALL 02066h ;108
CALL 0E35h ;10B Clear with 0 from #BC00 to #BFFF
CALL 0384h ;10E
LD HL,0178h ;111
LD DE,0B066h ;114
LD BC,06h ;117
LDIR ;11A
LD A,01h ;11C
LD (0F2BDh),A ;11E
LD (IY+10h),0FFh ;121
CALL 010CAh ;125
OR A ;128
RET ;129
Z0008: SCF ;12A
RET ;12B
DB 0FFh ;12C
DB 32h,09h,0A3h ;12D
DB 'CON' ;130
DB 20h,20h,20h ;133
DB 20h,20h,20h ;136
DB 20h,20h ;139
DB 0FFh ;13B
DB 0E2h,09h,0A0h ;13C
DB 'LST' ;13F
DB 20h,20h,20h ;142
DB 20h,20h,20h ;145
DB 20h,20h ;148
DB 0FFh ;14A
DB 0E2h,09h,0A0h ;14B
DB 'PRN' ;14E
DB 20h,20h,20h ;151
DB 20h,20h,20h ;154
DB 20h,20h ;157
DB 0FFh ;159
DB 30h,0Ah,0A0h ;15A
DB 'NUL' ;15D
DB 20h,20h,20h ;160
DB 20h,20h,20h ;163
DB 20h,20h ;166
DB 0FFh ;168
DB 0BFh,09h,0A0h ;169
DB 'AUX' ;16C
DB 20h,20h,20h ;16F
DB 20h,20h,20h ;172
DB 20h,20h ;175
NOP ;177
;-----------------------------------------
;B066hへ6バイト転送
DEC DE ;178
LD A,C ;179
DEC (HL) ;17A
DEC DE ;17B
LD A,B ;17C
DEC (HL) ;17D
;-----------------------------------------
XOR A ;17E
Z0028: EX AF,AF' ;17F
PUSh HL ;180
LD HL,060h ;181
Z0023: CALL 01CBh ;184 ドライブ情報のために60hバイト確保
JR NZ,Z0026 ;187
EX DE,HL ;189
PUSh DE ;18A
POP IX ;18B
PUSh BC ;18D
LD C,(HL) ;18E
INC HL ;18F
LD B,(HL) ;190
Z0024: INC HL ;191
PUSh HL ;192
Z0025: LD (IX+2h)C ;193 DPB address
LD (IX+3h)B ;196
LD A,(BC) ;199 Drive
INC A ;19A
LD (IX+8h)A ;19B 論理ドライブ
LD L,A ;19E
LD H,00h ;19F
INC BC ;1A1
LD A,(BC) ;1A2 Media ID
LD (IX+1Dh)A ;1A3
LD BC,0BBFBh ;1A6 RAM disk
JR Z,Z0027 ;1A9
LD BC,0BA23h ;1AB
Z0027: ADD HL,HL ;1AE
ADD HL,BC ;1AF
LD (HL),E ;1B0
INC HL ;1B1
LD (HL),D ;1B2
POP DE ;1B3
POP BC ;1B4
POP HL ;1B5
LD (IX+0h)C ;1B6 DISK ROM slot
LD (IX+1h)L ;1B9 10h
EX AF,AF' ;1BC
LD (IX+6h)A ;1BD ローカルドライブ ;FAT16*済 call 3FE9h ;in bank2/kinit.mac INIT_UNITS
INC A ;1C0
LD (IX+1Fh),0FFh ;1C1 00h,FFhはルートディレクトリ
DJNZ Z0028 ;1C5
XOR A ;1C7
RET ;1C8
Z0026: POP HL ;1C9
RET ;1CA
PUSh DE ;1CB
PUSh BC ;1CC
INC HL ;1CD
RES 0,L ;1CE
LD B,H ;1D0
LD C,L ;1D1
LD HL,(0B064h) ;1D2
Z0032: LD E,(HL) ;1D5
INC HL ;1D6
LD D,(HL) ;1D7
INC HL ;1D8
LD A,D ;1D9
OR E ;1DA
JR Z,Z0029 ;1DB
BIT 0,E ;1DD
JR NZ,Z0030 ;1DF
EX DE,HL ;1E1
SBC HL,BC ;1E2
JR NC,Z0031 ;1E4
ADD HL,BC ;1E6
EX DE,HL ;1E7
Z0030: RES 0,E ;1E8
ADD HL,DE ;1EA
JR Z0032 ;1EB
Z0031: EX DE,HL ;1ED
DEC HL ;1EE
DEC HL ;1EF
JR Z,Z0033 ;1F0
DEC DE ;1F2
DEC DE ;1F3
LD A,D ;1F4
OR E ;1F5
JR Z,Z0034 ;1F6
LD (HL),E ;1F8
INC HL ;1F9
LD (HL),D ;1FA
INC HL ;1FB
ADD HL,DE ;1FC
JR Z0033 ;1FD
Z0034: INC BC ;1FF
INC BC ;200
JR Z0033 ;201
Z0029: LD A,0DEh ;203
INC BC ;205
INC BC ;206
LD HL,(0B064h) ;207
OR A ;20A
SBC HL,BC ;20B
JR C,Z0035 ;20D
JP P,Z0035 ;20F
LD (0B064h),HL ;212
DEC BC ;215
DEC BC ;216
Z0033: LD (HL),C ;217 BC=bytes of reserved memory
SET 0,(HL) ;218
INC HL ;21A
LD (HL),B ;21B
INC HL ;21C
PUSh HL ;21D
Z0036: LD (HL),00h ;21E clear with 0
INC HL ;220
DEC BC ;221
LD A,B ;222
OR C ;223
JR NZ,Z0036 ;224
POP HL ;226
Z0035: POP BC ;227
POP DE ;228
OR A ;229
RET ;22A
DEC HL ;22B
DEC HL ;22C
RES 0,(HL) ;22D
PUSh DE ;22F
PUSh BC ;230
LD HL,(0B064h) ;231
Z0038: LD C,(HL) ;234
BIT 0,C ;235
JR NZ,Z0037 ;237
INC HL ;239
LD B,(HL) ;23A
INC HL ;23B
ADD HL,BC ;23C
JR Z0038 ;23D
Z0037: LD (0B064h),HL ;23F
Z0043: LD E,(HL) ;242
INC HL ;243
LD D,(HL) ;244
INC HL ;245
LD A,D ;246
OR E ;247
JR Z,Z0039 ;248
BIT 0,E ;24A
JR NZ,Z0040 ;24C
Z0042: PUSh HL ;24E
ADD HL,DE ;24F
LD C,(HL) ;250
INC HL ;251
LD B,(HL) ;252
POP HL ;253
BIT 0,C ;254
Z0046: JR NZ,Z0041 ;256
INC BC ;258
INC BC ;259
EX DE,HL ;25A
ADD HL,BC ;25B
EX DE,HL ;25C
JR Z0042 ;25D
Z0041: DEC HL ;25F
LD (HL),D ;260
DEC HL ;261
LD (HL),E ;262
INC HL ;263
INC HL ;264
Z0040: RES 0,E ;265
ADD HL,DE ;267
JR Z0043 ;268
Z0039: POP BC ;26A
POP DE ;26B
RET ;26C
Z0001: EI ;26D Entry to function call
CALL 0F252h ;26E
CALL Z0044 ;271
LD (0BBFDh),A ;274 error code
RET ;277
Z0044: PUSh HL ;278
PUSh BC ;279
EX AF,AF' ;27A
LD A,(0F2BEh) ;27B
DEC A ;27E
CALL Z,0AB9h ;27F
LD A,C ;282
CP 071h ;283
JR C,Z0045 ;285
LD C,09h ;287
Z0045: EX AF,AF' ;289
LD B,00h ;28A
LD HL,02A2h ;28C
ADD HL,BC ;28F
ADD HL,BC ;290
LD C,(HL) ;291
INC HL ;292
Z0047: LD H,(HL) ;293
LD L,C ;294
LD IY,0BB80h ;295
POP BC ;299
EX (SP),HL ;29A
RET ;29B
;#09,1C-20,25,29,32-3F,63,64
LD A,0DCh ;29C error #DC 'Invalid MSX-DOS call'
Z0049: LD HL,00h ;29E
RET ;2A1
;Entry each of DOS function call
DW 0CFBh ;2A2 #00
DW 03A8h ;2A4 #01
DW 03B6h ;2A6 #02
DW 042Eh ;2A8 #03
DW 043Dh ;2AA #04
DW 0441h ;2AC #05
DW 03D4h ;2AE #06
DW 03FEh ;2B0 #07
DW 03BEh ;2B2 #08
DW 029Ch ;2B4 #09
DW 0456h ;2B6 #0A
DW 03CDh ;2B8 #0B
DW 0B90h ;2BB #0C
DW 0B95h ;2BC #0D
DW 0BABh ;2BE #0E
DW 3767h ;2C0 #0F
DW 37ABh ;2C2 #10
DW 37C5h ;2C4 #11
DW 37DFh ;2C6 #12
DW 38DCh ;2C8 #13
DW 3842h ;2CA #14
DW 3889h ;2CC #15
DW 38C4h ;2CE #16
DW 3909h ;2D0 #17
DW 0BC6h ;2D2 #18
DW 0BDCh ;2D4 #19
DW 0BE4h ;2D6 #1A
DW 0BECh ;2D8 #1B
DW 029Ch ;2DA #1C
DW 029Ch ;2DC #1D
DW 029Ch ;2DE #1E
DW 029Ch ;2E0 #1F
DW 029Ch ;2E2 #20
DW 3949h ;2E4 #21
DW 395Dh ;2E6 #22
DW 3977h ;2E8 #23
DW 39B0h ;2EA #24
DW 029Ch ;2EC #25
DW 3D35h ;2EE #26
DW 3D31h ;2F0 #27
DW 395Fh ;2F2 #28
DW 029Ch ;2F4 #29
DW 1024h ;2F6 #2A
DW 1059h ;2F8 #2B
DW 10A3h ;2FA #2C
DW 10ADh ;2FC #2D
DW 0C48h ;2FE #2E
DW 256Ch ;300 #2F
DW 256Fh ;302 #30
DW 0C50h ;304 #31
DW 029Ch ;306 #32
DW 029Ch ;308 #33
DW 029Ch ;30A #34
DW 029Ch ;30C #35
DW 029Ch ;30E #36
DW 029Ch ;310 #37
DW 029Ch ;312 #38
DW 029Ch ;314 #39
DW 029Ch ;316 #3A
DW 029Ch ;318 #3B
DW 029Ch ;31A #3C
DW 029Ch ;31C #3D
DW 029Ch ;31E #3E
DW 029Ch ;320 #3F
DW 18BCh ;322 #40
DW 196Fh ;324 #41
DW 18C0h ;326 #42
DW 1D9Ch ;328 #43
DW 1D8Ah ;32A #44
DW 1DE1h ;32C #45
DW 01DEEh ;32E #46
DW 01DFEh ;330 #47
DW 01E13h ;332 #48
DW 01E23h ;334 #49
DW 01E33h ;336 #4A
DW 01E77h ;338 #4B
DW 02003h ;33A #4C
DW 01F0Ah ;33C #4D
DW 01F31h ;33E #4E
DW 01F56h ;340 #4F
DW 01F7Bh ;342 #50
DW 01FB4h ;344 #51
DW 01F14h ;346 #52
DW 01F3Bh ;348 #53
DW 01F60h ;34A #54
DW 01F93h ;34C #55
DW 01FD6h ;34E #56
DW 00CCFh ;350 #57
DW 00CD5h ;352 #58
DW 0182Dh ;354 #59
DW 01843h ;356 #5A
DW 01863h ;358 #5B
DW 01878h ;35A #5C
DW 0188Ah ;35C #5D
DW 01893h ;35E #5E
DW 00CE0h ;360 #5F
DW 0201Fh ;362 #60
DW 02066h ;364 #61
DW 00CFDh ;366 #62
DW 0029Ch ;368 #63
DW 0029Ch ;36A #64
DW 00D05h ;36C #65
DW 00D0Ah ;36E #66
DW 00D39h ;370 #67 ;FAT16*無 029Ch RAMDISK/FORMATを潰す必要がないので不要
DW 00D93h ;372 #68 ;FAT16*無 029Ch RAMDISK/FORMATを潰す必要がないので不要
DW 00E44h ;374 #69
DW 00E8Bh ;376 #6A
DW 00EDEh ;378 #6B
DW 00EFFh ;37A #6C
DW 00F55h ;37C #6D
DW 00EB6h ;37E #6E
DW 00EC8h ;380 #6F
DW 00ED2h ;382 #70
;-------------
LD HL,0B0D0h ;384
LD (0BB82h),HL ;387
LD (0BB80h),HL ;38A
LD DE,0B1D0h ;38D
EX DE,HL ;390
OR A ;391
SBC HL,DE ;392
Z0052: EX DE,HL ;394
Z0060: LD (HL),0Dh ;395
INC HL ;397
DEC DE ;398
LD A,D ;399
Z0054: OR E ;39A
JR NZ,Z0060 ;39B
LD (0BB7Fh),A ;39D
XOR A ;3A0
LD (0BB8Dh),A ;3A1
LD (0BB8Ah),A ;3A4
RET ;3A7
;#01(_CONIN)
CALL 03BEh ;3A8
PUSh HL ;3AB
LD A,L ;3AC
CALL 085Ah ;3AD
CALL NC,Z0063 ;3B0
POP HL ;3B3
XOR A ;3B4
RET ;3B5
;#02(_CONOUT)
LD A,E ;3B6
CALL Z0064 ;3B7
XOR A ;3BA
LD H,A ;3BB
Z0055: LD L,A ;3BC
RET ;3BD
;#08(_INNOE)
BIT 0,(IY+9D) ;3BE
LD C,0FFh ;3C2
JR NZ,Z0065 ;3C4
CALL Z0066 ;3C6
LD L,A ;3C9
XOR A ;3CA
Z0059: LD H,A ;3CB
RET ;3CC
;#0B(_CONST)
CALL Z0067 ;3CD
LD L,A ;3D0
XOR A ;3D1
LD H,A ;3D2
Z0056: RET ;3D3
;#06(_DIRIO)
LD A,E ;3D4
INC A ;3D5
JR Z,Z0068 ;3D6
BIT 1,(IY+9h) ;3D8
LD A,E ;3DC
LD C,00h ;3DD
JR NZ,Z0069 ;3DF
CALL 0A6Ch ;3E1
XOR A ;3E4
LD H,A ;3E5
LD L,A ;3E6
RET ;3E7
Z0068: BIT 0,(IY+9h) ;3E8
LD C,00h ;3EC
JR NZ,Z0065 ;3EE
LD HL,0BB8Dh ;3F0
CP (HL) ;3F3
JR NZ,Z0070 ;3F4
CALL 0A42h ;3F6
JR NZ,Z0070 ;3F9
LD L,A ;3FB
LD H,A ;3FC
RET ;3FD
;#07(_DIRIN)
BIT 0,(IY+9h) ;3FE
LD C,00h ;402
JR NZ,Z0065 ;404
Z0070: LD A,(0BB8Dh) ;406
OR A ;409
CALL Z,0A2Dh ;40A
LD L,A ;40D
XOR A ;40E
LD H,A ;40F
LD (0BB8Dh),A ;410
RET ;413
Z0065: LD B,00h ;414
PUSh BC ;416
CALL 01D47h ;417
POP DE ;41A
OR A ;41B
JR NZ,Z0071 ;41C
OR E ;41E
JR Z,Z0072 ;41F
LD A,B ;421
SUB 03h ;422
JR Z,Z0071 ;424
Z0072: LD L,B ;426
XOR A ;427
LD H,A ;428
RET ;429
Z0069: LD B,01h ;42A
JR Z0073 ;42C
;#03(_AUXIN)
LD B,03h ;42E
LD C,0FFh ;430
CALL 01D47h ;432
OR A ;435
LD L,B ;436
LD H,A ;437
RET Z ;438
Z0071: LD C,09Bh ;439
JR Z0074 ;43B
;#04(_AUXOUT)
LD B,03h ;43D
JR Z0075 ;43F
;#05(_LSTOUT)
Z0175: LD B,04h ;441
Z0075: LD C,0FFh ;443
LD A,E ;445
Z0073: CALL 01D22h ;446
OR A ;449
LD L,A ;44A
LD H,A ;44B
RET Z ;44C
LD C,09Ch ;44D
Z0074: LD B,A ;44F
LD A,C ;450
CALL 0373Fh ;451
Z0076: JR Z0076 ;454
;#0A(_BUFIN)
PUSh DE ;456
BIT 0,(IY+9h) ;457
JR NZ,Z0077 ;45B
XOR A ;45D
CALL Z0078 ;45E
JR Z0079 ;461
Z0077: EX DE,HL ;463
LD B,(HL) ;464
LD C,00h ;465
INC HL ;467
PUSh HL ;468
Z0080: PUSh HL ;469
PUSh BC ;46A
LD C,0FFh ;46B
CALL Z0065 ;46D
LD A,L ;470
POP BC ;471
POP HL ;472
OR A ;473
JR Z,Z0080 ;474
CP 0Ah ;476
JR Z,Z0080 ;478
CP 0Dh ;47A
JR Z,Z0081 ;47C
LD E,A ;47E
LD A,B ;47F
CP C ;480
JR Z,Z0082 ;481
INC C ;483
INC HL ;484
LD (HL),E ;485
LD A,E ;486
PUSh HL ;487
PUSh BC ;488
CALL Z0064 ;489
JR Z0083 ;48C
Z0082: PUSh HL ;48E
PUSh BC ;48F
LD A,07h ;490
CALL 0A6Ch ;492
Z0083: POP BC ;495
POP HL ;496
JR Z0080 ;497
Z0081: POP HL ;499
LD (HL),C ;49A
CALL Z0064 ;49B
Z0079: POP HL ;49E
PUSh HL ;49F
LD A,(HL) ;4A0
INC HL ;4A1
CP (HL) ;4A2
JR Z,Z0084 ;4A3
LD E,(HL) ;4A5
LD D,00h ;4A6
ADD HL,DE ;4A8
INC HL ;4A9
LD (HL),0Dh ;4AA
Z0084: POP DE ;4AC
XOR A ;4AD
LD L,A ;4AE
LD H,A ;4AF
RET ;4B0
Z0078: LD (0BB7Ah),A ;4B1
INC DE ;4B4
XOR A ;4B5
LD (DE),A ;4B6
DEC DE ;4B7
LD (0BB7Ch),A ;4B8
Z0095: PUSh DE ;4BB
CALL Z0085 ;4BC
POP DE ;4BF
DEC A ;4C0
JR Z,Z0086 ;4C1
DEC A ;4C3
JR Z,Z0087 ;4C4
INC DE ;4C6
LD A,(DE) ;4C7
OR A ;4C8
RET Z ;4C9
LD B,A ;4CA
LD (0BB7Fh),A ;4CB
LD A,(0BB7Ch) ;4CE
OR A ;4D1
JR Z,Z0088 ;4D2
PUSh DE ;4D4
PUSh BC ;4D5
LD HL,(0BB82h) ;4D6
Z0091: INC DE ;4D9
LD A,(DE) ;4DA
CP (HL) ;4DB
JR NZ,Z0089 ;4DC
CALL Z0090 ;4DE
DJNZ Z0091 ;4E1
LD A,(HL) ;4E3
CP 0Dh ;4E4
Z0089: POP BC ;4E6
POP DE ;4E7
JR Z,Z0092 ;4E8
Z0088: LD HL,(0BB80h) ;4EA
Z0093: INC DE ;4ED
LD A,(DE) ;4EE
LD (HL),A ;4EF
CALL Z0090 ;4F0
DJNZ Z0093 ;4F3
LD A,(HL) ;4F5
LD (HL),0Dh ;4F6
CALL Z0090 ;4F8
LD (0BB80h),HL ;4FB
Z0092: LD (0BB82h),HL ;4FE
Z0094: CP 0Dh ;501
RET Z ;503
LD A,(HL) ;504
LD (HL),0Dh ;505
CALL Z0090 ;507
JR Z0094 ;50A
Z0086: LD A,(0BB7Fh) ;50C
OR A ;50F
JR Z,Z0095 ;510
LD HL,(0BB82h) ;512
Z0097: CALL Z0096 ;515
LD A,(HL) ;518
CP 0Dh ;519
JR Z,Z0097 ;51B
Z0098: CALL Z0096 ;51D
LD A,(HL) ;520
CP 0Dh ;521
JR NZ,Z0098 ;523
CALL Z0090 ;525
JR Z0099 ;528
Z0087: LD A,(0BB7Fh) ;52A
OR A ;52D
JR Z,Z0095 ;52E
LD HL,(0BB82h) ;530
Z0100: LD A,(HL) ;533
CP 0Dh ;534
CALL Z0090 ;536
JR NZ,Z0100 ;539
SCF ;53B
Z0101: CALL NC,Z0090 ;53C
LD A,(HL) ;53F
CP 0Dh ;540
JR Z,Z0101 ;542
Z0099: LD (0BB82h),HL ;544
PUSh DE ;547
LD A,(DE) ;548
LD B,A ;549
INC DE ;54A
INC DE ;54B
LD C,0FFh ;54C
Z0103: LD A,(HL) ;54E
LD (DE),A ;54F
INC C ;550
CALL Z0090 ;551
CP 0Dh ;554
INC DE ;556
JR Z,Z0102 ;557
DJNZ Z0103 ;559
INC C ;55B
Z0102: POP DE ;55C
INC DE ;55D
LD A,C ;55E
LD (DE),A ;55F
DEC DE ;560
LD (0BB7Ch),A ;561
JP Z0095 ;564
Z0090: PUSh AF ;567
PUSh DE ;568
LD DE,0B1CFh ;569
OR A ;56C
SBC HL,DE ;56D
ADD HL,DE ;56F
INC HL ;570
JR NZ,Z0104 ;571
LD HL,0B0D0h ;573
Z0104: POP DE ;576
POP AF ;577
RET ;578
Z0096: PUSh AF ;579
PUSh DE ;57A
LD DE,0B0D0h ;57B
OR A ;57E
SBC HL,DE ;57F
ADD HL,DE ;581
DEC HL ;582
JR NZ,Z0105 ;583
LD HL,0B1CFh ;585
Z0105: POP DE ;588
POP AF ;589
RET ;58A
Z0085: LD HL,(0BB8Bh) ;58B
LD (0BB87h),HL ;58E
LD (0BB7Dh),HL ;591
EX DE,HL ;594
Z0153: LD C,(HL) ;595
INC HL ;596
LD (0BB84h),HL ;597
LD A,(HL) ;59A
OR A ;59B
LD B,A ;59C
JR Z,Z0106 ;59D
INC HL ;59F
CALL Z0107 ;5A0
DEC HL ;5A3
LD A,B ;5A4
Z0106: LD (0BB86h),A ;5A5
XOR A ;5A8
CALL Z0108 ;5A9
LD DE,05ACh ;5AC
PUSh DE ;5AF
PUSh HL ;5B0
LD HL,0BB86h ;5B1
LD A,(HL) ;5B4
CP B ;5B5
JR NC,Z0109 ;5B6
LD (HL),B ;5B8
Z0109: POP HL ;5B9
CALL Z0066 ;5BA
OR A ;5BD
RET Z ;5BE
CP 0Ah ;5BF
RET Z ;5C1
CP 0Dh ;5C2
JP Z,Z0110 ;5C4
CP 01Dh ;5C7
JP Z,Z0111 ;5C9
CP 01Ch ;5CC
JP Z,Z0112 ;5CE
CP 07Fh ;5D1
JP Z,Z0113 ;5D3
CP 08h ;5D6
JP Z,Z0114 ;5D8
CP 012h ;5DB
JP Z,Z0115 ;5DD
CP 01Bh ;5E0
JR Z,Z0116 ;5E2
CP 018h ;5E4
JR Z,Z0116 ;5E6
CP 015h ;5E8
Z0116: JP Z,Z0117 ;5EA
CP 01Eh ;5ED
JP Z,Z0118 ;5EF
CP 01Fh ;5F2
JP Z,Z0119 ;5F4
CP 0Bh ;5F7
JP Z,Z0120 ;5F9
LD E,A ;5FC
LD A,(0BB7Bh) ;5FD
OR A ;600
JP NZ,Z0121 ;601
LD A,(0BB86h) ;604
CP B ;607
JR Z,Z0122 ;608
INC HL ;60A
LD A,E ;60B
CALL 017D6h ;60C
JR NC,Z0123 ;60F
LD A,(0BB86h) ;611
DEC A ;614
CP B ;615
JR NZ,Z0124 ;616
INC A ;618
CP C ;619
DEC HL ;61A
JP NC,Z0125 ;61B
INC HL ;61E
INC A ;61F
LD (0BB86h),A ;620
Z0124: LD A,(HL) ;623
CALL 017D6h ;624
INC HL ;627
CALL NC,Z0126 ;628
DEC HL ;62B
JR Z0127 ;62C
Z0123: CALL Z0126 ;62E
JR C,Z0128 ;631
LD A,(HL) ;633
CP 020h ;634
JR C,Z0128 ;636
LD A,E ;638
CP 020h ;639
JR C,Z0128 ;63B
JR Z0129 ;63D
Z0122: CP C ;63F
JR NC,Z0130 ;640
LD A,E ;642
CALL 017D6h ;643
JR C,Z0131 ;646
INC HL ;648
Z0129: LD (HL),E ;649
LD A,E ;64A
INC B ;64B
CALL Z0132 ;64C
CALL Z0133 ;64F
RET ;652
Z0121: LD A,E ;653
CALL 017D6h ;654
JR NC,Z0134 ;657
Z0131: LD A,(0BB86h) ;659
INC A ;65C
CP C ;65D
JR NC,Z0125 ;65E
INC A ;660
LD (0BB86h),A ;661
DEC A ;664
DEC A ;665
SUB B ;666
JR Z,Z0135 ;667
PUSh DE ;669
PUSh BC ;66A
LD C,A ;66B
LD B,00h ;66C
ADD HL,BC ;66E
LD D,H ;66F
LD E,L ;670
INC DE ;671
INC DE ;672
LDDR ;673
POP BC ;675
POP DE ;676
Z0135: INC HL ;677
Z0127: LD (HL),E ;678
INC HL ;679
CALL Z0066 ;67A
LD (HL),A ;67D
DEC HL ;67E
CALL Z0136 ;67F
INC B ;682
INC B ;683
JP Z0137 ;684
Z0134: LD A,(0BB86h) ;687
CP C ;68A
JR NC,Z0130 ;68B
INC A ;68D
LD (0BB86h),A ;68E
DEC A ;691
SUB B ;692
JR Z,Z0138 ;693
PUSh DE ;695
PUSh BC ;696
LD C,A ;697
LD B,00h ;698
ADD HL,BC ;69A
LD D,H ;69B
LD E,L ;69C