home *** CD-ROM | disk | FTP | other *** search
/ ticalc.org / ticalc_org_rev_b.iso / archives / 83 / asm / source / ion / ball.asm next >
Encoding:
Assembly Source File  |  2001-07-01  |  11.6 KB  |  939 lines

  1. ;IF YOU WOULD LIKE COMMENTED SOURCE, PLEASE VISIT
  2. ;HTTP://TCPA.CALC.ORG/PROGRAMMING
  3. ;AND VIEW THE SOURCE FROM THERE
  4.  
  5.     .nolist
  6.     #include "ion.inc"
  7.  
  8. #define B1X saferam3                ;X Coordinate for Ball1
  9. #define B1Y B1X+1                   ;Y Coordinate for Ball1
  10. #define Stat B1Y+1                  ;Status Var
  11. #define X Stat+1                    ;X Coordinate for Arrow
  12. #define Y X+1                       ;Y Coordinate for Arrow
  13. #define X1 Y+1                      ;Temp X Coordinate for Arrow
  14. #define X2 X1+1                     ;Temp X Coordinate for Ball
  15. #define Y1 X2+1                     ;Temp Y Coordinate for Arrow
  16. #define Y2 Y1+1                     ;Temp Y Coordinate for Ball
  17. #define B2X Y2+1
  18. #define B2Y B2X+1
  19. #define x B2Y+1
  20. #define y x+1
  21. #define Stat2 y+1
  22. #define retter Stat2+1
  23. #define Arrow    retter+1
  24. #define B3X Arrow+1
  25. #define B3Y B3X+1
  26. #define B4X B3Y+1
  27. #define B4Y B4X+1
  28. #define Stat3 B4Y+1
  29. #define Stat4 Stat3+1
  30. #define    Speed1 Stat4+1
  31. #define Speed2 Speed1+1
  32. #define    Speed3 Speed2+1
  33. #define Speed4 Speed3+1
  34. #define ScoreVar Speed4+1
  35. #define    Wall ScoreVar+1
  36. #define Chng Wall+1
  37. #define Cheat Chng+1
  38. #define HS Cheat+1
  39. ;#define Q HS+1
  40.  
  41.     .list
  42. #ifdef TI83P
  43.     .org    progstart-2
  44.     .db    $BB,$6D
  45. #else
  46.     .org    progstart
  47. #endif
  48.     ret
  49.     jr    nc,start
  50.     .db    "QuadroBall",0
  51.     
  52. start:
  53.     bcall(_clrlcdf)
  54.     bcall(_cleargbuf)
  55.     set    7,(iy+$14)
  56.     
  57.     res    textinverse,(iy+textflags)
  58.     ld    hl,MainMsg
  59.     bcall(_homeup)
  60.     bcall(_puts)
  61.     
  62. Keyz:    bcall(_getcsc)
  63.     cp    0FH
  64.     jp    z,Close
  65.     cp    36h
  66.     jr    nz,Keyz
  67.  
  68.     ld    a,0
  69.     ld    (Cheat),a
  70.     ld    (Speed1),a
  71.     ld    (Speed2),a
  72.     ld    (Speed3),a
  73.     ld    (Arrow),a
  74.  
  75.     ld    (X),a
  76.  
  77.     ld    (Stat),a
  78.     ld    (Stat2),a
  79.     ld    (Stat3),a
  80.     ld    (Stat4),a
  81.     ld    (Wall),a
  82.     ld    (Chng),a
  83.     ld    (ScoreVar),a
  84.     ld    (HS),a
  85.     
  86.     ld    a,76
  87.     ld    (B4X),a
  88.     ld    a,54
  89.     ld    (B3X),a
  90.     ld    a,32
  91.     ld    (B2X),a
  92.     ld    a,50
  93.     ld    (B2Y),a
  94.     ld    (B4Y),a
  95.     ld    a,10
  96.     ld    (B1X),a
  97.     ld    (retter),a
  98.     
  99.     ld    a,25
  100.     ld    (Y),a
  101.     
  102.      ld    a,0
  103.     ld    (B1Y),a
  104.     ld    (B3Y),a
  105. ;    ld    (Q),a
  106.     
  107.     bcall(_clrlcdf)
  108.     call    Putz
  109.     call    Putx
  110.     call    Putw
  111.     call    puta
  112.     call    putb
  113.  
  114.         ld      bc,0*256+7
  115.         ld      de,95*256+7
  116.     bcall(_darkline)
  117.     
  118.     ld    de,57*256+0
  119.     ld    (pencol),de
  120.     ld    hl,Score
  121.     bcall(_vputs)
  122.     ld    a,(ScoreVar)
  123.     bcall(_setxxop1)
  124.     ld    a,1
  125.     bcall(_dispop1a)
  126.  
  127. Loop:    ld    a,(Chng)
  128.     cp    1
  129.     jp    nz,Loop2
  130.  
  131.     ld    de,57*256+0
  132.     ld    (pencol),de
  133.     ld    hl,Score
  134.     bcall(_vputs)
  135.     ld    hl,(ScoreVar)
  136.     bcall(_setxxxxop2)
  137.     bcall(_op2toop1)
  138.     bcall(_dispop1a)
  139.         
  140.     ld    a,0
  141.     ld    (Chng),a
  142.  
  143. Loop2:    ;ld    a,(Q)
  144. ;    cp    1
  145. ;    jp    z,Start
  146.     
  147.     call    ionfastcopy
  148.  
  149.     ld    a,(Cheat)
  150.     cp    0
  151.     jp    nz,L3
  152.  
  153.     ld    a,(X)
  154.     ld    (X1),a
  155.     ld    a,(B1X)
  156.     ld    (X2),a    
  157.     ld    a,(Y)
  158.     ld    (Y1),a
  159.     ld    a,(B1Y)
  160.     ld    (Y2),a
  161.  
  162.     call    Check
  163.  
  164. ;    ld    a,(Q)
  165. ;    cp    1
  166. ;    jp    z,Start
  167.  
  168.     ld    a,(retter)
  169.     cp    0
  170.     jp    z,EndGme
  171.  
  172.     
  173. ;    ld    a,(X)
  174. ;    ld    (X1),a
  175.     ld    a,(B2X)
  176.     ld    (X2),a
  177. ;    ld    a,(Y)
  178. ;    ld    (Y1),a
  179.     ld    a,(B2Y)
  180.     ld    (Y2),a
  181.     
  182.     Call    Check
  183.     
  184. ;    ld    a,(Q)
  185. ;    cp    1
  186. ;    jp    z,Start
  187.  
  188.     ld    a,(retter)
  189.     cp    0
  190.     jp    z,EndGme
  191.  
  192. ;    ld    a,(X)
  193. ;    ld    (X1),a
  194.     ld    a,(B3X)
  195.     ld    (X2),a
  196. ;    ld    a,(Y)
  197. ;    ld    (Y1),a
  198.     ld    a,(B3Y)
  199.     ld    (Y2),a
  200.     
  201.     Call    Check
  202.     
  203. ;    ld    a,(Q)
  204. ;    cp    1
  205. ;    jp    z,Start
  206.  
  207.     ld    a,(retter)
  208.     cp    0
  209.     jp    z,EndGme
  210.  
  211.     ld    a,(B4X)
  212.     ld    (X2),a
  213.     ld    a,(B4Y)
  214.     ld    (Y2),a
  215.     
  216.     call    Check
  217.     
  218. ;    ld    a,(Q)
  219. ;    cp    1
  220. ;    jp    z,Start
  221.  
  222.     ld    a,(retter)
  223.     cp    0
  224.     jp    z,EndGme
  225.  
  226. L3:    ld    a,0FFH
  227.     out    (1),a
  228.     ld    a,0FEH
  229.     out    (1),a
  230.     in    a,(1)
  231.     cp    247
  232.     jp    z,GoUp2
  233.     cp    254
  234.     jp    z,GoDown2
  235.     cp    251    ;R
  236.     jp    z,MoveRight    
  237.     cp    253
  238.     jp    z,MoveLeft
  239. ;    cp %11111100            ;Check for Down AND Left.
  240. ;    jp z, Down_And_Left
  241. ;    cp %11111010            ;Check for Down AND Right.
  242. ;    jp z, Down_And_Right
  243. ;    cp %11110101            ;Check for Up AND Left.
  244. ;    jp z, Up_And_Left
  245. ;    cp %11110011            ;Check for Up AND Right.
  246. ;    jp z, Up_And_Right
  247.     
  248.     ld    a,0FDH
  249.     out    (1),a
  250.     in    a,(1)
  251.     cp    191    ;Cls
  252.     jp    z,EndGme
  253. ;    cp    254    ;Enter
  254. ;    jp    z,EP
  255.     cp    247    ;Multiply
  256.     jp    z,Skipoo
  257.     cp    253    ;Plus
  258.     jp    z,Skipoff
  259.  
  260. NoKey:    ld    a,(Stat)
  261.     cp    0
  262.     jr    nz,GoUp
  263. ;Going Down...
  264.  
  265.     ld    a,(B1Y)
  266.     cp    50
  267.     jp    z,Res2Up
  268.         
  269.     ld    a,(Speed1)
  270.     cp    0
  271.     jp    z,Rand1
  272.     
  273.     call    Putz
  274.     
  275.     ld    a,(Speed1)
  276.     ld    b,a
  277.     
  278.     ld    a,(B1Y)
  279. t1:    inc    a
  280.     djnz    t1
  281.     ld    (B1Y),a
  282.  
  283.     call    Putz
  284.     
  285.     jp    B2Check
  286.     
  287.     jp    Loop
  288.  
  289. GoUp:    ld    a,(B1Y)
  290.     cp    0
  291.     jp    z,Res2Down
  292.  
  293.     ld    a,(Speed1)
  294.     cp    0
  295.     jp    z,Rand1
  296.  
  297.     call    Putz
  298.  
  299.     ld    a,(Speed1)
  300.     ld    b,a
  301.  
  302.     ld    a,(B1Y)
  303. t2:    dec    a
  304.     djnz    t2
  305.     ld    (B1Y),a
  306.  
  307.     call    Putz
  308.         
  309.     jp    B2Check
  310.     
  311. Rand1:    ld    b,3
  312.     call    ionrandom
  313.     ld    (Speed1),a
  314.     jp    B2Check
  315.  
  316. Res2Up:    ld    a,1
  317.     ld    (Stat),a
  318.     ld    a,0
  319.     ld    (Speed1),a
  320.     jp    B2Check
  321. Res2Down:
  322.     xor    a
  323.     ld    (Stat),a
  324.     ld    a,0
  325.     ld    (Speed1),a
  326.     jp    B2Check
  327.  
  328.  
  329. B2Check:
  330.     ld    a,(Stat2)
  331.     cp    0
  332.     jr    nz,GoUpp
  333.     
  334.     ld    a,(B2Y)
  335.     cp    50
  336.     jp    z,Res3Up
  337.  
  338.     ld    a,(Speed2)
  339.     cp    0
  340.     jp    z,Rand2
  341.  
  342.     call    Putw
  343.     
  344.     ld    a,(Speed2)
  345.     ld    b,a
  346.     
  347.     ld    a,(B2Y)
  348. t3:    inc    a
  349.     djnz    t3
  350.     ld    (B2Y),a
  351.     
  352.     call    Putw
  353.  
  354.     jp    B3Check
  355.  
  356. GoUpp:
  357.     ld    a,(B2Y)
  358.     cp    0
  359.     jp    z,Res3Down
  360.         
  361.     ld    a,(Speed2)
  362.     cp    0
  363.     jp    z,Rand2
  364.     
  365.     call    Putw
  366.     
  367.     ld    a,(Speed2)
  368.     ld    b,a
  369.     
  370.     ld    a,(B2Y)
  371. t4:    dec    a
  372.     djnz    t4
  373.     ld    (B2Y),a
  374.  
  375.     call    Putw
  376.     
  377.     ;Check here!
  378.     jp    B3Check
  379.     
  380. Rand2:    ld    b,3
  381.     call    ionrandom
  382.     ld    (Speed2),a
  383.     jp    B3Check
  384.     
  385. Res3Up:    ld    a,1
  386.     ld    (Stat2),a
  387.     ld    a,0
  388.     ld    (Speed2),a
  389.     jp    B3Check
  390.  
  391. Res3Down:
  392.     ld    a,0
  393.     ld    (Stat2),a
  394.     ld    a,0
  395.     ld    (Speed2),a
  396.     jp    B3Check
  397.  
  398. B3Check:
  399.     ld    a,(Stat3)
  400.     cp    0
  401.     jr    nz,Uppz
  402.  
  403.     ld    a,(B3Y)
  404.     cp    50
  405.     jp    z,Res4Up
  406.  
  407.     ld    a,(Speed3)
  408.     cp    0
  409.     jp    z,Rand3
  410.     
  411.     call    Puta
  412.     
  413.     ld    a,(Speed3)
  414.     ld    b,a
  415.     
  416.     ld    a,(B3Y)
  417. t6:    inc    a
  418.     djnz    t6
  419.     ld    (B3Y),a
  420.     
  421.     call    Puta
  422.     
  423.     jp    Blah4
  424.  
  425. Uppz:
  426.     ld    a,(B3Y)
  427.     cp    0
  428.     jp    z,Res4Down
  429.  
  430.     ld    a,(Speed3)
  431.     cp    0
  432.     jp    z,Rand3
  433.  
  434.     call    Puta
  435.     
  436.     ld    a,(Speed3)
  437.     ld    b,a
  438.     
  439.     ld    a,(B3Y)
  440. t5:    dec    a
  441.     djnz    t5
  442.     ld    (B3Y),a
  443.  
  444.     call    Puta
  445.     
  446.     jp    Blah4
  447.     
  448. Rand3:    ld    b,3
  449.     call    ionrandom
  450.     ld    (Speed3),a
  451.     jp    Blah4
  452.  
  453. Res4Down:
  454.     ld    a,0
  455.     ld    (Stat3),a
  456.     ld    (Speed3),a
  457.     jp    Blah4
  458. Res4Up:    ld    a,1
  459.     ld    (Stat3),a
  460.     ld    a,0
  461.     ld    (Speed3),a
  462.     jp    Blah4
  463.     
  464. Blah4:    ld    a,(Stat4)
  465.     cp    0
  466.     jr    nz,Up4
  467.     ;down
  468.     ld    a,(B4Y)
  469.     cp    50
  470.     jp    z,Blah4Up
  471.         
  472.     ld    a,(Speed4)
  473.     cp    0
  474.     jp    z,Rand4
  475.         
  476.     call    Putb
  477.     
  478.     ld    a,(Speed4)
  479.     ld    b,a
  480.     
  481.     ld    a,(B4Y)
  482. t7:    inc    a
  483.     djnz    t7
  484.     ld    (B4Y),a
  485.     
  486.     call    Putb
  487.     
  488.     jp    Loop
  489.  
  490. Up4:    ld    a,(B4Y)
  491.     cp    0
  492.     jp    z,Blah4Down
  493.         
  494.     ld    a,(Speed4)
  495.     cp    0
  496.     jp    z,Rand4
  497.         
  498.     call    Putb
  499.     
  500.     ld    a,(Speed4)
  501.     ld    b,a
  502.     
  503.     ld    a,(B4Y)
  504. t8:    dec    a
  505.     djnz    t8
  506.     ld    (B4Y),a
  507.     
  508.     call    Putb
  509.     
  510.     jp    Loop
  511.     
  512. Rand4:    ld    b,3
  513.     call    ionrandom
  514.     ld    (Speed4),a
  515.     jp    Loop
  516.     
  517. Blah4Up:
  518.     ld    a,1
  519.     ld    (Stat4),a
  520.     ld    a,0
  521.     ld    (Speed4),a
  522.     jp    Loop
  523. Blah4Down:
  524.     ld    a,0
  525.     ld    (Stat4),a
  526.     ld    (Speed4),a
  527.     jp    Loop
  528.         
  529. ;Up_And_Left:
  530. ;
  531. ;    ld    a,(Y)
  532. ;    cp    0
  533. ;    jp    z,StillLeft
  534. ;    
  535. ;    ld    a,(X)
  536. ;    cp    0
  537. ;    jp    z,StillUp
  538. ;        
  539. ;StillLeft:
  540. ;    ld    a,(X)
  541. ;    cp    0
  542. ;    jp    nz,Dobe
  543. ;    
  544. ;    call    ChekWall
  545. ;    jp    Nokey
  546. ;    
  547. ;Dobe:    call    Putx
  548. ;    ld    a,1
  549. ;    ld    (Arrow),a
  550. ;    ld    a,(X)
  551. ;    dec    a
  552. ;    ld    (X),a
  553. ;    call    Putx
  554. ;    
  555. ;StillUp:
  556. ;    ld    a,(Y)
  557. ;    cp    0
  558. ;    jp    z,Nokey
  559. ;    
  560. ;    call    Putx
  561. ;    ld    a,(Y)
  562. ;    dec    a
  563. ;    ld    (Y),a
  564. ;    call    Putx
  565. ;    jp    NoKey
  566. ;
  567. MoveRight:
  568.     ld    a,(X)
  569.     cp    88
  570.     jp    z,HitRight
  571.  
  572.     call    Putx
  573.     ld    a,0
  574.     ld    (Arrow),a
  575.     ld    a,(X)
  576.     inc    a
  577.     ld    (X),a
  578.     call    Putx
  579.     jp    NoKey
  580.  
  581. HitRight:    
  582.     ld    a,(Wall)
  583.     cp    1
  584.     jp    z,NoKey
  585.     
  586.     ld    a,1
  587.     ld    (Wall),a
  588.  
  589.     ld    hl,Getbak
  590.     ld    de,57*256+64
  591.     ld    (pencol),de
  592.     bcall(_vputs)
  593.     
  594.     jp    Nokey
  595.  
  596. MoveLeft:
  597.     ld    a,(X)
  598.     cp    0
  599.     jp    z,ChekWall
  600.     
  601.     call    Putx
  602.     ld    a,1
  603.     ld    (Arrow),a
  604.     ld    a,(X)
  605.     dec    a
  606.     ld    (X),a
  607.     call    Putx
  608.     jp    NoKey
  609.  
  610. ChekWall:
  611.     ld    a,(Wall)
  612.     cp    0
  613.     jp    z,NoKey
  614.     
  615.     ld    a,(ScoreVar)
  616.     inc    a
  617.     inc    a
  618.     inc    a
  619.     ld    (ScoreVar),a
  620.  
  621.     ld    hl,Blank
  622.     ld    de,57*256+64
  623.     ld    (pencol),de
  624.     bcall(_vputs)
  625.     ld    de,57*256+64
  626.     ld    (pencol),de
  627.     ld    hl,Good
  628.     bcall(_vputs)
  629.  
  630.     ld    a,0
  631.     ld    (Wall),a
  632.     
  633.     ld    a,1
  634.     ld    (Chng),a
  635.  
  636.     jp    NoKey
  637.     
  638. GoUp2:    ld    a,(Y)
  639.     cp    0
  640.     jp    z,Nokey
  641.     
  642.     call    Putx
  643.     ld    a,(Y)
  644.     dec    a
  645.     ld    (Y),a
  646.     call    Putx
  647.     jp    NoKey
  648.  
  649. GoDown2:
  650.     ld    a,(Y)
  651.     cp    48
  652.     jp    z,NoKey
  653.     
  654.     call    Putx
  655.     ld    a,(Y)
  656.     inc    a
  657.     ld    (Y),a
  658.     call    Putx
  659.     jp    NoKey
  660. ;--------------------------------------------
  661.  
  662. Putw:    ld    a,(B2Y)
  663.     ld    l,a
  664.     ld    a,(B2X)
  665.     ld    b,6
  666.     ld    ix,Ball88
  667.     call    ionputsprite
  668.     ret
  669.     
  670. Putx:    ld    a,(Arrow)
  671.     cp    0
  672.     jp    nz,SetLeft
  673.  
  674.     ld    ix,Right
  675.     jp    z,blah
  676. SetLeft:
  677.     ld    ix,Left
  678. blah:    ld    a,(Y)
  679.     ld    l,a
  680.     ld    a,(X)
  681.     ld    b,8
  682.     call    ionputsprite
  683.     ret
  684.     
  685. Putz:    ld    a,(B1Y)
  686.     ld    l,a
  687.     ld    a,(B1X)
  688.     ld    b,6
  689.     ld    ix,Ball88
  690.     call    ionputsprite
  691.     ret
  692.  
  693. Puta:    ld    a,(B3Y)
  694.     ld    l,a
  695.     ld    a,(B3X)
  696.     ld    b,6
  697.     ld    ix,Ball88
  698.     call    ionputsprite
  699.     ret
  700.  
  701. Putb:    ld    a,(B4Y)
  702.     ld    l,a
  703.     ld    a,(B4X)
  704.     ld    b,6
  705.     ld    ix,Ball88
  706.     call    ionputsprite
  707.     ret
  708.  
  709. Check:          
  710.     ld a,(X1)    ;Front Of Arrow
  711.     add a,8        ;/
  712.     ld b,a    
  713.     ld a,(X2)    ;Back Of Ball
  714.         cp b      
  715.     ret    nc
  716.  
  717.     ld a,(X2)    ;Front Of Ball
  718.     add a,6        ;/
  719.     ld b,a    
  720.     ld a,(X1)    ;Back Of Arrow
  721.         cp b    
  722.     ret    nc
  723.  
  724.     ld a,(Y1)    ;Bottom Of Arrow
  725.     add a,7        ;/
  726.     ld b,a
  727.     ld a,(Y2)    ;Top Of Ball
  728.         cp b      
  729.     ret    nc
  730.  
  731.     ld a,(Y2)    ;Bottom Of Ball
  732.     add a,6        ;/
  733.     ld b,a    
  734.     ld a,(Y1)    ;Top Of Arrow
  735.         cp b    
  736.     ret    nc
  737.  
  738.     ld    a,0
  739.     ld    (retter),a
  740.     ret
  741.     
  742. EndGme:    ;ld    a,1
  743. ;    ld    (Q),a
  744.     
  745.     ld    a,(High)
  746.     ld    b,a
  747.     ld    a,(ScoreVar)
  748.     cp    b
  749.     jp    c,NoHigh
  750.  
  751.     ld    a,(ScoreVar)
  752.     cp    0
  753.     jp    z,NoHigh
  754.  
  755.     ld    a,(ScoreVar)
  756.     ld    (High),a        
  757.     
  758.     call    Blankit
  759.  
  760.     ld    a,1
  761.     ld    (HS),a
  762.         
  763.     ld    de,57*256+0
  764.     ld    (pencol),de
  765.     ld    hl,New
  766.     bcall(_vputs)
  767.     
  768. NoHigh:    
  769.     res    textinverse,(iy+textflags)
  770.  
  771.     call    putw
  772.     call    putx
  773.     call    puta
  774.     call    putb
  775.     call    putz
  776.     
  777.     ld    de,0*256+12
  778.     ld    (pencol),de
  779.     ld    hl,Danny
  780.     bcall(_vputs)
  781.  
  782.     ld    a,(HS)
  783.     cp    0
  784.     jp    z,Blank2
  785.     jp    NoBlank
  786.  
  787. Blank2:
  788.     call    BlankIt
  789.  
  790. NoBlank:
  791.     
  792.     set    textinverse,(iy+textflags)
  793.     
  794.     ld    de,57*256+43
  795.     ld    (pencol),de
  796.     ld    hl,HiStr
  797.     bcall(_vputs)
  798.     
  799.     ld    hl,(High)
  800.         bcall(_setxxxxop2)              ; write high score
  801.         bcall(_op2toop1)                ;
  802.         ld      a,5
  803.         bcall(_dispop1a)                ;
  804.         
  805.         call    ionfastcopy
  806.         
  807.         res    textinverse,(iy+textflags)
  808.         
  809.         ld    hl,0303h
  810.         ld    (currow),hl
  811.         ld    hl,Over
  812.         bcall(_puts)
  813.     
  814.     ld    a,(HS)
  815.     cp    0
  816.     jp    nz,SecL
  817.     
  818.     
  819.         ld    hl,0104h
  820.         ld    (currow),hl
  821.         ld    hl,Not
  822.         bcall(_puts)
  823.  
  824.     
  825.         
  826. SecL:    bcall(_getcsc)
  827.     cp    54
  828.     jr    nz,SecL
  829.     
  830.         ld    a,0
  831.         ld    (retter),a
  832.     ld    (Cheat),a
  833.  
  834.     res    textinverse,(iy+textflags)
  835.  
  836. ;    ld    a,1
  837. ;    ld    (Q),a
  838.  
  839.     jp    Start
  840.  
  841.         
  842. Skipoo:    ld    a,1
  843.     ld    (Cheat),a
  844.  
  845.     ld    de,57*256+35
  846.     ld    (pencol),de
  847.     ld    hl,skip
  848.     bcall(_vputs)
  849.  
  850.     jp    NoKey
  851.  
  852. Skipoff:
  853.     
  854.     ld    a,0
  855.     ld    (Cheat),a
  856.     
  857.     ld    de,57*256+33
  858.     ld    (pencol),de
  859.     ld    hl,blank
  860.     bcall(_vputs)
  861.  
  862.     jp    NoKey
  863.  
  864.                 
  865. Ball88:    .db %01111000
  866.     .db %11111100
  867.     .db %11111100
  868.     .db %11111100
  869.     .db %11111100
  870.     .db %01111000
  871.  
  872. Right:    .db %00001000
  873.     .db %00001100
  874.     .db %11111110
  875.     .db %11111111
  876.     .db %11111111
  877.     .db %11111110
  878.     .db %00001100
  879.     .db %00001000
  880.  
  881. Left:    .db %00010000
  882.     .db %00110000
  883.     .db %01111111
  884.     .db %11111111
  885.     .db %11111111
  886.     .db %01111111
  887.     .db %00110000
  888.     .db %00010000
  889.  
  890. Over:    .db "Game Over!",0
  891.  
  892. MainMsg:
  893.     .db "   QuadroBall   "
  894.     .db "----------------"
  895.     .db "  By Sean Reed  "
  896.     .db " tcpa.calc.org  "
  897.     .db " smart@calc.org "
  898.     .db "----------------"
  899.     .db " 2ND-Start Game "
  900.     .db "   Clear-Exit",0
  901.  
  902. Score:    .db "Score: ",0
  903. GetBak:    .db "Get Back!",0
  904. Blank:    .db "                ","              ",0
  905. Good:    .db "Good Job!",0
  906. Skip:    .db "CHEAT",0
  907. HiStr:    .db "   High Score: ",0
  908. New:    .db "      New High!      ",0
  909. Danny:    .db "Thanks:  Danny Wynne",0
  910. Not:    .db "No High Score!",0
  911.  
  912. High:    .dw    0
  913.  
  914. Close:    res    textinverse,(iy+textflags)    
  915.     ret
  916.  
  917. BlankIt:
  918.  
  919.     set    textinverse,(iy+textflags)
  920.     ld    de,57*256+0
  921.     ld    (pencol),de
  922.     ld    hl,Blank
  923.     bcall(_vputs)
  924.     ld    de,57*256+30
  925.     ld    (pencol),de
  926.     ld    hl,Blank
  927.     bcall(_vputs)
  928.     ld    de,57*256+60
  929.     ld    (pencol),de
  930.     ld    hl,Blank
  931.     bcall(_vputs)
  932.     ld    de,57*256+85
  933.     ld    (pencol),de
  934.     ld    hl,Blank
  935.     bcall(_vputs)
  936.     ret
  937.         
  938. .end
  939. end