home *** CD-ROM | disk | FTP | other *** search
/ Fujiology Archive / fujiology_archive_v1_0.iso / B / BUDGIEUK / BUDSRC13.ZIP / BUDSRC13.MSA / SCROLLIN.ES / MEGADETH.S < prev   
Text File  |  1985-11-20  |  5KB  |  335 lines

  1. *********************************************
  2. * THE NEW FAST NON-BUFFERED SCROLL ROOTS    *
  3. * WRITTEN FOR THE MINDBOMB MAIN MENU BY     *
  4. * MANIKIN 20-11-89                *
  5. *********************************************
  6.  
  7. SCREEN1        EQU $70000
  8.  
  9. *********************************************
  10.  
  11.     CLR.L -(SP)            SET SUPERVISOR
  12.     MOVE.W #$20,-(SP)
  13.     TRAP #1
  14.     ADD.L #6,SP
  15.  
  16.     MOVE.L #STRING,-(SP)        TURN OFF MOUSE/JOYSTICKS
  17.     MOVE.W #1,-(SP)
  18.     MOVE.W #25,-(SP)
  19.     TRAP #14
  20.     ADDQ.L #8,SP
  21.  
  22.     BSR SHIFTER            PRE SHIFT FONT
  23.     BSR CLEARSCREEN            CLEARS THE SCREENS
  24.     BSR PREDOSCROLL
  25.  
  26.     MOVE.L #$00000300,$FF8240    SET PALETTE
  27.     MOVE.L #$04000510,$FF8244
  28.     MOVE.L #$05200630,$FF8248
  29.     MOVE.L #$06400750,$FF824C
  30.     MOVE.L #SCREEN1,D0        SET PHYSBASE
  31.     LSR.W #8,D0
  32.     MOVE.L D0,$FF8200
  33.  
  34. LOOP1
  35.     MOVE.W #37,-(SP)        WAIT FOR VBL
  36.     TRAP #14
  37.     ADD.L #2,SP
  38.  
  39.     BSR DO_SCROLL
  40.  
  41.     BRA.S LOOP1
  42.  
  43. WRAP
  44.     CLR.W COUNT
  45.     MOVE.L #SCROLLINE,SCROLLPOINT
  46.  
  47. **********************************
  48. * THE SCROLL ROUTINES
  49. *********************************
  50.  
  51. DO_SCROLL
  52.     MOVE.W COUNT,D0
  53.     ADDQ.W #1,D0
  54.     CMP.W #4,D0
  55.     BNE.S BYPASS
  56.     CLR.W D0
  57.     ADD.L #1,SCROLLPOINT
  58.     MOVE.L SCROLLPOINT,A0
  59.     MOVE.B 21(A0),D1
  60.     CMP.B #$FF,D1
  61.     BEQ WRAP
  62. BYPASS
  63.     MOVE.W D0,COUNT
  64.     CMP.W #1,D0
  65.     BEQ ROOT1
  66.     CMP.W #2,D0
  67.     BEQ ROOT2
  68.     CMP.W #3,D0
  69.     BEQ ROOT3
  70.  
  71. ROOT0
  72.     LEA SCREEN1+16000,A0
  73.     MOVE.L SCROLLPOINT,A1
  74.  
  75.     REPT 10
  76.     MOVEQ #0,D0
  77.     MOVE.B (A1)+,D0
  78.     MULU #512,D0
  79.     LEA FONT1,A2
  80.     ADD.L D0,A2
  81.     BSR ROOT0LOOP
  82.     ENDR
  83.     RTS
  84.  
  85. ROOT0LOOP
  86. ADDIT    SET 0
  87.  
  88.     REPT 10    
  89.     MOVEM.L (A2)+,D0-D7/A3-A6
  90.     MOVEM.L D0-D3,ADDIT(A0)
  91.     MOVEM.L D4-D7,ADDIT+160(A0)
  92.     MOVEM.L A3-A6,ADDIT+320(A0)
  93. ADDIT    SET ADDIT+480
  94.     ENDR
  95.     MOVEM.L (A2)+,D0-D7
  96.     MOVEM.L D0-D3,ADDIT(A0)
  97.     MOVEM.L D4-D7,ADDIT+160(A0)
  98.     LEA 16(A0),A0
  99.     RTS
  100.  
  101. ROOT1
  102.     MOVEQ #0,D0
  103.     LEA SCREEN1+16000,A0
  104.     MOVE.L SCROLLPOINT,A1
  105.  
  106.     MOVE.B (A1)+,D0
  107.     MULU #768,D0
  108.     LEA FONT2,A2
  109.     ADD.L D0,A2
  110. ADDIT    SET 0
  111.     REPT 32
  112.     LEA 8(A2),A2
  113.     MOVEM.L (A2)+,D0-D3
  114.     MOVEM.L D0-D3,ADDIT(A0)
  115. ADDIT    SET ADDIT+160
  116.     ENDR
  117.     LEA 8(A0),A0
  118.  
  119.     REPT 9
  120.     MOVEQ #0,D0
  121.     MOVE.B (A1)+,D0
  122.     MULU #768,D0
  123.     LEA FONT2,A2
  124.     ADD.L D0,A2
  125.     BSR ROOT1LOOP
  126.     ENDR
  127.  
  128.     MOVEQ #0,D0
  129.     MOVE.B (A1)+,D0
  130.     MULU #768,D0
  131.     LEA FONT2,A2
  132.     ADD.L D0,A2
  133. ADDIT    SET 0
  134.     REPT 32    
  135.     MOVE.L (A2)+,D0
  136.     MOVE.L (A2)+,D1
  137.     OR.L D0,ADDIT(A0)    
  138.     OR.L D1,ADDIT+4(A0)
  139.     LEA 16(A2),A2
  140. ADDIT    SET ADDIT+160
  141.     ENDR
  142.  
  143.     RTS
  144.  
  145. ROOT1LOOP
  146. ADDIT    SET 0
  147.  
  148.     REPT 16    
  149.     MOVEM.L (A2)+,D0-D7/A3-A6
  150.     OR.L D0,ADDIT(A0)    
  151.     OR.L D1,ADDIT+4(A0)
  152.     MOVEM.L D2-D5,ADDIT+8(A0)
  153.     OR.L D6,ADDIT+160(A0)    
  154.     OR.L D7,ADDIT+164(A0)
  155.     MOVEM.L A3-A6,ADDIT+168(A0)
  156. ADDIT    SET ADDIT+320
  157.     ENDR
  158.     LEA 16(A0),A0
  159.  
  160.     RTS
  161.  
  162. ROOT2
  163.     MOVEQ #0,D0
  164.     LEA SCREEN1+16000,A0
  165.     MOVE.L SCROLLPOINT,A1
  166.  
  167.     MOVE.B (A1)+,D0
  168.     MULU #512,D0
  169.     LEA FONT1,A2
  170.     ADD.L D0,A2
  171. ADDIT    SET 0
  172.     REPT 32    
  173.     LEA 8(A2),A2
  174.     MOVE.L (A2)+,ADDIT(A0)
  175.     MOVE.L (A2)+,ADDIT+4(A0)
  176. ADDIT    SET ADDIT+160
  177.     ENDR
  178.     LEA 8(A0),A0
  179.  
  180.     REPT 9
  181.     MOVEQ #0,D0
  182.     MOVE.B (A1)+,D0
  183.     MULU #512,D0
  184.     LEA FONT1,A2
  185.     ADD.L D0,A2
  186.     BSR ROOT0LOOP
  187.     ENDR
  188.  
  189.     MOVEQ #0,D0
  190.     MOVE.B (A1)+,D0
  191.     MULU #512,D0
  192.     LEA FONT1,A2
  193.     ADD.L D0,A2
  194. ADDIT    SET 0
  195.     REPT 32    
  196.     MOVE.L (A2)+,ADDIT(A0)
  197.     MOVE.L (A2)+,ADDIT+4(A0)
  198.     LEA 8(A2),A2
  199.  
  200. ADDIT    SET ADDIT+160
  201.     ENDR
  202.  
  203.     RTS
  204.  
  205. ROOT3
  206.     MOVEQ #0,D0
  207.     LEA SCREEN1+16000,A0
  208.     MOVE.L SCROLLPOINT,A1
  209.  
  210.     MOVE.B (A1)+,D0
  211.     MULU #768,D0
  212.     LEA FONT2,A2
  213.     ADD.L D0,A2
  214. ADDIT    SET 0
  215.  
  216.     REPT 32
  217.     LEA 16(A2),A2
  218.     MOVE.L (A2)+,ADDIT(A0)
  219.     MOVE.L (A2)+,ADDIT+4(A0)
  220. ADDIT    SET ADDIT+160
  221.     ENDR
  222.  
  223.     REPT 9
  224.     MOVEQ #0,D0
  225.     MOVE.B (A1)+,D0
  226.     MULU #768,D0
  227.     LEA FONT2,A2
  228.     ADD.L D0,A2
  229.     BSR ROOT1LOOP
  230.     ENDR
  231.  
  232.     MOVEQ #0,D0
  233.     MOVE.B (A1)+,D0
  234.     MULU #768,D0
  235.     LEA FONT2,A2
  236.     ADD.L D0,A2
  237. ADDIT    SET 0
  238.     REPT 32    
  239.     MOVEM.L (A2)+,D0-D3
  240.     OR.L D0,ADDIT(A0)    
  241.     OR.L D1,ADDIT+4(A0)
  242.     MOVE.L D2,ADDIT+8(A0)
  243.     MOVE.L D3,ADDIT+12(A0)
  244.     LEA 8(A2),A2
  245. ADDIT    SET ADDIT+160
  246.     ENDR
  247.  
  248.     RTS
  249.  
  250.  
  251. ************************************
  252. * ROUTINE TO CLEAR SCREENS
  253. ************************************
  254.  
  255. CLEARSCREEN    
  256.     LEA SCREEN1,A0
  257.     MOVE.W #8000,D0
  258. C_LOOP1
  259.     CLR.L (A0)+
  260.     DBF D0,C_LOOP1
  261.     RTS
  262.  
  263.  
  264. ************************************
  265. * ROUTINE TO PRE SHIFT THE FONT
  266. ***********************************
  267.  
  268. SHIFTER
  269.     LEA FONT1,A0
  270.     LEA FONT2,A1
  271.  
  272.     MOVE.W #1919,D0
  273. LOOP
  274.     MOVE.B (A0),1(A1)
  275.     MOVE.B 1(A0),8(A1)
  276.     MOVE.B 2(A0),3(A1)
  277.     MOVE.B 3(A0),10(A1)
  278.     MOVE.B 4(A0),5(A1)
  279.     MOVE.B 5(A0),12(A1)
  280.     MOVE.B 6(A0),7(A1)
  281.     MOVE.B 7(A0),14(A1)
  282.  
  283.     MOVE.B 8(A0),9(A1)
  284.     MOVE.B 9(A0),16(A1)
  285.     MOVE.B 10(A0),11(A1)
  286.     MOVE.B 11(A0),18(A1)
  287.     MOVE.B 12(A0),13(A1)
  288.     MOVE.B 13(A0),20(A1)
  289.     MOVE.B 14(A0),15(A1)
  290.     MOVE.B 15(A0),24(A1)
  291.     LEA 24(A1),A1
  292.     LEA 16(A0),A0
  293.     DBF D0,LOOP
  294.  
  295.     RTS
  296.  
  297. PREDOSCROLL
  298.     LEA SCROLLINE,A0
  299. SLOOP
  300.     MOVE.B (A0),D0
  301.     CMP.B #$FF,D0
  302.     BEQ.S ENDIT
  303.     SUB.B #32,D0
  304.     MOVE.B D0,(A0)+
  305.     BRA.S SLOOP
  306. ENDIT
  307.     RTS
  308.  
  309. ***********************************
  310. * THE SCROLLINE
  311. **********************************
  312.  
  313. SCROLLINE
  314.     DC.B "  THIS IS THE NEW 4 PLANE SCROLL ROUTINE BY THE LOST BOYS (##)"
  315.     DC.B "FEATURING THE NEW MEGADETH FONT BY SPAZ!! WE THINK THAT IT ISN'T "
  316.     DC.B "POSSIBLE TO WRITE A SCROLL FASTER USING THIS TECHNIQUE????       ",$FF
  317.  
  318.     EVEN
  319.  
  320. SCROLLPOINT    DC.L SCROLLINE
  321.  
  322. ***************************
  323. * VARIABLES AND ALL SORTS OF OTHER SHIT
  324. ***************************
  325.  
  326. COUNT        DC.W -1
  327. STRING        DC.B $12,$1A
  328.  
  329. ********************************
  330. * THE FONTS
  331. ******************************
  332.  
  333. FONT1    INCBIN "SCROLLIN.ES\MEGADETH.FON"
  334. FONT2
  335.