Source:Transfer to Character.Ext

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 Transfer to Character.Ext.

Source

Eamon Master

Date

April 1989

Author

Donald Brown, John Nelson

License

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

1  REM ///THE WONDERFUL WORLD
2  REM ///      OF EAMON 
3  REM ///
4  REM ///CHARACTER MOVER PROGRAM
5  REM ///
6  REM ///  BY DONALD BROWN
7  REM ///
8  REM  MODIFIED TO TRANSFER FROM 'CHARACTERS' TO 'CHARACTERS.EXT' 4/89 (REV 8/85)
9  REM 
10 DK$ =  CHR$ (4)
100  HOME : VTAB 5: INVERSE : HTAB 5: PRINT "EAMON CHARACTER TRANSFER PROGRAM": PRINT 
110  NORMAL : PRINT : PRINT "INSERT DISKETTE CHARACTER IS CURRENTLY  ON INTO SLOT SIX, DRIVE ONE AND ENTER   NAME:  "
115  PRINT : VTAB 15: HTAB 1: PRINT "(ENTER '?' TO SEE LIST OF CHARACTERS)": PRINT "(ENTER 'Q' TO QUIT)": VTAB 11: HTAB 7: PRINT "";
120  INPUT "";N2$: IF N2$ = "" THEN 100
125  IF N2$ = "?" THEN  GOSUB 3000: GOTO 100
128  IF N2$ = "Q" THEN  END 
130  PRINT DK$;"OPEN CHARACTERS,L150": PRINT DK$;"READ CHARACTERS,R0": INPUT NC
140  FOR REC = 1 TO NC: PRINT DK$;"READ CHARACTERS,R";REC: INPUT N$: IF N$ = N2$ THEN 1000
150  NEXT REC: PRINT DK$: PRINT : INVERSE : PRINT "CHARACTER NOT FOUND!": NORMAL : END 
1000  PRINT DK$;"READ CHARACTERS,R";REC
1010  INPUT NAME$: INPUT HD,AG,CH: FOR X = 1 TO 4: INPUT SA%(X): NEXT : FOR X = 1 TO 5: INPUT WA%(X): NEXT : INPUT AE
1020  INPUT SEX$
1030  INPUT GOLD,BANK: INPUT AC: FOR W = 1 TO 4: INPUT WNAME$(W),WTYPE%(W),WODDS%(W),WDICE%(W),WSIDES%(W): NEXT W: PRINT DK$;"CLOSE"
1040  PRINT : PRINT "NOW INSERT DISKETTE TO PLACE CHARACTER   IN AND PRESS THE ";: INVERSE : PRINT "'C'";: NORMAL : PRINT " KEY  ";
1050  GET A$: IF A$ <  > "C" THEN 1050
1060  PRINT : PRINT DK$;"OPEN CHARACTERS.EXT,L256": PRINT DK$;"READ CHARACTERS.EXT,R0": INPUT NC: FOR A = 1 TO NC: PRINT DK$;"READ CHARACTERS.EXT,R";A: INPUT A$: IF A$ <  > N2$ THEN  NEXT : PRINT DK$: GOTO 1500
1070  PRINT DK$: PRINT : PRINT "ALREADY A CHARACTER NAMED ";A$: PRINT " ON THE DISKETTE.": PRINT : PRINT "USE A NEW DISKETTE (Y/N)? ";
1080  GET A$: IF A$ <  > "Y" AND A$ <  > "N" THEN 1080
1090  PRINT A$: IF A$ = "Y" THEN 1040
1100  END 
1500  FOR REC = 1 TO NC: PRINT DK$;"READ CHARACTERS.EXT,R";REC: INPUT A$: IF A$ = "" THEN 2000
1510  NEXT REC:REC = NC + 1: PRINT DK$;"WRITE CHARACTERS.EXT,R0": PRINT NC + 1
2000  PRINT DK$;"WRITE CHARACTERS.EXT,R";REC
2010  PRINT NAME$: PRINT HD: PRINT AG: PRINT CH: FOR X = 1 TO 4: PRINT SA%(X): NEXT : FOR X = 1 TO 5: PRINT WA%(X): NEXT : PRINT AE: PRINT SEX$
2020  PRINT GOLD: PRINT BANK: PRINT AC: FOR W = 1 TO 4: PRINT WNAME$(W): PRINT WTYPE%(W): PRINT WOODS%(W): PRINT WDICE%(W): PRINT WSIDES%(W): NEXT W
2030  PRINT DK$;"CLOSE"
2100  GOTO 100
3000  REM  === DISPLAY CHAR
3010  HOME : PRINT DK$;"OPEN CHARACTERS,L150": PRINT DK$;"READ CHARACTERS,R0": INPUT NC
3020  FOR R = 1 TO NC: PRINT DK$;"READ CHARACTERS,R";R: INPUT N$
3030  PRINT DK$: PRINT R;". ";N$
3040  IF  PEEK (37) > 20 THEN  PRINT "====== PRESS ANY KEY TO CONTINUE ======";: GET A$: PRINT 
3050  NEXT : PRINT : PRINT "====== PRESS ANY KEY TO CONTINUE ======";: GET A$: PRINT : RETURN