home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / Programming / Assembler / dse-src3.dms / in.adf / Source / Nightfall / Ntro3.lha / bt-3.good.s < prev    next >
Encoding:
Text File  |  1993-01-15  |  29.4 KB  |  1,053 lines

  1. ***********************************************************
  2. * This program was "altered" by The Dancing Fool of Epsilon
  3. * on 15.01.93.  The original source (By Booger of Nightfall)
  4. * should also be in this archive.  The only changes to the demo
  5. * itself are I took out the music and therefore had to change the
  6. * way the VU-Meter stars work. :^) Now come Booger's 
  7. * comments.....
  8. *
  9. * ALL OF THE TEXTS ARE AT THE BOTTOM!
  10. * for NIGHTFALL if you wanna use this...
  11. * 1> If you wann change the MOD go to the END Of the FILE and 
  12. *    Put a new MOD name and path
  13. * 2> The text is section off into 25x40 blocks.. to
  14. *    add another screen just copy a block of memory and edite it out
  15. *    I have section it off for ya to make it easier...
  16. * UPDATED SCROLLY 
  17. * 3> YOU CAN FIND THE BOTTOM SCROLLY Down below... under TEXTT
  18. *    I HOPE YOU LIKE THIS ONE!!!
  19. * 4> If you want a NEW FONT then use PF8 to make an 8x8 font
  20. *    and use PF16 to make a 16x16 font
  21. *    Now just change the incbins to point at them
  22.  
  23. * Now... 
  24. *  A  ;Assemble
  25. *  WO ;Write Object file
  26. *  Name.exe ; Name of Object file
  27. *  G  ; GO <test file to see if it works..
  28.  
  29. * Now Exit and crunch it with power packer...
  30.  
  31. * I released this file 09-09-92...
  32. * However I went back and REdid the MUSIC for Pro-Tracker..
  33. * Electronic Ice updated his mod and Specfied I have to stop
  34. * using Digital Sound Studio..  Also from now on I'm writing for PAL!
  35. * I also updated the routine for the scrolling.. its SMOOTHER NOW!
  36. * A Coders life is never done... I'm about finished with this....
  37. * I know I shouldn't do this but I'm adding a SCROLL text for the bottom...
  38. ***********************************************************
  39. * Includes
  40. ***********************************************************
  41.  
  42.         incdir    "DevpacAm:include/"
  43.         include    "exec/exec_lib.i"
  44.         include    "exec/execbase.i"
  45.         include    "graphics/gfxbase.i"
  46.         include    "graphics/graphics_lib.i"
  47.         include    "hardware/custom.i"
  48.  
  49. ***********************************************************
  50. * Other Macros
  51. ***********************************************************
  52.  
  53. CALL        MACRO
  54.         jsr    _LVO\1(a6)
  55.         ENDM
  56.  
  57. WaitBlit    MACRO
  58.         btst.b    #6,$dff002
  59. .\@:        btst.b    #6,$dff002
  60.         bne.b    .\@
  61.         ENDM
  62.  
  63. ***********************************************************
  64. * Other Equates
  65. ***********************************************************
  66.  
  67.  IFND    gb_ActiView
  68. gb_ActiView    EQU    32
  69.  ENDIF
  70.  
  71.  IFND    gb_CopInit
  72. gb_CopInit    EQU    36
  73.  ENDIF
  74.  
  75. ***********************************************************
  76.  
  77.         section    code,code
  78.  
  79.         bsr.w    TakeSystem
  80.         move.w    #$20,$1dc-2(a5)
  81.         move.w    #$83e0,DMACon-2(a5)
  82. start:        bsr.w    starst
  83.         bsr.w    scroll
  84.  
  85.         move.l    VectorBase,a0
  86.         move.l    $6c(a0),oldirq     ;store the old interrupt
  87.         move.l    #newirq,$6c(a0)     ;insert your interrupt
  88.         move.w    #$c020,$dff000+INTEna
  89.         bsr.w    introst
  90.  
  91.         bsr.w    RestoreSystem
  92.         rts             ;end program!
  93.  
  94. ***********************************************************
  95.  
  96. newirq:        movem.l    a0-a6/d0-d7,-(a7)
  97.         bsr.w    scrollback
  98.         bsr.w    scrolld1
  99.         bsr.w    scrollt
  100.         bsr.w    movestar
  101.         bsr.w    scrolloff2    
  102.         move.w #$0070,$dff09c
  103. intend:        movem.l    (a7)+,a0-a6/d0-d7
  104.         rte
  105.  
  106. ***********************************************************
  107.  
  108. introst:    lea    2+bmap,a0
  109.         lea    2+cmap,a1
  110.         lea    2+dmap,a2
  111.         move.l    #bpic,d0
  112.         move.l    #bpic+40,d1
  113.         move.w    d0,4(a0)
  114.         move.w    d1,12(a0)
  115.         move.w    d0,4(a1)
  116.         move.w    d1,12(a1)
  117.         move.w    d0,4(a2)
  118.         move.w    d1,12(a2)
  119.         swap    d0
  120.         swap    d1
  121.         move.w    d0,(a0)
  122.         move.w    d1,8(a0)
  123.         move.w    d0,(a1)
  124.         move.w    d1,8(a1)
  125.         move.w    d0,(a2)
  126.         move.w    d1,8(a2)
  127.  
  128.         lea    2+smap,a0
  129.         move.l    #s_pic,d0
  130.         move.l    #s_pic+40,d1
  131.         move.w    d0,4(a0)
  132.         move.w    d1,12(a0)
  133.         swap    d0
  134.         swap    d1
  135.         move.w    d0,(a0)
  136.         move.w    d1,8(a0)
  137.  
  138.         move.l    #copa,$dff080
  139.  
  140. mleft:        btst    #6,$bfe001    
  141.         bne.b    mright
  142.         tst.w    soff
  143.         bne.b    mright
  144.         move.w    #48,soff
  145.  
  146. mright:        btst    #10,$dff016    ;right mouse button
  147.         bne.b    mleft
  148.         btst    #6,$bfe001    
  149.         bne.b    mleft
  150.         bsr.w    scrolloff1
  151.         rts
  152.  
  153. ***********************************************************
  154.  
  155. scrollback:    tst.w    up_down
  156.         bne.w    scrollbacku
  157.         bra.w    scrollbackd
  158.  
  159. scrollbackd:    moveq    #0,d0
  160.         addq.w    #1,backpt
  161.         cmpi.w    #back,backpt
  162.         bne.b    dsc_go
  163.         clr.w    backpt
  164.         move.w    #1,up_down
  165. dsc_go:        move.w    backpt,d0
  166.         lea    backsine,a0
  167.         add.w    d0,d0
  168.         move.w    (a0,d0.w),d0
  169.         tst.w    d0
  170.         beq.w    rts
  171.     
  172.         move.w    d0,d1
  173.         lsl.w    #6,d1    ;setting up opertion for 1line
  174.         add.w    d1,d1
  175.         add.w    #20,d1
  176.         move.w    #100,d2    
  177.         sub.w    d0,d2
  178.         addq.w    #1,d2
  179.         lsl.w    #6,d2
  180.         add.w    d2,d2
  181.         add.w    #20,d2
  182.         mulu    #80,d0
  183.         move.l    #8000,d3
  184.         sub.w    d0,d3
  185.         add.l    #bpic,d3
  186.         
  187. dsback:        WaitBlit
  188.         move.l     #-1,$dff044
  189.         move.l    d3,$dff050    ; a obj
  190.         move.l    #buffer,$dff054    ; d
  191.         move.l    #0,$dff064    ; a
  192.         move.l    #$09f00000,$dff040
  193.         move.w    d1,$dff058
  194.  
  195.         WaitBlit
  196.         move.l    d3,$dff050    ; a obj    d0
  197.         move.l    #bpic+8000,$dff054    ; d
  198.         move.w    #$2,$dff042
  199.         move.w    d2,$dff058    ;d2
  200.  
  201.         WaitBlit
  202.         move.l    #buffer,$dff050    ; a obj
  203.         move.l    #bpic,$dff054    ; d
  204.         move.w    #$0,$dff042
  205.         move.w    d1,$dff058
  206.         rts
  207.  
  208. ***********************************************************
  209.  
  210. scrollbacku:    moveq    #0,d0
  211.         addq.w    #1,backpt
  212.         cmpi.w    #back,backpt
  213.         bne.b    sc_go
  214.         clr.w    backpt
  215.         clr.w    up_down
  216. sc_go:        move.w    backpt,d0
  217.         lea    backsine,a0
  218.         add.w    d0,d0
  219.         move.w    (a0,d0.w),d0
  220.         tst.w    d0
  221.         beq.w    rts
  222.         move.w    d0,d1
  223.         lsl.w    #6,d1    ;setting up opertion for 1line
  224.         add.w    d1,d1
  225.         add.w    #20,d1
  226.         move.w    #100,d2
  227.         sub.w    d0,d2
  228.         addq.w    #1,d2
  229.         lsl.w    #6,d2    ;setting up opertion for 1line
  230.         add.w    d2,d2
  231.         add.w    #20,d2
  232.         mulu    #80,d0
  233.         move.l    #8000,d3
  234.         sub.w    d0,d3
  235.         add.l    #bpic,d0
  236.         add.l    #bpic,d3
  237.  
  238. sback:        WaitBlit
  239.         move.l     #$ffffffff,$dff044
  240.         move.l    #bpic,$dff050    ; a obj
  241.         move.l    #buffer,$dff054    ; d
  242.         move.l    #000000000,$dff064    ; a
  243.         move.l    #$09f00000,$dff040
  244.         move.w    d1,$dff058
  245.  
  246.         WaitBlit
  247.         move.l    d0,$dff050    ; a obj
  248.         move.l    #bpic,$dff054    ; d
  249.         move.w    d2,$dff058
  250.  
  251.         WaitBlit
  252.         move.l    #buffer,$dff050    ; a obj
  253.         move.l    d3,$dff054    ; d
  254.         move.w    d1,$dff058
  255.         rts
  256.  
  257. ***********************************************************
  258.  
  259. scrolloff2:    cmpi.w    #200,sup
  260.         bne.b    rts
  261.         tst.w    soff
  262.         beq.b    rts
  263.         lea    sine,a0
  264.         move.w    soff,d0
  265.         add.w    d0,d0
  266.         moveq    #0,d2
  267.         move.w    (a0,d0.w),d2
  268.         muls    #40,d2
  269.  
  270.         lea    2+amap,a0
  271.         move.l    #apic+8000,d0
  272.         sub.l    d2,d0
  273.         move.l    d0,d1
  274.         addi.l    #41,d1
  275.         move.w    d0,4(a0)
  276.         move.w    d1,12(a0)
  277.         swap    d0
  278.         swap    d1
  279.         move.w    d0,(a0)
  280.         move.w    d1,8(a0)
  281.         subq.w    #1,soff
  282.         beq.w    scroll
  283. rts:        rts
  284.  
  285. ***********************************************************
  286.  
  287. scrolld1:    cmpi.w    #200,sup
  288.         beq.b    rts
  289.         lea    sine,a0
  290.         move.w    sup,d0
  291.         add.w    d0,d0
  292.         moveq    #0,d2
  293.         move.w    (a0,d0.w),d2
  294.         muls    #40,d2
  295.  
  296.         lea    2+amap,a0
  297.         move.l    #apic+8000,d0
  298.         sub.l    d2,d0
  299.         move.l    d0,d1
  300.         add.l    #41,d1
  301.         move.w    d0,4(a0)
  302.         move.w    d1,12(a0)
  303.         swap    d0
  304.         swap    d1
  305.         move.w    d0,(a0)
  306.         move.w    d1,8(a0)
  307.         addq.w    #1,sup
  308.         rts
  309.  
  310. ***********************************************************
  311.  
  312. scrolloff1:    cmpi.w    #200,sup
  313.         bne.b    scrolloff1
  314.         move.w    #40,soff1
  315.  
  316. bl_tst:        WaitBlit
  317.         move.l     #$000fffff,$dff044
  318.         move.l    #apic,$dff050    ; a obj
  319.         move.l    #apic-2,$dff054    ; d
  320.         move.l    #0,$dff064    ; a
  321.         move.l    #$59f00000,$dff040
  322.         move.w    #$3214,$dff058
  323.         subq.w    #1,soff1
  324.         bne.b    bl_tst
  325.         rts
  326.  
  327. scroll:        movem.l    a0-a6/d0-d7,-(a7)
  328.         clr.w    sup
  329.         lea    2+amap,a0
  330.         move.l    #apic+8000,d0
  331.         move.l    #apic+8041,d1
  332.         move.w    d0,4(a0)
  333.         move.w    d1,12(a0)    
  334.         swap    d0
  335.         swap    d1
  336.         move.w    d0,(a0)
  337.         move.w    d1,8(a0)
  338.         moveq    #9,d4
  339. golp:        moveq    #99,d6    ;num in line -1
  340. gotxt:        moveq    #0,d0
  341.         lea    text,a0
  342.         move.l    txt_pnt,d1
  343.         move.b    (a0,d1),d0
  344.         bne.b    n_nwtxt
  345.         clr.l    txt_pnt
  346.         move.b    text,d0
  347. n_nwtxt:    addq.l    #1,txt_pnt
  348. n_chnge:    sub.w    #32,d0        ;subtract hex start
  349.         lsl.w    #3,d0        ;and get offset in the font
  350.         add.l    #font8,d0        ;now to locate in ram!
  351.         moveq    #0,d7
  352.         addq.w    #1,xoff
  353.         cmpi.w    #40,xoff
  354.         bne.b    y_go
  355.         clr.w    xoff
  356.         move.w    #0,d7
  357.         addi.w    #320,yoff
  358.         cmpi.w    #8000,yoff
  359.         bne.b    y_go
  360.         clr.w    yoff
  361. y_go:        move.w    xoff,d7
  362.         add.w    yoff,d7
  363.         add.l    offset,d7
  364.         add.l    #apic,d7
  365.         move.l    d7,a1
  366.         move.l    d0,a0
  367.          moveq    #7,d3    ;number of data
  368. looper:        move.b    (a0)+,(a1)
  369.         lea    40(a1),a1
  370.         dbf    d3,looper
  371.         dbf    d6,gotxt
  372.         movem.l    a0-a6/d0-d7,-(a7)
  373.         bsr.w    scrollback
  374.         bsr.w    movestar
  375.         bsr.w    scrollt
  376.         movem.l    (a7)+,a0-a6/d0-d7
  377.         dbf    d4,golp
  378.  
  379.         movem.l    (a7)+,a0-a6/d0-d7
  380.         rts
  381.  
  382. ***********************************************************
  383.  
  384. tst_chn:    ; lea    mt_chan1temp,a1
  385.         lea    spoint,a0
  386.         moveq    #3,d1    ;num of channels -1
  387. gloop:        move.b    1(a1),d0
  388.         tst.b    d0
  389.         beq.b    nostovr
  390.         move.w    #-1,(a0)
  391. nostovr:    addq.w    #1,(a0)
  392.         cmpi.w    #8,(a0)
  393.         bne.b    not0
  394.         move.w    #7,(a0)
  395. not0:        move.w    (a0)+,(a0)+
  396.         lea    44(a1),a1
  397.         dbf    d1,gloop
  398.         rts
  399.  
  400. ***********************************************************
  401. * stars use sprites
  402.  
  403. starst:        bsr.b    tst_chn
  404.         lea    csprite,a4
  405.         lea    spoint,a6
  406.         lea    buffpt,a5
  407.         moveq    #7,d7    ;this is the number of sprites used -1
  408. sprloop:    moveq    #0,d0
  409.         move.w    (a6)+,d0
  410.         lsl.l    #6,d0
  411.         add.l    #str0,d0
  412.         move.l    (a5),a1    ;location of the start of data
  413.         moveq    #$2c,d5    ;start of sprites
  414.         moveq    #7,d6    ;num of v sprites in loop -1
  415.     ; randing stars
  416. not1:        move.l    d0,a0
  417.  
  418.         move.b    $dff007,d1    ;rand start height!
  419.         andi.b    #$f,d1
  420.         beq.b    not1
  421.         add.b    d1,d5
  422.  
  423.         move.b    d5,(a1)+    ;4 more
  424.  
  425. not2:        move.b    $dff007,d1
  426.         and.b    $dff007,d1
  427.         or.b    $dff007,d1
  428.         and.b    $dff007,d1
  429.         beq.b    not2
  430.         move.b    d1,(a1)+
  431.  
  432.         addi.b    #$f,d5
  433.         move.b    d5,(a1)+
  434.         lea    1(a1),a1
  435.  
  436.     ; coping that data into the sprite
  437.         moveq    #14,d1    ;num -1 of lines
  438. scopylp:    move.l    (a0)+,(a1)+
  439.         dbf    d1,scopylp
  440.         dbf    d6,not1
  441.     
  442.     ; put sprites in copper
  443.         move.l    (a5)+,d0
  444. copys:        move.w     d0,6(a4)
  445.         swap     d0
  446.         move.w     d0,2(a4)
  447.         lea    8(a4),a4
  448.         dbf    d7,sprloop    
  449.         rts
  450.  
  451. ***********************************************************
  452.  
  453. str_rnd:    moveq    #0,d0
  454.         move.w    (a6),d0
  455.         lsl.w    #6,d0
  456.         add.l    #str0,d0
  457.         move.l    (a5),a1    ;location of the start of data
  458.         moveq    #$2c,d5    ;start of sprites
  459.         moveq    #7,d6    ;num of v sprites in loop -1
  460. xnot1:        move.l    d0,a0
  461.         move.b    $dff007,d1    ;rand start height!
  462.         and.b    #$f,d1
  463.         beq.b    xnot1
  464.         add.b    d1,d5
  465.         move.b    d5,(a1)+    ;4 more
  466. xnot2:        move.b    $dff007,d1
  467.         and.b    $dff007,d1
  468.         or.b    $dff007,d1
  469.         beq.b    xnot2
  470.         move.b    d1,(a1)+
  471.         addi.b    #$f,d5
  472.         move.b    d5,(a1)+
  473.         lea    61(a1),a1
  474.         dbf    d6,xnot1
  475.         rts
  476.  
  477. ***********************************************************
  478. * stars use sprites
  479.  
  480. movestar:    bsr.w    tst_chn
  481.         lea    csprite,a4
  482.         lea    spoint,a6
  483.         lea    buffpt,a5
  484.         lea    speed,a3
  485. ***
  486.         moveq    #7,d7    ;this is the number of sprites used -1
  487.     ; get the actual data pointer
  488. xsprloop:    moveq    #0,d0
  489.         move.w    (a6)+,d0
  490.         lsl.l    #6,d0
  491.         add.l    #str0,d0
  492.         moveq    #7,d6    ;vloop!
  493.         move.b    (a3)+,d2
  494.         move.l    (a5),a1    ;location of the start of data
  495. xloop:        move.l    d0,a0
  496.         move.w    (a1),d3
  497.         add.b    d2,d3
  498.         move.w    d3,(a1)
  499.         lea    4(a1),a1
  500.     ; coping that data into the sprite
  501.         moveq    #14,d1    ;num -1 of lines
  502. zscopylp:    move.l    (a0)+,(a1)+
  503.         dbf    d1,zscopylp
  504.         dbf    d6,xloop
  505.     ; put sprites in copper
  506.         move.l    (a5)+,d0
  507. zcopys:        move.w     d0,6(a4)
  508.         swap     d0
  509.         move.w     d0,2(a4)
  510.         lea    8(a4),a4
  511.         dbf    d7,xsprloop
  512.     ;testing rnd factor
  513.         lea    spoint,a6
  514.         lea    buffpt,a5
  515.         move.w    #8,numlp    ;numtimes to loop - 1
  516. rndlp:        cmpi.w    #7,(a6)    ;
  517.         bne.b    nornd
  518.         bsr.w    str_rnd
  519. nornd:        lea    2(a6),a6
  520.         lea    4(a5),a5
  521.         subq.w    #1,numlp
  522.         bne.b    rndlp
  523.         rts
  524.  
  525. scrollt:    movem.l    a0-a6/d0-d7,-(a7)
  526. go_text:    moveq    #0,d0
  527.         move.w    speed_,d7
  528.         sub.w    d7,delay
  529.         bgt.w    bl_shft
  530.         move.w    #16,delay
  531.         lea    textt,a0
  532.         move.l    text_pnt,d1
  533.         move.b    (a0,d1),d0
  534.         bne.b    n_nwtxt.
  535.         clr.l    text_pnt
  536.         move.b    textt,d0
  537.         moveq    #8,d1
  538. n_nwtxt.:    addq.l    #1,text_pnt
  539.         moveq    #$f,d1
  540. no_loop:    cmp.w    d1,d0
  541.         beq.b    cspeed
  542.         dbf    d1,no_loop
  543.         bra.b    n_chnge.
  544. cspeed:        move.w    d1,speed_
  545.         bra.b    go_text
  546. n_chnge.:    sub.w    #32,d0        ;subtract hex start
  547.         lsl.w    #5,d0        ;and get offset in the font
  548.         add.l    #font16,d0        ;now to locate in ram!
  549.  
  550. put_fnt:    WaitBlit
  551.         move.l    #$ffffffff,$dff044;
  552.         move.l    d0,$dff050    ; a mask of logo
  553.         move.l    #42+spic,$dff054    ; d destination!
  554.         move.l    #$0000002a,$dff064    ; d <pl wdth bytes40>-(blt words1*2)
  555.         move.l    #$09f00000,$dff040    ; cookiecut
  556.         move.w    #$0401,$dff058    ; (height*64*bitplanes)+(words wide of blit!)
  557.  
  558. bl_shft:    WaitBlit
  559.         move.l    #$ffff0000,$dff044
  560.         move.l    #spic+2,$dff050
  561.         move.l    #spic,$dff054
  562.         move.l    #0,$dff064
  563.         move.w    #0,$dff042
  564.         eori.w    #$f,d7
  565.         addq.w    #1,d7
  566.         swap    d7
  567.         ror.l    #4,d7
  568.         ori.w    #$9f0,d7
  569.         move.w    d7,$dff040
  570.         move.w    #$0416,$dff058
  571.  
  572.     ; copy data to real plane;!!!!
  573.         WaitBlit
  574.         move.w     #$ffff,$dff046
  575.         move.l    #spic+2,$dff050    ; a obj
  576.         move.l    #s_pic,$dff054    ; d
  577.         move.w    #4,$dff064    ; a
  578.         move.w    #$9f0,$dff040
  579.         move.w    #$0414,$dff058
  580.         movem.l    (a7)+,a0-a6/d0-d7
  581.         rts
  582.  
  583. ***********************************************************
  584.  
  585. TakeSystem:    movea.l    4.w,a6        ; exec base
  586.         lea    $dff002,a5    ; custom chip base + 2
  587.  
  588.         lea    GraphicsName,a1    ; "graphics.library"
  589.         moveq    #0,d0        ; any version
  590.         CALL    OpenLibrary    ; open it.
  591.         move.l    d0,gfx_base    ; save pointer to gfx base
  592.         beq.b    .exit        ; if we got a NULL, then exit
  593.         move.l    d0,a6        ; for later callls...
  594.  
  595.         move.l  gb_ActiView(a6),OldView    ; save old view
  596.  
  597.         move.w    #0,a1        ; clears full long-word
  598.         CALL    LoadView    ; Open a NULL view (resets display
  599.                     ;   on any Amiga)
  600.  
  601.         CALL    WaitTOF        ; Wait twice so that an interlace
  602.         CALL    WaitTOF        ;   display can reset.
  603.  
  604.         CALL    OwnBlitter    ; take over the blitter and...
  605.         CALL    WaitBlit    ;   wait for it to finish so we
  606.                     ;   safely use it as we please.
  607.  
  608.         movea.l    4.w,a6        ; exec base
  609.         CALL    Forbid        ; kill multitasking
  610.  
  611.         cmpi.b    #50,VblankFrequency(a6)    ; is vblank rate pal?
  612.         beq.b    .pal        ; yup.
  613.         st    ntsc        ; set NTSC flag.
  614.  
  615. .pal:        move.w    $7c-2(a5),d0    ; AGA register...
  616.         cmpi.b    #$f8,d0        ; are we AGA?
  617.         bne.b    .not_aga    ; nope.
  618.         move.w    #0,$dff1fc    ; reset AGA sprites to normal mode
  619.  
  620. .not_aga:    bsr.w    GetVBR        ; get the vector base pointer
  621.         move.l    d0,VectorBase    ; save it for later.
  622.  
  623.         move.w    dmaconr-2(a5),d0    ; old DMACON bits
  624.         ori.w    #$8000,d0    ; or it set bit for restore
  625.         move.w    d0,OldDMACon    ; save it
  626.  
  627.         move.w    intenar-2(a5),d0    ; old INTEna bits
  628.         ori.w    #$c000,d0    ; or it set bit for restore
  629.         move.w    d0,OldINTEna    ; save it
  630.  
  631.         move.l    #$7fff7fff,intena-2(a5)    ; kill all ints
  632.         move.w    #$7fff,dmacon-2(a5)    ; kill all dma
  633. .exit:        rts
  634.  
  635. ***********************************************************
  636.  
  637. RestoreSystem:    lea    $dff002,a5    ; custom chip base + 2
  638.  
  639.         tst.b    ntsc            ; was it in NTSC?
  640.         beq.b    .pal            ; nope
  641.         move.w    #0,$1dc-2(a5)        ; put it back in NTSC!!!
  642. .pal:
  643.     ; You must do these in this order or you're asking for trouble!
  644.         move.l    #$7fff7fff,intena-2(a5)    ; kill all ints
  645.         move.w    #$7fff,dmacon-2(a5)    ; kill all dma
  646.  
  647.         move.l    VectorBase,a0
  648.         move.l    oldirq,$6c(a0)        ; restore old level3 int.
  649.         move.w    OldDMACon,dmacon-2(a5)    ; restore old dma bits
  650.         move.w    OldINTEna,intena-2(a5)    ; restore old int bits
  651.  
  652.         move.l    OldView,a1    ; old Work Bench view
  653.         move.l    gfx_base,a6    ; gfx base
  654.         CALL    LoadView    ; Restore the view
  655.         CALL    DisOwnBlitter    ; give blitter back to the system.
  656.  
  657.         move.l    gb_CopInit(a6),$80-2(a5) ; restore system clist
  658.         move.l    a6,a1
  659.         movea.l    4.w,a6        ; exec base
  660.         CALL    CloseLibrary
  661.  
  662.     ; there is no call to Permit() because it is implied by the return
  663.     ; to AmigaDOS! :^)
  664.         rts
  665.  
  666. ***********************************************************
  667. * This function provides a method of obtaining a pointer to the base of the
  668. * interrupt vector table on all Amigas.  After getting this pointer, use
  669. * the vector address as an offset.  For example, to install a level three
  670. * interrupt you would do the following:
  671. *
  672. *        bsr    _GetVBR
  673. *        move.l    d0,a0
  674. *        move.l    $6c(a0),OldIntSave
  675. *        move.l    #MyIntCode,$6c(a0)
  676. *
  677. ***********************************************************
  678. * Inputs: none
  679. * Output: d0 contains vbr.
  680.  
  681. GetVBR:        move.l    a5,-(sp)        ; save it.
  682.         moveq    #0,d0            ; clear
  683.         movea.l    4.w,a6            ; exec base
  684.         btst.b    #AFB_68010,AttnFlags+1(a6); are we at least a 68010?
  685.         beq.b    .1            ; nope.
  686.         lea.l    vbr_exception(pc),a5    ; addr of function to get VBR
  687.         CALL    Supervisor        ; supervisor state
  688. .1:        move.l    (sp)+,a5        ; restore it.
  689.         rts                ; return
  690.  
  691. vbr_exception:
  692.     ; movec vbr,Xn is a priv. instr.  You must be supervisor to execute!
  693. ;        movec   vbr,d0
  694.     ; many assemblers don't know the VBR, if yours doesn't, then use this
  695.     ; line instead.
  696.         dc.w    $4e7a,$0801
  697.         rte                ; back to user state code
  698.  
  699. ***********************************************************
  700.  
  701.         section    sin,data
  702.  
  703. sine:    dc.w    $0001,$0001
  704.     dc.w    $0001,$0002,$0003,$0004,$0005,$0006,$0008,$000a
  705.     dc.w    $000c,$000e,$0010,$0013,$0016,$0019,$001c,$001f
  706.     dc.w    $0023,$0026,$002a,$002e,$0032,$0036,$003b,$003f
  707.     dc.w    $0044,$0048,$004d,$0052,$0058,$005d,$0062,$0068
  708.     dc.w    $006d,$0073,$0079,$007f,$0084,$008a,$0090,$0097
  709.     dc.w    $009d,$00a3,$00a9,$00af,$00b6,$00bc,$00c2,$00c8
  710.  
  711.     dc.w    $00c8,$00c2,$00bc,$00b5,$00af,$00a9,$00a3,$009d
  712.     dc.w    $0097,$0092,$008d,$0088,$0083,$007e,$007a,$0076
  713.     dc.w    $0073,$0070,$006d,$006b,$0069,$0067,$0066,$0065
  714.     dc.w    $0065,$0065,$0065,$0066,$0067,$0069,$006b,$006d
  715.     dc.w    $0070,$0073,$0076,$007a,$007e,$0083,$0088,$008d
  716.     dc.w    $0092,$0097,$009d,$00a3,$00a9,$00af,$00b5,$00bc
  717.     dc.w    $00c2,$00c8
  718.  
  719.     dc.w    $00c8,$00c5,$00c2,$00bf,$00bc,$00b9,$00b6,$00b3
  720.     dc.w    $00b0,$00ad,$00ab,$00a8,$00a6,$00a3,$00a1,$009f
  721.     dc.w    $009e,$009c,$009b,$009a,$0099,$0098,$0097,$0097
  722.     dc.w    $0097,$0097,$0097,$0097,$0098,$0099,$009a,$009b
  723.     dc.w    $009c,$009e,$009f,$00a1,$00a3,$00a6,$00a8,$00ab
  724.     dc.w    $00ad,$00b0,$00b3,$00b6,$00b9,$00bc,$00bf,$00c2
  725.     dc.w    $00c5,$00c8
  726.  
  727.     dc.w    $00c8,$00c7,$00c5,$00c4,$00c2,$00c1,$00bf,$00be
  728.     dc.w    $00bc,$00bb,$00ba,$00b8,$00b7,$00b6,$00b5,$00b4
  729.     dc.w    $00b3,$00b2,$00b2,$00b1,$00b1,$00b0,$00b0,$00b0
  730.     dc.w    $00b0,$00b0,$00b0,$00b0,$00b0,$00b1,$00b1,$00b2
  731.     dc.w    $00b2,$00b3,$00b4,$00b5,$00b6,$00b7,$00b8,$00ba
  732.     dc.w    $00bb,$00bc,$00be,$00bf,$00c1,$00c2,$00c4,$00c5
  733.     dc.w    $00c7,$00c8
  734.  
  735.  
  736. backpt:    dc.w    0
  737. back=    520
  738.  
  739. backsine:
  740.     dc.w    $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
  741.     dc.w    $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
  742.     dc.w    $0000,$0000,$0000,$0001,$0001,$0001,$0001,$0001
  743.     dc.w    $0001,$0001,$0001,$0001,$0001,$0001,$0001,$0001
  744.     dc.w    $0001,$0001,$0001,$0001,$0001,$0002,$0002,$0002
  745.     dc.w    $0002,$0002,$0002,$0002,$0002,$0002,$0002,$0002
  746.     dc.w    $0002,$0002,$0002,$0002,$0002,$0002,$0002,$0002
  747.     dc.w    $0002,$0003,$0003,$0003,$0003,$0003,$0003,$0003
  748.     dc.w    $0003,$0003,$0003,$0003,$0003,$0003,$0003,$0003
  749.     dc.w    $0003,$0003,$0003,$0003,$0003,$0003,$0003,$0004
  750.     dc.w    $0004,$0004,$0004,$0004,$0004,$0004,$0004,$0004
  751.     dc.w    $0004,$0004,$0004,$0004,$0004,$0004,$0004,$0004
  752.     dc.w    $0004,$0004,$0004,$0004,$0004,$0004,$0004,$0004
  753.     dc.w    $0004,$0004,$0005,$0005,$0005,$0005,$0005,$0005
  754.     dc.w    $0005,$0005,$0005,$0005,$0005,$0005,$0005,$0005
  755.     dc.w    $0005,$0005,$0005,$0005,$0005,$0005,$0005,$0005
  756.     dc.w    $0005,$0005,$0005,$0005,$0005,$0005,$0005,$0005
  757.     dc.w    $0005,$0005,$0005,$0005,$0005,$0005,$0005,$0005
  758.     dc.w    $0005,$0005,$0005,$0005,$0005,$0005,$0005,$0005
  759.     dc.w    $0005,$0005,$0005,$0005,$0005,$0005,$0005,$0005
  760.     dc.w    $0005,$0005,$0005,$0005,$0005,$0005,$0005,$0005
  761.     dc.w    $0005,$0006
  762.     dc.w    $0006,$0006,$0006,$0006,$0006,$0006,$0006,$0006
  763.     dc.w    $0006,$0006,$0006,$0006,$0006,$0006,$0006,$0006
  764.     dc.w    $0006,$0006,$0006,$0006,$0006,$0006,$0006,$0006
  765.     dc.w    $0006,$0006,$0006,$0006,$0006,$0006,$0006,$0006
  766.     dc.w    $0006,$0006,$0006,$0006,$0006,$0006,$0006,$0006
  767.     dc.w    $0006,$0006,$0006,$0006,$0006,$0006,$0006,$0006
  768.     dc.w    $0006,$0006,$0006,$0006,$0006,$0006,$0006,$0006
  769.     dc.w    $0006,$0006,$0006,$0006
  770.     dc.w    $0006,$0006,$0006,$0006,$0006,$0006,$0006,$0006
  771.     dc.w    $0006,$0006,$0006,$0006,$0006,$0006,$0006,$0006
  772.     dc.w    $0006,$0006,$0006,$0006,$0006,$0006,$0006,$0006
  773.     dc.w    $0006,$0006,$0006,$0006,$0006,$0006,$0006,$0006
  774.     dc.w    $0006,$0006,$0006,$0006,$0006,$0006,$0006,$0006
  775.     dc.w    $0006,$0006,$0006,$0006,$0006,$0006,$0006,$0006
  776.     dc.w    $0006,$0006,$0006,$0006,$0006,$0006,$0006,$0006
  777.     dc.w    $0006,$0006,$0006,$0006
  778.  
  779.     dc.w    $0006,$0006,$0006,$0006,$0006,$0006,$0006,$0006
  780.     dc.w    $0006,$0006,$0006,$0006,$0006,$0006,$0006,$0006
  781.     dc.w    $0006,$0006,$0006,$0006,$0006,$0006,$0006,$0006
  782.     dc.w    $0006,$0006,$0007,$0007,$0007,$0006,$0006,$0006
  783.     dc.w    $0006,$0006,$0006,$0006,$0006,$0006,$0006,$0006
  784.     dc.w    $0006,$0006,$0006,$0006,$0006,$0006,$0006,$0006
  785.     dc.w    $0006,$0006,$0006,$0006,$0006,$0006,$0006,$0006
  786.     dc.w    $0006,$0006,$0006,$0006
  787.  
  788.     dc.w    $0006,$0005,$0005,$0005,$0005,$0005,$0005,$0005
  789.     dc.w    $0005,$0005,$0005,$0005,$0005,$0005,$0005,$0005
  790.     dc.w    $0005,$0005,$0005,$0005,$0005,$0005,$0005,$0005
  791.     dc.w    $0005,$0005,$0005,$0005,$0005,$0005,$0005,$0005
  792.     dc.w    $0005,$0005,$0005,$0005,$0005,$0005,$0005,$0005
  793.     dc.w    $0005,$0005,$0005,$0005,$0005,$0005,$0005,$0005
  794.     dc.w    $0005,$0005,$0005,$0005,$0005,$0005,$0005,$0005
  795.     dc.w    $0005,$0005,$0005,$0005,$0005,$0005,$0005,$0005
  796.     dc.w    $0004,$0004,$0004,$0004,$0004,$0004,$0004,$0004
  797.     dc.w    $0004,$0004,$0004,$0004,$0004,$0004,$0004,$0004
  798.     dc.w    $0004,$0004,$0004,$0004,$0004,$0004,$0004,$0004
  799.     dc.w    $0004,$0004,$0004,$0003,$0003,$0003,$0003,$0003
  800.     dc.w    $0003,$0003,$0003,$0003,$0003,$0003,$0003,$0003
  801.     dc.w    $0003,$0003,$0003,$0003,$0003,$0003,$0003,$0003
  802.     dc.w    $0003,$0002,$0002,$0002,$0002,$0002,$0002,$0002
  803.     dc.w    $0002,$0002,$0002,$0002,$0002,$0002,$0002,$0002
  804.     dc.w    $0002,$0002,$0002,$0002,$0002,$0001,$0001,$0001
  805.     dc.w    $0001,$0001,$0001,$0001,$0001,$0001,$0001,$0001
  806.     dc.w    $0001,$0001,$0001,$0001,$0001,$0001,$0001,$0000
  807.     dc.w    $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
  808.     dc.w    $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
  809.     dc.w    $0000,$0000
  810.  
  811. text_pnt:dc.l    0
  812. speed_:    dc.w    2
  813. delay:    dc.w    0
  814.  
  815. GraphicsName:    GRAFNAME        ; name of gfx library
  816.         EVEN
  817.  
  818. xoff:        dc.w    -1
  819. speed:        ;dc.b    1,0,2,0,1,0,2,0
  820.         dc.b    0,0,0,0,0,0,0,0
  821. spoint:        dc.w    0,0,0,0,0,0,0,0
  822. buffpt:        dc.l    sbuff0,sbuff1,sbuff2,sbuff3,sbuff4,sbuff5,sbuff6,sbuff7
  823.  
  824. text:    ;top line leave alone.. it will only half show...
  825.     dc.b    '                                        ' 
  826.     dc.b    '                                        ' 
  827.     dc.b    '      this file was leech from the      '
  828.     dc.b    '                                        '
  829.     dc.b    ' _ __  _  ____     _      ___  _ _  ___ '
  830.     dc.b    '///_/\//\/___/\   /_\    /\__\/\\\\/\__\'
  831.     dc.b    '\\\ \ \\ \ __\/   | |   / /_ / //// /__/'
  832.     dc.b    ' \\\ \ \\ \\ \    | |  / //// //// // \ '
  833.     dc.b    '  \\\ \ \\ \\ \__ | | / //// ////\/_~~/ '
  834.     dc.b    '   \~  \ \\ \\/ /\| |/ //// ////\~~\//  '
  835.     dc.b    '    \   \/\\/\~~\/| |\/ ~/\/ ~/\/~~~/   '
  836.     dc.b    '     ~~~~  ~  ~~~  ~  ~~~  ~~~  ~~~~    '
  837.     dc.b    '             ( circle bbs )             '
  838.     dc.b    '                                        '
  839.     dc.b    '        -*- registered 2.20 -*-         '
  840.     dc.b    ' -*- a nightfall distrabution site  -*- '
  841.     dc.b    '                                        '
  842.     dc.b    '   sysop  - raistlin       hst"s only   '
  843.     dc.b    'co-sysop  - dark angel     amiga only   '
  844.     dc.b    '          - the ripper       0-day      '
  845.     dc.b    '          - x /\ d        warez/counsel '
  846.     dc.b    '                                        '
  847.     dc.b    '            (1-813-799-4094)            '
  848.     dc.b    '                                        '
  849.     dc.b    '                         < left button >'
  850.     ;top line leave alone.. it will only half show...
  851.     dc.b    '                                        ' 
  852.     dc.b    '        _        _                      '
  853.         dc.b    '  ___ /|_) _____/|\________________|\|\ ' 
  854.         dc.b    ' /   | |_ /  _________   __/___/ _ | | |'  
  855.         dc.b    '/  \   | |  (_/  _  \/  ||  _// _  | | |'
  856.         dc.b    '\_ |\__|_|\_  \__|__/\_ || | / _/|_|_|_|'
  857.         dc.b    '==\|========|__|=======\||/==\/present=='
  858.     dc.b    '                                      mb'
  859.     dc.b    '                                        '
  860.     dc.b    '           proudly  presents            '
  861.     dc.b    '                                        '
  862.     dc.b    '               xxxxxxx                  '
  863.     dc.b    '                                        '
  864.     dc.b    '          released  10-xx-92            '
  865.     dc.b    '                                        '
  866.     dc.b    '                                        '
  867.     dc.b    '                                        '
  868.     dc.b    '                                        '
  869.     dc.b    '                                        '
  870.     dc.b    '                                        '
  871.     dc.b    '                                        '
  872.     dc.b    '                                        '
  873.     dc.b    '                                        '
  874.     dc.b    '                                        '
  875.     dc.b    '                         < left button >'
  876.  
  877.     ;top line leave alone.. it will only half show...
  878.     dc.b    '                                        ' 
  879.     dc.b    '        _        _                      ' 
  880.         dc.b    '  ___ /|_) _____/|\________________|\|\ ' 
  881.         dc.b    ' /   | |_ /  _________   __/___/ _ | | |'  
  882.         dc.b    '/  \   | |  (_/  _  \/  ||  _// _  | | |'
  883.         dc.b    '\_ |\__|_|\_  \__|__/\_ || | / _/|_|_|_|'
  884.         dc.b    '==\|== =====|__|=======\||/==\/present=='
  885.     dc.b    '                                      mb'
  886.     dc.b    '          -*-  member list -*-          '
  887.     dc.b    '                                        '
  888.     dc.b    '  booger ---------> coder               '
  889.     dc.b    '  x/\d -----------> modem trader        '
  890.     dc.b    '  the riper ------> another trader      '
  891.     dc.b    '                                        '
  892.     dc.b    '            -*- bbs list -*-            '
  893.     dc.b    '                                        '
  894.     dc.b    ' vicious circle -- uhq - +1-813-7994094 '
  895.     dc.b    ' buried treasure - uhq - +1-813-5354253 '
  896.     dc.b    ' mental hospital - ihq - +39-11-6601590 '
  897.     dc.b    ' madness confusion     - +39-2-48401439 '
  898.     dc.b    ' hidden power ---- whq - ++39-40-350660 '
  899.     dc.b    ' gambler --------- ihq - ++39-40-630998 '
  900.     dc.b    ' empire of power - ihq - ++39-40-569973 '
  901.     dc.b    ' futura ---------- ihq - ++39-40-350580 '
  902.     dc.b    '                         < left button >'
  903.  
  904.     ;top line leave alone.. it will only half show...
  905.     dc.b    '                                        ' 
  906.     dc.b    '                                        '
  907.     dc.b    '                                        '
  908.     dc.b    '                                        '
  909.     dc.b    '                                        '
  910.     dc.b    '                                        '
  911.     dc.b    '                                        '
  912.     dc.b    '                                        '
  913.     dc.b    '                                        '
  914.     dc.b    '      both buttons to exit...           '
  915.     dc.b    '                                        '
  916.     dc.b    '                                        '
  917.     dc.b    '                                        '
  918.     dc.b    '                                        '
  919.     dc.b    '                                        '
  920.     dc.b    '                                        '
  921.     dc.b    '                                        '
  922.     dc.b    '                                        '
  923.     dc.b    '                                        '
  924.     dc.b    '                                        '
  925.     dc.b    '                                        '
  926.     dc.b    '                                        '
  927.     dc.b    '                                        '
  928.     dc.b    '                                        '
  929.     dc.b    '                         < left button >'
  930.  
  931.     dc.b    0    ; this signals the end...
  932.     even
  933.  
  934.  
  935. textt:    DC.B    3,'ONCE AGAIN THIS IS IT....  '
  936.     DC.B    5,'BY NOW YOU ARE SEEING THE PLIGHT OF A PROGRAMER    '
  937.     DC.B    4,' JUST WHEN YOU THINK YOU ARE FINISHED.....  '
  938.     DC.B    5,' BAM!  YOU END UP TOUCHING UP THE PROGRAM EVEN MORE!! '
  939.     DC.B    7,' THE TEXT IS IN SECTIONS OF 25 BY 40..   '
  940.     DC.B    2,' YOU CAN ADD MORE SCREENS JUST REMBER TO MAKE IT 25 BY 40'
  941.     DC.B    1,' SPEED 1......   '
  942.     DC.B    2,' SPEED 2......   '
  943.     DC.B    3,' SPEED 3......   '
  944.     DC.B    4,' SPEED 4......   '
  945.     DC.B    5,' SPEED 5......   '
  946.     DC.B    6,' SPEED 6......   '
  947.     DC.B    7,' SPEED 7......   '
  948.     DC.B    8,' SPEED 8......   '
  949.     DC.B    9,' SPEED 9......   '
  950.     DC.B    10,' SPEED A......   '
  951.     DC.B    11,' SPEED B......   '
  952.     DC.B    12,' SPEED C......   '
  953.     DC.B    13,' SPEED D......   '
  954.     DC.B    14,' SPEED E......   '
  955.     DC.B    15,' SPEED F......   '
  956.     even
  957.  
  958. ***********************************************************
  959.  
  960.         section    copper,data_c
  961. copa:
  962. csprite:dc.l $01200000,$01220000,$01240000,$01260000,$01280000,$012a0000
  963.     dc.l $012c0000,$012e0000,$01300000,$01320000,$01340000,$01360000 
  964.     dc.l $01380000,$013a0000,$013c0000,$013e0000
  965. c17:    dc.l $01a20444,$01a40888,$01a60fff,$01aa0400,$01ac0800,$01ae0f00
  966. c25:    dc.l $01b20040,$01b40080,$01b600f0,$01ba0044,$01bc0088,$01be00ff
  967.     dc.l $008e2c81,$00902cc1,$00920038,$009400d0,$00968020
  968.     dc.l $01020000,$01040024,$01080000,$010a0028,$01004400
  969.     dc.l $0180000e
  970. amap:    dc.l $00e00000,$00e20000,$00e80000,$00ea0000,$01040024
  971. bmap:    dc.l $00e40000,$00e60000,$00ec0000,$00ee0000
  972.     dc.l $0192000e,$0194000e,$0196000e
  973.     dc.l $0182000e,$0184000e,$0186000e
  974.     dc.l $3501fffe,$01920aaa,$01940444,$01960fff
  975.     dc.l            $01820000,$01840ff8,$01860ff0
  976.  
  977.     dc.l $3c01fffe,$0180000d,$01920aaa,$01940444,$01960eee
  978.     dc.l $4c01fffe,$0180000c,$01920999,$01940444,$01960ddd
  979.     dc.l $5c01fffe,$0180000b,$01920888,$01940333,$01960ccc
  980.     dc.l $6c01fffe,$01800009,$01920777,$01940333,$01960bbb
  981.     dc.l $7c01fffe,$01800008,$01920666,$01940222,$01960aaa
  982.     dc.l $8c01fffe,$01800007,$01920555,$01940222,$01960999
  983.     dc.l $9001fffe
  984. dmap:    dc.l $00e40000,$00e60000,$00ec0000,$00ee0000
  985.     dc.l $9c01fffe,$01800006,$01920444,$01940111,$01960888
  986.     dc.l $ac01fffe,$01800005,$01920333,$01940111,$01960777
  987.     dc.l $bc01fffe,$01800004,$01920222,$01940000,$01960666
  988.     dc.l $cc01fffe,$01800003,$01920111,$01940000,$01960666
  989.     dc.l $dc01fffe,$01800002,$01920000,$01940000,$01960555
  990.     dc.l $ec01fffe,$01800001,$01920000,$01940000,$01960555
  991.     dc.l $f301fffe,$01040064,$01920000,$01940000,$01960444
  992.     dc.l $01840000,$01860000
  993.     dc.l $f401fffe
  994. cmap:    dc.l $00e40000,$00e60000,$00ec0000,$00ee0000
  995.     dc.l $ff01fffe,$00960020,$01440000,$01400000    ;turn off sprite shit...
  996.     dc.l $01820fff,$01840000,$01860fff
  997. smap:    dc.l $00e00000,$00e20000,$00e80000,$00ea0000,$01040024
  998.     dc.l $01820000,$01840ff8,$01860ff0
  999.     dc.l $fffffffe
  1000.  
  1001.     incdir    ''
  1002. buffer:    ds.b    8000
  1003. bpic:    incbin    "bt_disk1:demo_03/bt-3-background.raw"
  1004.     ds.b    8000
  1005.  
  1006. str0:    incbin    "bt_disk1:demo_03/bt-3-stars.raw"
  1007. font8:    incbin    "bt_disk1:demo_03/bt-3-font8"
  1008. font16:    incbin    "bt_disk1:demo_03/bt-3-font16"
  1009.  
  1010. ***********************************************************
  1011.  
  1012.         section    ack,bss
  1013.  
  1014. scormv:        ds.w    1
  1015. up_down:    ds.w    1
  1016. soff:        ds.w    1
  1017. sup:        ds.w    1
  1018. soff1:        ds.w    1
  1019. yoff:        ds.w    1
  1020. offset:        ds.l    1
  1021.  
  1022. txt_pnt:    ds.l    1
  1023. numlp:        ds.w    1
  1024. oldirq:        ds.l    1    ;reserve place for oldinterrupt pointer
  1025.  
  1026. gfx_base    ds.l    1        ; pointer to graphics base
  1027. OldView        ds.l    1        ; old Work Bench view addr.
  1028. VectorBase:    ds.l    1        ; pointer to the Vector Base
  1029.  
  1030. OldDMACon:    ds.w    1        ; old dmacon bits
  1031. OldINTEna:    ds.w    1        ; old intena bits
  1032.  
  1033. ntsc:        ds.b    1        ; 0 = pal, 1 = ntsc
  1034.  
  1035. ***********************************************************
  1036.  
  1037.         section    bss,bss_c
  1038.  
  1039. spic:        ds.b    800
  1040. s_pic:        ds.b    9000
  1041.  
  1042.         ds.b    1000
  1043. apic:        ds.b    16000
  1044.  
  1045. sbuff0:        ds.l    130
  1046. sbuff1:        ds.l    130
  1047. sbuff2:        ds.l    130
  1048. sbuff3:        ds.l    130
  1049. sbuff4:        ds.l    130
  1050. sbuff5:        ds.l    130
  1051. sbuff6:        ds.l    130
  1052. sbuff7:        ds.l    130
  1053.