|
|
DataMuseum.dkPresents historical artifacts from the history of: CP/M |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about CP/M Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 2560 (0xa00)
Types: TextFile
Names: »EDGLBLS.SRC«
└─⟦295c4021d⟧ Bits:30008920 MT+ SPP 3/3
└─⟦this⟧ »EDGLBLS.SRC«
(* VERSION 0006 *)
VAR
BUFSZ: INTEGER; (* SIZE OF BUFFER *)
LASTLINE: INTEGER; (* POINTS TO END OF EDITED FILE *)
CURRLINE: INTEGER; (* CURRENT LINE IN BUF BEING EDITED*)
BEGINLINE: INTEGER; (* FIRST CHARACTER IN CURRLINE ? *)
ENDFILE: INTEGER; (* LAST CHARACTER, OR ^Z ? *)
BOF: BOOLEAN; (* BEGIN FILE *)
CMD: INTEGER; (* READ COMMAND FROM KEYBOARD ?*)
OLDCMD: INTEGER; (* HOLDS PREVIOUS COMMAND *)
CH: CHAR; (* HOLDS CHARACTER FROM KEYBOARD ? *)
CMDARR : ARRAYÆ0..CMDSZÅ OF CHAR; (* HOLDS CHARACTR VALS OF CMMDS*)
(* ELEMENTS ARE THE CONTROL FUNCTIONS FOR THE COMMANDS. THE INDEX *)
(* INTO CMDARR IS THE NUMBER OF THE COMMAND *)
NAME: FILENAME; (* NAME OF FILE *)
F: FYLE; (* FILE POINTER FOR FILE BEING EDITED ?*)
FILEOPEN: BOOLEAN; (* TRUE IF FILE IS SUCCESSFULLY OPENED *)
NEWFILE: BOOLEAN; (* TRUE IF FILE IS NEW *)
NOFILE: BOOLEAN; (* TRUE :USER LEAVES BEFORE OPENING FILE*)
RESULT: INTEGER; (* FOR FILE COMMANDS: SCRATCH *)
FCB5C: INTEGER; (* POINTS TO FILE CONTROL BLOCK AT HEX 5C *)
LINE: PACKED ARRAYÆ0..MAXLNSIZEÅ OF CHAR;
(* FOR EDITNG A LINE FROM BUF*)
ORIGLEN, (* ORIGINAL LENGTH OF LINE IN 'LINE' *)
LENLINE, (* NEW LENGTH OF LINE IN 'LINE'*)
NUMBLANKS: INTEGER; (* DON'T KNOW IF USED ANY MORE ? *)
X,Y: INTEGER; (* X AND Y CURSOR POSITION *)
NUMLFS: INTEGER; (* SET BY FIND WHEN IT SEES LF *)
NUMDELS: INTEGER; (*INCREMENTED IN DELETELINE, USED IN COPYBUF*)
DELBUFSZ: INTEGER; (*SIZE OF DELETE BUFFER *)
QUITFLG, (* TRUE IF DONE WITH EDIT *)
NEWLINE, (* TRUE IF WRITING A NEW LINE FROM 'LINE'?*)
LINEFLG, (* ? *)
INSERTING, (* TRUE WHEN IN INSERT MODE *)
CHANGED: BOOLEAN; (* TRUE IF LINE IN 'LINE' IS CHANGED *)
STR: ARRAYÆ1..8Å OF CHAR; (* USED IN STATUS LINE FOR MODE *)
(* FOR GETTING FILE NAME FROM COMMAND BUFFER AT $80 *)
CPMCMDBUF: ABSOLUTEÆ$80Å PACKED ARRAYÆ0..CPMLINESZÅ OF CHAR;
CPMSTR: STRINGÆCPMLINESZÅ;
ANCHOR: INTEGER;
(* POINTS TO CHARACTER BEFORE INSERT, DELETE,ADJUST*)
CBP: INTEGER;
(* COPY BUFFER POINTER FOR INSERTIONS, DELETIONS *)
SRCHSTR: SSTRING; (* PUT STRING TO BE SEARCHED FOR HERE *)
LAST_FIND,
LAST_REPL: SSTRING; (* LAST DATA FOR SEARCH AND REPLACE *)
FIRSTMARK,
LASTMARK: INTEGER;
BUF: ABSOLUTEÆ$A000Å ARRAYÆ0..0Å OF CHAR; (* EDIT BUFFER *)
«eof»