home *** CD-ROM | disk | FTP | other *** search
/ 64'er 1991 July / 64er_Magazin_91-07_1991_Markt__Technik_de_Side_A.d64 / ciauhr.src < prev    next >
Text File  |  2022-10-26  |  2KB  |  218 lines

  1.  
  2. org $c000
  3.  
  4. :lo =$fa
  5. :hi =$fb
  6. :mi =$fc
  7. :byt=$fd
  8. ;--------------
  9. :bytefac=$b3a2
  10. :memmult=$ba28
  11. :memplus=$b867
  12. :facmem =$bbd4
  13. :memfac =$bba2
  14. :facint =$bc9b
  15. ;--------------
  16. :todhr  =$dc0b
  17. :todmn  =$dc0a
  18. :todsc  =$dc09
  19. :todth  =$dc08
  20.  
  21. :start
  22.  
  23. sei
  24. lda #$a0
  25. jsr copy
  26. lda #$e0
  27. jsr copy
  28. ldx #0
  29. :ownrout
  30. lda prg,x
  31. sta $f6dd,x ;Umlenkung auf eigene
  32. inx         ;Routine
  33. cpx #16
  34. bne ownrout
  35. lda 1
  36. and #%11111000
  37. ora #%00000101
  38. sta 1
  39. lda $dc0e
  40. ora #%10000000
  41. sta $dc0e
  42. lda #0
  43. sta todhr
  44. sta todmn
  45. sta todsc
  46. sta todth
  47. cli
  48. rts
  49.  
  50. :copy  ;kopiert Rom ins
  51. sta hi ;darunterliegende Ram
  52. lda #0
  53. sta lo
  54. ldx #0
  55. ldy #0
  56. :l1
  57. lda (lo),y
  58. sta (lo),y
  59. iny
  60. bne l1
  61. inc hi
  62. inx
  63. cpx #$20
  64. bne l1
  65. rts
  66.  
  67. :prg
  68. sei
  69. nop
  70. nop
  71. nop
  72. jmp gettime
  73. sei
  74. jmp settime
  75.  
  76.  
  77.  
  78. :settime
  79. php
  80. ldy #0
  81. lda ($22),y
  82. jsr getbyt
  83. cmp #18
  84. bcc kleiner
  85. sec
  86. sbc #18
  87. ora #%10000000;pm -flg setzen
  88. :kleiner
  89. sta todhr
  90. iny
  91. lda ($22),y
  92. jsr getbyt
  93. sta todmn
  94. iny
  95. lda ($22),y
  96. jsr getbyt
  97. sta todsc
  98. lda #0
  99. sta todth
  100. plp
  101. cli
  102. rts
  103.  
  104.  
  105. :getbyt
  106. sec
  107. sbc #48
  108. asl
  109. asl
  110. asl
  111. asl
  112. sta byt
  113. iny
  114. lda ($22),y
  115. sec
  116. sbc #48
  117. ora byt
  118. rts
  119.  
  120. :bcdconv
  121. tay
  122. and #%00001111
  123. sta smod+1
  124. tya
  125. lsr
  126. lsr
  127. lsr
  128. lsr
  129. tax
  130. lda tab,x
  131. clc
  132. :smod
  133. adc #00
  134. rts
  135.  
  136. :tab
  137. b 0,10,20,30,40,50,60,70,80,90
  138.  
  139. :gettime
  140. php
  141. ldx #0
  142. txa
  143. :setzero
  144. sta const,x
  145. inx
  146. cpx #5
  147. bne setzero
  148.  
  149. lda todhr
  150. bpl notpm
  151. and #%01111111
  152. clc
  153. adc #18
  154. :notpm
  155. ldx #<flp216000
  156. ldy #>flp216000
  157. jsr convhex
  158. lda todmn
  159. ldx #<flp3600
  160. ldy #>flp3600
  161. jsr convhex
  162. lda todsc
  163. ldx #<flp60
  164. ldy #>flp60
  165. jsr convhex
  166. lda todth
  167. ldx #<flp6
  168. ldy #>flp6
  169. jsr convhex
  170.  
  171. lda #<const
  172. ldy #>const
  173. jsr memfac
  174. lsr $66  ;ohne vz
  175. jsr facint
  176. lda $65
  177. ldx $64
  178. ldy $63
  179. plp
  180. cli
  181. rts
  182.  
  183. :convhex
  184. stx fakt+1
  185. sty fakt+3
  186. jsr bcdconv
  187. tay
  188. jsr bytefac
  189. :fakt
  190. lda #<flp216000
  191. ldy #>flp216000
  192. jsr memmult
  193. lda #<const
  194. ldy #>const
  195. jsr memplus
  196. ldx #<const
  197. ldy #>const
  198. jsr facmem
  199. rts
  200.  
  201.  
  202. :const
  203. b 0,0,0,0,0
  204.  
  205. :flp216000
  206. b $92,$d2,$f0,0,0 ;= 216000
  207. :flp3600
  208. b $8c,$e1,0,0,0   ;=   3600
  209. :flp60
  210. b $86,$f0,0,0,0   ;=     60
  211. :flp6
  212. b $83,$c0,0,0,0   ;=      6
  213.  
  214.  
  215.  
  216.  
  217.  
  218.