-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathmyinit.src
1020 lines (862 loc) · 13.4 KB
/
myinit.src
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
; MyPicoDos init V4.06 - initializer program
;
; Copyright (C) 1992-2017 Matthias Reichl <[email protected]>
;
; This program is free software; you can redistribute it and/or modify
; it under the terms of the GNU General Public License as published by
; the Free Software Foundation; either version 2 of the License, or
; (at your option) any later version.
;
; This program is distributed in the hope that it will be useful,
; but WITHOUT ANY WARRANTY; without even the implied warranty of
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
; GNU General Public License for more details.
;
; You should have received a copy of the GNU General Public License
; along with this program; if not, write to the Free Software
; Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
START = $2800
; line separator for PICONAME.TXT
LINESEP = 155
; buffer for long names (8k)
NAMENEW = $6400
; buffer for loading old PICONAME.TXT
NAMEBUF = $8400
NAMBMAX = $1400 ; maximum length of PICONAME.TXT
NAMV = $C8
; start of filespec within PATH
FILSPEC = $CA
TMPV = $CC
TMPV2 = $CE
; offset to configuration bytes in boot sector:
OFSSEC = 9 ; start sector of MyPicoDos
OFSBYT = 11 ; bytes per sector (125/253)
OFSMASK = 12 ; sector link chaining mask
OFSLEN = 13 ; sector length (128/256)
OFSHI = 15 ; default highspeed flag
OFSSD = 17 ; pokey divisor for SDrive
; run address
* = $02E0
.WORD START
* = START
DBUF = $304
DSEC = $30A
SIOVEC = $E459
.include "cio.inc"
.include "version.inc"
.MACRO WSEC128 ;DRIVENO,SECTOR,ADR
LDA #$31
STA $300
LDA %1
STA $301
LDA #$50
STA $302
LDA #$80
STA $303
LDA #<(%3)
STA $304
LDA #>(%3)
STA $305
LDA #7
STA $306
LDA #128
STA $308
LDA #0
STA $309
LDA #<(%2)
STA $30A
LDA #>(%2)
STA $30B
JSR $E459
.ENDM
LDA 82
STA MERK82
LDA #0
STA 82
MAINLOOP BPUT 0,TITLEN,TITEL
ASKMAIN JSR GETKEY
TAX
TYA
BMI ASKMAIN
TXA
CMP #$31
BNE NINIHSB
JSR PUTCHAR
LDA #155
JSR PUTCHAR
.IF .DEF BAREBONE
JMP INITN
.ELSE
.IF .DEF SDRIVE
LDA #0
STA MYHS+OFSSD ; pokey divisor 0
.ENDIF
JMP INITHSB
.ENDIF
NINIHSB CMP #$32
.IF .NOT .DEF BAREBONE
.IF .DEF SDRIVE
BNE NINIHS1
JSR PUTCHAR
LDA #155
JSR PUTCHAR
LDA #1
STA MYHS+OFSSD ; pokey divisor 1
JMP INITHSB
NINIHS1 CMP #$33
.ELSE ; SDRIVE
BNE NINIHS
JSR PUTCHAR
LDA #155
JSR PUTCHAR
JMP INITHS
NINIHS CMP #$33
BNE NINIT
JSR PUTCHAR
LDA #155
JSR PUTCHAR
JMP INIT
NINIT CMP #$34
.ENDIF ; SDRIVE
.ENDIF ; BAREBONE
BNE NCRNAM
JSR PUTCHAR
LDA #155
JSR PUTCHAR
JMP CRNAME
NCRNAM CMP #$30
BEQ EXIT1
JSR BEEP
JMP ASKMAIN
EXIT1 JMP EXIT
; input drive number
INPDRV BPUT 0,WRITLEN,WRITTXT
JMP IDKEY
INVDSK JSR BEEP
IDKEY JSR GETKEY
TAX
TYA
BPL IDKEY1
CPY #128
BEQ IDABRT
BNE IDKEY
IDKEY1 TXA
CMP #27
BNE NABRT1
IDABRT PLA
PLA
JMP ABORTNL
NABRT1 CMP #$31
BCC INVDSK
CMP #$39
BCS INVDSK
STA INSERT1
STA PDRIVNO
SEC
SBC #$30
STA DRIVENO
BPUT 0, INS1LEN, INSERT1
IDKEY2 JSR GETKEY
TAX
TYA
BPL IDKEY3
CPY #128
BEQ IDABRT2
BNE IDKEY2
IDKEY3 CPX #27
BNE NABRT2
IDABRT2 PLA
PLA
JMP ABORT
NABRT2 RTS
ABORTNL LDA #155
JSR PUTCHAR
ABORT BPUT 0, ABORTLN, ABORTED
JSR GETKEY
JMP MAINLOOP
EXIT LDA MERK82
STA 82
JMP (10)
.MACRO MYINIT ; ADR, LEN
.IF %0 <> 2
.ERROR "MYINIT: need two parameters"
.ELSE
CLC
LDA DRIVENO
ADC #$30
STA FILENAME+1
OPEN 1,8,0,FILENAME
BPL OPENOK
JMP OPENERR
OPENOK NOTE 1,%1+OFSSEC
BMI WRIER1
BPUT 1,(%2-$180),(%1+$180)
BPL WRIOK
WRIER1 JMP WRIERR
WRIOK CLOSE 1
JSR GETDENS
LDA SECBYTE
STA %1+OFSBYT
LDA SECMASK
STA %1+OFSMASK
LDA $308
STA %1+OFSLEN
LDA $309
STA %1+OFSLEN+1
WSEC128 DRIVENO,1,%1
BPL S1OK
JMP WBERR
S1OK WSEC128 DRIVENO,2,%1+128
BPL S2OK
JMP WBERR
S2OK WSEC128 DRIVENO,3,%1+256
BPL S3OK
JMP WBERR
S3OK
.ENDM
INITHSB LDA #$81
BNE INIT1
INITHS LDA #1
BNE INIT1
INIT LDA #0
INIT1 STA MYHS+OFSHI
INITN JSR INPDRV
MYINIT MYHS, MYHSLEN
JMP SUCCESS
OPENERR CLOSE 1
PRINT 0, ERROPEN
JSR GETKEY
JMP MAINLOOP
WRIERR CLOSE 1
PRINT 0, ERRWRIT
JSR GETKEY
JMP MAINLOOP
WBERR CLC
LDA $30A
ADC #'0
STA ERRSEC
LDA 771
LSR
LSR
LSR
LSR
TAX
LDA HEXTAB,X
STA ERRSTAT
LDA 771
AND #$0F
TAX
LDA HEXTAB,X
STA ERRSTAT+1
PRINT 0, ERRWB
JSR GETKEY
JMP MAINLOOP
SUCCESS BPUT 0, SUCCLEN, SUCCTXT
JSR GETKEY
JMP MAINLOOP
GETKEY LDA $E425
PHA
LDA $E424
PHA
RTS
PUTCHAR TAY
LDA $E407
PHA
LDA $E406
PHA
TYA
RTS
; returns:
; Z set = yes
; Z cleared = no
; N set = aborted
YESNO JSR GETKEY
TAX
TYA
BPL YNOK1
CPY #128
BNE YESNO
TYA
RTS
YNOK1 CPX #'y
BEQ YNYES
CPX #'Y
BEQ YNYES
CPX #'n
BEQ YNNO
CPX #'N
BEQ YNNO
JSR BEEP
JMP YESNO
YNYES LDA #'Y
JSR PUTCHAR
LDA #155
JSR PUTCHAR
LDA #0
RTS
YNNO LDA #'N
JSR PUTCHAR
LDA #155
JSR PUTCHAR
LDA #1
RTS
.MACRO GETLEN ; maxlen, vector
LDY #[%1-1]
CHKL LDA (%2),Y
CMP #32
BNE GLEND
DEY
BPL CHKL
GLEND INY
.ENDM
.MACRO GETLEN2 ; maxlen, buffer
LDY #[%1-1]
CHKL LDA %2,Y
CMP #32
BNE GLEND
DEY
BPL CHKL
GLEND INY
.ENDM
; calculate address of name in A
.MACRO NAMADR ; address
STA %1+1
LDA #0
STA %1
LSR %1+1
ROR %1
LSR %1+1
ROR %1
CLC
LDA %1
ADC #<NAMENEW
STA %1
LDA %1+1
ADC #>NAMENEW
STA %1+1
.ENDM
CRNAME BPUT 0, CREALEN, CREATXT
IPATH INPUT 0, PATH
BPL IPOK1
CPY #128
BNE IPATH
JMP ABORT
IPOK1 LDA $348
CMP #3
BCS POK1
PERR1 JMP PATHERR
POK1 CMP #101
BCS PERR1
TAX
DEX
DEX
LDA PATH,X
CMP #':
BNE PERR1
INX
TXA
CLC
ADC #<PATH
STA FILSPEC
LDA #0
ADC #>PATH
STA FILSPEC+1
LDY #0
POLD LDA PICONAME,Y
STA (FILSPEC),Y
INY
CPY #13
BNE POLD
JSR LOADOLD
LDY #0
STY NUMNAME
STY FIRSTFIL
WILDL1 LDA WILDCARD,Y
STA (FILSPEC),Y
INY
CPY #4
BNE WILDL1
OPEN 1,6,0,PATH
BPL DIRLOOP
JMP DIRERR
DIRLOOP INPUT 1, DIRNAM
BPL DIROK1
DIRE1 JMP DIREND
DIROK1 LDA $358
CMP #14
BCC DIRLOOP
LDY #0
DIRPD1 LDA DIRNAM+2,Y
CMP PDOSNAM,Y
BNE NPDOS1
INY
CPY #11
BEQ DIRLOOP
BNE DIRPD1
NPDOS1 LDY #0
DIRPD2 LDA DIRNAM+2,Y
CMP PNAMNAM,Y
BNE NPDOS2
INY
CPY #11
BEQ DIRLOOP
BNE DIRPD2
NPDOS2 LDA DIRNAM
CMP #32
BEQ DIROK2
CMP #'*
BNE DIRE1
DIROK2 LDA FIRSTFIL
BNE NFIRST
INC FIRSTFIL
BPUT 0, INPFILL, INPFILE
NFIRST BPUT 0, SCRLEN, SCROLL
BPUT 0, 13, DIRNAM+1
LDA #'>
JSR PUTCHAR
LDA #32
JSR PUTCHAR
JSR FINDLNG
INPUT 0, INPBUF
BPL DIROK3
CPY #128
BNE DIRAGN
CLOSE 1
JMP ABORT
DIRAGN JMP DIROK2
DIROK3 LDA $348
CMP #1
BEQ DIRLP
CMP #39
BCC DIROK4
LDA #39
DIROK4 TAX
DEX
LDA #32
DIRLOP2 STA INPBUF,X
INX
CPX #40
BNE DIRLOP2
JSR ADDNAME
LDA NUMNAME
CMP #100
BEQ DIREND
DIRLP JMP DIRLOOP
DIREND CLOSE 1
LDX #0
IDXLP1 TXA
STA QINDEX,X
INX
BNE IDXLP1
LDA NUMNAME
CMP #2
BCC NOSORT
BPUT 0, SORTNL, SORTNAM
JSR YESNO
BPL SRTOK1
JMP ABORTNL
SRTOK1 BNE NOSORT
LDA NUMNAME
LDX #<COMPARE
LDY #>COMPARE
JSR QSORT
NOSORT BPUT 0, INTITL, INTIT
INPTIT1 LDA #'>
JSR PUTCHAR
LDA #32
JSR PUTCHAR
LDA GOTOLD
BEQ NOOLD1
LDA #<NAMEBUF
STA NAMV
LDA #>NAMEBUF
STA NAMV+1
JSR GETLNG
BMI NOOLD1
CPX #0
BEQ NOOLD1
STX TMPV
LDA #0
STA TMPV+1
LDA 84
PHA
LDA 85
PHA
BPUT2 0, TMPV, LONGNAM
PLA
STA 85
PLA
STA 84
JSR GOTOXY
NOOLD1 INPUT 0, INPBUF
BPL INTITOK
CPY #128
BEQ ITABRT
JMP INPTIT1
ITABRT JMP ABORT
INTITOK LDA $348
BNE NTL0
LDA #1
NTL0 CMP #39
BCS TTRUNC
TAX
DEX
LDA #32
CLRTIT STA INPBUF,X
INX
CPX #40
BNE CLRTIT
TTRUNC BPUT 0, WRITNL, WRITNAM
JSR YESNO
BPL DWROK1
JMP ABORTNL
DWROK1 BEQ DOWRIT
JMP ABORT
DOWRIT LDY #0
PNLP1 LDA PICONAME,Y
STA (FILSPEC),Y
INY
CPY #13
BNE PNLP1
; write new PICONAME.TXT
OPEN 1,8,0,PATH
BPL OUTOK1
JMP OEOPEN
OUTOK1 GETLEN2 38, INPBUF
LDA #LINESEP
STA INPBUF,Y
INY
STY TMPV
LDA #0
STA TMPV+1
BPUT2 1, TMPV, INPBUF
BPL OUTOK2
JMP OEWRIT
OUTOK2 LDA #0
STA COUNT
OUTLP LDA COUNT
CMP NUMNAME
BNE NENDOUT
JMP ENDOUT
NENDOUT TAX
LDA QINDEX,X
NAMADR TMPV
CLC
LDA TMPV
ADC #12
STA TMPV2
LDA TMPV+1
ADC #0
STA TMPV2+1
GETLEN 38, TMPV2
CPY #0
BNE OUTOK3
JMP OUTNEXT
; PRINT 0, INTERR
; JMP *
OUTOK3 LDA #LINESEP
STA (TMPV2),Y
TYA
CLC
ADC #13
STA TMPV2
LDA #0
STA TMPV2+1
BPUT3 1, TMPV2, TMPV
BPL OUTNEXT
JMP OEWRIT
OUTNEXT INC COUNT
JMP OUTLP
ENDOUT CLOSE 1
JMP SUCCESS
OEOPEN PRINT 0, ERRPNC
JSR GETKEY
JMP MAINLOOP
OEWRIT CLOSE 1
PRINT 0, ERRPNW
JSR GETKEY
JMP MAINLOOP
COMPARE TXA
NAMADR TMPV
TYA
NAMADR TMPV2
LDY #12
CMPLP LDA (TMPV),Y
CMP (TMPV2),Y
BEQ CMPEQ
BCC CMPLESS
LDA #1
RTS
CMPLESS LDA #$FF
RTS
CMPEQ INY
CPY #50
BNE CMPLP
LDA #0
RTS
ADDNAME LDA NUMNAME
NAMADR TMPV
LDY #0
ANLP1 LDA DIRNAM+2,Y
STA (TMPV),Y
INY
CPY #11
BNE ANLP1
LDA #32
STA (TMPV),Y
INY
LDX #0
ANLP2 LDA INPBUF,X
STA (TMPV),Y
INY
INX
CPX #38
BNE ANLP2
INC NUMNAME
RTS
LOADOLD LDA #<NAMEBUF
STA NAMV
STA NAMEEND
LDA #>NAMEBUF
STA NAMV+1
STA NAMEEND+1
LDA #0
STA GOTOLD
OPEN 1,4,0,PATH
BPL OLDOK1
JMP OLDERR
OLDOK1 BGET 1,NAMBMAX,NAMEBUF
CLC
LDA $358
ADC #<NAMEBUF
STA NAMEEND
STA TMPV
LDA $359
ADC #>NAMEBUF
STA NAMEEND+1
STA TMPV+1
; sentinel
LDA #155
STA NAMEBUF-1
LDA TMPV
BNE NOLD1
DEC TMPV+1
NOLD1 DEC TMPV
LDY #0
LDA (TMPV),Y
CMP #LINESEP
BEQ LSEPOK
INY
LDA #LINESEP
STA (TMPV),Y
INC NAMEEND
BNE LSEPOK
INC NAMEEND+1
LSEPOK CLOSE 1
PRINT 0, FOUNDOLD
LDA #1
STA GOTOLD
RTS
OLDERR CLOSE 1
RTS
DIRERR PRINT 0, ERRDIR
JSR GETKEY
JMP MAINLOOP
PATHERR PRINT 0, ERRPATH
JSR GETKEY
JMP MAINLOOP
BEEP LDA #253
JMP PUTCHAR
GOTOXY BPUT 0, CURSRLL, CURSRL
RTS
FINDLNG LDA GOTOLD
BNE FLNG1
FLNGX RTS
FLNG1 LDA #<NAMEBUF
STA NAMV
LDA #>NAMEBUF
STA NAMV+1
JSR GETLNG
BMI FLNGX
FLLP JSR GETFNAM
BMI FLNGX
JSR GETLNG
BMI FLNGX
STX TMPV
LDX #0
CHKN LDA FILNAM,X
CMP DIRNAM+2,X
BNE FLLP
INX
CPX #11
BNE CHKN
LDA TMPV
CMP #0
BEQ FLLP
LDA #0
STA TMPV+1
LDA 84
PHA
LDA 85
PHA
BPUT2 0, TMPV, LONGNAM
PLA
STA 85
PLA
STA 84
JMP GOTOXY
.INCLUDE "getdens.src"
.INCLUDE "longname.src"
.INCLUDE "qsort.src"
DRIVENO .BYTE 1
SECBYTE .BYTE 125
SECMASK .BYTE 3
FILENAME .BYTE "D1:PICODOS.SYS"
.BYTE 155
PICONAME .BYTE "PICONAME.TXT", 155
WILDCARD .BYTE "*.*", 155
PDOSNAM .BYTE "PICODOS SYS"
PNAMNAM .BYTE "PICONAMETXT"
; 1234567890123456789012345678901234567890
; 0987654321098765432112345678901234567890
TITEL .BYTE 125
.BYTE " MyPicoDos Init V"
VERSION
.IF .DEF BAREBONE
.BYTE "B"
.ELSE
.IF .DEF THECART
.BYTE "T"
.ELSE
.IF .DEF FREEZER
.BYTE "F"
.ELSE
.IF .DEF REMOTE
.BYTE "R"
.ELSE
.IF .DEF SDRIVE
.BYTE "S"
.ENDIF
.ENDIF
.ENDIF
.ENDIF
.ENDIF
.BYTE 155
.BYTE " (c) HiassofT 1992-"
COPYYEAR
.BYTE 155, 155
.IF .DEF THECART .OR .DEF FREEZER
.BYTE " COM / EXE / BIN / BAS / CAR loader",155
.ELSE
.BYTE " COM / EXE / BIN / BAS loader",155
.ENDIF
.BYTE " for SD & DD disks, 720-65535 sectors",155
.BYTE " in Dos 2.x / MyDos / BiboDos format", 155
.BYTE "long filenames and subdirectory support",155
.IF .DEF REMOTE
.BYTE "and builtin atariserver remote console", 155
.ELSE
.IF .DEF SDRIVE
.BYTE " and SDrive auto-highspeed-switch", 155
.ENDIF
.ENDIF
.BYTE 155,155
.BYTE "this program MUST be loaded from DOS,",155
.BYTE "because it creates a short system-file!",155
.BYTE 155
.IF .DEF BAREBONE
.BYTE "<1> init disk",155
.BYTE "<2> create/edit long filenames",155
.ELSE
.IF .DEF SDRIVE
.BYTE "<1> init disk (126kbit/sec)",155
.BYTE "<2> init disk (110kbit/sec)",155
.BYTE "<3> create/edit long filenames",155
.ELSE
.BYTE "<1> init disk (HighSpeed at boot)",155
.BYTE "<2> init disk (HighSpeed auto)",155
.BYTE "<3> init disk (HighSpeed off)",155
.BYTE "<4> create/edit long filenames",155
.ENDIF
.ENDIF
.BYTE "<0> exit MyPicoDos Init",155,155
.BYTE "-> "
TITLEN = * - TITEL
WRITTXT .BYTE 155, "Write MyPicoDos to drive (1-8): "
WRITLEN = * - WRITTXT
INSERT1 .BYTE "1",155
.BYTE "insert disk in D"
PDRIVNO .BYTE "1: and press any key"
.BYTE 155
INS1LEN = * - INSERT1
CREATXT .BYTE 155, "enter drive/directory for long names",155
.BYTE "eg: D: or D2:SUBDIR:",155
.BYTE "> D:", 30, 30
CREALEN = * - CREATXT
INTIT .BYTE 155, "enter disk/directory title",155
INTITL = * - INTIT
CURSRL .BYTE 31,30
CURSRLL = * - CURSRL
SCROLL .BYTE 155,155,28,28
SCRLEN = * - SCROLL
ERROPEN .BYTE "error creating PICODOS.SYS",253,155
ERRWRIT .BYTE "error writing PICODOS.SYS",253,155
ERRPNC .BYTE "error creating PICONAME.TXT",253,155
ERRPNW .BYTE "error writing PICONAME.TXT",253,155
ERRWB .BYTE "error writing sector "
ERRSEC .BYTE "1 (stat=$"
ERRSTAT .BYTE "00)",253,155
SUCCTXT .BYTE 155,"operation successfully completed!", 155
SUCCLEN = * - SUCCTXT
ABORTED .BYTE 155, "operation aborted", 253, 155
ABORTLN = * - ABORTED
ERRPATH .BYTE "illegal drive/directory", 253, 155
ERRDIR .BYTE "error reading directory", 253, 155
FOUNDOLD .BYTE "found existing PICONAME.TXT", 155
;INTERR .BYTE "internal error", 155
INPFILE .BYTE 155
.BYTE "enter long filenames, empty entries",155
.BYTE "will not be shown in MyPicoDos",155,155
INPFILL = * - INPFILE
SORTNAM .BYTE 155,"sort names alphabetically (y/n) > "
SORTNL = * - SORTNAM
WRITNAM .BYTE 155,"write long names to disk (y/n) > "
WRITNL = * - WRITNAM
HEXTAB .BYTE "0123456789ABCDEF"
MYHS = *
.if .def THECART
.incbin "mypdost.bin"
.else
.if .def FREEZER
.incbin "mypdosf.bin"
.else
.IF .DEF BAREBONE
.incbin "mypdosb.bin"
.ELSE
.IF .DEF REMOTE
.incbin "mypdosr.bin"
.ELSE
.IF .DEF SDRIVE
.incbin "mypdoss.bin"
.ELSE
.incbin "mypdos.bin"
.ENDIF
.ENDIF
.ENDIF
.ENDIF
.endif
MYHSLEN = * - MYHS
MERK82 * = * + 1
GOTOLD * = * + 1