Looking through the repo, some of the assembler [1] looks odd:
getShdwOfst:
xor bh,bh
mov bl,al
mov di,bx
shl di,1
shl di,1
shl d1,1
...
Why shift one bit at a time, like you would on a CPU like the 6502 with no multi-bit shift instructions? Was this hand-ported from some system without those?[1]: https://github.com/lanceewing/agi/blob/main/src/CMGRAPHX.ASM...