home *** CD-ROM | disk | FTP | other *** search
-
-
- ttrue equ 1
- false equ 0
-
- lvers equ true
-
- CMDCH equ '\' ;/* command character (use 'li'?)*/
- DOTCH equ '.' ;/* at beginning of line, same
- ; as CMDCH */
- SOFTSP equ 0A0H ;/* WS fill sp char */
- SOFTHY equ 01EH ;/* WS inactive soft hyphen */
- SOFTHYA equ 01FH ;/* WS acitve soft hyphen */
-
- NUMFTS equ 7 ;/* maximum number of graphic fonts */
- LENFTN equ 14 ;00/D:12345678<nul>
- NUMRULES equ 32
-
- SECSIZ equ 128
- MAXLINE equ 300
- MAXCOL equ 10
- BSTKSIZE equ 6*MAXCOL
- GBUFSIZ equ 2000
- MAXSNEST equ 40
-
- ;/* various measures in terms of dots */
- PICA equ 24
- POINT equ 3
- INCH equ 240
- VINCH equ 216
-
-
-
- ;/* masks for mode bits */
- ELITE equ 01
- PRPTNL equ 02
- CMPRSSD equ 04
- EMPHSZD equ 08
- DBLSTRK equ 10H
- EXPNDD equ 20H
- UNDRLN equ 40H
- ITALIC equ 80H
- ;/* So that's b0-b7; b8,b9,b10 are used for the
- ; current graphics font, which is 'fo'-1. */
- SUPSCRPT equ 0800H
- SUBSCRPT equ 1000H
- BENT equ 2000H
- TALL equ 4000H
- IGNORE equ 8000H
- ;/* All bits are committed */
-
- ;/* define bits for type of command value */
- HZNUM equ 1
- VTNUM equ 2 ;/* numerical value, vertical measure */
- EPSSYN equ 4 ;/* synonym of Epson command */
- BRK equ 8 ;/* causes a break */
- CHARG equ 16 ;/* arg is character */
- FLAGCH equ 32 ;/* value is character flag */
- MCRO equ 64 ; a macro string
- BRKAFT equ 128 ; causes break before next input line
- ARGTRUE equ 1+32 ; assume true arg, but no following number
- ; /* All bits are committed */
-
-
- ;/* character flags */
- CEFLAG equ 090H
- RAFLAG equ 091H
- SPFLAG equ 092H
- HSFLAG equ 093H
- PAFLAG equ 094H
- FRFLAG equ 095H
- BCKFLAG equ 096H
-
- dseg
- ds 6 ;formerly used by alloc -- now not used
-
- ;/* following block matches format of data in ep.ini */
- ;/* initialization data size tot.size */
- ;int val[27][27]; /* 05B2 05B2 values of 'pl', etc. */
-
- val:
-
- vlgen macro lets,lab
- tglet set 0ffh
- irpc xlet,lets
- if tglet
- q1 set '&xlet'-'`'
- else
- q2 set '&xlet'-'`'
- endif
- tglet set 0
- endm
- org q1*54 + q2*2 + val
- if nul lab
- lets:
- else
- lab:
- endif
- endm
-
- vlgen al,align
- vlgen be
- vlgen bm
- vlgen bo
- vlgen bp
- vlgen ca,callig
- vlgen cc
- vlgen ch,cheight
- vlgen co
- vlgen cs
- vlgen cw
- vlgen ec
- vlgen ep
- vlgen fa
- vlgen fm
- vlgen fo
- vlgen gu
- vlgen hm
- vlgen ir
- vlgen ju
- vlgen ke
- vlgen ll
- vlgen mx
- vlgen nc
- vlgen pf
- vlgen pl
- vlgen pn
- vlgen rb
- ; vlgen sh
- vlgen sl
- ; vlgen st
- vlgen su
- vlgen ta
- vlgen tc
- vlgen tm
- vlgen uc
-
- org val+2*27*27
-
- ;char valtp[27][27]; /* 02D9 088B type of value, e.g. numerical */
- valtp: ds 27*27
- ;char modelen[64]; /* 0040 08CB width of Epson built-in char's */
- modelen: ds 64
- ;char pmlen[256]; /* 0100 09CB width of Epson prop'l char's */
- pmlen: ds 256
- ;int mode; /* 0002 09CD 16 bits keep track of font, etc.*/
- mode: ds 2
- ;char tabwid; /* 0001 09CE nominal char width for int'g tab*/
- tabwid: ds 1 ;NO LONGER USED
- ;char bending[7][24]; /* 00A8 0A76 bending */
- bending: ds 7*24
- ;char fillinit[10]; /* 000A 0A80 (not used) */
- ds 10
- ; /* total = 10 pp. or 21 records */
-
- ;from FGET.C, fl at val + A80H (6686H) is array 8 by (128+6) uses 430H
- fl: ds 8*(128+6)
- ; flnum at fl + 430H (6AB6)
- ds 2 ;flnum now private to fget
-
- ;EPDCL equ 6AB8H (once upon a time)
- nospec: ds 1 ;disable special features while doing headings
- noprint: ds 1 ;disable printing
- errtype: ds 2
- llength: ds 2 ;6ABCH
- vposition: ds 2
- bkaft: ds 1 ;flag break before next input line
- gfflag: ds 1 ;note loading graphic font
- ;int pgno,
- ; errtype,
- ; llength, /* current ll minus indents */
- ; vposition, /* vert'l position of printhead */
- ; spdots, /* number dots to move printhead
- ; down before printing, even at
- ; the beginning of a page */
- skdots: ds 2
- emode: ds 2
- ; skdots, /* as above, but not at beginning
- ; of page */
- ; emode, /* what the Epson thinks the current
- ; mode is */
- allmode: ds 2
- errcode: ds 2
- ; allmode, /* keep mode for } command */
- ; errcode;
-
- ;(dt1,dt2 not used now -- made local to cseq)
- frplace: ds 2 ;remember where to put a cl space
- ;dt1 equ epdcl+18 ;6ACA
- ;dt2 equ epdcl+19
-
- brkflag: ds 1 ;6ACCH
- bsflag: ds 1
- epsflag: ds 1
- grfflag: ds 1
- unidir: ds 1
- tallflag: ds 1
- tabottom: ds 1 ;6AD2H
- scrncol: ds 1
- ;char dt1, dt2, /* 1st and 2nd letter of command */
- ; brkflag, /* signal don't justify this line */
- ; bsflag, /* overprint next char */
- ; epsflag, /* have an Epson char in output line */
- ; grfflag, /* have a graphics char in output line */
- ; unidir, /* Epson unidir'l print assumption */
- ; tallflag, /* tall char in output line */
- ; tabottom, /* last 3 passes when tall char present */
- ; scrncol; /* apparent column on screen when
- ; line of text was edited */
-
- fnbuf: ds 29 ;was 30
- mcinok: ds 1 ;flag ok to reset indent in mc mode
- termcnt: ds 1 ;(formerly used for fname)
- nexttab: ds 1 ;next implicit 'n' value for tb command
- ;char fnbuf[30], *fname; /* filename buffer & ptr */
- ;
- inpoint: ds 2 ;(6AF4)
- inbuf: ds MAXLINE
- ;int inpoint;
- ; char inbuf[MAXLINE]; /* one line from the text */
-
- glen: ds 2 ;6C22H
- gpoint: ds 2 ;6C24H
- gbuf: ds GBUFSIZ ;6C26H
- ;
- ;int glen, /* cumulative length of line
- ; currently being formed, in dots */
- ; gpoint;
- ; char gbuf[2000]; /* dot graphics data for one line
- ; of output */
-
- outpoint: ds 2 ;73F6H
- xoutbuf: ds MAXLINE
- outbuf: ds 2 ;7524H
- ;
- ;int outpoint;
- ; char xoutbuf[MAXLINE], /* character data for one line of output */
- ; *outbuf;
-
- xattrbuf: ds 2*MAXLINE
- attrbuf: ds 2 ;777EH
- xwidbuf: ds 2*MAXLINE
- widbuf: ds 2 ;79D8H
- ; int xattrbuf[MAXLINE], /* mode attributes for each character */
- ; *attrbuf,
- ; xwidbuf[MAXLINE], /* width of each character */
- ; *widbuf;
- ; /* the pointers above are used so that the buffers
- ; can be used temporarily for the page number (I
- ; painted myself into a corner) */
- ;
-
- brccount: ds 2
- ds 2 ;not used
- brcstk: ds 2*MAXCOL*6
- ;int brccount, /* count unpaired left braces */
- ; nubrcpt, /* brace stack pointer */
- ; brcstk[MAXCOL][6]; /* brace stack */
-
- ftp: ds 2*NUMFTS ;7A56H
- fix: ds 2*NUMFTS*128 ;7A64H
- ftlen: ds NUMFTS*128 ;8164H
- ;/* font data */
- ;unsigned ftp[NUMFTS]; /* memory addresses where fonts
- ; begin in 'fnt' */
- ;int fix[NUMFTS][128]; /* for each font, indices of
- ; individual character definition */
- ;char ftlen[NUMFTS][128], /* character widths - determined
- ; by values in 'fix' */
-
- ftname: ds NUMFTS*LENFTN ;(84E4)
- nextft: ds 1 ;(8523)
- ; ftname[NUMFTS][9], /* names - e.g. MODERN */
- ; nextft; /* number of next font to load */
-
- begovr: ds 2 ;8524H
- endovr: ds 2 ;8526H
- ;int begovr, endovr;
-
- brcpt: ds 2*MAXCOL
- lindent: ds 2*MAXCOL ;853CH
- ;int brcpt[MAXCOL], lindent[MAXCOL];
- pendc: ds 1 ;8550H
- ;char pendc;
-
- attach: ds 2*32
- ;int attach[32];
- duplflag: ds 1
- ;char duplflag
- hycorrect: ds 1
- ;/* for processline: */
- ; char hycorrect;
-
- gargc: ds 2
- gargv: ds 2
-
- ;used in loadft
- fullname: ds 17
-
- ;st and sh now done indirectly -- moved to here
- ;(cf stowc, gchr, cseq)
- st: ds 2
- sh: ds 2
-
- ;$$$ from GCHR
- pass: ds 1
- ch: ds 1
- c0: ds 1
- c1: ds 1
- c2: ds 1
- bx: ds 1
- ftn: ds 1
- charft: ds 1
- len: ds 2
- lstlen: ds 2
- pix: ds 1
-
- power: ds 1
- gindex: ds 2
- dtgindex: ds 2
- ix: ds 2
- widix: ds 2
- ptft: ds 2
- ptft0: ds 2
- ptft1: ds 2
- ptft2: ds 2
- gcj: ds 2
-
- cx48: ds 6
-
- _st: ds 2
- _sh: ds 2
-
- ;$$$ from GSTR
- afterdup: ds 1
- _savheight: ds 2
- tduplex: ds 1
- tripleh: ds 1
- _gpass: ds 1
- maxgpt: ds 2
- nvdots: ds 1
-
-
- spare1: ds 2
- spare2: ds 2
- spare3: ds 2
-
- ;kerning strings for each font -- stowc & cseq
- klist: ds NUMFTS*2
-
- ;misc. used from cseq
- rlpoint: ds 2 ;also from process
- mcoloffset: ds 2 ;also from gstr
- rulist: ds NUMRULES*4 ;also from gstr, prtsbuf, gotocol
-
- if lvers
- NUMLINES equ 32
-
- lilist: ds NUMLINES*8
- endif
-
- utabs: ds 32*2
- gname: ds 13
-
- _$stack: ds MAXSNEST*2
- _$buf: ds 1024
-
- ..freram:
-
- CSEG