# c64 basic-asm analog clock

Dec 2nd, 2021
608
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
1. 10 rem generated ml loader
2. 20 poke53281,0:poke53280,0
3. 30 def fn rs(s)=((3.14/30)*s) - (3.14/2)
4. 40 def fn rh(h)=((3.14/6)*h) - (3.14/2)
5. 50 print chr\$(147)"wait..."
6. 60 sa = 49152
7. 70 for n = 0 to 1311
8. 80 read a% : poke sa+n,a%: next n
9. 90 sys sa
10. 100 gosub1820
11. 110 print"{clear}":rem main prg
12. 120 print"insert current hour as hh mm":input a\$
13. 130 gosub 2100:h=val(left\$(a\$,2)):m=val(right\$(a\$,2)):s=0:sc=peek(50527):ti\$="000000":om=m:gosub2020
14. 140 ifpeek(50527)=scthen 140
15. 150 print"{home}"spc(24)h":"m" "int(s):sc=peek(50527):gosub 1960:om=m:ti\$="000000":s=s+1:ifs>59thens=0:m=m+1:ifm>59thenm=0:h=h+1:ifh>23thenh=0
16. 160 goto 140
17. 180data 169,188,141,8,3,169,192,141
18. 190data 9,3,169,86,141,10,3,169
19. 200data 192,141,11,3,96,8,4,2
20. 210data 1,7,11,13,14,32,108,123
21. 220data 98,124,225,255,254,126,127,97
22. 230data 252,226,251,236,160,0,0,0
23. 240data 0,0,0,0,0,0,0,0
24. 250data 0,0,0,0,0,0,0,0
25. 260data 1,69,66,67,79,84,76,80
26. 270data 249,192,11,194,38,193,242,192
27. 280data 243,195,147,194,36,196,169,0
28. 290data 133,13,32,115,0,201,153,240
29. 300data 6,32,121,0,76,141,174,32
30. 310data 115,0,32,250,174,32,158,183
31. 320data 142,11,196,32,253,174,32,158
32. 330data 183,142,24,196,32,10,196,10
33. 340data 24,109,59,192,170,189,21,192
34. 350data 141,170,192,32,247,174,32,180
35. 360data 192,174,57,192,224,40,176,22
36. 370data 172,58,192,192,25,176,15,32
37. 380data 176,196,160,0,177,251,32,160
38. 390data 196,41,0,32,126,189,32,204
39. 400data 188,76,121,0,162,5,149,97
40. 410data 202,16,251,96,32,115,0,8
41. 420data 201,38,240,4,40,76,231,167
42. 430data 40,32,207,192,76,174,167,32
43. 440data 115,0,32,232,192,48,14,138
44. 450data 10,170,189,73,192,72,189,72
45. 460data 192,72,76,115,0,76,8,175
46. 470data 162,6,221,65,192,240,3,202
47. 480data 16,248,96,32,158,183,142,62
48. 490data 192,96,32,158,183,142,63,192
49. 500data 96,32,23,193,32,253,174,32
50. 510data 158,183,142,47,192,32,253,174
51. 520data 32,158,183,142,48,192,96,32
52. 530data 158,183,142,45,192,32,253,174
53. 540data 32,158,183,142,46,192,96,32
54. 550data 23,193,32,253,174,32,158,183
55. 560data 142,53,192,169,255,141,52,192
56. 570data 169,0,141,54,192,169,1,56
57. 580data 237,53,192,141,51,192,174,53
58. 590data 192,32,188,193,238,54,192,173
59. 600data 52,192,48,7,208,25,173,51
60. 610data 192,208,20,173,54,192,10,24
61. 620data 105,1,109,51,192,141,51,192
62. 630data 144,32,238,52,192,176,27,206
63. 640data 53,192,173,54,192,56,237,53
64. 650data 192,10,24,105,1,109,51,192
65. 660data 141,51,192,16,5,169,255,141
66. 670data 52,192,174,53,192,236,54,192
67. 680data 176,183,96,173,45,192,24,105
68. 690data 0,141,11,196,173,46,192,24
69. 700data 105,0,141,24,196,32,10,196
70. 710data 32,55,196,96,174,152,193,172
71. 720data 161,193,142,161,193,140,152,193
72. 730data 32,147,193,96,142,152,193,174
73. 740data 54,192,142,161,193,162,24,142
74. 750data 150,193,142,159,193,162,105,142
75. 760data 151,193,142,160,193,32,147,193
76. 770data 32,172,193,162,56,142,150,193
77. 780data 162,233,142,151,193,32,147,193
78. 790data 32,172,193,162,56,142,159,193
79. 800data 162,233,142,160,193,32,147,193
80. 810data 32,172,193,162,24,142,150,193
81. 820data 162,105,142,151,193,32,147,193
82. 830data 32,172,193,96,32,1,193,174
83. 840data 45,192,202,142,116,194,142,144
84. 850data 194,174,46,192,202,142,60,194
85. 860data 142,88,194,173,47,192,141,11
86. 870data 196,172,48,192,140,57,194,140
87. 880data 24,196,32,10,196,32,55,196
88. 890data 160,0,136,192,0,208,237,173
89. 900data 45,192,141,11,196,172,48,192
90. 910data 140,85,194,140,24,196,32,10
91. 920data 196,32,55,196,160,0,136,192
92. 930data 0,208,237,172,46,192,140,24
93. 940data 196,172,47,192,140,113,194,140
94. 950data 11,196,32,10,196,32,55,196
95. 960data 160,0,136,192,0,208,237,172
96. 970data 48,192,140,24,196,172,47,192
97. 980data 140,141,194,140,11,196,32,10
98. 990data 196,32,55,196,160,0,136,192
99. 1000data 0,208,237,96,32,1,193,32
100. 1010data 220,195,32,196,195,173,56,192
101. 1020data 205,55,192,176,20,173,47,192
102. 1030data 205,45,192,176,9,32,171,195
103. 1040data 32,220,195,32,196,195,76,41
104. 1050data 195,173,48,192,205,46,192,176
105. 1060data 9,32,171,195,32,220,195,32
106. 1070data 196,195,238,48,192,173,45,192
107. 1080data 141,53,192,162,238,173,49,192
108. 1090data 16,7,162,206,56,233,1,73
109. 1100data 255,142,18,195,10,141,49,192
110. 1110data 56,237,50,192,141,51,192,173
111. 1120data 50,192,10,141,50,192,174,46
112. 1130data 192,142,33,195,142,24,196,174
113. 1140data 53,192,142,11,196,32,10,196
114. 1150data 32,55,196,173,51,192,240,9
115. 1160data 48,7,238,53,192,56,237,50
116. 1170data 192,24,109,49,192,141,51,192
117. 1180data 162,0,232,236,48,192,144,209
118. 1190data 96,238,47,192,173,46,192,141
119. 1200data 54,192,162,238,173,50,192,16
120. 1210data 7,162,206,56,233,1,73,255
121. 1220data 160,0,140,52,192,142,123,195
122. 1230data 10,141,50,192,56,237,49,192
123. 1240data 16,5,160,255,140,52,192,141
124. 1250data 51,192,173,49,192,10,141,49
125. 1260data 192,174,45,192,142,163,195,142
126. 1270data 11,196,174,54,192,142,24,196
127. 1280data 32,10,196,32,55,196,173,52
128. 1290data 192,48,21,238,54,192,173,51
129. 1300data 192,56,237,49,192,141,51,192
130. 1310data 173,52,192,233,0,141,52,192
131. 1320data 173,51,192,24,109,50,192,141
132. 1330data 51,192,173,52,192,105,0,141
133. 1340data 52,192,162,0,232,236,47,192
134. 1350data 144,186,96,173,45,192,174,47
135. 1360data 192,142,45,192,141,47,192,173
136. 1370data 46,192,174,48,192,142,46,192
137. 1380data 141,48,192,96,173,47,192,56
138. 1390data 237,45,192,141,49,192,141,55
139. 1400data 192,16,8,56,233,1,73,255
140. 1410data 141,55,192,96,173,48,192,56
141. 1420data 237,46,192,141,50,192,141,56
142. 1430data 192,16,8,56,233,1,73,255
143. 1440data 141,56,192,96,32,158,183,173
144. 1450data 64,192,224,0,240,6,9,1
145. 1460data 141,64,192,96,41,254,141,64
146. 1470data 192,96,162,0,138,74,141,57
147. 1480data 192,138,41,1,141,59,192,162
148. 1490data 0,138,74,141,58,192,138,41
149. 1500data 1,141,60,192,96,32,158,183
150. 1510data 142,11,196,32,253,174,32,158
151. 1520data 183,142,24,196,32,10,196,10
152. 1530data 24,109,59,192,141,95,196,170
153. 1540data 189,21,192,141,61,192,174,57
154. 1550data 192,224,40,176,82,172,58,192
155. 1560data 192,25,176,75,32,176,196,173
156. 1570data 64,192,41,1,208,39,162,0
157. 1580data 189,25,192,141,61,192,160,0
158. 1590data 177,251,32,160,196,45,61,192
159. 1600data 170,189,29,192,160,0,145,251
160. 1610data 224,0,208,8,32,5,197,173
161. 1620data 63,192,145,251,96,160,0,177
162. 1630data 251,32,160,196,13,61,192,170
163. 1640data 189,29,192,160,0,145,251,32
164. 1650data 5,197,173,62,192,145,251,96
165. 1660data 162,15,221,29,192,240,5,202
166. 1670data 16,248,162,0,138,96,0,0
167. 1680data 169,0,133,251,169,4,133,252
168. 1690data 32,188,196,96,140,174,196,169
169. 1700data 0,141,175,196,14,174,196,14
170. 1710data 174,196,14,174,196,173,174,196
171. 1720data 14,174,196,46,175,196,14,174
172. 1730data 196,46,175,196,24,109,174,196
173. 1740data 141,174,196,144,3,238,175,196
174. 1750data 138,24,109,174,196,141,174,196
175. 1760data 144,3,238,175,196,24,173,174
176. 1770data 196,101,251,133,251,173,175,196
177. 1780data 101,252,133,252,96,56,165,251
178. 1790data 233,0,133,251,165,252,233,4
179. 1800data 133,252,24,165,251,105,0,133
180. 1810data 251,165,252,105,216,133,252,96
181. 1820 rem generated ml loader
182. 1830 sa = 50465
183. 1840 for n = 0 to 61
184. 1850 read a% : poke sa+n,a%: next n
185. 1860 sys sa
186. 1870 return
187. 1880 data 169,127,141,13,221,169,84,141
188. 1890 data 24,3,169,197,141,25,3,169
189. 1900 data 138,141,4,221,169,240,141,5
190. 1910 data 221,169,16,141,6,221,169,0
191. 1920 data 141,7,221,169,17,141,14,221
192. 1930 data 169,81,141,15,221,169,130,141
193. 1940 data 13,221,96,72,173,13,221,16
194. 1950 data 3,238,95,197,104,64,0
195. 1960 rem display clock
196. 1970  ifm=omthen return
197. 1980 gosub 2100
198. 1990 rem ss=fn rs(s)
199. 2000 rem &o 7
200. 2010 rem &l 40,25,40+18*cos(ss),25+18*sin(ss)
201. 2020 &o 12
202. 2030 mm=fn rs(m)
203. 2040 &l 40,25,40+15*cos(mm),25+15*sin(mm)
204. 2050 &o 15
205. 2060 hh=fn rh(h)
206. 2070 &l 40,25,40+10*cos(hh),25+10*sin(hh)
207. 2080 os=ss:om=mm:oh=hh
208. 2090 return
209. 2100 rem clean screen
210. 2110 print"{clear}"
211. 2120 &o 11
212. 2130 &c 40,25,24
213. 2140 return
RAW Paste Data