add example action program
This commit is contained in:
		
							parent
							
								
									80d00ae1c3
								
							
						
					
					
						commit
						c11b09ce3b
					
				@ -3,3 +3,500 @@
 | 
			
		||||
[**Video Series**](https://rumble.com/playlists/ZLa9d1onaE0)
 | 
			
		||||
 | 
			
		||||
This series is ongoing. It began as an attempt to teach myself Action!, but has evolved into a continuous thing. My next extension to this project will involve [Thomas Cherryholmes Fujinet!](https://fujinet.online/) Keep an eye on this page, as I will be adding explanations, code samples, and other resource links here, to support the series.
 | 
			
		||||
 | 
			
		||||
---
 | 
			
		||||
 | 
			
		||||
**Print the Action! Language Logo**
 | 
			
		||||
 | 
			
		||||
<pre class="atari">
 | 
			
		||||
 | 
			
		||||
; CIS Notice:
 | 
			
		||||
;  
 | 
			
		||||
; I am providing the program for you
 | 
			
		||||
; to look at and maybe help you get
 | 
			
		||||
; started with ACTION!.  It was
 | 
			
		||||
; written 'quick and dirty' and as
 | 
			
		||||
; such does not have many comments
 | 
			
		||||
; and is not the best of code in many
 | 
			
		||||
; places.  Feel free to show it to
 | 
			
		||||
; anyone you like as long as you keep
 | 
			
		||||
; the copyright notice.
 | 
			
		||||
 | 
			
		||||
; In case you are interested, this is
 | 
			
		||||
; the company logo for Action
 | 
			
		||||
; Computer Services (ACS).
 | 
			
		||||
 | 
			
		||||
;- Clinton Parker 70435,625
 | 
			
		||||
 | 
			
		||||
; PS: Hit ESC to exit program
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
; Copyright 1983 by Action Computer Services
 | 
			
		||||
 | 
			
		||||
; last modified April 13, 1983
 | 
			
		||||
 | 
			
		||||
MODULE ; LOGO.ACT
 | 
			
		||||
 | 
			
		||||
DEFINE RTI = "$40",
 | 
			
		||||
  PHA = "$48",
 | 
			
		||||
  PLA = "$68",
 | 
			
		||||
  TXA = "$8A",
 | 
			
		||||
  TAX = "$AA",
 | 
			
		||||
  TYA = "$98",
 | 
			
		||||
  TAY = "$A8"
 | 
			
		||||
 | 
			
		||||
BYTE start
 | 
			
		||||
BYTE ARRAY display
 | 
			
		||||
CARD ARRAY yLoc(96)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
PROC NMI()
 | 
			
		||||
  BYTE color, cnt
 | 
			
		||||
  BYTE COLPF1=$D017, WSYNC=$D40A,
 | 
			
		||||
    VCOUNT=$D40B, COLPF2=$D018,
 | 
			
		||||
    COLPF0=$D016
 | 
			
		||||
  BYTE ARRAY col(0)=[$68 $C $96 $38]
 | 
			
		||||
 | 
			
		||||
  [PHA TXA PHA TYA PHA]
 | 
			
		||||
 | 
			
		||||
  IF VCOUNT=7 THEN
 | 
			
		||||
    color = start
 | 
			
		||||
    start = start - 1
 | 
			
		||||
    IF (start&$1F)=0 THEN cnt = cnt + 1 FI
 | 
			
		||||
  FI
 | 
			
		||||
 | 
			
		||||
  color = color - 2
 | 
			
		||||
  WSYNC = 1
 | 
			
		||||
  COLPF0 = color
 | 
			
		||||
  COLPF1 = color
 | 
			
		||||
  COLPF2 = col((cnt + VCOUNT) & 3)
 | 
			
		||||
[PLA TAY PLA TAX PLA RTI]
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
PROC Background()
 | 
			
		||||
  BYTE COLBK=$D01A, VCOUNT=$D40B, WSYNC=$D40A
 | 
			
		||||
 | 
			
		||||
  [PHA TXA PHA TYA PHA]
 | 
			
		||||
  WSYNC = 0
 | 
			
		||||
  IF VCOUNT>50 THEN
 | 
			
		||||
    COLBK = 0
 | 
			
		||||
  ELSE
 | 
			
		||||
    COLBK = $D6
 | 
			
		||||
  FI
 | 
			
		||||
[PLA TAY PLA TAX PLA RTI]
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
PROC Init7()
 | 
			
		||||
  BYTE i
 | 
			
		||||
  CARD screen, scrloc=88
 | 
			
		||||
 
 | 
			
		||||
  Graphics(23)
 | 
			
		||||
  SetColor(0,2,10)
 | 
			
		||||
  SetColor(1,0,12)
 | 
			
		||||
  SetColor(2,0,12)
 | 
			
		||||
 | 
			
		||||
  display = scrloc
 | 
			
		||||
  screen = scrloc
 | 
			
		||||
  i = 0
 | 
			
		||||
  WHILE i<96 DO
 | 
			
		||||
    yLoc(i) = screen
 | 
			
		||||
    screen = screen + 40
 | 
			
		||||
    i = i + 1
 | 
			
		||||
  OD
 | 
			
		||||
RETURN
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
PROC Plot7(BYTE x, y)
 | 
			
		||||
  BYTE ARRAY pos, bm(0)=[$C0$30$C$3],
 | 
			
		||||
  cm(0)=[$0 $55 $AA $FF]
 | 
			
		||||
 | 
			
		||||
  pos = yLoc(y)
 | 
			
		||||
 | 
			
		||||
  pos(x RSH 2) ==% (bm(x&3)&cm(color))
 | 
			
		||||
RETURN
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
PROC VLine(BYTE x, y1, y2)
 | 
			
		||||
  WHILE y1#y2 DO
 | 
			
		||||
    Plot7(x, y1)
 | 
			
		||||
    y1 = y1 + 1
 | 
			
		||||
  OD
 | 
			
		||||
RETURN
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
PROC HLine(BYTE x1, x2, y)
 | 
			
		||||
  WHILE x1#x2 DO
 | 
			
		||||
    Plot7(x1, y)
 | 
			
		||||
    x1 = x1 + 1
 | 
			
		||||
  OD
 | 
			
		||||
RETURN
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
PROC DLine(BYTE x1, x2, y1)
 | 
			
		||||
  BYTE incr
 | 
			
		||||
 | 
			
		||||
  incr = 1
 | 
			
		||||
  IF x2<x1 THEN incr = $FF FI
 | 
			
		||||
 | 
			
		||||
  WHILE x1#x2 DO
 | 
			
		||||
    Plot7(x1, y1)
 | 
			
		||||
    x1 = x1 + incr
 | 
			
		||||
    Plot7(x1, y1)
 | 
			
		||||
    y1 = y1 + 1 
 | 
			
		||||
  OD
 | 
			
		||||
RETURN
 | 
			
		||||
 | 
			
		||||
PROC Dot(BYTE x, y)
 | 
			
		||||
  BYTE i 
 | 
			
		||||
 | 
			
		||||
  i = 0 
 | 
			
		||||
  WHILE i<4 DO
 | 
			
		||||
    Plot7(x+1, y)	Plot7(x+2, y)
 | 
			
		||||
    IF i=1 OR i=2 THEN
 | 
			
		||||
      Plot7(x, y)	Plot7(x+3, y)
 | 
			
		||||
    FI
 | 
			
		||||
    y = y + 1
 | 
			
		||||
    i = i + 1
 | 
			
		||||
  OD
 | 
			
		||||
RETURN
 | 
			
		||||
 | 
			
		||||
PROC Pad(BYTE x, y)
 | 
			
		||||
  BYTE i
 | 
			
		||||
 | 
			
		||||
  i = 0
 | 
			
		||||
  WHILE i<4 DO
 | 
			
		||||
    Plot7(x, y)
 | 
			
		||||
    Plot7(x+1, y)
 | 
			
		||||
    Plot7(x+2, y)
 | 
			
		||||
    y = y + 1
 | 
			
		||||
    i = i + 1
 | 
			
		||||
  OD
 | 
			
		||||
RETURN
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
PROC LineX(BYTE x1, y1, x2, y2)
 | 
			
		||||
  Plot(x1, y1)
 | 
			
		||||
  DrawTo(x2, y2)
 | 
			
		||||
  Plot(x1+1, y1)
 | 
			
		||||
  DrawTo(x2+1, y2)
 | 
			
		||||
RETURN
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
PROC LineY(BYTE x1, y1, x2, y2)
 | 
			
		||||
  Plot(x1, y1)
 | 
			
		||||
  DrawTo(x2, y2)
 | 
			
		||||
; Plot(x1, y1+1)
 | 
			
		||||
; DrawTo(x2, y2+1)
 | 
			
		||||
RETURN
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
PROC Curve(BYTE x, y)
 | 
			
		||||
; Plot7(x-1, y-1)
 | 
			
		||||
  VLine(x, y-1, y+2)
 | 
			
		||||
  VLine(x+1, y-1, y+2)
 | 
			
		||||
  VLine(x+2, y-2, y+1)
 | 
			
		||||
  y = y - 4
 | 
			
		||||
  VLine(x+3, y, y+5)
 | 
			
		||||
  VLine(x+4, y, y+4)
 | 
			
		||||
  VLine(x+5, y, y+3)
 | 
			
		||||
  Plot7(x+6, y)	
 | 
			
		||||
  Plot7(x+6, y+1)
 | 
			
		||||
RETURN
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
PROC Draw()
 | 
			
		||||
  BYTE i, j, k 
 | 
			
		||||
  CARD x
 | 
			
		||||
 | 
			
		||||
; draw fingers
 | 
			
		||||
  i = 0
 | 
			
		||||
  x = 160
 | 
			
		||||
  WHILE i<15 DO
 | 
			
		||||
    j = 0
 | 
			
		||||
    WHILE j<3 DO
 | 
			
		||||
      k = 0
 | 
			
		||||
      WHILE k<4 DO
 | 
			
		||||
        display(x+k) = $55
 | 
			
		||||
        k = k + 1
 | 
			
		||||
      OD
 | 
			
		||||
      x = x + 40
 | 
			
		||||
      j = j + 1
 | 
			
		||||
    OD
 | 
			
		||||
    x = x + 120
 | 
			
		||||
    i = i + 1
 | 
			
		||||
  OD
 | 
			
		||||
 | 
			
		||||
; draw the pads
 | 
			
		||||
  i = 64
 | 
			
		||||
  WHILE i<112 DO
 | 
			
		||||
    Pad(i, 22)
 | 
			
		||||
    i = i + 6
 | 
			
		||||
  OD
 | 
			
		||||
  Pad(142, 22)
 | 
			
		||||
  Pad(70, 62)
 | 
			
		||||
  Pad(76, 62)
 | 
			
		||||
  Pad(94, 62)
 | 
			
		||||
  Pad(106, 62)
 | 
			
		||||
  Pad(142, 62)
 | 
			
		||||
 | 
			
		||||
; finger 1, 15 connections
 | 
			
		||||
  i = 0
 | 
			
		||||
  WHILE i<4 DO
 | 
			
		||||
   display(204+i) = $AA
 | 
			
		||||
   display(3564+i) = $AA 
 | 
			
		||||
   i = i + 1
 | 
			
		||||
  OD
 | 
			
		||||
  Dot(31, 3)
 | 
			
		||||
  Dot(29, 88)
 | 
			
		||||
 | 
			
		||||
; finger 2 connection (A3)
 | 
			
		||||
  LineX(16, 11, 44, 8)
 | 
			
		||||
  HLine(44, 105, 8)
 | 
			
		||||
  DLine(105, 107, 8)
 | 
			
		||||
  VLine(107, 10, 23)
 | 
			
		||||
 | 
			
		||||
; finger 3 connection (A2)
 | 
			
		||||
  LineX(16, 17, 48, 11)
 | 
			
		||||
  HLine(48, 99, 11)
 | 
			
		||||
  DLine(99, 101, 11)
 | 
			
		||||
  VLine(101, 13, 23)
 | 
			
		||||
 | 
			
		||||
; finger 4 connection (A1)
 | 
			
		||||
  LineX(16, 23, 52, 14)
 | 
			
		||||
  HLine(52, 93, 14)
 | 
			
		||||
  DLine(93, 95, 14)
 | 
			
		||||
  VLine(95, 16, 23)
 | 
			
		||||
 | 
			
		||||
; finger 5 connection (A0)
 | 
			
		||||
  LineX(16, 29, 56, 17)
 | 
			
		||||
  HLine(56, 87, 17)
 | 
			
		||||
  DLine(87, 89, 17)
 | 
			
		||||
  VLine(89, 19, 23)
 | 
			
		||||
 | 
			
		||||
; finger 6 connection (D4)
 | 
			
		||||
  HLine(16, 60, 35)
 | 
			
		||||
  LineY(60, 35, 71, 62)
 | 
			
		||||
 
 | 
			
		||||
; finger 7 connection (D5)
 | 
			
		||||
  HLine(16, 56, 41)
 | 
			
		||||
  DLine(56, 58, 41)
 | 
			
		||||
  VLine(58, 43, 66)
 | 
			
		||||
  DLine(58, 60, 66)
 | 
			
		||||
  HLine(60, 76, 68)
 | 
			
		||||
  DLine(77, 75, 66)
 | 
			
		||||
 | 
			
		||||
; finger 8 connection (D2)
 | 
			
		||||
  HLine(16, 34, 47)
 | 
			
		||||
  DLine(34, 58, 47)
 | 
			
		||||
  HLine(58, 79, 71)
 | 
			
		||||
  DLine(80, 78, 70)
 | 
			
		||||
  VLine(80, 60, 70)
 | 
			
		||||
  LineY(80, 60, 71, 25)
 | 
			
		||||
 | 
			
		||||
; finger 9 connection (D1)
 | 
			
		||||
  HLine(16, 34, 53)
 | 
			
		||||
  DLine(34, 55, 53)
 | 
			
		||||
  HLine(55, 85, 74)
 | 
			
		||||
  DLine(86, 84, 73)
 | 
			
		||||
  VLine(86, 60, 73)
 | 
			
		||||
  LineY(86, 60, 77, 25)
 | 
			
		||||
 | 
			
		||||
; finger 10 connection (D0)
 | 
			
		||||
  HLine(16, 20, 59)
 | 
			
		||||
  DLine(23, 19, 56)
 | 
			
		||||
  HLine(24, 32, 56)
 | 
			
		||||
  DLine(32, 53, 56)
 | 
			
		||||
  HLine(53, 91, 77)
 | 
			
		||||
  DLine(92, 90, 76)
 | 
			
		||||
  VLine(92, 60, 76)
 | 
			
		||||
  LineY(92, 60, 83, 25)
 | 
			
		||||
 | 
			
		||||
; finger 11 connection (D6)
 | 
			
		||||
  HLine(16, 24, 65)
 | 
			
		||||
  DLine(27, 23, 62)
 | 
			
		||||
  Dot(26, 60)
 | 
			
		||||
 | 
			
		||||
; finger 12 connection (CS)
 | 
			
		||||
  DLine(107, 92, 66)
 | 
			
		||||
  HLine(50, 92, 80)
 | 
			
		||||
  DLine(40, 50, 71)
 | 
			
		||||
  HLine(16, 40, 71)
 | 
			
		||||
  VLine(95, 66, 78)
 | 
			
		||||
 | 
			
		||||
; finger 13 connection (+5)
 | 
			
		||||
  Plot(16, 76)
 | 
			
		||||
  DrawTo(50, 86)
 | 
			
		||||
  Plot(16, 77)
 | 
			
		||||
  DrawTo(50, 87)
 | 
			
		||||
  Plot(16, 78)
 | 
			
		||||
  DrawTo(50, 88)
 | 
			
		||||
  HLine(50, 149, 86)
 | 
			
		||||
  HLine(50, 149, 87)
 | 
			
		||||
  HLine(50, 149, 88)
 | 
			
		||||
  Curve(149, 86)
 | 
			
		||||
  i = 0
 | 
			
		||||
  WHILE i<4 DO
 | 
			
		||||
   VLine(153+i, 47, 82)
 | 
			
		||||
   DLine(143+i, 153+i, 37)
 | 
			
		||||
   VLine(143+i, 22, 37)
 | 
			
		||||
 | 
			
		||||
   HLine(142, 155, 62+i)
 | 
			
		||||
 | 
			
		||||
   VLine(153+i, 5, 17) ; ground pad
 | 
			
		||||
 | 
			
		||||
   i = i + 1
 | 
			
		||||
  OD
 | 
			
		||||
  HLine(143, 146, 21)
 | 
			
		||||
  Plot7(141, 63)
 | 
			
		||||
  Plot7(141, 64)
 | 
			
		||||
  Curve(149, 62)
 | 
			
		||||
  HLine(149, 153, 66)
 | 
			
		||||
  VLine(152, 66, 70)
 | 
			
		||||
  Plot7(151, 67)
 | 
			
		||||
 | 
			
		||||
; finger 14 connection (cart. select)
 | 
			
		||||
  HLine(16, 35, 82)
 | 
			
		||||
  HLine(16, 38, 83)
 | 
			
		||||
  HLine(16, 41, 84)
 | 
			
		||||
 | 
			
		||||
; ground pads 
 | 
			
		||||
  Dot(153, 3)
 | 
			
		||||
  Dot(153, 16)
 | 
			
		||||
  HLine(62, 64, 23)
 | 
			
		||||
  HLine(62, 64, 24)
 | 
			
		||||
 | 
			
		||||
RETURN
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
PROC Letter(BYTE ARRAY pts, BYTE x, y, delay)
 | 
			
		||||
  BYTE i, dx, dy
 | 
			
		||||
 | 
			
		||||
  WHILE 1 DO
 | 
			
		||||
   dx = pts^
 | 
			
		||||
   pts = pts + 1
 | 
			
		||||
   dy = pts^
 | 
			
		||||
   pts = pts + 1
 | 
			
		||||
   IF dx=$FF THEN EXIT FI
 | 
			
		||||
   Plot7(x+dx, y+dy)
 | 
			
		||||
 | 
			
		||||
   ;i = 0
 | 
			
		||||
   ;WHILE i<delay DO i==+1*1*1 OD
 | 
			
		||||
  OD
 | 
			
		||||
RETURN
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
PROC Logo()
 | 
			
		||||
  CHAR CH=$2FC
 | 
			
		||||
  BYTE x, NMIEN=$D40E, COLBK=$D01A
 | 
			
		||||
  CARD j, old, SDLST=$230, VDSLST=$200
 | 
			
		||||
  BYTE i
 | 
			
		||||
  BYTE ARRAY dlist
 | 
			
		||||
  BYTE ARRAY side(0)=[2 0 1 0 0 0 0 1
 | 
			
		||||
     0 2 1 2 2 2 2 3 2 4 1 4 0 4 4 0 4
 | 
			
		||||
     1 4 2 4 3 4 4 6 0 6 1 6 2 6 3 6 4
 | 
			
		||||
     7 0 8 1 8 2 8 3 7 4 10 0 10 1 10
 | 
			
		||||
     2 10 3 10 4 11 0 12 0 11 2 11 4 12
 | 
			
		||||
     4 18 4 18 3 19 2 19 1 20 0 21 1 21
 | 
			
		||||
     2 22 3 22 4 20 2 $FF]
 | 
			
		||||
  BYTE ARRAY copyright(0)=[5 0 4 0 3 0
 | 
			
		||||
     2 0 1 1 0 2 0 3 0 4 0 5 1 6 2 7 3
 | 
			
		||||
     7 4 7 5 7 6 6 7 5 7 4 7 3 7 2 6 1
 | 
			
		||||
     4 2 3 2 2 3 2 4 3 5 4 5 $FF]
 | 
			
		||||
  BYTE ARRAY A(0)=[0 8 1 8 0 7 1 7 0 6
 | 
			
		||||
     1 6 2 6 1 5 2 5 1 4 2 4 1 3 2 3 3
 | 
			
		||||
     3 2 2 3 2 2 1 3 1 3 0 4 0 4 1 5 0
 | 
			
		||||
     5 1 6 1 5 2 6 2 5 3 6 3 7 3 6 4 7
 | 
			
		||||
     4 6 5 7 5 6 6 7 6 8 6 7 7 8 7 7 8
 | 
			
		||||
     8 8 3 5 4 5 5 5 $FF]
 | 
			
		||||
  BYTE ARRAY C(0)=[7 2 6 2 6 1 5 1 5 0
 | 
			
		||||
     4 0 3 0 2 0 2 1 1 1 1 2 0 2 1 3 0
 | 
			
		||||
     3 1 4 0 4 0 5 1 5 0 6 1 6 1 7 2 7
 | 
			
		||||
     2 8 3 8 4 8 5 8 5 7 6 7 6 6 7 6 
 | 
			
		||||
; hier fehlt das Ende
 | 
			
		||||
     $FF]
 | 
			
		||||
  BYTE ARRAY S(0)=[6 2 5 2 5 1 4 1 4 0
 | 
			
		||||
     3 0 2 0 2 1 1 1 0 2 1 2 1 3 2 3 2
 | 
			
		||||
     4 3 4 4 4 4 5 5 5 6 6 5 6 5 7 4 7
 | 
			
		||||
     4 8 3 8 2 8 2 7 1 7 1 6 0 6 $FF]
 | 
			
		||||
  BYTE ARRAY rev(0)=[0 0 0 1 0 2 0 3 0
 | 
			
		||||
     4 0 5 0 6 1 6 1 5 1 4 1 3 1 2 1 1
 | 
			
		||||
     1 0 2 0 3 0 4 1 4 2 3 3 2 3 3 4 4
 | 
			
		||||
     5 4 6 7 0 8 0 7 1 8 1 7 2 8 2 7 3 
 | 
			
		||||
     8 3 7 4 8 4 7 5 8 5 7 6 8 6 11 0 
 | 
			
		||||
     10 0 9 0 10 3 9 3 11 6 10 6 9 6 14
 | 
			
		||||
     0 15 0 14 1 15 1 14 2 15 2 15 3 16
 | 
			
		||||
     3 15 4 16 4 16 5 16 6 17 6 17 5 18
 | 
			
		||||
     4 18 3 19 2 19 1 19 0 22 5 21 5 21
 | 
			
		||||
     6 22 6 27 6 28 6 27 5 28 5 27 4 28
 | 
			
		||||
     4 28 3 29 3 28 2 29 2 29 1 29 0 30
 | 
			
		||||
     0 30 1 31 2 31 3 32 4 32 5 32 6 29
 | 
			
		||||
     5 30 5 31 5 $FF]
 | 
			
		||||
 | 
			
		||||
  Init7()
 | 
			
		||||
  color = 2
 | 
			
		||||
 | 
			
		||||
  NMIEN = $40
 | 
			
		||||
  old = VDSLST
 | 
			
		||||
  VDSLST = Background
 | 
			
		||||
  dlist = SDLST
 | 
			
		||||
  dlist(6) ==% $80
 | 
			
		||||
  dlist(97) ==% $80
 | 
			
		||||
  NMIEN = $C0
 | 
			
		||||
 | 
			
		||||
  Draw()
 | 
			
		||||
 | 
			
		||||
; j = 0
 | 
			
		||||
; WHILE j<10000 DO j==+1 OD
 | 
			
		||||
 | 
			
		||||
  color = 3
 | 
			
		||||
  Letter(side, 120, 10, 50)
 | 
			
		||||
  Letter(rev, 105, 75, 50)
 | 
			
		||||
  Letter(copyright, 96, 41, 100)
 | 
			
		||||
  Letter(A, 109, 41, 100)
 | 
			
		||||
  Letter(C, 121, 41, 100)
 | 
			
		||||
  Letter(S, 132, 41, 100)
 | 
			
		||||
 | 
			
		||||
  j = 0
 | 
			
		||||
  WHILE j<2000 AND CH=$FF DO
 | 
			
		||||
    i = 0
 | 
			
		||||
    WHILE i<100 DO i==+1 OD
 | 
			
		||||
    j = j + 1
 | 
			
		||||
  OD
 | 
			
		||||
 | 
			
		||||
  NMIEN = $40
 | 
			
		||||
  VDSLST = NMI
 | 
			
		||||
 | 
			
		||||
  start = 0
 | 
			
		||||
 | 
			
		||||
  dlist(0) ==% $80
 | 
			
		||||
  dlist(2) ==% $80
 | 
			
		||||
  i = 3
 | 
			
		||||
  WHILE i<101 DO
 | 
			
		||||
    x = dlist(i)
 | 
			
		||||
    dlist(i) = x % $80 
 | 
			
		||||
    IF x#$D THEN
 | 
			
		||||
      i = i + 3
 | 
			
		||||
    ELSE
 | 
			
		||||
      i = i + 1
 | 
			
		||||
    FI
 | 
			
		||||
  OD
 | 
			
		||||
 | 
			
		||||
  NMIEN = $C0
 | 
			
		||||
 | 
			
		||||
; Draw()
 | 
			
		||||
 | 
			
		||||
  CH = $FF
 | 
			
		||||
  WHILE CH#$1C DO
 | 
			
		||||
;   SetColor(4, 0, 4)
 | 
			
		||||
;   COLBK = 4
 | 
			
		||||
  OD
 | 
			
		||||
 | 
			
		||||
  NMIEN = $40
 | 
			
		||||
  VDSLST = old
 | 
			
		||||
 | 
			
		||||
  GetD(7)
 | 
			
		||||
  Graphics(0)
 | 
			
		||||
RETURN
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
</pre>
 | 
			
		||||
@ -74,4 +74,6 @@ I have a love-hate relationship with BASIC. It's easy to get started, it's diffi
 | 
			
		||||
190  PRINT INT(P)
 | 
			
		||||
200  IF P > 0 THEN 90
 | 
			
		||||
210  END
 | 
			
		||||
 | 
			
		||||
</pre>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user