home *** CD-ROM | disk | FTP | other *** search
/ Nibble Magazine / nib37a.dsk / JULY.1989 / OVERLAY.DEMO.bas < prev    next >
BASIC Source File  |  2023-02-26  |  2KB  |  33 lines

  1. 10  REM  *************************
  2. 20  REM  * OVERLAY.DEMO          *
  3. 30  REM  * BY E.L. CRANFORD, JR. *
  4. 40  REM  * COPYRIGHT(C) 1989     *
  5. 50  REM  * MINDCRAFT PUBL. CORP. *
  6. 60  REM  * CONCORD, MA 01742     *
  7. 70  REM  *************************
  8. 80  ONERR  GOTO 130
  9. 90  DATA  ADDITION,SUBTRACTION,MULTIPLICATION,DIVISION
  10. 100  DATA  100, 23,675,195,893,1,107,202,377,9
  11. 110  DATA  3,6,12,92,999,5,19,20,18,4
  12. 120  GOTO 250
  13. 130 ER =  PEEK(222)
  14. 140  IF ER = 12  THEN  HOME : PRINT "NO BUFFERS AVAILABLE": END 
  15. 150  IF ER = 14  THEN  HOME : PRINT "PROGRAM TOO LARGE": END 
  16. 160  IF ER = 77  THEN  HOME : PRINT "OUT OF MEMORY": END 
  17. 170  IF ER = 6  THEN  HOME : PRINT "THE FILE 'OVRLY' MUST BE ON THIS DISK": END 
  18. 180  HOME : PRINT "ERROR #"ER" IN LINE #" PEEK(218) +256 * PEEK(219): END 
  19. 190  VTAB V% -1: PRINT "SELECT ONE (ESC=EXIT) :";: GET Z$: PRINT :Z =  ASC(Z$):EX = Z = 27:M = (Z -48) *(Z >48): RETURN 
  20. 200 Y$ =  LEFT$(Y$ +Y$,L2): ON  LEN(Y$) <L2 GOTO 200: RETURN 
  21. 210  TEXT : HOME :L = 0: FOR T = 1 TO LT:X =  LEN(T$(T)): IF X >L  THEN L = X
  22. 220  NEXT :L2 = L +4:H = (41 -L2)/2:Y$ = "*": GOSUB 200: HTAB H: PRINT Y$: FOR T = 1 TO LT: HTAB H: PRINT "*";: INVERSE : PRINT  SPC( L2 -2);: NORMAL : PRINT "*";: INVERSE : HTAB (41 - LEN(T$(T)))/2: PRINT T$(T): NORMAL : NEXT : HTAB H: PRINT Y$: RETURN 
  23. 230  VTAB V%: PRINT LN$: FOR M = 1 TO LM%: VTAB  FN V(M): PRINT  CHR$(48 +M)"-"X$(M): NEXT : VTAB  FN V(M): PRINT LN$: RETURN 
  24. 240  FOR N = 1 TO 4: READ X$(N): NEXT : FOR I = 1 TO 10: READ A(I): NEXT : FOR I = 1 TO 10: READ B(I): NEXT :LM% = 4:S% = 2:V% = 9: RETURN 
  25. 250 D$ =  CHR$(4):Y$ = "=":L2 = 39: GOSUB 200:LN$ = Y$: DIM X$(4),T$(2),A(10),B(10): GOSUB 240
  26. 260  PRINT D$"BRUN OVRLY"
  27. 270 T$(1) = "OVERLAY DEMO":LT = 2
  28. 280  DEF  FN V(M) = V% +M *S%: GOTO 340
  29. 290 T$(2) = "MAIN MENU": GOSUB 210:LM% = 4:S% = 2:V% = 9: GOSUB 230
  30. 300  GOSUB 190: ON EX GOTO 320: ON M <1  OR M >LM% GOTO 300
  31. 310  &  STORE ,320: PRINT D$"CHAIN OVERLAY.ELM" + CHR$(M +48)
  32. 320  TEXT : HOME : END 
  33. 340  GOTO 290