home *** CD-ROM | disk | FTP | other *** search
/ Go64! / Go64_2000-03_2000_CSW_Side_A.d64 / ebasiclader (.txt) < prev    next >
Commodore BASIC  |  2023-02-26  |  3KB  |  130 lines

  1. 10 input"disk drive";dd:rem get disk drive
  2. 15 input"name";na$:rem get filename
  3. 20 na$=left$(na$,16)+",p,w"
  4. 30 open1,dd,7,na$:rem open file
  5. 40 readda:ifda<>-1thenprint#1,chr$(da);:goto40
  6. 50 close1
  7. 500 data 66,3
  8. 505 rem address of routine ($0342)
  9. 1120 data 173,2,221
  10. 1125 rem $0342 lda $dd02  ; save ddra
  11. 1130 data 141,64,3
  12. 1135 rem $0345 sta $0340  ; at $0340
  13. 1140 data 173,3,221
  14. 1145 rem $0348 lda $dd03  ; save ddrb
  15. 1150 data 141,65,3
  16. 1155 rem $034b sta #0341  ; at $0341
  17. 1160 data 173,60,3
  18. 1165 rem $034e lda $033c  ; low byte
  19. 1170 data 133,167
  20. 1175 rem $0351 sta $a7    ; to $a7
  21. 1180 data 173,61,3
  22. 1185 rem $0353 lda $033d  ; high byte
  23. 1190 data 133,168
  24. 1195 rem $0356 sta $a8    ; to $a8
  25. 1200 data 120
  26. 1205 rem $0358 sei    ; suppress irq
  27. 1210 data 173,2,221
  28. 1215 rem $0359 lda $dd02  ; load ddra
  29. 1220 data 9,4
  30. 1225 rem $035c ora #$04   ; set bit 2
  31. 1230 data 141,2,221
  32. 1235 rem $035e sta $dd02  ; store ddra
  33. 1240 data 169,255
  34. 1245 rem $0361 lda #$ff ; set all bits
  35. 1250 data 141,3,221
  36. 1255 rem $0363 sta $dd03  ; in ddrb
  37. 1260 data 160,0
  38. 1265 rem $0366 ldy #$00   ; reset y reg
  39. 1270 data 174,63,3
  40. 1275 rem $0368 ldx $033f  ; length high
  41. 1276 rem                  ; into x
  42. 1280 data 240,33
  43. 1285 rem $036b beq $038e  ; branch if 0
  44. 1290 data 173,13,221
  45. 1295 rem $036d lda $dd0d  ; load icr
  46. 1300 data 41,16
  47. 1305 rem $0370 and #$10   ; check bit 4
  48. 1310 data 240,249
  49. 1315 rem $0372 beq $036d  ; loop if
  50. 1316 rem                  ; not set
  51. 1320 data 177,167
  52. 1325 rem $0374 lda ($a7),y; load data
  53. 1330 data 141,1,221
  54. 1335 rem $0376 sta $dd01  ; shove into
  55. 1336 rem                  ; prb
  56. 1340 data 173,0,221
  57. 1345 rem $0379 lda $dd00  ; load pra
  58. 1350 data 41,251
  59. 1355 rem $037c and #$fb   ; clear bit 2
  60. 1360 data 141,0,221
  61. 1365 rem $037e sta $dd00  ; in pra
  62. 1370 data 9,4
  63. 1375 rem $0381 ora #$04   ; set bit 2
  64. 1380 data 141,0,221
  65. 1385 rem $0383 sta $dd00  ; in pra
  66. 1390 data 200
  67. 1395 rem $0386 iny        ; increase
  68. 1396 rem                  ; y reg
  69. 1400 data 208,228
  70. 1405 rem $0387 bne $036d  ; loop if not
  71. 1406 rem                  ; full page
  72. 1410 data 230,168
  73. 1415 rem $0389 inc $a8    ; increase
  74. 1416 rem                  ; page in $a8
  75. 1420 data 202
  76. 1425 rem $038b dex        ; decrease
  77. 1426 rem                  ; page count
  78. 1430 data 208,223
  79. 1435 rem $038c bne $036d  ; loop if not
  80. 1436 rem                  ; 0
  81. 1440 data 174,62,3
  82. 1445 rem $038e ldx $033e  ; length low
  83. 1446 rem                  ; in x reg
  84. 1450 data 240,29
  85. 1455 rem $0391 beq $031e  ; end if 0
  86. 1460 data 173,13,221
  87. 1465 rem $0393 lda $dd0d  ; load icr
  88. 1470 data 41,16
  89. 1475 rem $0396 and #$10   ; check bit 4
  90. 1480 data 240,249
  91. 1485 rem $0398 beq $08a8  ; loop if
  92. 1486 rem                  ; not set
  93. 1490 data 177,167
  94. 1495 rem $039a lda ($a7),y; load data
  95. 1500 data 141,1,221
  96. 1505 rem $039c sta $dd01  ; shove into
  97. 1506 rem                  ; prb
  98. 1510 data 173,0,221
  99. 1515 rem $039f lda $dd00  ; load pra
  100. 1520 data 41,251
  101. 1525 rem $03a2 and #$fb   ; clear bit 2
  102. 1530 data 141,0,221
  103. 1535 rem $03a4 sta $dd00  ; in pra
  104. 1540 data 9,4
  105. 1545 rem $03a7 ora #$04   ; set bit 2
  106. 1550 data 141,0,221
  107. 1555 rem $03a9 sta $dd00  ; in pra
  108. 1560 data 200
  109. 1565 rem $03ac iny        ; increase
  110. 1566 rem                  ; y reg
  111. 1570 data 202
  112. 1575 rem $03ad dex        ; decrease
  113. 1576 rem                  ; counter
  114. 1580 data 208,227
  115. 1585 rem $03ae bne $0391  ; loop if
  116. 1586 rem                  ; not 0
  117. 1590 data 173,64,3
  118. 1595 rem $03b0 lda $0340  ; retrieve
  119. 1600 data 141,2,221
  120. 1605 rem $03b3 sta $dd02  ; ddra
  121. 1610 data 173,65,3
  122. 1615 rem $03b6 lda $0341  ; retrieve
  123. 1620 data 141,3,221
  124. 1625 rem $03b9 sta $dd03  ; ddrb
  125. 1630 data 88
  126. 1635 rem $03bc cli        ; allow irq
  127. 1640 data 96
  128. 1645 rem $03bd rts        ; end
  129. 30000 data -1
  130.