home *** CD-ROM | disk | FTP | other *** search
/ 64'er Special 67 / 64er_Magazin_Sonderheft_67_19xx_Markt__Technik_de_Side_B.d64 / op.auto-save (.txt) < prev    next >
Commodore BASIC  |  2022-10-26  |  3KB  |  112 lines

  1. 10 sys36864
  2. 20 .opt oo
  3. 30 *= $c800
  4. 100 cia =$dd00
  5. 102 ddra =cia+2
  6. 104 ddrb =cia+3
  7. 106 prta =cia
  8. 108 prtb =cia+1
  9. 110 errout =$a445
  10. 112 errptr =$22
  11. 116 namel =$b7
  12. 118 namep =$bb
  13. 120 strout =$ab1e
  14. 122 oldsave =$f5ed
  15. 124 savev =$332
  16. 126 ga =$ba
  17. 128 setpar =$ffba
  18. 130 open =$ffc0
  19. 132 close =open+3
  20. 134 rd1 =53266
  21. 136 rd2 =162
  22. 138 getx =$b7f1
  23. 500 jmp swon
  24. 502 jmp swoff
  25. 600 errt .asc "unable to access rt[195]
  26. 610 hi .[198] "auto-save eingeschaltet":.byt 13,0
  27. 620 ts .[198] "auto-save abgeschaltet ":.byt 13,0
  28. 630 fi[195] .w[176] 0,0,0,0,0,0,0,0
  29. 632 .[198] ",u,w
  30. 706 buc1 brk
  31. 708 buc2 brk
  32. 710 art brk
  33. 716 xmem brk
  34. 718 ymem brk
  35. 720 diffe brk
  36. 722 sd .byt 123
  37. 800 at1 .byt 20,0,13,141,148,34,160:.asc "*=,?:
  38. 801 et1 [178][172]
  39. 1100 maken ldy #15:lda #32
  40. 1102 [156]n sta fi[195],y:dey:bpl [156]n:iny
  41. 1104 copn cpy namel:bcs fuln:lda (namep),y:sta fi[195],y:iny:cpy #4:bcc copn
  42. 1106 fuln ldy #5
  43. 1108 ldx #7:jsr das:ldx #6:jsr das:ldx #9:jsr das:ldx #8:jsr das
  44. 1110 ldx #11:jsr das:ldx #10:jsr das:iny
  45. 1112 ldx #5:jsr das:ldx #4:jsr das:ldx #3:jsr das:ldx #2:jsr das
  46. 1114 lda #20:sta namel:lda #[179]fi[195]:ldy #[177]fi[195]:sta namep:sty namep[170]1
  47. 1116 ldx ga:lda #57:ldy #8:jsr setpar:jsr [159]:lda #57:jsr [160]
  48. 1117 lda d[139]fe:bne strich:rts
  49. 1118 strich lda #"-":ldx #13
  50. 1120 spi sta fi[195],x:dex:bpl spi
  51. 1122 jsr [187]:sta fi[195][170]14:jsr [187]:sta fi[195][170]15:jsr [159]:lda #57:jmp [160]
  52. 1150 [187] lda rd1:adc sd:e[176] rd2:asl:adc #0:sta sd:ldx #et1[171]at1[171]1
  53. 1152 attn cmp at1,x:beq [187]:dex:bpl attn:rts
  54. 1200 das jsr [194]:[176]a #48:sta fi[195],y:iny:rts
  55. 1300 swoff lda #[179]old[148]:ldy #[177]old[148]:sta [148]v:sty [148]v[170]1
  56. 1302 lda #[179]ts:ldy #[177]ts:jmp strout
  57. 1310 sw[145] jsr [161]x:stx d[139]fe:jsr initrtc
  58. 1312 lda #[179]neu[148]:ldy #[177]neu[148]:sta [148]v:sty [148]v[170]1
  59. 1314 lda #[179]hi:ldy #[177]hi:jmp strout
  60. 1400 neu[148] jsr old[148]
  61. 1402 lda ga:cmp #8:bcs d[145]eu:rts
  62. 1404 d[145]eu jmp maken
  63. 2000 ; register x anfahren
  64. 2002 regx lda prta:[176]a #4:sta prta:[175] #251:sta prta ; reset
  65. 2004 l1 lda prtb:[175] #16:bne err[176] ; q5 darf nicht 1 sein
  66. 2006 txa:beq reach ; register erreicht
  67. 2008 lda prtb:[175] #223:sta prtb:[176]a #32:sta prtb ; clock
  68. 2010 dex:bne l1 ; x mal clocken
  69. 2012 reach rts
  70. 2100 ; platine nicht angeschlossen
  71. 2104 err[176] lda #[179]errt:sta errptr:lda #[177]errt:jmp errout
  72. 2200 ; register x nach a lesen
  73. 2202 [194] jsr regx ; x anfahren
  74. 2204 lda #224:sta ddrb ; p[176]t auf eingabe
  75. 2206 lda prtb:[175] #127:sta prtb ; [135][171]signal
  76. 2208 lda prtb:[175] #15:pha ; p[176]t lesen
  77. 2210 lda prtb:[176]a #192:sta prtb ; [135] & write aus
  78. 2212 pla:rts
  79. 2300 ; cia initialisieren
  80. 2302 ciainit lda ddra:[176]a #4:sta ddra ; reset ausgang
  81. 2304 lda #224:sta ddrb ; p[176]t auf eingang
  82. 2306 sta prtb ; [171]clk, [171]wr, [171]rd aus
  83. 2308 rts
  84. 2400 ; uhr initialisieren
  85. 2402 initrtc jsr ciainit
  86. 2404 ; test, ob rtc angeschlossen
  87. 2410 lda prta:[176]a #4:sta prta:[175] #251:sta prta ; reset
  88. 2412 ldx #16 ; 16 mal clocken
  89. 2414 l2 lda prtb:[175] #16
  90. 2415 bne err[176] ; q5 darf nicht 1 sein
  91. 2416 lda prtb:[175] #223:sta prtb:[176]a #32:sta prtb ; clock
  92. 2418 dex:bne l2
  93. 2420 ldx #16 ; 16 mal clocken
  94. 2422 l3 lda prtb:[175] #16:beq err[176] ; q5 muss 1 sein
  95. 2424 lda prtb:[175] #223:sta prtb:[176]a #32:sta prtb ; clock
  96. 2426 dex:bne l3
  97. 2428 lda prtb:[175] #16:beq nuden:jmp err[176]; q5 darf nicht 1 sein
  98. 2430 ; uhr hochfahren
  99. 2432 nuden lda #0:ldx #13:jsr [151] ; register 13 loeschen
  100. 2434 lda #1:ldx #14:jsr [151] ; register 14 ruecksetzen
  101. 2436 lda #4:ldx #15          ; register 15 uhr anfahren 24 std modus
  102. 2500 ; schreibt a in register x
  103. 2502 [151] [175] #15:sta tep[170]1:jsr regx ; x anfahren
  104. 2504 lda prtb:[176]a #192:sta prtb ; [135] & write aus
  105. 2506 lda #239:sta ddrb ; p[176]t auf ausgang
  106. 2508 lda prtb:[175] #240
  107. 2509 tep [176]a #0:sta prtb ; a auf p[176]t
  108. 2510 lda prtb:[175] #191:sta prtb ; write
  109. 2512 lda prtb:[176]a #192:sta prtb ; [135] & write aus
  110. 2514 lda #224:sta ddrb ; p[176]t auf eingang
  111. 2516 rts
  112.