home *** CD-ROM | disk | FTP | other *** search
/ Compendium Deluxe 1 / LSD Compendium Deluxe 1.iso / a / programming / assembly / b-block1.lha / Boot_Block.s < prev    next >
Encoding:
Text File  |  1980-01-01  |  4.8 KB  |  263 lines

  1. gfxb=$7ff00
  2. count=$7ff04
  3. baba=$7ff08
  4. charp=$7ff0c
  5. oldcop=$7ff10
  6. intrpt=$7ff14
  7. count2=$7ff18
  8.  
  9. rastport=$7fe00
  10. bitmap=$7fea0
  11.  
  12. ;org $40000
  13. ;load $40000
  14.  
  15. beg:
  16. movem.l a6/a5/a4/a3/a2/a1/a0/d7/d6/d5/d4/d3/d2/d1/d0,-(A7)
  17. move.l #scrolly,charp            ; Where scrolly resides
  18. move.l $000004,a6
  19. lea    glib,a1
  20. jsr    -408(a6)
  21. move.l d0,a6
  22. move.l a6,gfxbase
  23.  
  24. lea    bitmap,a0
  25. moveq    #1,d0
  26. moveq    #8,d1
  27. moveq    #8,d2
  28. jsr    -390(a6)            ; InitBitmap
  29.  
  30. lea    bitmap,a0
  31. move.l    #work,8(a0)
  32.  
  33. lea    rastport,a1
  34. jsr    -198(a6)            ; InitRastPort
  35.  
  36. lea    bitmap,a0
  37. move.l    a0,rastport+4            ; struct BitMap *bitmap
  38.  
  39. move.b #1,count2
  40. move.b #$08,count
  41. lea    $48000,a0
  42. moveq  #$7f,d0
  43. clrmem:
  44. clr.l  (a0)+
  45. dbf    d0,clrmem
  46. move.w #$8380,$dff096
  47. move.w #$0020,$dff096
  48. move.w #$4000,$dff09a
  49. chkbtn:
  50. btst   #6,$bfe001
  51. beq    pressed
  52. cmpi.b #228,$dff006
  53. bne.s  chkbtn
  54. move.l #copl,$dff080
  55. lea    $dff000,a0
  56. clr.l  $120(a0)
  57. clr.w  $102(a0)
  58. move.l #$c9f00000,$40(a0)
  59. move.l #$ffffffff,$44(a0)
  60. move.l #$00048000,$50(a0)
  61. move.l #$00047ffe,$54(a0)
  62. clr.l  $64(a0)
  63. move.w #$1018,$58(a0)
  64. wtbl:
  65. btst   #$e,$dff002
  66. bne.s  wtbl
  67. move.l #$c9f00000,$40(a0)
  68. move.l #$ffffffff,$44(a0)
  69. move.l #$00049000,$50(a0)
  70. move.l #$00048ffe,$54(a0)
  71. clr.l  $64(a0)
  72. move.w #$1018,$58(a0)
  73. wtbl2:
  74. btst   #$e,$dff002
  75. bne.s  wtbl2
  76. subq.b #$04,count
  77. bne.L  endint
  78. move.b #$08,count
  79. scroll:
  80. subq.b #$01,count2
  81. bne.s  nonewchar
  82. lea    rastport,a1
  83. moveq    #8,d0
  84. moveq    #6,d1
  85. jsr    -240(a6)            ; Move (0,0)
  86. move.l charp,a0
  87. moveq  #1,d0
  88. lea    rastport,a1
  89. move.l gfxbase,a6
  90. jsr    -60(a6)                ; Fix char into workarea
  91. addq.l    #1,charp
  92. move.l    charp,a0
  93. tst.b    (a0)
  94. bne.s    noend
  95. move.l    #scrolly,charp
  96. noend:
  97. move.b #8,count2
  98. move.b #8,count
  99. nonewchar:
  100. lea    work,a0
  101. lea    $48000+47,a1
  102. lea    $49000+47,a2
  103. moveq    #7,d5
  104. loop1:
  105. roxl.b    #1,(a0)
  106. bcc.s    clearit
  107.  
  108. lea    char,a3                ; A Set point
  109. lea    char+8,a4
  110. moveq    #7,d4
  111. clp:
  112. move.b    (a3)+,(a1)
  113. move.b    (a4)+,(a2)
  114. add.l    #48,a1
  115. add.l    #48,a2
  116. dbf    d4,clp
  117. bra.s    skipit
  118.  
  119. clearit:
  120.  
  121. moveq    #7,d4
  122. cllp:
  123. clr.b    (a1)
  124. clr.b    (a2)
  125. add.l    #48,a1
  126. add.l    #48,a2
  127. dbf    d4,cllp
  128.  
  129. skipit:
  130. addq.l    #2,a0
  131. dbf    d5,loop1
  132.  
  133. endint:
  134. cmp.w    #2,z1
  135. bne    wei1
  136. lea    wave+2,a2
  137. lea    wave+10,a4
  138. move.w    (a2),d6
  139. moveq    #54,d5
  140. tlp:
  141. move.w    (a4),(a2)
  142. addq.l    #8,a2
  143. addq.l    #8,a4
  144. dbf    d5,tlp
  145. move.w    d6,(a2)
  146. clr.w    z1
  147. wei1:
  148. add.w    #1,z1
  149.  
  150. bra    chkbtn
  151. pressed:
  152. move.w #$8020,$dff096
  153. move.w #$c000,$dff09a
  154. move.l    gfxbase,a6
  155. move.l $26(a6),$dff080
  156. movem.l (a7)+,a6/a5/a4/a3/a2/a1/a0/d7/d6/d5/d4/d3/d2/d1/d0
  157. rts
  158. even
  159. z1: dc.w 0
  160. gfxbase:dc.l 0
  161. copl:
  162. dc.w $008e,$6080,$0090,$9fe0,$0180,$0000
  163. dc.w $0092,$0028,$00e0,$0004,$00e2,$8000
  164. dc.w $00e4,$0004,$00e6,$9000,$010a,$0002
  165. dc.w $0182,$000a,$0184,$055e,$0186,$0fff
  166. dc.w $0094,$00d8,$0108,$0002
  167. dc.w $0104,$0010,$0100,$2200
  168. wave:
  169. dc.w $0180,$0011,$2201,$ff00
  170. dc.w $0180,$0022,$2401,$ff00
  171. dc.w $0180,$0033,$2601,$ff00
  172. dc.w $0180,$0044,$2801,$ff00
  173. dc.w $0180,$0055,$2a01,$ff00
  174. dc.w $0180,$0066,$2c01,$ff00
  175. dc.w $0180,$0077,$2e01,$ff00
  176. dc.w $0180,$0088,$4001,$ff00
  177. dc.w $0180,$0099,$4201,$ff00
  178. dc.w $0180,$00aa,$4401,$ff00
  179. dc.w $0180,$00bb,$4601,$ff00
  180. dc.w $0180,$00cc,$4801,$ff00
  181. dc.w $0180,$00dd,$4a01,$ff00
  182. dc.w $0180,$00ee,$4c01,$ff00
  183. dc.w $0180,$00ff,$4e01,$ff00
  184. dc.w $0180,$00ff,$6001,$ff00
  185. dc.w $0180,$00ee,$6201,$ff00
  186. dc.w $0180,$00dd,$6401,$ff00
  187. dc.w $0180,$00cc,$6601,$ff00
  188. dc.w $0180,$00bb,$6801,$ff00
  189. dc.w $0180,$00aa,$6a01,$ff00
  190. dc.w $0180,$0099,$6c01,$ff00
  191. dc.w $0180,$0088,$6e01,$ff00
  192. dc.w $0180,$0077,$8001,$ff00
  193. dc.w $0180,$0066,$8201,$ff00
  194. dc.w $0180,$0055,$8401,$ff00
  195. dc.w $0180,$0044,$8601,$ff00
  196. dc.w $0180,$0033,$8801,$ff00
  197. dc.w $0180,$0022,$8a01,$ff00
  198. dc.w $0180,$0011,$8c01,$ff00
  199. dc.w $0180,$0000,$8e01,$ff00
  200. dc.w $0180,$0000,$a001,$ff00
  201. dc.w $0180,$0110,$a201,$ff00
  202. dc.w $0180,$0220,$a401,$ff00
  203. dc.w $0180,$0330,$a601,$ff00
  204. dc.w $0180,$0440,$a801,$ff00
  205. dc.w $0180,$0550,$aa01,$ff00
  206. dc.w $0180,$0660,$ac01,$ff00
  207. dc.w $0180,$0770,$ae01,$ff00
  208. dc.w $0180,$0880,$c001,$ff00
  209. dc.w $0180,$0990,$c201,$ff00
  210. dc.w $0180,$0aa0,$c401,$ff00
  211. dc.w $0180,$0bb0,$c601,$ff00
  212. dc.w $0180,$0cc0,$c801,$ff00
  213. dc.w $0180,$0dd0,$ca01,$ff00
  214. dc.w $0180,$0ee0,$cc01,$ff00
  215. dc.w $0180,$0ff0,$ce01,$ff00
  216. dc.w $0180,$0ff0,$e001,$ff00
  217. dc.w $0180,$0ee0,$e201,$ff00
  218. dc.w $0180,$0cc0,$e401,$ff00
  219. dc.w $0180,$0aa0,$e601,$ff00
  220. dc.w $0180,$0880,$e801,$ff00
  221. dc.w $0180,$0660,$ea01,$ff00
  222. dc.w $0180,$0440,$ec01,$ff00
  223. dc.w $0180,$0220,$ee01,$ff00
  224. dc.w $0180,$0000
  225. dc.w $ffdf,$fffe,$0001,$ff00
  226. dc.w $0180,$0066,$0201,$ff00
  227. dc.w $0180,$0055,$0401,$ff00
  228. dc.w $0180,$0044,$0601,$ff00
  229. dc.w $0180,$0033,$0801,$ff00
  230. dc.w $0180,$0022,$0a01,$ff00
  231. dc.w $0180,$0011,$0c01,$ff00
  232. dc.w $0180,$0000,$0e01,$ff00
  233. dc.w $0180,$0000
  234. dc.w $fffe,$fffe
  235. glib:
  236. dc "graphics.library",0
  237. eo:
  238.  
  239. scrolly:
  240. dc "THE FOG PRESENTS A SMALL BOOT-INTRO IN 1989 ",0
  241.  
  242. char:
  243. dc.b %11111111
  244. dc.b %10000001
  245. dc.b %10000001
  246. dc.b %10000001
  247. dc.b %10000001
  248. dc.b %10000001
  249. dc.b %10000001
  250. dc.b %11111111
  251.  
  252. dc.b %11111111
  253. dc.b %11111110
  254. dc.b %11111110
  255. dc.b %11111110
  256. dc.b %11111110
  257. dc.b %11111110
  258. dc.b %11111110
  259. dc.b %10000000,0
  260. end:
  261. even
  262. work:blk.w    8,0
  263.