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

  1. 10 sys36864
  2. 20 .opt oo
  3. 30 *= 52000
  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. 114 pnt =181
  12. 500 jmp zeitlesen
  13. 502 sei:jsr 65418:cli:rts
  14. 600 errt .asc "unable to access rt[195]
  15. 602 try brk
  16. 604 wert brk
  17. 606 time .w[176] 0,0,0
  18. 1000 zeitlesen jsr rtcinit
  19. 1002 jsr wart ; uhr anhalten
  20. 1004 ldx #5:jsr [194]:[175] #3:sta time
  21. 1006 ldx #4:jsr [194]:sta time[170]1
  22. 1010 ldx #3:jsr [194]:sta time[170]2
  23. 1012 ldx #2:jsr [194]:sta time[170]3
  24. 1016 ldx #1:jsr [194]:sta time[170]4
  25. 1018 ldx #0:jsr [194]:sta time[170]5
  26. 1020 jsr weiter ; uhr laeuft weiter
  27. 1022 lda cia[170]14:[176]a #128:sta cia[170]14:lda cia[170]15:[175] #127:sta cia[170]15
  28. 1024 lda time:asl:asl:asl:asl:[176]a time[170]1:bne [168]0:lda #$92:bne set1
  29. 1026 [168]0 cmp #$13:bcc set1:sec:sed:sbc #$12:cld:[176]a #128
  30. 1028 set1 sta cia[170]$b
  31. 1030 lda time[170]2:asl:asl:asl:asl:[176]a time[170]3:sta cia[170]$a
  32. 1032 lda time[170]4:asl:asl:asl:asl:[176]a time[170]5:sta cia[170]$9
  33. 1034 lda #0:sta cia[170]$8
  34. 1036 sei:lda #[179]timirq:ldy #[177]timirq:sta $314:sty $315:cli:rts
  35. 1060 wart lda #10:sta try
  36. 1061 w3 ldx #13:jsr [194]:[176]a #1:ldx #13:jsr [151]
  37. 1062 w2 ldx #13:jsr [194]:[175] #2:beq w1
  38. 1064 jsr weiter
  39. 1066 dec try:bne w3
  40. 1068 w1 rts
  41. 1070 weiter ldx #13:jsr [194]:[175] #254:ldx #13:jmp [151]
  42. 1100 x [176]a #48:jmp $ffd2
  43. 2000 ; register x anfahren
  44. 2002 regx lda prta:[176]a #4:sta prta:[175] #251:sta prta
  45. 2004 l1 lda prtb:[175] #16:bne err[176]
  46. 2006 txa:beq reach
  47. 2008 lda prtb:[175] #223:sta prtb:[176]a #32:sta prtb
  48. 2010 dex:bne l1
  49. 2012 reach rts
  50. 2100 ; platine nicht angeschlossen
  51. 2104 err[176] lda #[179]errt:sta errptr:lda #[177]errt:jmp errout
  52. 2200 ; register x nach a lesen
  53. 2202 [194] jsr regx
  54. 2204 lda #224:sta ddrb
  55. 2206 lda prtb:[175] #127:sta prtb
  56. 2208 lda prtb:[175] #15:pha
  57. 2210 lda prtb:[176]a #192:sta prtb
  58. 2212 pla:rts
  59. 2400 ; uhr initialisieren
  60. 2402 rtcinit lda ddra:[176]a #4:sta ddra:lda #224:sta ddrb:sta prtb
  61. 2410 lda prta:[176]a #4:sta prta:[175] #251:sta prta
  62. 2412 ldx #16
  63. 2414 l2 lda prtb:[175] #16
  64. 2415 bne err[176]
  65. 2416 lda prtb:[175] #223:sta prtb:[176]a #32:sta prtb
  66. 2418 dex:bne l2
  67. 2420 ldx #16
  68. 2422 l3 lda prtb:[175] #16:beq err[176]
  69. 2424 lda prtb:[175] #223:sta prtb:[176]a #32:sta prtb
  70. 2426 dex:bne l3
  71. 2428 lda prtb:[175] #16:bne err[176]:rts
  72. 2500 ; schreibt a in register x
  73. 2502 [151] [175] #15:sta wert:jsr regx
  74. 2504 lda prtb:[176]a #192:sta prtb
  75. 2506 lda #239:sta ddrb
  76. 2508 lda prtb:[175] #240:[176]a wert:sta prtb
  77. 2510 lda prtb:[175] #191:sta prtb
  78. 2512 lda prtb:[176]a #192:sta prtb
  79. 2514 lda #224:sta ddrb
  80. 2516 rts
  81. 3000 timirq lda pnt:pha:lda pnt[170]1:pha
  82. 3002 lda #0:sta pnt:lda 648:sta pnt[170]1:ldy #32
  83. 3004 lda cia[170]$b:cmp #$12:beq nil:cmp #$80:bcc am:[175] #127
  84. 3006 cmp #$12:beq am:sed:clc:adc #$12:cld:bne am
  85. 3008 nil lda #0
  86. 3010 am sec:jsr [153]:lda cia[170]$a:sec:jsr [153]:lda cia[170]$9:clc:jsr [153]
  87. 3012 lda cia[170]$8:pla:sta pnt[170]1:pla:sta pnt:jmp $ea31
  88. 3014 [153] php:pha:[175] #$f0:lsr:lsr:lsr:lsr:[176]a #48:jsr pri1
  89. 3016 pla:[175] #15:[176]a #48:jsr pri1:plp:bcs dp:rts
  90. 3018 dp lda #58
  91. 3020 pri1 sta (pnt),y:lda 646:sta 55296,y:iny:rts
  92.