Source:List Eamon R.A.M.

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 List Eamon R.A.M.

Source

EAG Utilities Disk

Date

9 October 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     DUNGEON ABBREV.LIST 
2  REM        BY JOHN NELSON 
3  REM 
8  REM 
9  REM  REV. 10-9-84
10 DK$ =  CHR$ (4): HOME : VTAB 5: PRINT "LISTING A DUNGEON'S MONSTERS/ARTIFACTS": PRINT : PRINT : PRINT "INSERT DISKETTE WITH DUNGEON, THEN HIT     ANY KEY   ";: POKE  - 16368,0: GET A$: PRINT 
30  PRINT : PRINT DK$;"OPEN EAMON.NAME": PRINT DK$;"READ EAMON.NAME": INPUT DUNGN$: PRINT DK$;"CLOSE"
40  PRINT DK$;"OPEN EAMON.MONSTERS,L128": PRINT DK$;"OPEN EAMON.ARTIFACTS,L128": PRINT DK$;"OPEN EAMON.DESC,L256"
50  PRINT DK$;"READ EAMON.DESC,R0": INPUT NR,NA,NE,NM: PRINT DK$"CLOSE EAMON.DESC"
60  PRINT DK$"OPEN EAMON.ROOM NAMES,L64"
1000  HOME : VTAB 6: PRINT "DO YOU WANT PRINTER OUTPUT (Y/N): ";
1010  GET A$: IF A$ <  > "Y" AND A$ <  > "N" THEN 1010
1020  PRINT A$: IF A$ = "N" THEN 8000
1030  PRINT : PRINT "INPUT PRINT SLOT (1-7): ";
1040  GET A$: IF A$ < "1" OR A$ > "7" THEN 1040
1050 PS =  VAL (A$): PRINT DK$"PR#";PS
8000  REM ///LIST THINGS ROUTINE
8010  FOR TYP = 1 TO 3
8020  ON TYPE GOTO 8030,8040,8050
8030 F$ = "EAMON.ROOM NAMES":A$ = "ROOM":N = NR: GOTO 8060
8040 F$ = "EAMON.ARTIFACTS":A$ = "ARTIFACT":N = NA: GOTO 8060
8050 F$ = "EAMON.MONSTERS":A$ = "MONSTER":N = NM: GOTO 8060
8060  TEXT : HOME : PRINT  CHR$ (12);"Adventure:";DUNGN$: PRINT : PRINT "LISTING ";A$;"S": PRINT : POKE 34,2:LN = 4
8065  FOR A = 1 TO N: PRINT DK$;"READ ";F$;",R";A: INPUT A2$: PRINT DK$: PRINT A$;"#";A;": ";: PRINT A2$:LN = LN + 1
8070  IF  PEEK ( - 16384) > 128 THEN  PRINT : PRINT "(HIT ANY KEY TO CONTINUE)  ";: GET A$: GET A$: PRINT : VTAB  PEEK (37) - 1
8075  IF LN > 58 AND PRT THEN  PRINT  CHR$ (12);A$;" - CONT'D.": PRINT :LN = 2
8078  IF LN > 20 AND  NOT PRT THEN  INVERSE : PRINT "      PRESS ANY KEY TO CONTINUE      ";: GET JN$: PRINT : NORMAL : HOME :LN = 0
8080  NEXT A: IF  NOT PRT THEN  PRINT : INVERSE : PRINT "       PRESS ANY KEY TO CONTINUE      ";: GET A$: NORMAL : HOME : PRINT :LN = 0
8100  NEXT TYP: IF  NOT PRT THEN  PRINT : INVERSE : PRINT "       PRESS ANY KEY TO CONTINUE      ";: GET A$: NORMAL : HOME : PRINT :LN = 0
9100  PRINT DK$"PR#0": PRINT DK$"CLOSE": HOME : GOTO 10
10000  PRINT D$"CLOSE": END