home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Go64!
/
Go64_2000-03_2000_CSW_Side_A.d64
/
dbasiclader
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2023-02-26
|
4KB
|
150 lines
10 input"laufwerk";dd:rem laufwerknummer holen
15 input"name";na$:rem filename holen
20 na$=left$(na$,16)+",p,w"
30 open1,dd,7,na$:rem file oeffnen
40 readda:ifda<>-1thenprint#1,chr$(da);:goto40
50 close1
500 data 66,3
505 rem addresse der routine ($0342)
1120 data 173,2,221
1125 rem $0342 lda $dd02 ; ddra bei
1130 data 141,64,3
1135 rem $0345 sta $0340 ; $0340
1137 rem ; sichern
1140 data 173,3,221
1145 rem $0348 lda $dd03 ; ddrb bei
1150 data 141,65,3
1155 rem $034b sta #0341 ; $0341
1157 rem ; sichern
1160 data 173,60,3
1165 rem $034e lda $033c ; low byte
1170 data 133,167
1175 rem $0351 sta $a7 ; nach $a7
1180 data 173,61,3
1185 rem $0353 lda $033d ; high byte
1190 data 133,168
1195 rem $0356 sta $a8 ; nach $a8
1200 data 120
1205 rem $0358 sei ; irq
1207 rem ; verbieten
1210 data 173,2,221
1215 rem $0359 lda $dd02 ; ddra holen
1220 data 9,4
1225 rem $035c ora #$04 ; bit 2
1227 rem ; setzen
1230 data 141,2,221
1235 rem $035e sta $dd02 ; nach ddra
1240 data 169,255
1245 rem $0361 lda #$ff ; alle bits
1247 rem ; setzen
1250 data 141,3,221
1255 rem $0363 sta $dd03 ; in ddrb
1260 data 160,0
1265 rem $0366 ldy #$00 ; reset y reg
1270 data 174,63,3
1275 rem $0368 ldx $033f ; laenge high
1276 rem ; nach x
1280 data 240,33
1285 rem $036b beq $038e ; verzweige
1287 rem ; wenn 0
1290 data 173,13,221
1295 rem $036d lda $dd0d ; hole icr
1300 data 41,16
1305 rem $0370 and #$10 ; ueberpruefe
1307 rem ; bit 4
1310 data 240,249
1315 rem $0372 beq $036d ; schleife
1316 rem ; wenn nicht
1317 rem ; gesetzt
1320 data 177,167
1325 rem $0374 lda ($a7),y; lade datum
1330 data 141,1,221
1335 rem $0376 sta $dd01 ; schiebe
1336 rem ; nach prb
1340 data 173,0,221
1345 rem $0379 lda $dd00 ; hole pra
1350 data 41,251
1355 rem $037c and #$fb ; loesche
1357 rem ; bit 2
1360 data 141,0,221
1365 rem $037e sta $dd00 ; nach pra
1370 data 9,4
1375 rem $0381 ora #$04 ; setze
1377 rem ; bit 2
1380 data 141,0,221
1385 rem $0383 sta $dd00 ; nach pra
1390 data 200
1395 rem $0386 iny ; erhoehe
1396 rem ; y reg
1400 data 208,228
1405 rem $0387 bne $036d ; schleife
1406 rem ; wenn seite
1407 rem ; noch nicht
1408 rem ; voll
1410 data 230,168
1415 rem $0389 inc $a8 ; erhoehe
1416 rem ; seite in
1417 rem ; $a8
1420 data 202
1425 rem $038b dex ; verringere
1426 rem ; seitenzahl
1430 data 208,223
1435 rem $038c bne $036d ; schleife
1436 rem ; wenn
1437 rem ; ungleich 0
1440 data 174,62,3
1445 rem $038e ldx $033e ; laenge low
1446 rem ; nach x reg
1450 data 240,29
1455 rem $0391 beq $031e ; ende wenn 0
1460 data 173,13,221
1465 rem $0393 lda $dd0d ; hole icr
1470 data 41,16
1475 rem $0396 and #$10 ; pruefe
1477 rem ; bit 4
1480 data 240,249
1485 rem $0398 beq $08a8 ; schleife
1486 rem ; wenn nicht
1487 rem ; gesetzt
1490 data 177,167
1495 rem $039a lda ($a7),y; hole datum
1500 data 141,1,221
1505 rem $039c sta $dd01 ; schiebe
1506 rem ; nach prb
1510 data 173,0,221
1515 rem $039f lda $dd00 ; hole pra
1520 data 41,251
1525 rem $03a2 and #$fb ; loesche
1527 rem ; bit 2
1530 data 141,0,221
1535 rem $03a4 sta $dd00 ; nach pra
1540 data 9,4
1545 rem $03a7 ora #$04 ; setze
1547 rem ; bit 2
1550 data 141,0,221
1555 rem $03a9 sta $dd00 ; nach pra
1560 data 200
1565 rem $03ac iny ; erhoehe
1566 rem ; y reg
1570 data 202
1575 rem $03ad dex ; verringere
1576 rem ; zaehler
1580 data 208,227
1585 rem $03ae bne $0391 ; schleife
1586 rem ; wenn
1587 rem ; ungleich 0
1590 data 173,64,3
1595 rem $03b0 lda $0340 ; hole ddra
1600 data 141,2,221
1605 rem $03b3 sta $dd02 ; zurueck
1610 data 173,65,3
1615 rem $03b6 lda $0341 ; hole ddrb
1620 data 141,3,221
1625 rem $03b9 sta $dd03 ; zurueck
1630 data 88
1635 rem $03bc cli ; gestatte
1637 rem ; irq
1640 data 96
1645 rem $03bd rts ; end
30000 data -1