home *** CD-ROM | disk | FTP | other *** search
/ Nibble Magazine / nib32b.dsk / AMPER.LOADER.bas next >
BASIC Source File  |  2023-02-26  |  2KB  |  42 lines

  1. 10  REM  **********************
  2. 20  REM  *    AMPER.LOADER    *
  3. 30  REM  * BY HAROLD PORTNOY  *
  4. 40  REM  * COPYRIGHT (C) 1987 *
  5. 50  REM  * BY MICROSPARC, INC *
  6. 60  REM  * CONCORD, MA  01742 *
  7. 70  REM  **********************
  8. 80 D$ =  CHR$(4):PD =  PEEK(48896) = 76: IF   NOT PD GOTO 210
  9. 90 MI =  PEEK(49048): REM  MACHINE ID BYTE
  10. 100  IF MI <128  THEN  HOME : PRINT "NOT AN APPLE IIE, IIC OR IIGS": END 
  11. 110  IF MI -128 <48  THEN  HOME : PRINT "128K REQUIRED": END 
  12. 120 EF = 1: ONERR  GOTO 300
  13. 130  PRINT D$"BLOAD EXTRA.AMPER"
  14. 140  IF ( PEEK(48858) *256 + PEEK(48857)) <6 *1024 GOTO 270
  15. 150 EF = 2: ONERR  GOTO 300
  16. 160  PRINT D$"VERIFY /RAM"
  17. 170  HOME : PRINT "PROGRAMS IN EXTRA.AMPER EXCEED 6K": PRINT "FILES IN /RAM MAY BE OVERWRITTEN": PRINT : PRINT "ESCAPE TO QUIT, RETURN TO CONTINUE";: GET Z$: PRINT : ON Z$ < > CHR$(27) GOTO 270: END 
  18. 180  HOME : POKE 49153,0: POKE 49237,0: POKE 1024,123:A =  PEEK(1024): POKE 49236,0: POKE 49152,0: IF A < >123  THEN  PRINT "128K REQUIRED": END 
  19. 190  RETURN 
  20. 200  REM  DOS 3.3 MEMORY CHECK
  21. 210  IF  PEEK(64435) < >6  THEN  HOME : PRINT "APPLE IIE, IIC OR IIGS REQUIRED": END 
  22. 220  IF  PEEK(64448) = 0  OR ( PEEK(64448) = 224  AND  PEEK(65055) < >96) GOTO 250: REM  IIC OR IIGS
  23. 230  GOSUB 370: CALL 724: GOSUB 180
  24. 240  IF  PEEK(975) < >128  THEN  HOME : PRINT "128K REQUIRED": END 
  25. 250 EF = 3: ONERR  GOTO 300
  26. 260  PRINT D$"BLOAD EXTRA.AMPER"
  27. 270  CALL 8192: REM  RUN EXTRA.AMPER
  28. 280  HOME : PRINT  CHR$(18): PRINT "EXTRA.AMPER INSTALLED"
  29. 290  END 
  30. 300 E =  PEEK(222):EL =  PEEK(218) +256 * PEEK(219): POKE 216,0: CALL  -3288
  31. 310  IF EF = 2  AND E = 6 GOTO 270
  32. 320  IF E = 6  THEN A$ = "EXTRA.AMPER NOT ON THIS DISK": GOTO 350
  33. 330  IF E = 8  THEN A$ = "I/O ERROR--CHECK DRIVE DOOR": GOTO 350
  34. 340 A$ = "ERROR " + STR$(E) +" IN LINE " + STR$(EL)
  35. 350  HOME : VTAB 12: PRINT A$: VTAB 21: PRINT "ESCAPE TO QUIT, RETURN TO TRY AGAIN";: GET Z$: PRINT : IF Z$ =  CHR$(27)  THEN  END 
  36. 360  ON EF GOTO 120,150,250: END 
  37. 370  FOR I = 0 TO 104: READ ML: POKE 724 +I,ML: NEXT I: RETURN 
  38. 380  DATA  8,120,173,23,192,48,48,160,42,190,17,3,185,0,0,150,0,153,17,3,136,208,242,76,1,0
  39. 390  DATA  8,160,42,185,17,3,153,0,0,136,208,247,104,176,7,169,128,141,207,3,208,12,169,64,141,207
  40. 400  DATA  3,208,5,169,32,141,207,3,40,96,169,238,141,5,192,141,3,192,141,0,8,173,0,12,201,238
  41. 410  DATA  208,14,14,0,12,173,0,8,205,0,12,208,3,56,176,1,24,141,4,192,141,2,192,76,238,2
  42. 420  DATA  234,0