Tuesday, March 10, 2009

One more Applesoft Program

I wrote this as two programs so long ago, I don't remember how they work :)

I thought for sure that I lost these, but stumbled across them today so I wanted to post them here for posterity.  I espcially like version 2.

If I get really ambitious I might try to write version 2 into assembly... not sure I remember assembly quite that well yet (I can read it well enough, but can I still write it???)

 1   TEXT : HOME
 2   ?  "Lo Res Graphics Fun by Gregg"
 5   ? "Which Version 1 or 2 (3 to quit): ";: GET K$
 6   IF K$ = "2" THEN 10
 7   IF K$ = "1" THEN 510
 8   IF K$ = "3" THEN HOME : ? "Bye!" : END
 9   GOTO 1
 10  TEXT : HOME : GR :T = 0:X = 1:Y = 38:C1 = 1:Z = 0:C2 = 2:XX = 0:YY = 0
 12 X1 = 19:Y1 = 20:C3 = 4
 13 X2 = 19:Y2 = 20:C4 = 6
 15  VTAB 22: PRINT "HIT ESC TO EXIT"
 20  COLOR= C1: HLIN X,Y AT X: HLIN X,Y AT Y: VLIN X,Y AT X: VLIN X,Y AT Y
 30 X = X + 1:Y = Y - 1:T = T + 1: IF T = 9 THEN XX = 1:YY = 38:Z = 1
 40  IF X = 20 THEN X = 1:Y = 38:C1 = C1 + 2: IF C1 > 15 THEN C1 = 1
 50  IF Z <  > 1 THEN 80
 60  COLOR= C2: HLIN XX,YY AT XX: HLIN XX,YY AT YY: VLIN XX,YY AT YY: VLIN XX,YY AT XX
 70 XX = XX + 1:YY = YY - 1: IF XX = 20 THEN XX = 1:YY = 38:C2 = C2 + 2: IF C2 > 14 THEN C2 = 2
 80  COLOR= C3: HLIN X1,Y1 AT X1: HLIN X1,Y1 AT Y1: VLIN X1,Y1 AT X1: VLIN X1,Y1 AT Y1
 90 X1 = X1 - 1:Y1 = Y1 + 1:
 100  IF X1 = 0 THEN X1 = 19:Y1 = 20:C3 = C3 + 2: IF C3 > 15 THEN C3 = 1
 105  IF Z <  > 1 THEN 20
 110  COLOR= C4: HLIN Y2,X2 AT X2: HLIN Y2,X2 AT Y2: VLIN Y2,X2 AT X2: VLIN Y2,X2 AT Y2
 120 X2 = X2 - 1:Y2 = Y2 + 1
 130  IF X2 = 0 THEN X2 = 19:Y2 = 20:C4 = C4 + 2: IF C4 > 15 THEN C4 = 1
 200 K =  PEEK ( - 16384): IF K <  > 155 THEN 20
 210  POKE  - 16368,0: TEXT : HOME : GOTO 1

 510  TEXT : HOME : GR :T = 0:X = 1:Y = 38:C1 = 1:Z = 0:C2 = 2:XX = 0:YY = 0
 520  COLOR= C1: HLIN X,Y AT X: HLIN X,Y AT Y: VLIN X,Y AT X: VLIN X,Y AT Y
 530 X = X + 1:Y = Y - 1:T = T + 1: IF T = 9 THEN XX = 1:YY = 38:Z = 1
 540  IF X = 39 THEN X = 1:Y = 38:C1 = C1 + 2: IF C1 > 15 THEN C1 = 1
 550  IF Z <  > 1 THEN 520
 560  COLOR= C2: HLIN XX,YY AT XX: HLIN XX,YY AT YY: VLIN XX,YY AT YY: VLIN XX,YY AT XX
 570 XX = XX + 1:YY = YY - 1: IF XX = 39 THEN XX = 1:YY = 38:C2 = C2 + 2: IF C2 > 14 THEN C2 = 2
 580  VTAB 22: PRINT "HIT 'ESC' TO EXIT":K =  PEEK ( - 16384): IF K <  > 155 THEN 520
 590  POKE  - 16368,0: TEXT : HOME : GOTO 1

No comments:

Post a Comment

Comments are moderated. We're only going to allow stuff that we find funny, interesting, or just plain for the heck of it. If you don't like that, feel free to leave.

Copyright Realm Laboratories, LLC