[Back to EGAVGA SWAG index] [Back to Main SWAG index] [Original]

    {
    How does Norton defeat the one vertical scan line dividing its
    characters in order to write their alphanumeric menu screens?  I have a
    "user-font" which loads successfully into vga display memory using tp7:
    }
    type
      bytearray = array[0..maxbytes] of byte;
    var
      fontarray : bytearray;  { character byte array }
    procedure wrfont(input : bytearray; blknum, numline : byte);  assembler;
    { "input" is an array containing character bit patterns (8x16 character)
      "blknum" is the block number
      "numline" is the number of scanlines per character }
      asm
        push    bp            { save the base point register }
        mov     bl, blknum    { get block number }
        and     bl, 07        { limit to 0-7 block number }
        les     ax, input     { point to "C" buffer es:ax }
        mov     bh, numline   { number of bytes per characters }
        mov     bp, ax        { load offset to "C" buffer es:bp }
        mov     cx, 100h      { do for 256 characters }
        xor     dx, dx        { begin at 0 }
        mov     ax, 1110h     { load font }
        int     10h           { call interrupt }
        pop     bp            { restore the base point register }
      end;
    {
        This procedure loads my user-font correctly into display memory;
    however, I still have one verical scanline between my horizontal line
    characters making them basically worthless for my purposes (it "draws"
    a dashed line like above).  I thought when alphanumeric characters are
    mapped, you need to leave a bit pattern open along the right and bottom
    edges in order to separate the characters.  Closing up the right and
    bottom edges should "connect" the characters, yet I've found it does
    not.  I have tried replacing the original ASCII horizontal line
    characters and this also fails.
        What information do I need?  How can I connect my font characters
    to display Norton-like menus in alphanumeric 8x16 vga font format (or
    for that matter, any two primitive graphic fonts)?  Does it make any
    difference with which ASCII characters I replace in my table?
        By the way, I noticed that Norton's alternate font does have a
    small (anal retentively) defect.  Their upper right box characters
    do not have a "crisp" corner.  Each one has a pixel "nub" to the right.
    I have a feeling this is a clue to answer my problem but I still
    haven't gotten it right.  Anyone know?
    }

[Back to EGAVGA SWAG index] [Back to Main SWAG index] [Original]