1
0
mirror of https://github.com/PDP-10/its.git synced 2026-01-26 20:22:22 +00:00

VERSA: Fix XGP baseline adjustment.

This is used by TJ6 for superscripts and subscripts. It worked fine for
positive offsets, but "addi a,(x)" didn't do the right thing when the
offset x was negative (because it double-indirects).

The XGP documentation says that the baseline adjustment sticks until the
font is changed. Looking at SYSEN2; XGP 31 (and SAIL's XGPSER), it is
also reset at the start of each line. TJ6 relies on this behaviour.

Since VERSA scans each line twice (once to compute the line height, once
to draw the characters), and baseline adjustment directives will be
interpreted on both passes, we need to reset the adjustment at the start
of both passes.
This commit is contained in:
Adam Sampson
2018-05-26 21:36:14 +01:00
committed by Adam Sampson
parent 47407aa6d9
commit 71aada08fc

View File

@@ -4519,11 +4519,13 @@ doline: setzm outena ;disable output
setzm count ;count of saved characters
move x,lftmar ;underline from left margin by default
movem x,stubit
setzm basel
move x,[440700,,rescan]
movem x,ptr
call dolin1
setom outena
setzm seper
setzm basel
move x,[440700,,rescan]
movem x,ptr
call dolin1
@@ -4702,7 +4704,7 @@ bsladr: skipa a,basel
bsladj: setzi a, ;relative to 0 (absolute)
call xarg1s
return
addi a,(x)
add a,x
movem a,basel
aos (p)
return