-
Notifications
You must be signed in to change notification settings - Fork 6
Expand file tree
/
Copy pathX1.LST
More file actions
6454 lines (5913 loc) · 310 KB
/
X1.LST
File metadata and controls
6454 lines (5913 loc) · 310 KB
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
;*** AILZ80ASM *** Z-80 Assembler, version 1.0.31.0, LST:Full:4
; LSX-Dodgers for X1/turbo/Z
; Programmed by
; Gaku (Lovers/Tablacus)
INCLUDE "X1DEF.ASM"
; LSX-Dodgers DEF
; X1/turbo/Z
0000 MAC EQU 0 ;X1
0000 DEV EQU 0
011D VER_6F EQU 0011DH
D100 RUN EQU 0D100H
D0F9 OFFSET EQU RUN-7
D706 BDOS EQU 0D706H
EE00 WORKAD EQU 0EE00H
F700 FATBF EQU 0F700H
FD00 DTBUF EQU 0FD00H
FF00 KEYBF EQU 0FF00H
FF20 KBUF EQU 0FF20H
FFCA EXTSP EQU 0FFCAH
FFD9 TRAP38 EQU 0FFD9H
0050 WIDTH EQU 80
0018 LINE EQU 24
0007 COLORF EQU 7
0014 KEYSP_H EQU 20
00C2 KEYSP_L EQU 0C2H
0008 COMS EQU 8
0002 MAX_SEC_SZ_H EQU 2 ;1セクタ1024バイトのサポート(2:off 4:on)
0100 BUFFER EQU 00100H
D814 S27BUF_COM EQU S27BUF
[EOF:X1DEF.ASM:UTF_8]
INCLUDE "LDDEF.ASM"
; LSX-Dodgers DEF
0001 VER_1 EQU 1
0006 VER_2 EQU 6
0002 VER_3 EQU 2
1D00 MACW EQU MAC + 01D00H ;機種フラグとLD判別フラグ
0000 MACD EQU MAC + DEV * 256 ;機種フラグとデバイスフラグ
0162 VER EQU VER_1 * 256 + VER_2 * 16 + VER_3
0004 _DVSW EQU 00004H
0005 SYSTEM EQU 00005H
000F JP_HL EQU 0000FH
005C FCB1 EQU 0005CH
006C FCB2 EQU 0006CH
005D FCB1FN EQU FCB1+1
006D FCB2FN EQU FCB2+1
0080 DTA1 EQU 00080H
F323 DISKVE EQU 0F323H
F325 BREAKV EQU 0F325H
FFCA EXTBIO EQU 0FFCAH
0000 DPB_FATLN EQU 00H
0002 DPB_DRD EQU 02H
0004 DPB_DWT EQU 04H
0006 DPB_FATID EQU 06H
0007 DPB_SECPCL EQU 07H
0008 DPB_MAXCL EQU 08H
000A DPB_FDMODE EQU 0AH
000B DPB_DIRSCNT EQU 0BH
000C DPB_MAXCYL EQU 0CH
000D DPB_MAXSEC EQU 0DH
000E DPB_FATPS EQU 0EH
000F DPB_BPS EQU 0FH
0010 DPB_DIRPS EQU 10H
0012 DPB_DEVICE EQU 12H
0013 DPB_UNITNO EQU 13H
0014 DPB_ADDCL EQU 14H
001A DPB_SDIR EQU 1AH
001C DPB_NAME EQU 1CH
[EOF:LDDEF.ASM:SHIFT_JIS]
000000 D0F9 ORG RUN-7
; MSX BINARY HEADER
000000 D0F9 FE DB 0FEH
; MSX BINARY START ADDRESS
000001 D0FA 00D1 DW RUN
; MSX BINARY END ADDRESS
000003 D0FC F9F6 DW LAST_ADR
; MSX BINARY EXEC ADDRESS
000005 D0FE 07D1 DW START
INCLUDE "X1INIT.ASM"
; LSX-Dodgers INIT
; X1/turbo/Z
000007 D100 C307D1 10 JP START
00000A D103 001D DW MACW
00000C D105 6201 DW VER
D107 START:
00000E D107 F3 4 DI
00000F D108 ED5E 8 IM 2
000011 D10A 31CAFF 10 LD SP,EXTSP
000014 D10D CD58D1 17 CALL INIT ;NZならAUTOEXECを実行
000017 D110 210000 10 LD HL,0
00001A D113 E5 11 PUSH HL
00001B D114 F5 11 PUSH AF
;2HD等1セクタ1024バイトで起動時(Japan2HD)
00001C D115 3A0CFE 13 LD A,(0FE0CH)
00001F D118 FE04 7 CP 4
000021 D11A 201B 12 JR NZ,NOT_2HD2014
000023 D11C 2A0600 16 LD HL,(00006H)
000026 D11F 5D 4 LD E,L
000027 D120 54 4 LD D,H
000028 D121 15 4 DEC D
000029 D122 15 4 DEC D
00002A D123 15 4 DEC D
00002B D124 15 4 DEC D
00002C D125 ED530600 20 LD (00006H),DE
000030 D129 010300 10 LD BC,3
000033 D12C EDB0 LDIR
000035 D12E 3E04 7 LD A,4
000037 D130 327BEF 13 LD (_MAX_SEC_SZ_H),A
00003A D133 ED537EEF 20 LD (_DTBUF),DE
D137 NOT_2HD2014:
00003E D137 3A0400 13 LD A,(_DVSW)
000041 D13A CDDCEE 17 CALL _GETDPB
000044 D13D 380A 12 JR C,INIT1
000046 D13F 3A0400 13 LD A,(_DVSW)
000049 D142 C641 7 ADD A,'A'
00004B D144 32AAD4 13 LD (AUTODV),A
00004E D147 1807 12 JR INIT2
D149 INIT1:
000050 D149 1E00 7 LD E,0
000052 D14B 0E0E 7 LD C,00EH
000054 D14D CD0500 17 CALL SYSTEM
D150 INIT2:
000057 D150 F1 10 POP AF
000058 D151 C8 11 RET Z
000059 D152 11A1D4 10 LD DE,AUTOD
00005C D155 C3FDEE 10 JP _COMANL
D158 INIT:
00005F D158 01031A 10 LD BC,1A03H
000062 D15B 3E82 7 LD A,82H
000064 D15D ED79 12 OUT (C),A
000066 D15F 3E1E 7 LD A,01EH
000068 D161 D300 11 OUT (0),A
00006A D163 010000 10 LD BC,0
00006D D166 ED438CEE 20 LD (_CTC),BC
000071 D16A 01040A 10 LD BC,00A04H
000074 D16D CD4BD4 17 CALL CHKCTC
000077 D170 010407 10 LD BC,00704H
00007A D173 CD4BD4 17 CALL CHKCTC
00007D D176 01A81F 10 LD BC,01FA8H
000080 D179 CD4BD4 17 CALL CHKCTC
000083 D17C 01A01F 10 LD BC,01FA0H
000086 D17F CD4BD4 17 CALL CHKCTC
D182 INISIO:
000089 D182 01911F 10 LD BC,01F91H ;INIT SIO
00008C D185 1601 7 LD D,1
00008E D187 ED51 12 OUT (C),D
000090 D189 ED71 DB 0EDH,071H ;OUT (C),0 Z80未定義命令
000092 D18B 0E93 7 LD C,093H
000094 D18D ED51 12 OUT (C),D
000096 D18F ED71 DB 0EDH,071H ;OUT (C),0 Z80未定義命令
000098 D191 0E99 7 LD C,099H ;INIT SIO
00009A D193 1601 7 LD D,1
00009C D195 ED71 DB 0EDH,071H ;OUT (C),0 Z80未定義命令
00009E D197 0E9B 7 LD C,09BH
0000A0 D199 ED51 12 OUT (C),D
0000A2 D19B ED71 DB 0EDH,071H ;OUT (C),0 Z80未定義命令
0000A4 D19D 0E80 7 LD C,080H ;INIT DMA
0000A6 D19F 2106C3 10 LD HL,0C306H
D1A2 INIDMA:
0000A9 D1A2 ED61 12 OUT (C),H
0000AB D1A4 2D 4 DEC L
0000AC D1A5 20FB 12 JR NZ,INIDMA
0000AE D1A7 3EE4 7 LD A,0E4H
0000B0 D1A9 CD0FE3 17 CALL COMOUT
0000B3 D1AC AF 4 XOR A
0000B4 D1AD CDEBE2 17 CALL OT49SB
0000B7 D1B0 3EEE 7 LD A,INTVEC/256
0000B9 D1B2 ED47 9 LD I,A
0000BB D1B4 ED4B8CEE 20 LD BC,(_CTC)
0000BF D1B8 0D 4 DEC C
0000C0 D1B9 0D 4 DEC C
0000C1 D1BA ED71 DB 0EDH,071H ;OUT (C),0 Z80未定義命令
0000C3 D1BC 3EC0 7 LD A,CTC0-CPM_BOOT
0000C5 D1BE ED79 12 OUT (C),A
0000C7 D1C0 0C 4 INC C
0000C8 D1C1 3E47 7 LD A,047H
0000CA D1C3 ED79 12 OUT (C),A
0000CC D1C5 3E0D 7 LD A,13 ;Baudrate 9600-13
0000CE D1C7 ED79 12 OUT (C),A
0000D0 D1C9 79 4 LD A,C
0000D1 D1CA D610 7 SUB 010H
0000D3 D1CC 4F 4 LD C,A
; LD (SIOAD+1),BC
; LD (SIOAD0+1),BC
; LD (SIOAD1+1),BC
0000D4 D1CD 21F2D4 10 LD HL,SIODATA
D1D0 SINIT1:
0000D7 D1D0 7E 7 LD A,(HL)
0000D8 D1D1 23 6 INC HL
0000D9 D1D2 FEFF 7 CP 0FFH
0000DB D1D4 2804 12 JR Z,SINIT2
0000DD D1D6 ED79 12 OUT (C),A
0000DF D1D8 18F6 12 JR SINIT1
D1DA SINIT2:
0000E1 D1DA 3EE4 7 LD A,0E4H
0000E3 D1DC CD0FE3 17 CALL COMOUT
0000E6 D1DF 3EC8 7 LD A,INTVEC-CPM_BOOT
0000E8 D1E1 CDEBE2 17 CALL OT49SB
;
0000EB D1E4 01C41F 10 LD BC,01FC4H
0000EE D1E7 3E0C 7 LD A,00CH
0000F0 D1E9 ED79 12 OUT (C),A
0000F2 D1EB 0EC0 7 LD C,0C0H
0000F4 D1ED ED71 DB 0EDH,071H ;OUT (C),0 Z80未定義命令
0000F6 D1EF 0C 4 INC C
0000F7 D1F0 3E28 7 LD A,40
0000F9 D1F2 ED79 12 OUT (C),A
0000FB D1F4 0C 4 INC C
0000FC D1F5 ED71 DB 0EDH,071H ;OUT (C),0 Z80未定義命令
0000FE D1F7 0C 4 INC C
0000FF D1F8 ED71 DB 0EDH,071H ;OUT (C),0 Z80未定義命令
000101 D1FA 0EC5 7 LD C,0C5H
000103 D1FC ED71 DB 0EDH,071H ;OUT (C),0 Z80未定義命令
D1FE TEXT:
000105 D1FE 0EB0 7 LD C,0B0H
000107 D200 3E80 7 LD A,080H
000109 D202 ED79 12 OUT (C),A
00010B D204 1607 7 LD D,7
00010D D206 0EB9 7 LD C,0B9H
00010F D208 21EBD4 10 LD HL,TEXTDT
D20B TEXT1:
000112 D20B 04 4 INC B
000113 D20C EDA3 16 OUTI
000115 D20E 0C 4 INC C
000116 D20F 15 4 DEC D
000117 D210 20F9 12 JR NZ,TEXT1
000119 D212 01B01F 10 LD BC,01FB0H
00011C D215 ED71 DB 0EDH,071H ;OUT (C),0 Z80未定義命令
00011E D217 0EC4 7 LD C,0C4H
000120 D219 ED71 DB 0EDH,071H ;OUT (C),0 Z80未定義命令
000122 D21B 01011A 10 LD BC,01A01H
000125 D21E ED78 12 IN A,(C)
000127 D220 E608 7 AND 8
000129 D222 2809 12 JR Z,PRN
00012B D224 0E03 7 LD C,003H
00012D D226 3E0F 7 LD A,00FH
00012F D228 ED79 12 OUT (C),A
000131 D22A 01040A 10 LD BC,00A04H
D22D PRN:
000134 D22D 210000 10 LD HL,0
000137 D230 065C 7 LD B,05CH
000139 D232 3E DB 03EH ;LD A,??
00013A D233 FF 12 RST 38H
00013B D234 CDB6F0 17 CALL FILL_MEMORY
00013E D237 06A4 7 LD B,0A4H
000140 D239 AF 4 XOR A
000141 D23A CDB6F0 17 CALL FILL_MEMORY
000144 D23D 3A87FF 13 LD A,(0FF87H) ;起動ドライブ
000147 D240 E66F 7 AND 06FH
000149 D242 FE08 7 CP 8
00014B D244 3801 12 JR C,INIDRV
00014D D246 AF 4 XOR A
D247 INIDRV:
00014E D247 320400 13 LD (_DVSW),A ;カレントドライブ
000151 D24A 3EC3 7 LD A,0C3H ;JP
000153 D24C 2103EE 10 LD HL,CPM_WBOOT
000156 D24F 320000 13 LD (00000H),A
000159 D252 220100 16 LD (00001H),HL ;IPL
00015C D255 2106D7 10 LD HL,BDOS
00015F D258 320500 13 LD (00005H),A
000162 D25B 220600 16 LD (00006H),HL ;BDOS
000165 D25E 212EDF 10 LD HL,BIOS
000168 D261 221900 16 LD (00019H),HL ;BIOS-ROM
00016B D264 21D9FF 10 LD HL,TRAP38 ;TRAP38
00016E D267 323800 13 LD (00038H),A
000171 D26A 223900 16 LD (00039H),HL ;RST 038H
000174 D26D 3EEE 7 LD A,CPM_BOOT/256
000176 D26F 320B00 13 LD (0000BH),A
000179 D272 3E DB 03EH ;LD A,??
00017A D273 E9 4 JP (HL)
00017B D274 320F00 13 LD (0000FH),A
;KEY
00017E D277 3EE6 7 LD A,0E6H ;キーデータ読み出し
000180 D279 CD0FE3 17 CALL COMOUT
000183 D27C CDF5E2 17 CALL IN49SB
000186 D27F F5 11 PUSH AF
000187 D280 CDF5E2 17 CALL IN49SB
00018A D283 F1 10 POP AF
00018B D284 F5 11 PUSH AF
00018C D285 E612 7 AND 012H
00018E D287 2005 12 JR NZ,KEYR
000190 D289 3E01 7 LD A,1
000192 D28B 32E5D3 13 LD (KEYREP_SWC),A
D28E KEYR:
000195 D28E F1 10 POP AF
000196 D28F E603 7 AND 3
000198 D291 280E 12 JR Z,NON
00019A D293 01D03F 10 LD BC,03FD0H
00019D D296 ED49 12 OUT (C),C
00019F D298 3E37 7 LD A,037H
0001A1 D29A D3D0 11 OUT (0D0H),A
0001A3 D29C ED78 12 IN A,(C)
0001A5 D29E B9 4 CP C
0001A6 D29F 2851 12 JR Z,TURBO
D2A1 NON:
0001A8 D2A1 2125D5 10 LD HL,AT_SCR1
0001AB D2A4 1199E3 10 LD DE,SCR1
0001AE D2A7 019400 10 LD BC,SCRNE-SCR1 ;転送先のサイズ確認用
0001B1 D2AA 018500 10 LD BC,AT_SCRE-AT_SCR1
0001B4 D2AD EDB0 LDIR
0001B6 D2AF 21AAD5 10 LD HL,AT_DWT
0001B9 D2B2 11DBEC 10 LD DE,WTTRK
0001BC D2B5 018D00 10 LD BC,DMAE-WTTRK ;転送先のサイズ確認用
0001BF D2B8 018800 10 LD BC,AT_CPUE-AT_DWT
0001C2 D2BB EDB0 LDIR
0001C4 D2BD 2114E4 10 LD HL,AT_WTTRK+AT_RS
0001C7 D2C0 22E9EE 16 LD (_WTTRK+1),HL
0001CA D2C3 2121ED 10 LD HL,AT_DRD+AT_R
0001CD D2C6 22ECEE 16 LD (_FDRD+1),HL
0001D0 D2C9 21DBEC 10 LD HL,AT_DWT+AT_R
0001D3 D2CC 22EFEE 16 LD (_FDWT+1),HL
0001D6 D2CF 211BE4 10 LD HL,AT_SCRN+AT_RS
0001D9 D2D2 22D1EE 16 LD (_SCRN+1),HL
;ノンターボは2D/2HD切り替えを行わない
0001DC D2D5 DD2100F6 14 LD IX,_DEVICE
0001E0 D2D9 DDCB12BE 23 RES 7,(IX+DPB_DEVICE) ;Aドライブ
0001E4 D2DD DDCB32BE 23 RES 7,(IX+DPB_DEVICE+32) ;Bドライブ
0001E8 D2E1 DDCB52BE 23 RES 7,(IX+DPB_DEVICE+32*2) ;Cドライブ
0001EC D2E5 DDCB72BE 23 RES 7,(IX+DPB_DEVICE+32*3) ;Dドライブ
0001F0 D2E9 210000 10 LD HL,0
0001F3 D2EC 223AE3 16 LD (X1PAT),HL
0001F6 D2EF C379D3 10 JP NOBANK
D2F2 TURBO:
0001F9 D2F2 F3 4 DI ;Check BIOS
0001FA D2F3 061D 7 LD B,01DH
0001FC D2F5 ED79 12 OUT (C),A ;BIOS ON
0001FE D2F7 3A512F 13 LD A,(02F51H)
000201 D2FA 04 4 INC B ;B=01EH
000202 D2FB ED79 12 OUT (C),A ;BIOS OFF
000204 D2FD FB 4 EI
000205 D2FE FEC9 7 CP 0C9H
000207 D300 2802 12 JR Z,BIOSOK
000209 D302 1805 12 JR NOBIOS
D304 BIOSOK:
00020B D304 3EC3 7 LD A,0C3H ;JP
00020D D306 321800 13 LD (00018H),A
D309 NOBIOS:
000210 D309 3E1F 7 LD A,01FH ;スタートポート
000212 D30B DBF0 11 IN A,(0F0H)
000214 D30D 0F 4 RRCA
000215 D30E 380B 12 JR C,CRT1
000217 D310 21DBD4 10 LD HL,_C8025H
00021A D313 11B0EE 10 LD DE,CRTCD
00021D D316 011000 10 LD BC,16
000220 D319 EDB0 LDIR
D31B CRT1:
000222 D31B 3A8CFF 13 LD A,(0FF8CH) ;IPL DEVICE (0:2D/1:2DD/2:2HD)
000225 D31E D602 7 SUB 2
000227 D320 2017 12 JR NZ,BANK
; XOR A ;すでに0のハズ
D322 TZ1: ;DPBのモードを2HDにしておく
000229 D322 F5 11 PUSH AF
00022A D323 CDDCEE 17 CALL _GETDPB
00022D D326 DD7E12 19 LD A,(IX+DPB_DEVICE)
000230 D329 E68F 7 AND 08FH
000232 D32B FE87 7 CP 087H ;フロッピーで切り替えがON
000234 D32D 2004 12 JR NZ,TZ2
000236 D32F DDCB0A86 23 RES 0,(IX+DPB_FDMODE)
D333 TZ2:
00023A D333 F1 10 POP AF
00023B D334 3C 4 INC A
00023C D335 FE08 7 CP 8
00023E D337 38E9 12 JR C,TZ1
D339 BANK:
000240 D339 01000B 10 LD BC,00B00H
000243 D33C 21007F 10 LD HL,07F00H
000246 D33F F3 4 DI
000247 D340 ED69 12 OUT (C),L
000249 D342 3A0000 13 LD A,(0)
00024C D345 FEEB 7 CP 0EBH
00024E D347 2005 12 JR NZ,BANK1
000250 D349 3E2B 7 LD A,02BH
000252 D34B 32B2F6 13 LD (BANKDV),A
D34E BANK1:
000255 D34E ED69 12 OUT (C),L
000257 D350 5E 7 LD E,(HL)
000258 D351 7B 4 LD A,E
000259 D352 C6A5 7 ADD A,0A5H
00025B D354 77 7 LD (HL),A
00025C D355 BE 7 CP (HL)
00025D D356 73 7 LD (HL),E
00025E D357 2005 12 JR NZ,BANK2
000260 D359 2C 4 INC L
000261 D35A CB65 8 BIT 4,L
000263 D35C 28F0 12 JR Z,BANK1
D35E BANK2:
000265 D35E 3E10 7 LD A,010H
000267 D360 ED79 12 OUT (C),A
000269 D362 7D 4 LD A,L
00026A D363 B7 4 OR A
00026B D364 2813 12 JR Z,NOBANK
00026D D366 2600 7 LD H,0
00026F D368 29 11 ADD HL,HL ;*2
000270 D369 29 11 ADD HL,HL ;*4
000271 D36A 29 11 ADD HL,HL ;*8
000272 D36B 29 11 ADD HL,HL ;*16
000273 D36C 29 11 ADD HL,HL ;*32
000274 D36D 2B 6 DEC HL ;-1
000275 D36E 2B 6 DEC HL ;-2
000276 D36F 2B 6 DEC HL ;-3
000277 D370 22A8F6 16 LD (BANKCL),HL
00027A D373 CD91D4 17 CALL CALC_FATLN
00027D D376 32A0F6 13 LD (BANKFL),A
D379 NOBANK:
D379 EMM:
000280 D379 DD2180F6 14 LD IX,EMMFL
000284 D37D CD3CD4 17 CALL EADR0
000287 D380 ED78 12 IN A,(C)
000289 D382 F5 11 PUSH AF
00028A D383 110000 10 LD DE,0
D386 ECHECK1:
00028D D386 13 6 INC DE
00028E D387 CD45D4 17 CALL EADRX
000291 D38A ED60 12 IN H,(C)
000293 D38C CD45D4 17 CALL EADRX
000296 D38F 7C 4 LD A,H
000297 D390 C6E5 7 ADD A,0E5H
000299 D392 ED79 12 OUT (C),A
00029B D394 3C 4 INC A
00029C D395 CD3CD4 17 CALL EADR0
00029F D398 ED79 12 OUT (C),A
0002A1 D39A 3D 4 DEC A
0002A2 D39B CD45D4 17 CALL EADRX
0002A5 D39E ED68 12 IN L,(C)
0002A7 D3A0 CD45D4 17 CALL EADRX
0002AA D3A3 ED61 12 OUT (C),H
0002AC D3A5 BD 4 CP L
0002AD D3A6 2004 12 JR NZ,ECHECK2
0002AF D3A8 CB5A 8 BIT 3,D
0002B1 D3AA 28DA 12 JR Z,ECHECK1
D3AC ECHECK2:
0002B3 D3AC CD3CD4 17 CALL EADR0
0002B6 D3AF F1 10 POP AF
0002B7 D3B0 ED79 12 OUT (C),A
0002B9 D3B2 FEEB 7 CP 0EBH
0002BB D3B4 2817 12 JR Z,EMM_BPB
0002BD D3B6 DD360D02 19 LD (IX+DPB_MAXSEC),2 ;BPBが512バイト目から始まる場合を調べる
0002C1 D3BA CD3CD4 17 CALL EADR0
0002C4 D3BD ED78 12 IN A,(C)
0002C6 D3BF DDBE06 19 CP (IX+DPB_FATID)
0002C9 D3C2 280D 12 JR Z,EMM_NOBPB
0002CB D3C4 DD361226 19 LD (IX+DPB_DEVICE),026H ;BPBを使う
0002CF D3C8 21F5FF 10 LD HL,0-11
0002D2 D3CB 180B 12 JR EMM_BPB1
D3CD EMM_BPB:
0002D4 D3CD DD361226 19 LD (IX+DPB_DEVICE),026H ;BPBを使う
D3D1 EMM_NOBPB:
0002D8 D3D1 DD360D00 19 LD (IX+DPB_MAXSEC),0
0002DC D3D5 21F7FF 10 LD HL,0-9
D3D8 EMM_BPB1:
0002DF D3D8 19 11 ADD HL,DE
0002E0 D3D9 3009 12 JR NC,NOEMM
0002E2 D3DB 2288F6 16 LD (EMMCL),HL
0002E5 D3DE CD91D4 17 CALL CALC_FATLN
0002E8 D3E1 3280F6 13 LD (EMMFL),A
D3E4 NOEMM:
0002EB D3E4 3E00 7 LD A,000H
D3E5 KEYREP_SWC EQU $-1
0002ED D3E6 B7 4 OR A
0002EE D3E7 2807 12 JR Z,KEYR1
0002F0 D3E9 010000 10 LD BC,0
0002F3 D3EC ED438CEE 20 LD (_CTC),BC
D3F0 KEYR1:
0002F7 D3F0 CD72D4 17 CALL SETCRTC
0002FA D3F3 0130F8 10 LD BC,0-80*25
0002FD D3F6 2ABAEE 16 LD HL,(_PAGE_MINUS)
000300 D3F9 ED43BAEE 20 LD (_PAGE_MINUS),BC
000304 D3FD 1E0C 7 LD E,00CH
000306 D3FF CDCDEE 17 CALL _PRINT
000309 D402 22BAEE 16 LD (_PAGE_MINUS),HL
00030C D405 21ADD4 10 LD HL,INIMES
00030F D408 CDA1DC 17 CALL MSX
000312 D40B F3 4 DI
000313 D40C 2EFE 7 LD L,0-2 ;CALLのスタック分減らす
000315 D40E 39 11 ADD HL,SP
000316 D40F 1100FF 10 LD DE,0FF00H
000319 D412 45 4 LD B,L
00031A D413 CD56DA 17 CALL ZERO_MEMORY_DE
00031D D416 21CAFF 10 LD HL,EXTBIO
000320 D419 36C9 10 LD (HL),0C9H ;RET
000322 D41B 23 6 INC HL
000323 D41C 060E 7 LD B,TRAP38-EXTBIO-1
000325 D41E 3E DB 03EH ;LD A,??
000326 D41F FF 12 RST 38H
000327 D420 CDB6F0 17 CALL FILL_MEMORY
00032A D423 21FED4 10 LD HL,AT_TRAP38
00032D D426 11D9FF 10 LD DE,TRAP38
000330 D429 012700 10 LD BC,AT_TRAPE-AT_TRAP38
000333 D42C EDB0 LDIR
000335 D42E 3EE6 7 LD A,0E6H ;キーデータ読み出し
000337 D430 CD0FE3 17 CALL COMOUT
00033A D433 CDF5E2 17 CALL IN49SB
00033D D436 CDF5E2 17 CALL IN49SB
000340 D439 FE1B 7 CP 01BH
000342 D43B C9 10 RET
D43C EADR0:
000343 D43C D5 11 PUSH DE
000344 D43D 110000 10 LD DE,0
000347 D440 CD45D4 17 CALL EADRX
00034A D443 D1 10 POP DE
00034B D444 C9 10 RET
D445 EADRX:
00034C D445 F5 11 PUSH AF
00034D D446 CD44DC 17 CALL EADR
000350 D449 F1 10 POP AF
000351 D44A C9 10 RET
D44B CHKCTC:
000352 D44B C5 11 PUSH BC
000353 D44C 110347 10 LD DE,04703H
D44F INICTC1:
000356 D44F 0C 4 INC C
000357 D450 ED51 12 OUT (C),D
000359 D452 ED71 DB 0EDH,071H ;OUT (C),0 Z80未定義命令
00035B D454 1D 4 DEC E
00035C D455 20F8 12 JR NZ,INICTC1
00035E D457 C1 10 POP BC
00035F D458 11FA07 10 LD DE,007FAH
000362 D45B ED51 12 OUT (C),D
000364 D45D ED59 12 OUT (C),E
000366 D45F ED78 12 IN A,(C)
000368 D461 BB 4 CP E
000369 D462 C0 11 RET NZ
00036A D463 ED51 12 OUT (C),D
00036C D465 ED51 12 OUT (C),D
00036E D467 ED78 12 IN A,(C)
000370 D469 BA 4 CP D
000371 D46A C0 11 RET NZ
000372 D46B 0C 4 INC C
000373 D46C 0C 4 INC C
000374 D46D ED438CEE 20 LD (_CTC),BC
000378 D471 C9 10 RET
D472 SETCRTC:
000379 D472 21B0EE 10 LD HL,CRTCD
00037C D475 AF 4 XOR A
D476 SETCRT1:
00037D D476 010018 10 LD BC,01800H
000380 D479 ED79 12 OUT (C),A
000382 D47B 0C 4 INC C
000383 D47C 04 4 INC B
000384 D47D EDA3 16 OUTI
000386 D47F 3C 4 INC A
000387 D480 FE0C 7 CP 12
000389 D482 20F2 12 JR NZ,SETCRT1
00038B D484 23 6 INC HL
00038C D485 23 6 INC HL
00038D D486 01031B 10 LD BC,01A03H+00100H
000390 D489 EDA3 16 OUTI
000392 D48B 01D020 10 LD BC,01FD0H+00100H
000395 D48E EDA3 16 OUTI
000397 D490 C9 10 RET
D491 CALC_FATLN: ;FAT12のクラスタ数から必要なFATサイズを求める(セクタサイズ512)
000398 D491 5D 4 LD E,L
000399 D492 54 4 LD D,H
00039A D493 29 11 ADD HL,HL ;*2
00039B D494 19 11 ADD HL,DE ;*3
00039C D495 CB3C 8 SRL H ;/2
00039E D497 CB1D 8 RR L ;1クラスタ辺り1.5バイト必要
0003A0 D499 11FF01 10 LD DE,511 ;切り上げる
0003A3 D49C 19 11 ADD HL,DE
0003A4 D49D 7C 4 LD A,H
0003A5 D49E CB3F 8 SRL A
0003A7 D4A0 C9 10 RET
0003A8 D4A1 4155544F45584543 AUTOD: DB "AUTOEXEC "
20
0003B1 D4AA 413A00 AUTODV: DB "A:",0
0003B4 D4AD 4C53582D446F6467 INIMES: DB "LSX-Dodgers for X1/turbo version "
65727320666F7220
58312F747572626F
2076657273696F6E
20
0003D5 D4CE 312E DB 030H + VER_1, '.'
0003D7 D4D0 3632 DB 030H + VER_2 ,030H + VER_3
0003D9 D4D2 63 DB 'c'
0003DA D4D3 2047616B750D0A DB " Gaku",0DH,0AH
0003E1 D4DA 00 DB 0
D4DB _C8025H:
0003E2 D4DB 6B5059881B00191A DB 06BH,050H,059H,088H,01BH,000H,019H,01AH
0003EA D4E3 000F DB 000H,00FH
0003EC D4E5 80F8B0FF DW 0-80*LINE,0-80
0003F0 D4E9 0C23 DB 00CH,023H
0003F2 D4EB 030C0F30333C3F TEXTDT: DB 003H,00CH,00FH,030H,033H,03CH,03FH
D4F2 SIODATA:
0003F9 D4F2 18 DB 018H
0003FA D4F3 0100 DB 1,0
0003FC D4F5 0200 DB 2,0
0003FE D4F7 03C1 DB 3,0C1H
000400 D4F9 0444 DB 4,044H
000402 D4FB 05E8 DB 5,0E8H
000404 D4FD FF DB 0FFH
D4FE AT_TRAP38:
000405 D4FE 210000 10 LD HL,0
000408 D501 E3 19 EX (SP),HL
000409 D502 3E24 7 LD A,'$'
00040B D504 CDBFDF 17 CALL MSG_A
00040E D507 2B 6 DEC HL
00040F D508 7C 4 LD A,H
000410 D509 CDE8FF 17 CALL PRHX+AT_RT
000413 D50C 7D 4 LD A,L
D50D PRHX:
000414 D50D F5 11 PUSH AF
000415 D50E 07 4 RLCA
000416 D50F 07 4 RLCA
000417 D510 07 4 RLCA
000418 D511 07 4 RLCA
000419 D512 CDF1FF 17 CALL PRHX2+AT_RT
00041C D515 F1 10 POP AF
D516 PRHX2:
00041D D516 E60F 7 AND 00FH
00041F D518 FE0A 7 CP 10
000421 D51A 3F 4 CCF
000422 D51B CE30 7 ADC A,'0'
000424 D51D 27 4 DAA
000425 D51E C3BFDF 10 JP MSG_A
000428 D521 DS 4
D525 AT_TRAPE:
[EOF:X1INIT.ASM:SHIFT_JIS]
INCLUDE "X1CPU.ASM"
; LSX-Dodgers CPU
; X1/turbo/Z
; ノンターボ用パッチ
; DMAを使って転送している部分をCPUに差し替える
D525 AT_SCR1:
00042C D525 D9 4 EXX
00042D D526 C5 11 PUSH BC
00042E D527 ED4BB1EE 20 LD BC,(_WIDTH)
000432 D52B 0620 7 LD B,020H
000434 D52D D9 4 EXX
000435 D52E C5 11 PUSH BC
000436 D52F 010020 10 LD BC,02000H
000439 D532 67 4 LD H,A
00043A D533 B7 4 OR A
D534 AT_SCRUP1:
00043B D534 2815 12 JR Z,AT_SCRCL
00043D D536 C5 11 PUSH BC
00043E D537 CBE0 8 SET 4,B
000440 D539 D9 4 EXX
000441 D53A C5 11 PUSH BC
000442 D53B CBE0 8 SET 4,B
000444 D53D D9 4 EXX
000445 D53E CDCAE3 17 CALL AT_UPSUB+AT_RS
000448 D541 D9 4 EXX
000449 D542 C1 10 POP BC
00044A D543 D9 4 EXX
00044B D544 C1 10 POP BC
00044C D545 CDCAE3 17 CALL AT_UPSUB+AT_RS
00044F D548 25 4 DEC H
000450 D549 18E9 12 JR AT_SCRUP1
D54B AT_SCRCL:
000452 D54B 2AB1EE 16 LD HL,(_WIDTH)
000455 D54E CD64E2 17 CALL LINECL
000458 D551 C1 10 POP BC
000459 D552 D9 4 EXX
00045A D553 C1 10 POP BC
00045B D554 D9 4 EXX
00045C D555 C9 10 RET
D556 AT_UPSUB:
00045D D556 3AB1EE 13 LD A,(_WIDTH)
000460 D559 6F 4 LD L,A
D55A AT_UPSUB1:
000461 D55A D9 4 EXX
000462 D55B ED78 12 IN A,(C)
000464 D55D 03 6 INC BC
000465 D55E D9 4 EXX
000466 D55F ED79 12 OUT (C),A
000468 D561 03 6 INC BC
000469 D562 2D 4 DEC L
00046A D563 20F5 12 JR NZ,AT_UPSUB1
00046C D565 C9 10 RET
; FLOPPY DISK DRIVER(CPU)
D566 DISKC:
00046D D566 1B 6 DEC DE
00046E D567 CB5F 8 BIT 3,A
000470 D569 C4D4EC 17 CALL NZ,RNF
D56C DISKD:
000473 D56C E5 11 PUSH HL
000474 D56D 21DAEC 10 LD HL,RETRY
000477 D570 35 11 DEC (HL)
000478 D571 E1 10 POP HL
000479 D572 200C 12 JR NZ,AT_ERR ;Retry
00047B D574 B7 4 OR A
00047C D575 2809 12 JR Z,AT_ERR ;Error
D577 AT_DELP:
00047E D577 CDD4EC 17 CALL RNF
000481 D57A CDACEC 17 CALL FDMOFF
000484 D57D 3EFF 7 LD A,0FFH
D57F AT_ERRZ:
000486 D57F BF 4 CP A
D580 AT_ERR:
000487 D580 3EFF 7 LD A,0FFH
000489 D582 C9 10 RET
D583 ERRW:
00048A D583 3EFF 7 LD A,0FFH
00048C D585 BF 4 CP A
00048D D586 37 4 SCF
00048E D587 C3ACEC 10 JP FDMOFF
D58A ERRDW:
000491 D58A D1 10 POP DE
000492 D58B CDEBE3 17 CALL AT_DELP+AT_RS
000495 D58E C2E9EC 10 JP NZ,DWT0+AT_R
000498 D591 B7 4 OR A
000499 D592 20EF 12 JR NZ,ERRW
00049B D594 C9 10 RET
D595 ERRDR:
00049C D595 D1 10 POP DE
00049D D596 CDEBE3 17 CALL AT_DELP+AT_RS
0004A0 D599 C22FED 10 JP NZ,DRD0+AT_R
0004A3 D59C B7 4 OR A
0004A4 D59D 20E4 12 JR NZ,ERRW
0004A6 D59F C9 10 RET
D5A0 AT_WTTRK:
0004A7 D5A0 0601 7 LD B,1
0004A9 D5A2 3EF4 7 LD A,0F4H ;FDC TypeIIIコマンド Write Track
0004AB D5A4 C3DDEC 10 JP AT_WTTRK1+AT_R
D5A7 AT_SCRN:
0004AE D5A7 ED78 12 IN A,(C)
0004B0 D5A9 C9 10 RET
D5AA AT_SCRE:
D5AA AT_DWT:
0004B1 D5AA 3EA0 7 LD A,0A0H ;FDC TypeIIコマンド Write Sector
D5AC AT_WTTRK1:
0004B3 D5AC 3271EC 13 LD (FDCSWC),A
D5AF DWTBL:
0004B6 D5AF 78 4 LD A,B
0004B7 D5B0 321DED 13 LD (AT_WTB+1+AT_R),A
0004BA D5B3 3E02 7 LD A,2 ;Retry count
0004BC D5B5 32DAEC 13 LD (RETRY),A
D5B8 DWT0:
0004BF D5B8 D5 11 PUSH DE
0004C0 D5B9 E5 11 PUSH HL
0004C1 D5BA CD11EC 17 CALL SEEK ;Write disk
0004C4 D5BD E1 10 POP HL
0004C5 D5BE DAFEE3 10 JP C,ERRDW+AT_RS
0004C8 D5C1 F3 4 DI
0004C9 D5C2 CDB9EC 17 CALL SECSET_FDCCMD
0004CC D5C5 0EFB 7 LD C,0FBH ;MB8877A データレジスタ
D5C7 DWT1:
0004CE D5C7 56 7 LD D,(HL)
D5C8 DWT2:
0004CF D5C8 78 4 LD A,B
0004D0 D5C9 DBF8 11 IN A,(0F8H) ;MB8877A ステータス/コマンドレジスタ
0004D2 D5CB 0F 4 RRCA
0004D3 D5CC 3008 12 JR NC,DWT4
0004D5 D5CE 0F 4 RRCA
0004D6 D5CF 30F7 12 JR NC,DWT2
D5D1 DWT3:
0004D8 D5D1 ED51 12 OUT (C),D
0004DA D5D3 23 6 INC HL
0004DB D5D4 18F1 12 JR DWT1
D5D6 DWT4:
0004DD D5D6 3D 4 DEC A
0004DE D5D7 28F8 12 JR Z,DWT3
0004E0 D5D9 3C 4 INC A
0004E1 D5DA FB 4 EI
0004E2 D5DB D1 10 POP DE
0004E3 D5DC 13 6 INC DE
0004E4 D5DD CDACEC 17 CALL FDMOFF
0004E7 D5E0 2809 12 JR Z,DISKOK_WT
0004E9 D5E2 CDDAE3 17 CALL DISKC+AT_RS
0004EC D5E5 20D1 12 JR NZ,DWT0
0004EE D5E7 B7 4 OR A
0004EF D5E8 C2F7E3 10 JP NZ,ERRW+AT_RS
D5EB DISKOK_WT:
0004F2 D5EB 0601 7 AT_WTB: LD B,1
0004F4 D5ED 10C0 13 DJNZ DWTBL
0004F6 D5EF C9 10 RET
D5F0 AT_DRD:
0004F7 D5F0 3E80 7 LD A,080H ;FDC TypeIIコマンド Read Sector
0004F9 D5F2 3271EC 13 LD (FDCSWC),A
D5F5 DRDBL:
0004FC D5F5 78 4 LD A,B
0004FD D5F6 325FED 13 LD (AT_RDB+1+AT_R),A
000500 D5F9 3E02 7 LD A,2 ;Retry count
000502 D5FB 32DAEC 13 LD (RETRY),A
D5FE DRD0:
000505 D5FE D5 11 PUSH DE
000506 D5FF E5 11 PUSH HL
000507 D600 CD11EC 17 CALL SEEK ;Read disk
00050A D603 E1 10 POP HL
00050B D604 DA09E4 10 JP C,ERRDR+AT_RS
00050E D607 F3 4 DI
00050F D608 CDB9EC 17 CALL SECSET_FDCCMD
000512 D60B 0EFB 7 LD C,0FBH ;MB8877A データレジスタ
D60D DRD1:
000514 D60D 78 4 LD A,B
000515 D60E DBF8 11 IN A,(0F8H) ;MB8877A ステータス/コマンドレジスタ
000517 D610 0F 4 RRCA
000518 D611 3008 12 JR NC,DRD3
00051A D613 0F 4 RRCA
00051B D614 30F7 12 JR NC,DRD1
00051D D616 EDA2 16 INI
00051F D618 04 4 INC B
000520 D619 18F2 12 JR DRD1
D61B DRD3:
000522 D61B B7 4 OR A
000523 D61C FB 4 EI
000524 D61D D1 10 POP DE
000525 D61E 13 6 INC DE
000526 D61F CDACEC 17 CALL FDMOFF
000529 D622 2809 12 JR Z,DISKOK_RD
00052B D624 CDDAE3 17 CALL DISKC+AT_RS
00052E D627 20D5 12 JR NZ,DRD0
000530 D629 B7 4 OR A
000531 D62A C2F7E3 10 JP NZ,ERRW+AT_RS
D62D DISKOK_RD:
000534 D62D 0601 7 AT_RDB: LD B,1
000536 D62F 10C4 13 DJNZ DRDBL
000538 D631 C9 10 RET
D632 AT_CPUE:
2ADB AT_RT EQU TRAP38-AT_TRAP38
D632 INITE:
000539 D632 DS BDOS-INITE
00060D D706 C362DC 10 JP BDOS0
[EOF:X1CPU.ASM:SHIFT_JIS]
INCLUDE "X1CCP.ASM"
; LSX-Dodgers CCP
; X1/turbo/Z
D709 WBOOT1:
000610 D709 F3 4 DI
000611 D70A ED7B0600 20 LD SP,(SYSTEM+1)
000615 D70E 3EEE 7 LD A,INTVEC/256
000617 D710 ED47 9 LD I,A
000619 D712 3EE4 7 LD A,0E4H
00061B D714 CD0FE3 17 CALL COMOUT
00061E D717 3EC8 7 LD A,INTVEC-CPM_BOOT
000620 D719 00 4 NOP ;必ずBDOS0+13Hが「0」になるようにする
000621 D71A CDEBE2 17 CALL OT49SB
000624 D71D 21B0EE 10 LD HL,CRTCD
000627 D720 AF 4 XOR A
D721 SETCRT2:
000628 D721 010018 10 LD BC,01800H
00062B D724 ED79 12 OUT (C),A
00062D D726 0C 4 INC C
00062E D727 56 7 LD D,(HL)
00062F D728 FE0D 7 CP 13
000631 D72A 3802 12 JR C,SETCRT3
000633 D72C 1600 7 LD D,0
D72E SETCRT3:
000635 D72E ED51 12 OUT (C),D
000637 D730 23 6 INC HL
000638 D731 3C 4 INC A
000639 D732 FE0E 7 CP 14
00063B D734 20EB 12 JR NZ,SETCRT2
00063D D736 01031B 10 LD BC,01A03H+00100H
000640 D739 EDA3 16 OUTI
000642 D73B 01D020 10 LD BC,01FD0H+00100H
000645 D73E EDA3 16 OUTI
000647 D740 2192EE 10 LD HL,_KEYD
00064A D743 7E 7 LD A,(HL)
00064B D744 3600 10 LD (HL),0
00064D D746 CDACDF 17 CALL KEYBC_IFBREAK
000650 D749 3E04 7 LD A,4
000652 D74B CDBFDF 17 CALL MSG_A
[EOF:X1CCP.ASM:UTF_8]
INCLUDE "LDCCP.ASM"
; LSX-Dodgers CCP
D74E COMMAND:
000655 D74E 3AC9ED 13 LD A,(FCB_BAT)
000658 D751 B7 4 OR A
000659 D752 C290D8 10 JP NZ,C_BAT1
00065C D755 CD04D8 17 CALL SETDTA1
00065F D758 3A0400 13 LD A,(_DVSW)
000662 D75B C641 7 ADD A,'A'
000664 D75D CDBFDF 17 CALL MSG_A
000667 D760 3E3E 7 LD A,'>'
000669 D762 CDBFDF 17 CALL MSG_A
00066C D765 3E50 7 LD A,80
00066E D767 12 7 LD (DE),A
00066F D768 CD40E0 17 CALL _SYS0A ;(BDOS)文字列入力
000672 D76B CD85D9 17 CALL LTNL
D76E COMMAND2:
000675 D76E 118200 10 LD DE,DTA1+2
000678 D771 CDFDEE 17 CALL _COMANL
00067B D774 DC25DF 17 CALL C,SHOW_ERROR
00067E D777 18D5 12 JR COMMAND
D779 COMANL:
000680 D779 CD0BF0 17 CALL FILE
000683 D77C 3A19EE 13 LD A,(FNAME+4)
000686 D77F FE20 7 CP 020H
000688 D781 201C 12 JR NZ,COMB2
00068A D783 D5 11 PUSH DE
00068B D784 1115EE 10 LD DE,FNAME
00068E D787 1A 7 LD A,(DE)
00068F D788 FE20 7 CP 020H
000691 D78A 2844 12 JR Z,SDVSW
000693 D78C 1B 6 DEC DE
000694 D78D 1A 7 LD A,(DE)
000695 D78E C6FF 7 ADD A,0FFH
000697 D790 3809 12 JR C,COMB
000699 D792 13 6 INC DE
00069A D793 2142DB 10 LD HL,COMTB
00069D D796 0608 7 LD B,COMS
00069F D798 CD98F2 17 CALL CPNAME
D79B COMB:
0006A2 D79B D1 10 POP DE
0006A3 D79C D224DF 10 JP NC,JPHL
D79F COMB2:
0006A6 D79F EB 4 EX DE,HL
0006A7 D7A0 226DD8 16 LD (COMSWC),HL
0006AA D7A3 F5 11 PUSH AF
0006AB D7A4 CD25D8 17 CALL CEXE4