home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
64'er 1989 February
/
64er_Magazin_89-02_1989_Markt__Technik_de_Disk_1_of_2_Side_A.d64
/
rechner.quell
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2022-10-26
|
19KB
|
1,216 lines
10 open1,8,2,"robj,p,w":sys32768:.opt o1:*= $0e00
11 ;
20 jmp start
100 print pla
101 sta $9b
102 pla
103 sta $9c
104 ldy #00
105 lda #$1f
106 bne p1
107 p3 lda ($9b),y
108 p1 inc $9b
109 bne p2
110 inc $9c
111 p2 cmp #00
112 beq p33
113 jsr $ffd2
114 jmp p3
115 p33 jmp ($009b)
116 ;
120 dezimal sed
121 ldx #08
122 sta $9b
123 lda #00
124 sta $9c
125 d1 asl $9b
126 adc $9c
127 sta $9c
128 dex
129 bne d1
130 cld
131 pha
132 lsr a
133 lsr a
134 lsr a
135 lsr a
136 jsr d2
137 pla
138 d2 and #$0f
139 clc
140 adc #$30
141 jmp $ffd2
142 ;
150 diskaus lda di1
151 sta di2
152 cmp #$12
153 bne di3
154 lda #$92
156 bne di4
157 di3 lda #$12
158 di4 sta di22
159 jsr print
160 ;
161 di1 .byte $12,$b0,$c0,$c0,$c0,$c0,$c0,$c0
162 .byte $ae,$9d,$9d,$9d,$9d,$9d,$9d,$9d
163 .byte $9d,$11,$dd
164 di22 .byte $92,$20,$20
165 di2 .byte $12,$20
166 .byte $20,$d7,$20,$dd,$9d,$9d,$9d,$9d
167 .byte $9d,$9d,$9d,$9d,$11,$dd,$20,$20
168 .byte $d5,$c9,$20,$20,$dd,$9d,$9d,$9d
169 .byte $9d,$9d,$9d,$9d,$9d,$11,$dd,$20
170 .byte $20,$ca,$cb,$20,$20,$dd,$9d,$9d
171 .byte $9d,$9d,$9d,$9d,$9d,$9d,$11,$dd
172 .byte $20,$20,$d5,$c9,$20,$20,$dd,$9d
173 .byte $9d,$9d,$9d,$9d,$9d,$9d,$9d,$11
174 .byte $dd,$20,$20,$dd,$dd,$20,$20,$dd
175 .byte $9d,$9d,$9d,$9d,$9d,$9d,$9d,$9d
176 .byte $11,$dd,$20,$20,$ca,$cb,$20,$20
177 .byte $dd,$9d,$9d,$9d,$9d,$9d,$9d,$9d
178 .byte $9d,$11,$ad,$c0,$c0,$c0,$c0,$c0
179 .byte $c0,$bd,$00
180 rts
181 ;
200 oben pha
201 lda #$20
202 ldy #00
203 o1 sta $0400,y
204 dey
205 bne o1
206 ldy #$90
207 o2 sta $04ff,y
208 dey
209 bne o2
210 pla
211 sta di1
212 lda $d3
213 pha
214 lda $d6
215 pha
216 txa
217 pha
218 ldx #01
219 ldy #04
220 jsr $e50c
221 jsr diskaus
222 pla
223 sta di1
224 ldx #01
225 ldy #$1c
226 jsr $e50c
227 jsr diskaus
228 jsr zwischen
229 pla
230 tax
231 pla
232 tay
233 jsr $e50c
234 lda #$63
235 ldy #$27
236 o3 sta $058f,y
237 dey
238 bne o3
239 jmp farbe
240 ;
250 zwischen ldx #01
251 ldy #$0e
252 jsr $e50c
253 jsr print
254 .asc "[146]pass: ":.byte 0
255 lda $61
256 jsr dezimal
257 ldx #03
258 ldy #$0e
259 jsr $e50c
260 jsr print
261 .asc "[146]errors: ":.byte 0
262 lda $62
263 jsr dezimal
264 ldx #05
265 ldy #$0e
266 jsr $e50c
267 jsr print
268 .asc "[146]zieldisk: ":.byte 0
269 ldx $8c
270 inx
271 txa
272 jsr dezimal
273 ldx #07
274 ldy #$0e
275 jsr $e50c
276 jsr print
277 .asc "[146]zeit : ":.byte 0
278 lda $dc0b
279 lda $dc0a
280 jsr z1:jsr $ffd2
281 lda #$2e
282 jsr $ffd2
283 lda $dc09
284 pha
285 jsr z2
286 jsr $ffd2
287 pla
288 jsr z1
289 jsr $ffd2
290 lda $dc08
291 rts
292 ;
295 z1 and #$0f
296 ora #$30
297 rts
298 z2 lsr a
299 lsr a
300 lsr a
301 lsr a
302 ora #$30
303 rts
304 ;
320 farbe lda #06
321 ldy #00
322 f1 sta $d800,y
323 sta $d900,y
324 sta $da00,y
325 sta $db00,y
326 iny
327 bne f1
328 rts
329 ;
340 bildaus lda $d011
341 and #$ef
342 sta $d011
343 ldx #00
344 ldy #$96
345 bi1 inx
346 bne bi1
347 dey
348 bne bi1
349 rts
350 ;
360 bildan lda $d011
361 ora #$10
362 sta $d011
363 rts
364 ;
365 taste lda #00
366 sta $c6
367 ta1 jsr $ffe4
368 beq ta1
369 rts
370 ;
371 uhraus lda #00
372 sta $dc0b
373 rts
374 ;
375 uhran lda $dc08
376 sta $dc08
377 rts
378 ;
380 linkssym lda #$12
381 ldx #$92
382 bne lk1
383 ;
384 rechtssym ldx #$12
385 lda #$92
386 lk1 jmp oben
387 ;
390 quell cli
391 jsr uhraus
392 inc $61
393 jsr linkssym
394 qu1 jsr bildan
395 jsr taste
396 jsr bildaus:jsr uhran
397 sei
398 rts
399 ;
400 ziel cli
401 jsr uhraus
402 jsr rechtssym
403 jmp qu1
404 ;
410 syncerr jsr trackerr
411 jsr print
412 .asc ":sync not found":.byte 0
413 sei
414 rts
415 ;
420 headerr jsr trackerr
421 jsr print
422 .asc ":header not found":.byte 0
423 sei
424 rts
425 ;
430 trackerr jsr print
431 .byte 13
432 .asc "trackerror in ":.byte 0
433 lda $fb
434 jsr dezimal
435 ldx $fb
436 inc tracktab,x
437 rts
438 ;
440 readerr inc $62
441 pha
442 jsr print
443 .byte 13
444 .asc "read error,":.byte 0
445 lda $fb
446 jsr dezimal
447 lda #$2c
448 jsr $ffd2
449 pla
450 jsr dezimal
451 sei
452 rts
453 ;
460 unlesbar ldx #$17
461 ldy #01
462 jsr $e50c
463 jsr print
464 .asc "diskette ist nicht lesbar !"
465 .byte 0
466 jsr taste
467 rts
468 ;
470 ende dec $fe
471 jsr print
472 .byte 13,13
473 .asc "weiter mit tastendruck":.byte 0
474 cli
475 jsr uhraus
476 jsr linkssym
477 jsr bildan
478 jsr taste
479 lda #03
480 sta $dd00
481 rts
482 ;
490 tracktab .byte 0,0,0,0,0,0,0,0,0,0
491 .byte 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
492 .byte 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
493 ;
500 sektoren ldx #05
501 lda $fb
502 se1 dex
503 cmp stab,x
504 bcs se1
505 lda stab1,x
506 sta $6b
507 rts
508 ;
509 stab .byte $ff,$24,$1f,$19,$12
510 stab1 .byte $11,$11,$12,$13,$15
511 ;
520 trackstart ldx $fb
521 lda $ab
522 clc
523 adc lowtab,x
524 sta $ab
525 lda $ac
526 adc hightab,x
527 sta $ac
528 rts
529 ;
530 zaehlsetz ldx $fb
531 lda ztab,x
532 sta zae+1
533 rts
534 ;
545 ;
550 holmasch jsr bildaus
551 sei
552 lda #$35
553 sta $01
554 lda #00
555 sta $a7:lda #$15
556 sta $a9
557 lda #$09
558 sta $aa
559 lda #$70
560 sta $a8
561 ldx #05
562 ho2 ldy #00
563 ho1 lda ($a9),y
564 sta ($a7),y
565 iny
566 bne ho1
567 inc $a8
568 inc $aa
569 dex
570 bne ho2
571 lda #$37
572 sta $01
573 cli
574 jmp farbe
575 ;
580 startmasch lda #00
581 sta $a7
582 sta $a9
583 lda #$70
584 sta $a8
585 lda #03
586 sta $aa
587 sm5 lda $f9
588 jsr $ed0c
589 lda #$6f
590 jsr $edb9
591 lda #$4d
592 jsr $eddd
593 lda #$2d
594 jsr $eddd
595 lda #$57
596 jsr $eddd
597 lda $a9
598 jsr $eddd
599 lda $aa
600 jsr $eddd
601 lda #$20
602 jsr $eddd
603 ldy #00
604 sm1 lda ($a7),y
605 jsr $eddd
606 iny
607 cpy #$20
608 bcc sm1
609 jsr $edfe
610 clc
611 lda $a7
612 adc #$20
613 sta $a7
614 bcc sm2
615 inc $a8
616 clc
617 sm2 lda $a9
618 ldx $aa
619 adc #$20
620 sta $a9
621 bcc sm3
622 inc $aa
623 inx
624 sm3 cpx #08
625 bcc sm5
626 lda $f9
627 jsr $ed0c
628 lda #$6f
629 jsr $edb9
630 ldx #04
631 sm6 lda mem,x
632 jsr $eddd
633 dex
634 bpl sm6
635 jsr $edfe
636 l12 lda #$93
637 jsr $ffd2
638 ldx #$0a
639 ldy #$00
640 jmp $e50c
641 ;
642 mem .byte 3,12
643 .asc "e-m"
644 ;
650 open lda #15
651 ldx $f9
652 tay
653 jsr $ffba
654 lda #00
655 jsr $ffbd
656 jmp $ffc0
657 ;
660 einein ldy #$ff
661 lda #03
662 sta ee+2
663 jsr in
664 lda $03ff
665 rts
666 ;
670 ein ldy #00
671 lda #04
672 sta ee+2
673 jsr in
674 lda #03:sta ee+2
675 ldy #$bc
676 ;
680 in stx $03bb
681 ldx #11
682 stx $dd00
683 ldx #03
684 in1 lda $dd00
685 bpl in1
686 stx $dd00
687 in2 nop
688 nop
689 lda #11
690 sta $dd00
691 nop
692 nop
693 ldx #03
694 stx $dd00
695 ldx $dd00
696 lda tab57,x
697 ldx $dd00
698 ora tab46,x
699 nop
700 ldx $dd00
701 ora tab13,x
702 ldx $dd00
703 ora tab02,x
704 ee sta $0400,y
705 iny
706 bne in2
707 ldx $03bb
708 rts
709 ;
730 ;
750 einaus ldy #$ff
751 sta $03ff
752 lda #03
753 sta aa+2
754 jmp out
755 ;
756 aus ldy #00
757 lda #04
758 sta aa+2
759 jsr out
760 lda #03:sta aa+2
761 ldy #$bc
762 ;
763 out stx $03bb
764 lda #11
765 sta $dd00
766 ldx #03
767 ou1 lda $dd00
768 bpl ou1
769 stx $dd00
770 aa lda $0400,y
771 ldx #11
772 stx $dd00
773 tax
774 and #240
775 sta $dd00
776 lsr a
777 lsr a
778 and #240
779 sta $dd00
780 txa
781 and #15
782 tax
783 lda tab,x
784 sta $dd00
785 lsr a
786 lsr a
787 and #240
788 sta $dd00
789 nop
790 nop
791 nop
792 iny
793 bne aa
794 lda #03
795 sta $dd00
796 ldx $03bb
797 rts
798 .byte 0,0,0,0,0,0,0,0
799 tab02 .byte 0,0,0,$05,0,0,0,0
800 tab13 .byte 0,0,0,$0a,0,0,0,0
801 tab46 .byte 0,0,0,$50,0,0,0,0
802 tab57 .byte 0,0,0,$a0,0,0,0,0
803 .byte 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
804 .byte 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
805 .byte 0,0,0,$01,0,0,0,0,0,0,0,$02,0,0,0,0
806 .byte 0,0,0,$10,0,0,0,0,0,0,0,$20,0,0,0,0
807 .byte 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
808 .byte 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
809 .byte 0,0,0,$04,0,0,0,0,0,0,0,$08,0,0,0,0
810 .byte 0,0,0,$40,0,0,0,0,0,0,0,$80,0,0,0,0
811 .byte 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
812 .byte 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
813 .byte 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
814 .byte 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
815 ;
816 tab .byte $00,$10,$20,$30
817 .byte $40,$50,$60,$70,$80,$90,$a0
818 .byte $b0,$c0,$d0,$e0,$f0
819 ;
820 werttast sta $a7
821 tax
822 lda wert1,x
823 sta $a9
824 lda wert2,x
825 sta $aa
826 ldy #00
827 lda ($a9),y
828 ora #$80
829 sta ($a9),y
830 w1 jsr taste
831 cmp #$30
832 bcc w1
833 ldx $a7
834 cmp wert3,x
835 bcs w1
836 ldy #00
837 sta ($a9),y
838 sec
839 sbc #$30
840 sta $a8
841 iny
842 lda ($a9),y
843 ora #$80
844 sta ($a9),y
845 w2 jsr taste
846 pha
847 lda $a7
848 asl a
849 asl a
850 clc
851 adc $a7
852 adc $a8
853 tax
854 pla
855 cmp wert4,x
856 bcc w2
857 cmp wert5,x
858 bcs w2
859 ldy #01
860 sta ($a9),y
861 sec
862 sbc #$30
863 tax
864 lda $a8
865 asl a
866 asl a
867 asl a
868 sta $a7
869 lda $a8
870 asl a
871 clc
872 adc $a7
873 stx $a8
874 clc
875 adc $a8
876 rts
877 ;
880 wert1 .byte $d8,$65,$b3,$08
881 wert2 .byte 4,6,6,7
882 wert3 .byte $32,$35,$35,$32
883 wert4 .byte $31,$30,0,0,0
884 .byte $31,$30,$30,$30,$30
885 .byte $31,$30,$30,$30,$30
886 .byte $38,$30,0,0,0
887 wert5 .byte $3a,$31,0,0,0
888 .byte $3a,$3a,$3a,$3a,$31
889 .byte $3a,$3a,$3a,$3a,$31
890 .byte $3a,$32,0,0,0
891 ;
900 von lda #52
901 sta $01
902 ldy #$43
903 v1 lda $03bc,y
904 sta ($a9),y
905 dey
906 bpl v1
907 ldy #00
908 v2 lda $0400,y
909 sta ($a7),y
910 iny
911 bne v2
912 lda #$37
913 sta $01
914 rts
915 ;
920 nach lda #52
921 sta $01
922 ldy #$43
923 n1 lda ($a9),y
924 sta $03bc,y
925 dey
926 bpl n1
927 ldy #00
928 n2 lda ($a7),y
929 sta $0400,y
930 iny
931 bne n2
932 lda #$37
933 sta $01
934 rts
935 ;
1000 kopieren jsr open
1001 ldx #15
1002 jsr $ffc9
1003 lda #$49
1004 jsr $ffd2
1005 jsr $ffcc
1006 ldx #$0f
1007 jsr $ffc6
1008 jsr $ffcf
1009 pha
1010 k1 jsr $ffcf
1011 cmp #13
1012 bne k1
1013 jsr $ffcc:lda #15:jsr $ffc3
1014 pla
1015 cmp #$30
1016 beq k2
1017 jmp unlesbar
1018 k2 jsr holmasch
1019 jsr startmasch
1020 lda #$93
1021 jsr $ffd2
1022 ldx $fe
1023 cpx $fd
1024 bcs k3
1025 ldy $fd
1026 sty $fe
1027 stx $fd
1028 k3 inc $fe
1029 ldx #$0a
1030 ldy #00
1031 jsr $e50c
1032 sei
1033 lda #00
1034 sta $61
1035 sta $62
1036 lda $fd
1037 sta $fa
1038 lda $fe
1039 sta $fc
1040 lda $dc0f
1041 and #$7f
1042 sta $dc0f
1043 lda $dc0e
1044 ora #$80
1045 sta $dc0e
1046 lda #00
1047 sta $dc0b
1048 sta $dc0a
1049 sta $dc09
1050 sta $dc08
1051 ldx #40
1052 k4 sta tracktab,x
1053 dex
1054 bpl k4
1055 k10 lda #00
1056 sta $8b
1057 sta $8c
1058 jsr quell:lda #$fa:sta $ab:lda #$1f:sta $ac:lda #01:jsr einaus
1059 lda $fa
1060 sta $fb:jsr zaehlsetz
1061 k6 lda #02
1062 jsr einaus
1063 lda $fb
1064 jsr einaus
1065 jsr read
1066 jsr trackstart
1067 inc $fb
1068 inc $8b
1069 lda $fb
1070 cmp $fe
1071 beq k5
1072 ldx $8b
1073 zae cpx #08
1074 bne k6
1075 k5 ldx $fa
1076 stx $8d
1077 sta $fa
1078 lda #00
1079 sta $8c
1080 k9 ldx $8d
1081 stx $fb
1082 jsr ziel:lda #$fa:sta $ab:lda #$1f:sta $ac
1083 lda #01
1084 jsr einaus
1085 lda #00
1086 sta $8b
1087 k8 lda #03
1088 jsr einaus
1089 lda $fb
1090 jsr einaus
1091 ldx $fb
1092 lda tracktab,x
1093 bne k7
1094 jsr write
1095 k7 jsr trackstart
1096 inc $fb
1097 inc $8b
1098 lda $fb
1099 cmp $fa
1100 bne k8
1101 sta $8e
1102 inc $8c
1103 lda $8c
1104 cmp $8f
1105 bne k9
1106 lda $8e
1107 cmp $fe
1108 beq kfertig
1109 jmp k10
1110 ;
1111 kfertig jsr print
1112 .byte 13,13,13
1113 .asc "kopiervorgang ist beendet."
1114 .byte 0
1115 sei:lda #00
1116 jsr einaus
1117 jmp ende
1118 ;
1200 start lda #21
1201 sta $d018
1202 lda #01
1203 sta $fd
1204 sta $8f
1205 lda #15
1206 sta $d020
1207 sta $d021
1208 lda #08
1209 sta $f9
1210 lda #$28
1211 sta $fe
1212 st1 jsr print
1213 .byte $93,$1f
1214 .asc " **** master - copy plus v 1.2 **** ":.byte 13,13
1215 .asc " (c) 1988 by frank riemenschneider ":.byte 13,13,13
1216 .asc " a[146]nzahl kopien:":.byte 13,13
1217 .asc " b[146]efehl senden":.byte 13,13
1218 .asc " d[146]irektory zeigen":.byte 13,13
1219 .asc " k[146]opieren":.byte 13,13
1220 .asc " v[146]erify disk":.byte 13,13
1221 .asc " s[146]tarttrack:":.byte 13,13
1222 .asc " e[146]ndtrack:":.byte 13,13
1223 .asc " g[146]eraetenummer:":.byte 13,13
1224 .asc " p[146]rogrammende":.byte 13,13
1225 .asc " i[146]nfo":.byte 0
1226 ;
1230 ldx #15
1231 ldy #13
1232 jsr $e50c
1233 lda $fd
1234 jsr dezimal
1235 ldx #$11
1236 ldy #$0b
1237 jsr $e50c
1238 lda $fe
1239 jsr dezimal
1240 ldx #$13
1241 ldy #$10
1242 jsr $e50c
1243 lda $f9
1244 jsr dezimal
1245 ldx #05
1246 ldy #$10
1247 jsr $e50c
1248 lda $8f
1249 jsr dezimal
1250 st2 jsr taste
1251 cmp #"b"
1252 bne m1
1253 jsr befehl
1254 jmp st1
1255 m1 cmp #"d"
1256 bne m2
1257 jsr direktory
1258 jmp st1
1259 m2 cmp #"k"
1260 bne m3
1261 jsr kopieren
1262 jmp st1
1263 m3 cmp #"s"
1264 bne m4
1265 lda #01
1266 jsr werttast
1267 sta $fd
1268 jmp st2
1269 m4 cmp #"e"
1270 bne m5
1271 lda #02
1272 jsr werttast
1273 sta $fe
1274 jmp st2
1275 m5 cmp #"p"
1276 bne m6
1277 jmp $fce2
1278 m6 cmp #"g"
1279 bne m7
1280 lda #03
1281 jsr werttast
1282 sta $f9
1283 jmp st2
1284 m7 cmp #"a"
1285 bne m8
1286 lda #00
1287 jsr werttast
1288 sta $8f
1289 jmp st2
1290 m8 cmp #"v"
1291 bne m9
1292 jsr verify
1293 jmp st1
1294 m9 cmp #"i"
1295 bne st2
1296 jsr info
1297 jmp st1
1298 ;
1305 ztab .byte 0,8,8,8,8,8,8,8,8,8,8,8,8,8,8
1306 .byte 9,9,9,9,9,9,9,9,9,9
1307 .byte 10,10,10,10,10,10,10,10
1308 .byte 10,10,10,10,10,10,10,10
1309 ;
1430 lowtab .byte 0,$94,$94,$94
1431 .byte $94,$94,$94,$94,$94,$94,$94
1432 .byte $94,$94,$94,$94,$94,$94,$94
1433 .byte $0c,$0c,$0c,$0c,$0c,$0c,$0c
1434 .byte $c8,$c8,$c8,$c8,$c8,$c8
1435 .byte $84,$84,$84,$84,$84
1436 .byte $84,$84,$84,$84,$84
1437 ;
1438 hightab .byte 0,$1a,$1a,$1a
1439 .byte $1a,$1a,$1a,$1a,$1a,$1a,$1a
1440 .byte $1a,$1a,$1a,$1a,$1a,$1a,$1a
1441 .byte $18,$18,$18,$18,$18,$18,$18
1442 .byte $16,$16,$16,$16,$16,$16
1443 .byte $15,$15,$15,$15,$15
1444 .byte $15,$15,$15,$15,$15
1445 ;
2000 read jsr sektoren
2001 lda #04
2002 jsr einaus
2003 re1 jsr einein
2004 tax
2005 bmi error
2006 pha
2007 jsr ein
2008 pla
2009 asl a
2010 tax
2011 lda sektab,x
2012 clc
2013 adc $ab
2014 sta $a7
2015 sta $a9
2016 lda sektab+1,x
2017 adc $ac
2018 sta $a8
2019 adc #01
2020 sta $aa
2021 jsr von
2022 jmp re1
2023 ;
2025 error cmp #$f2
2026 bne re2
2027 jmp headerr
2028 re2 cmp #$f1
2029 bne re3
2030 jmp syncerr
2031 re3 cmp #$fc
2032 bne re4
2033 ldx $fb
2034 inc tracktab,x
2035 re4 ldy #00
2036 re6 jsr einein
2037 cmp #$f3
2038 beq re8
2039 jsr readerr
2040 jmp re6
2041 re8 rts
2042 ;
2045 sektab .byte $00,$00,$44,$01
2046 .byte $88,$02,$cc,$03,$10,$05
2047 .byte $54,$06,$98,$07,$dc,$08
2048 .byte $20,$0a,$64,$0b,$a8,$0c
2049 .byte $ec,$0d,$30,$0f,$74,$10
2050 .byte $b8,$11,$fc,$12,$40,$14
2051 .byte $84,$15,$c8,$16,$0c,$18
2052 .byte $50,$19
2053 ;
3000 write jsr sektoren
3001 lda #05
3002 jsr einaus
3003 wr2 jsr einein
3004 cmp #$f1
3005 beq wr1
3006 asl a
3007 tax
3008 lda sektab,x
3009 clc
3010 adc $ab
3011 sta $a7
3012 sta $a9
3013 lda sektab+1,x
3014 adc $ac
3015 sta $a8
3016 adc #01
3017 sta $aa
3018 jsr nach
3019 jsr aus
3020 jmp wr2
3021 wr1 rts
3022 ;
4000 verify jsr open
4001 ldx #15
4002 jsr $ffc9
4003 lda #$49
4004 jsr $ffd2
4005 jsr $ffcc
4006 ldx #$0f
4007 jsr $ffc6
4008 jsr $ffcf
4009 pha
4010 v11 jsr $ffcf
4011 cmp #13
4012 bne v11
4013 jsr $ffcc:lda #15:jsr $ffc3
4014 pla
4015 cmp #$30
4016 beq v22
4017 jmp unlesbar
4018 v22 jsr holmasch
4019 lda #$ea
4020 sta $732b
4021 sta $732c
4022 sta $732d
4029 jsr startmasch
4030 lda #$93
4031 jsr $ffd2:jsr farbe
4032 ldx $fe
4033 cpx $fd
4034 bcs v3
4035 ldy $fd
4036 sty $fe
4037 stx $fd
4038 v3 inc $fe
4042 lda #00
4043 sta $61
4044 sta $62
4045 lda $fd
4046 sta $fa
4047 jsr bildaus:jsr aufbau:sei
4048 lda #01
4049 jsr einaus
4050 v6 lda #02
4051 jsr einaus:lda $fa:jsr einaus
4052 jsr verify1
4053 inc $fa
4054 lda $fa
4055 cmp $fe
4056 bne v6:lda #00:jsr einaus
4057 ldx #$18
4058 ldy #01
4059 jsr $e50c
4060 jsr print
4061 .asc "verify ist beendet. weiter mit taste !":.byte 0
4062 jsr bildan:cli
4063 jsr taste
4064 lda #03
4065 sta $dd00
4066 dec $fe
4067 rts
4068 ;
4200 aufbau jsr print
4201 .byte $93,$11
4202 .asc "0000000001111111111"
4203 .asc "222222222233333333334"
4204 .asc "12345678901234567890"
4205 .asc "12345678901234567890":.byte 0
4206 lda #$28
4207 sta $a7
4208 v8 ldx $a7:dex
4209 lda vtab1,x
4210 tax
4211 v7 lda vtab2,x
4212 sta $a9
4213 lda vtab3,x
4214 sta $aa
4215 ldy $a7
4216 dey
4217 lda #$2e
4218 sta ($a9),y
4219 dex
4220 bpl v7
4221 dec $a7
4222 lda $a7
4223 bne v8
4224 jsr stern
4225 v9 sta $03ff,x
4226 dex
4227 cpx $fa
4228 bcs v9
4229 rts
4230 ;
4300 vtab1 .byte $14,$14,$14,$14,$14
4301 .byte $14,$14,$14,$14,$14
4302 .byte $14,$14,$14,$14,$14
4303 .byte $14,$14,$12,$12,$12,$12
4304 .byte $12,$12,$12,$11,$11,$11
4305 .byte $11,$11,$11
4306 .byte $10,$10,$10,$10,$10,$10
4307 .byte $10,$10,$10,$10
4308 vtab2 .byte $78,$a0,$c8,$f0,$18
4309 .byte $40,$68,$90,$b8,$e0,$08,$30
4310 .byte $58,$80,$a8,$d0,$f8,$20,$48
4311 .byte $70,$98
4312 vtab3 .byte 4,4,4,4,5,5,5,5,5,5,6,6,6,6,6,6,6,7,7,7,7
4313 ;
4400 stern ldx $fe
4401 dex
4402 lda #"*"
4403 rts
4404 ;
4500 verify1 lda #04
4501 jsr einaus
4502 ve1 jsr einein
4503 tax
4504 bmi verror
4505 jmp ve1
4506 ;
4510 verror cmp #$f2
4511 bne ve2
4512 jmp vheaderr
4513 ve2 cmp #$f1
4514 bne ve3
4515 jmp vsyncerr
4516 ve3 ldy #00
4517 ve6 jsr einein
4518 cmp #$f3
4519 beq ve8
4520 jsr vreaderr
4521 jmp ve6
4522 ve8 rts
4523 ;
4524 vreaderr tay
4526 lda vtab2,y
4527 sta $a9
4528 lda vtab3,y
4529 sta $aa
4530 ldy $fa
4531 dey
4532 lda #$12
4533 sta ($a9),y
4534 rts
4535 ;
4600 vsyncerr lda #$13
4601 .byte $2c
4602 vheaderr lda #08
4603 pha
4604 ldx $fa
4605 dex
4606 lda vtab1,x
4607 tax
4608 vea lda vtab2,x
4609 sta $a9
4610 lda vtab3,x
4611 sta $aa
4612 ldy $fa
4613 dey
4614 pla
4615 pha
4616 sta ($a9),y
4617 dex
4618 bpl vea
4619 pla
4620 rts
4621 ;
5000 befehl ldx #$17
5001 ldy #01
5002 jsr $e50c
5003 jsr print
5004 .asc "befehl: ":.byte 0
5005 jsr open
5006 ldx #15
5007 jsr $ffc9
5008 bf jsr $ffcf
5009 jsr $ffd2
5010 cmp #13
5011 bne bf
5012 jsr $ffcc
5013 lda #15
5014 jmp $ffc3
5015 ;
6000 direktory ldx #$10
6001 dir1 lda $60,x
6002 sta $03ef,x
6003 dex
6004 bpl dir1
6005 lda #$9a
6006 jsr $ffd2
6007 jsr $bdcd
6008 lda #$1f
6009 jsr $ffd2
6010 lda #$93
6011 jsr $ffd2
6012 lda #02
6013 ldx $f9
6014 ldy #00
6015 jsr $ffba
6016 ldx #<dollar
6017 ldy #>dollar
6018 lda #01
6019 jsr $ffbd
6020 jsr $ffc0
6021 ldx #02
6022 jsr $ffc6
6023 jsr $ffcf
6024 lda $90
6025 bne dirout
6026 jsr $ffcf
6027 dir2 lda #$16
6028 sta $8b
6029 dir5 dec $8b
6030 bne dir3
6031 jsr druck
6036 ldx #02
6037 jsr $ffc6
6038 lda #$93
6039 jsr $ffd2
6040 jmp dir2
6041 dir3 jsr $ffcf
6042 jsr $ffcf
6043 beq dirout
6044 jsr print
6045 .byte 13,32,32,32,0
6046 jsr $ffcf
6047 tax:jsr $ffcf
6048 jsr $bdcd
6049 lda #32
6050 jsr $ffd2
6051 dir4 jsr $ffcf
6052 beq dir5
6053 ldy $90
6054 bne dirout
6055 jsr $ffd2
6056 jmp dir4
6057 ;
6058 dirout jsr druck
6059 lda #02
6060 jsr $ffc3
6061 ldx #$10
6062 dir7 lda $03ef,x
6063 sta $60,x
6064 dex
6065 bpl dir7
6066 rts
6067 ;
6068 dollar .asc "$"
6069 ;
6160 druck jsr print
6161 .byte 13,13
6162 .asc " weiter mit tastendruck":.byte 0
6163 jsr $ffcc
6164 jsr taste
6165 rts
6166 ;
7000 info ldx #00
7001 inf1 lda $1ca0,x
7002 sta $04a3,x
7003 lda $1da0,x
7004 sta $05a3,x
7005 lda $1ea0,x
7006 sta $06a3,x
7007 inx
7008 bne inf1
7009 ldx #43
7010 inf2 lda $1fa0,x
7011 sta $07a3,x
7012 dex
7013 bpl inf2
7014 jsr taste
7015 rts