Menu

#205 VGA text mode minor enhancements

open
c2woody
None
5
2012-09-07
2007-10-01
No

The attached patch adds the following features:

  • VGA text mode smooth horizontal panning support
  • underline display
  • Disabling of the display via BIOS (ah=0x12,bl=0x36)

I wrote it after trying the EGA/VGA compatibility tests in DisplayMate for DOS. It's probably not of much use elsewhere, but the horizontal text scrolling looks nice :)

Discussion

  • Jindrich Makovicka

    Logged In: YES
    user_id=460469
    Originator: YES

    File Added: vga.diff

     
  • Jindrich Makovicka

    VGA panning/underline/on-off support

     
  • Jindrich Makovicka

    Logged In: YES
    user_id=460469
    Originator: YES

    File Added: vga.diff

     
  • c2woody

    c2woody - 2007-10-15

    Logged In: YES
    user_id=1304940
    Originator: NO

    Thanks for the patch, textmode pel panning and underline
    capability have been added for machine=vgaonly, should
    work the same as your implementation.
    Don't have displaymate, maybe you can check that it works
    as expected.

     
  • Jindrich Makovicka

    VGA_TEXT_Draw_Line_9 additions

     
  • Jindrich Makovicka

    Logged In: YES
    user_id=460469
    Originator: YES

    I had to modify the Draw_Line_9 function a bit to work properly. The current CVS duplicates/zeroes the pixels based on the screen coordinates, which is IMHO wrong. The patched version always duplicates the pixels at the character boundaries.

    There was also an off-by-one error in the split screen handling, causing the last line on the top part to be drawn without panning.

    File Added: panning.diff

     
  • Qbix

    Qbix - 2007-11-28

    Logged In: YES
    user_id=535630
    Originator: NO

    Assigned to c2woody

     
  • Jindrich Makovicka

    VGA_TEXT_Draw_Line_9 additions/fixes

     
  • Jindrich Makovicka

    Logged In: YES
    user_id=460469
    Originator: YES

    Another update, this time with fixed SEQ/ATTR register handling. ATTR.mode_control controls only the 9th bit replication for semigraphic characters. 8bit/9bit display is selected via SEQ.clocking_mode.

    File Added: panning2.diff

     

Log in to post a comment.