On Wed, 13 Jul 2022, TK Chia wrote:

Well, this is GRAFTABL we are discussing here, so it probably does
qualify as one of the "simplest TSRs". :-)

GRAFTABL basically just needs to install a 1024-byte glyph table
somewhere in conventional memory, and point the int 0x1f vector at it.
(The glyph table can then be used to display "extended ASCII" characters
in a CGA graphics mode.)  There is no need to even install any resident
code.

Thank you!

It actually does need some resident code so that another GRAFTABL can detect it, but it's very minimal. Basically, "if AX=B000, return AL=FF; if AX=B001, return AL=FF and copy a far pointer to the graphics table into DS:BX; otherwise chain into the old handler." (It's "new2F" in the source.) This change probably happened with the introduction of codepages in MS-DOS 3.3.

FWIW, MS-DOS 6.22 MEM.EXE reports a memory footprint of 1344 bytes, vs. 1200 for Microsoft's version. That's not a big difference, but it's something, and I don't think "uso's code is sloppier" explains it all.

-uso.


_______________________________________________
Freedos-devel mailing list
Freedos-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-devel

Reply via email to