home *** CD-ROM | disk | FTP | other *** search
/ PDA Software Library / pdasoftwarelib.iso / ZAURUS / PILIAPPS / LINES.ASM < prev    next >
Assembly Source File  |  1997-02-07  |  3KB  |  124 lines

  1. ;
  2. ; LINE DEMO
  3. ; Copyright (C) 1996 Model Systems
  4. ; All rights reserved
  5. ;
  6. ; H I S T O R Y
  7. ; =============
  8. ; 01/11/96 Initial coding (V1.00).
  9. ;
  10. ; ======================================================================
  11. ;
  12. pili_header:
  13.      JR start                   ; jump to start of prog
  14.      dl pili_bottom-pili_header ; /* size of binary image */
  15.      db "PILI BINARY MAIN "     ; header for beta, main application
  16.      db 0                       ; null terminate
  17.  
  18.  include fncall.inc
  19.  
  20. ;-----------------------------------------------------------------------------
  21. ;
  22. ; PROGRAM START
  23. ;
  24.  
  25. start:
  26.     FNCALL      clearscreen,0           ; Clear the screen
  27.     FNCALL16    InfoBox, welcome, sto0  ; Display an intro box
  28.     FNCALL08    EventRead, 0, a         ; Clear any events
  29.  
  30. ; Init starting position
  31.     RLD32       sto0,8                  ; X coord of one end of the line
  32.     RLD32       sto1,6                  ; Y coord of one end of the line
  33.     RLD32       sto2,66                 ; X coord of the other end
  34.     RLD32       sto3,12                 ; X coord of the other end
  35.     RLD32       sto4,GP_SOLID_LINE      ; Draw solid lines
  36.  
  37. ; Init starting directions
  38.     RLD32       sto5,2                  ; X direction of one end of the line
  39.     RLD32       sto6,2                  ; Y direction of one end of the line
  40.     RLD32       sto7,-2                 ; X direction of the other end
  41.     RLD32       sto8,-2                 ; Y direction of the other end
  42.  
  43. draw:
  44.     FNCALL08    LineDraw,sto0,GP_XOR    ; Draw the line
  45.  
  46. ; Move the line ends
  47.     ADD32       sto0,sto5
  48.     ADD32       sto1,sto6
  49.     ADD32       sto2,sto7
  50.     ADD32       sto3,sto8
  51.  
  52. ; Check for hitting the edges of the screen
  53. comp1:
  54.     CMP         sto0,320
  55.     JPNZ        comp2
  56.     RLD32       sto5,-2
  57.  
  58. comp2:
  59.     CMP         sto1,240
  60.     JPNZ        comp3
  61.     RLD32       sto6,-2
  62.  
  63. comp3:
  64.     CMP         sto2,320
  65.     JPNZ        comp4
  66.     RLD32       sto7,-2
  67.  
  68. comp4:
  69.     CMP         sto3,240
  70.     JPNZ        comp5
  71.     RLD32       sto8,-2
  72.  
  73. comp5:
  74.     CMP         sto0,0
  75.     JPNZ        comp6
  76.     RLD32       sto5,2
  77.  
  78. comp6:
  79.     CMP         sto1,0
  80.     JPNZ        comp7
  81.     RLD32       sto6,2
  82.  
  83. comp7:
  84.     CMP         sto2,0
  85.     JPNZ        comp8
  86.     RLD32       sto7,2
  87.  
  88. comp8:
  89.     CMP         sto3,0
  90.     JPNZ        comp9
  91.     RLD32       sto8,2
  92.  
  93. comp9:
  94.     FNCALL08    EventRead, 0, a         ; Check for key press
  95.     CMP08       a, 4                    ; Anything?
  96.     JPNZ        draw                    ; Go back and start again
  97.     EXIT
  98.  
  99. ;-----------------------------------------------------------------------------
  100. ;
  101. ; DATA
  102. ;
  103.  
  104. welcome:
  105.      DB 1
  106.      DB "               -= LINE DEMO =-"
  107.      DB 0Dh
  108.      DB "Written by Murray Moffatt (100240,1477)"
  109.      DB 0Dh
  110.      DB "This is just a little demo of a line"
  111.      DB 0Dh
  112.      DB "bouncing around the screen."
  113.      DB 0Dh
  114.      DB "Press any key to exit the demo."
  115.      DB 0Dh
  116.      $DATE_TIME
  117.  
  118. ;-------------------------------------------------------------------------
  119.  
  120. pili_bottom: ; NEED TO BE THERE FOR HEADER
  121.  
  122.     END
  123.