home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Nibble Magazine
/
nib30a.dsk
/
MARCH.1987
/
AW.DATE.64.bas
< prev
next >
Wrap
BASIC Source File
|
2023-02-26
|
5KB
|
81 lines
10 REM ************************
20 REM * AW.DATE.64 *
30 REM * BY FERNANDO SALAZAR *
40 REM * COPYRIGHT (C) 1987 *
50 REM * BY MICROSPARC, INC. *
60 REM * CONCORD, MA 01742 *
70 REM ************************
80 REM ----------------------------------
90 REM PRINT TITLE, CHECK DATA STATEMENTS
100 REM ----------------------------------
110 LOMEM: 25088:D$ = CHR$(4): TEXT : HOME : VTAB 2: HTAB 8: PRINT "APPLEWRITER DATE-PATCHER": PRINT " -----------------------------------": POKE 34,5: HOME : REM 2 SPACES, 35 DASHES
120 PRINT "CHECKING DATA STATEMENTS...":CSUM = 0: FOR I = 1 TO 247: READ A:CSUM = CSUM +A: NEXT I
130 IF CSUM < >25807 THEN PRINT "-- DATA STATEMENTS INCORRECT!! --": PRINT : PRINT " CHECK PROGRAM AND RE-TRY.": PRINT CSUM: GOTO 740
140 RESTORE : ONERR GOTO 810
150 REM
160 REM -- VARIABLES--
170 REM
180 REM <APPLEWRITER ADDRESSES>
190 REM
200 REM TLOC = ADDRESS OF [Q]-H TEXT DESCRIPTION
210 REM ALOC = ADDRESS OF [Q]-H RTS-TO ADDRESS
220 REM MPLOC = ADDRESS OF MESSAGE PRINTER
230 REM GKLOC = ADDRESS OF GETKEY
240 REM LFLOC = ADDRESS OF LOFILE BYTE
250 REM
260 REM <PATCH ASSRESSES>
270 REM
280 REM PLOC = ORIGIN OF PATCH
290 REM MVECT = MESSAGE VECTOR
300 REM INVECT= GETKEY VECTOR
310 REM F$ = FILENAME TO PATCH
320 REM
330 REM ------------------------------
340 REM SELECT VERSION, INIT VARIABLES
350 REM ------------------------------
360 HOME : PRINT " SELECT VERSION TO PATCH:": PRINT : PRINT " 1) 80-COL 22K": PRINT " 2) 40-COL 22K": PRINT : PRINT " WHICH? 1 OR 2 ?";: GET Z$: IF Z$ < >"1" AND Z$ < >"2" THEN PRINT CHR$(7);: GOTO 360
370 PRINT Z$: VTAB 7 + VAL(Z$): PRINT ">": VTAB 12: PRINT : PRINT "ARE YOU SURE? Y/N";: GET A$: IF A$ < >"Y" AND A$ < >"y" THEN 360
380 IF Z$ = "1" THEN TLOC = 23579:ALOC = 23719:GKLOC = 8815:MPLOC = 20171:F$ = "AWC.SYS"
390 IF Z$ = "2" THEN TLOC = 23537:ALOC = 23677:GKLOC = 8815:MPLOC = 20087:F$ = "AWB.SYS"
400 LFLOC = 8213:PLOC = 24320:MVECT = 24325:INVECT = 24330
410 REM -----------------------------
420 REM GET AWRITER DISK, VERIFY FILE
430 REM -----------------------------
440 HOME : PRINT "INSERT A BACKUP COPY OF APPLEWRITER 2.0": PRINT "AND PRESS [RETURN]": GET Z$
450 PRINT D$"PREFIX /AW2MASTER": POKE 216,0
460 HOME : PRINT : HTAB 15: PRINT "WORKING...": PRINT D$"BLOAD ";F$;",A$2000,TSYS"
470 P$ = "H. Toggle Data Line Display":A$ = "": FOR I = 0 TO 26:A$ = A$ + CHR$( PEEK(TLOC +I)): NEXT
480 IF P$ < >A$ THEN PRINT CHR$(7): HOME : PRINT "-- UNABLE TO VERIFY APPLEWRITER FILE --": GOTO 670
490 REM -----------
500 REM APPLY PATCH
510 REM -----------
520 FOR I = PLOC TO PLOC +246: READ A: POKE I,A: NEXT
530 P$ = "H. Set System Date ": REM 27 CHARS TOTAL
540 FOR I = 1 TO 27:A = ASC( MID$ (P$,I,1)): POKE TLOC -1 +I,A: NEXT
550 PLOC = PLOC -1: POKE ALOC,(PLOC -256 * INT(PLOC/256)): POKE ALOC +1, INT(PLOC/256)
560 POKE INVECT,(GKLOC -256 * INT(GKLOC/256)): POKE INVECT +1, INT(GKLOC/256)
570 POKE MVECT,(MPLOC -256 * INT(MPLOC/256)): POKE MVECT +1, INT(MPLOC/256)
580 POKE LFLOC,95: REM ALTER START OF TEXT FILE BUFFER
590 REM --------------------
600 REM SAVE PATCHED PROGRAM
610 REM --------------------
620 PRINT D$"UNLOCK ";F$: PRINT D$"BSAVE ";F$;",A$2000,E$6116,TSYS": PRINT D$"LOCK ";F$: PRINT D$"PREFIX /"
630 HOME : PRINT : PRINT " DATE-PATCH COMPLETE."
640 VTAB 20: POKE 34,0: END
650 DATA 169,200,162,95,32,119,78,162,0,32,111,34,201,13,240,72,201,8,240,45
660 DATA 201,21,208,7,224,7,176,237,189,230,95,201,48,144,230,201,58,176,226,157
670 DATA 230,95,224,8,176,219,144,3,189,230,95,32,3,32,232,224,2,240,245,224
680 DATA 5,240,241,208,200,202,16,3,232,240,194,232,202,169,136,32,3,32,224,5
690 DATA 240,246,224,2,240,242,208,177,160,0,32,173,95,133,2,240,31,201,13,176
700 DATA 27,200,200,32,173,95,133,3,240,18,166,2,221,160,95,176,11,200,200,32
710 DATA 173,95,133,1,201,85,176,8,169,135,32,3,32,76,0,95,6,2,6,2
720 DATA 6,2,6,2,6,2,38,1,165,2,5,3,141,144,191,165,1,141,145,191
730 DATA 96,32,30,32,31,32,31,32,32,31,32,31,32,185,230,95,41,15,170,200
740 DATA 185,230,95,41,15,133,0,169,0,24,202,48,4,105,10,144,249,101,0,96
750 DATA 13,13,77,77,45,68,68,45,89,89,44,32,82,69,84,85,82,78,32,116
760 DATA 111,32,97,99,99,101,112,116,58,32,48,49,45,48,49,45,56,54,136,136
770 DATA 136,136,136,136,136,136,0
780 REM -----------------
790 REM DOS ERROR HANDLER
800 REM -----------------
810 PRINT CHR$(7): PRINT "-- NOT AN APPLEWRITER DISK! --": PRINT "PRESS [RETURN] TO RE-TRY.": GET Z$: GOTO 450