home *** CD-ROM | disk | FTP | other *** search
/ BBS 1 / BBS#1.iso / for-dos / newtvsrc.arj / FONT.PAS < prev    next >
Pascal/Delphi Source File  |  1994-04-04  |  1KB  |  80 lines

  1. {$F+,O+}
  2.  
  3. unit Font;
  4.  
  5. interface
  6.  
  7. procedure LoadFont;
  8. procedure RestoreFont;
  9.  
  10. implementation
  11.  
  12. uses
  13.    Dos,
  14.    Drivers,
  15.    Graph;
  16.  
  17. const
  18.    VIDEO   = $10;
  19.  
  20. procedure Font8x16; external;
  21. {$L FONT8x16.OBJ}
  22.  
  23. procedure Font8x14; external;
  24. {$L FONT8x14.OBJ}
  25.  
  26. procedure Font8x8; external;
  27. {$L FONT8x8.OBJ}
  28.  
  29. procedure LoadFont;
  30. var
  31.    Gd,Gm: Integer;
  32.    P: Pointer;
  33.    R: Registers;
  34. begin
  35. {   HideMouse;}
  36.    R.BX := 0;
  37.    if (ScreenMode and smFont8x8) = 0 then
  38.    begin
  39.       DetectGraph( Gd,Gm );
  40.       case Gd of
  41.          MCGA,VGA:
  42.          begin
  43.             P := @Font8x16;
  44.             R.BX := 4096;
  45.          end;
  46.          EGA,EGA64,EGAMono:
  47.          begin
  48.             P := @Font8x14;
  49.             R.BX := 3584;
  50.          end;
  51.       end;
  52.       R.CX := $100;
  53.       R.DX := 0;
  54.    end else
  55.    begin
  56.       P := @Font8x8;
  57.       R.BX := $800;
  58.       R.DX := 0;
  59.       R.CX := $100;
  60.    end;
  61.    if R.BX = 0 then Exit;
  62.    R.ES := Seg(P^);
  63.    R.BP := Ofs(P^);
  64.    R.AX := $1100;
  65.    Intr( $10,R );
  66. {   asm
  67.         MOV     AX,$1003
  68.         XOR     BL,BL
  69.         INT     $10
  70.    end;
  71.    ShowMouse;}
  72. end;
  73.  
  74. procedure RestoreFont; assembler;
  75. asm
  76.    mov   ax,$03
  77.    int   VIDEO
  78. end;
  79.  
  80. end.