Source:Version Analysis

From Eamon Wiki
Jump to navigation Jump to search
This page is a verbatim reproduction of original source material and should not be edited except for maintenance.
Description

The Applesoft BASIC source code of the Eamon utility program Version Analysis.

Source

EAG Utilities Disk

Date

c. 1984

Author

John Nelson

License

The use of this item is permitted on the grounds that it's free or in the public domain.

1  REM     EAMON DUNGEON
2  REM    VERSION ANALYSIS
3  REM        PROGRAM
4  REM 
5  REM     BY JOHN NELSON
6  REM 
7  REM 
50 D$ =  CHR$ (4)
60  READ NV: FOR X = 1 TO NV: READ LR$(X),LN$(X),LD$(X),LA$(X),LM$(X): NEXT 
100  HOME : VTAB 6: PRINT "INSERT EAMON DUNGEON DISKETTE AND PRESS": PRINT : PRINT "    ANY KEY TO CONTINUE ...";: GET A$: PRINT 
120  ONERR  GOTO 10000
150  PRINT D$;"OPEN EAMON.NAME": PRINT D$;"READ EAMON.NAME": INPUT AD$:DV = 1
160  INPUT ND$:DV = 5
200  INPUT DV
250  PRINT D$;"CLOSE"
300  REM  === CHECK ART/MON ===
320  ONERR  GOTO 390
350  PRINT D$;"OPEN EAMON.ARTIFACTS"; MID$ (",",1, LEN (LA$(DV)));LA$(DV)
360  FOR X = 1 TO 5: PRINT D$;"READ EAMON.ARTIFACTS"; MID$ (",R",1, LEN (LA$(DV))); MID$ ( STR$ (X),1, LEN (LA$(DV))): INPUT X1$,X2$,X3$,X4$
370  NEXT : GOTO 500
390 DV = DV + 1: IF DV > 4 THEN  PRINT : PRINT "I CAN'T FIGURE THIS ONE OUT.": STOP 
400  GOTO 320
500  IF DV =  > 4 THEN 1000
510  PRINT D$;"CLOSE"
520  PRINT D$;"OPEN EMAON.ROOM NAMES"; MID$ (",",1, LEN (LN$(DV)));LN$(DV)
530  ONERR  GOTO 600
550  FOR X = 1 TO 7: PRINT D$;"READ EAMON.ROOM NAMES,R";X: INPUT RN$: NEXT 
560 DV = 1: GOTO 1000
600 DV = DV + 1: IF DV > 4 THEN  PRINT : PRINT "I CAN'T FIGURE THIS OUT.": STOP 
610  GOTO 510
1000  REM  === I GOT IT! ===
1010  PRINT : PRINT "THIS DUNGEON IS A VERSION ";DV;".0": PRINT "  DUNGEON.": PRINT 
1020  IF DV = 1 THEN  IF AD$ <  > "THE BEGINNERS CAVE" AND AD$ <  > "CAVES OF TREASURE ISLAND" THEN  PRINT : PRINT "OOPS! - I MISSED!": STOP 
1050  IF DV =  > 4 THEN  PRINT "IT'S NAME IS ";AD$: END 
1060  IF DV = 2 THEN  IF AD$ <  > "THE CAVE OF THE MIND" AND AD$ <  > "LAIR OF THE MINOTAUR" THEN  PRINT : PRINT "OOPS! - I MISSED!": STOP 
9000  REM   === FILE LENGTHS ===
9001  DATA  6
9005  REM  

VERSION 1 - 
  BEGINNERS CAVE
  TREASURE ISLAND

9010  DATA   L64,L32,L256,"",""
9015  REM       

VERSION 2 - 
  LAIR OF MINOTAUR

9020  DATA      L64,L64,L256,"",""
9025  REM  

VERSION 3 - 
  CAVE OF THE MIND

9030  DATA     L64,L64,L256,"",""
9035  REM  

VERSION 4 - 
  MOST OTHERS

9040  DATA     L64,L64,L256,L128,L128
9045  REM  

VERSION 5 - 
  DDD 5.0 DISKS

9050  DATA     L64,L64,L256,L128,L128, 
9055  REM  

VERSION 6.0
  DDD VERSION 6.0 DISKS

9060  DATA      L64,L64,L256,L128,L128
10000  REM  === ERROR ===
10010 LN =  PEEK (218) +  PEEK (219) * 256
10020  IF LN = 200 THEN 250
10030  IF LN = 160 THEN 250
10040  IF LN = 150 THEN  PRINT : PRINT "THIS DUNGEON IS NOT PROPERLY FORMATTED.": PRINT : PRINT "     (PRESS ANY KEY) ... ";: GET A$: PRINT : GOTO 100
11000  PRINT : PRINT "UNEXPECTED ERROR... LINE ";LN: STOP