vgaInit.c
上传用户:luoyougen
上传日期:2008-05-12
资源大小:23136k
文件大小:17k
源码类别:

VxWorks

开发平台:

C/C++

  1. /* vgaInit.c - a VGA 3+ mode initialization source module */
  2. /* Copyright 1984-2000 Wind River Systems, Inc. */
  3. #include "copyright_wrs.h"
  4. /*
  5. modification history
  6. --------------------
  7. 01a,26mar00,ms  written.
  8. */
  9. /*
  10. DESCRIPTION
  11. .I USAGE
  12. This library provides initialization routines to configure VGA in 3+
  13. alphanumeric mode.
  14. The functions addressed here include:
  15. .IP "   -"
  16. Initialization of the VGA specific register set.
  17. .LP
  18. .I USER INTERFACE
  19. .CS
  20. STATUS vgaInit
  21.     (
  22.     VOID
  23.     )
  24. .CE
  25. This routine will initialize the VGA specific register set to bring a VGA
  26. card in VGA 3+ mode and loads the font in plane 2.
  27. REFERENCES
  28. .I Programmer's Guide to the EGA, VGA, and Super VGA Cards - Ferraro.
  29. .I Programmer's Guide to PC & PS/2 Video Systems - Richard Wilton.
  30. INCLUDE FILES: NONE.
  31. */
  32. /* includes */
  33. #include "vxWorks.h"
  34. #include "sysLib.h"
  35. #include "drv/pci/pciConfigLib.h"
  36. #include "intLib.h"
  37. /* include font */
  38. #include "vgaFont.c"
  39. /* defines */
  40. #define VGA_FEATURE_CTRL   0x3DA  /* Feature Control Register */
  41. #define VGA_MVGA_SR_PORT        0x3C2  /* Miscellaneous Output Port */
  42. #define VGA_DAC_PEL_MASK 0x3C6  /* Color Palette Pixel Mask Register */
  43. #define VGA_DAC_READ_INDEX 0x3C7  /* Color Palette Read-Mode Index Reg */
  44. #define VGA_DAC_STATE 0x3C7  /* Color Palette State Register */
  45. #define VGA_DAC_WRITE_INDEX 0x3C8  /* Color Palette Index Register */
  46. #define VGA_DAC_DATA_REG        0x3C9  /* Color Palette Data Register */
  47. #define VGA_AR_PORT             0x3C0  /* Attribute Controller Index Port */
  48. #define VGA_CR_PORT             0x3D4  /* CRT Controller Index Port */
  49. #define VGA_GR_PORT             0x3CE  /* Graphics Controller Index Port */
  50. #define VGA_SR_PORT             0x3C4  /* Sequencer Index Port */
  51. #define VGA_SR_DATA_PORT        0x3C5  /* Sequencer Data Port */
  52. /* forward declarations */
  53. LOCAL VOID    vgaRegSet (int ioPort, short value);
  54. LOCAL STATUS  vgaDnldFont (char * font, int len);
  55. STATUS        vgaInit (void);
  56. /*******************************************************************************
  57. *
  58. * vgaRegSet - sets the given vga register with given value.
  59. *
  60. * This routine sets the given vga register with given value.
  61. *
  62. * RETURNS: N/A
  63. */
  64. LOCAL VOID vgaRegSet
  65.     (
  66.     int ioPort,
  67.     short value
  68.     )
  69.     {
  70.     sysOutByte (ioPort, (char) (value & 0xFF)); 
  71.     sysOutByte (ioPort + 1, (char) (value >> 8));
  72.     }
  73. /*******************************************************************************
  74. *
  75. * vgaDnldFont - writes given font in plane 2. 
  76. *
  77. * This routine downloads the user specified font in bit plane 2 of VGA planes.
  78. *
  79. * RETURNS: OK/ERROR
  80. */
  81. LOCAL STATUS vgaDnldFont
  82.     (
  83.     char * font,
  84.     int len
  85.     )
  86.     {
  87.     int i, j, bytesPerChar;
  88.     int intKey;
  89.     unsigned char * vidPtr = (unsigned char *) 0xA0000;
  90.     
  91.     
  92.     if ((bytesPerChar = len/CHARPERFONT) > MAXBYTESPERCH)
  93.         return ERROR;
  94.     intKey = intLock();
  95.     
  96.     /* sequencer is put to reset */
  97.     vgaRegSet (VGA_SR_PORT, 0x0100); 
  98.     /* write only to plane 2 */
  99.     vgaRegSet (VGA_SR_PORT, 0x0402);
  100.     /* sequential addressing */
  101.     vgaRegSet (VGA_SR_PORT, 0x0704);
  102.     /* out of reset */
  103.     vgaRegSet (VGA_SR_PORT, 0x0300);
  104.     
  105.     /* read plane 2 only */
  106.     vgaRegSet (VGA_GR_PORT, 0x0204);
  107.     /* disable even-odd */
  108.     vgaRegSet (VGA_GR_PORT, 0x0005);
  109.     /* 0xA0000 */
  110.     vgaRegSet (VGA_GR_PORT, 0x0006);
  111.     intUnlock (intKey);
  112.     
  113.     /* Downloading a font into bit plane # 2 */
  114.     i = 0;
  115.     j = 0;
  116.     while(i < FONTDATAMAX) {
  117.     if (j < bytesPerChar)
  118.         {
  119.         *vidPtr++ = vgaFont[i];
  120.         i++;
  121.         j++;
  122.         }
  123.     else
  124.         {
  125.         vidPtr += (MAXBYTESPERCH - bytesPerChar);
  126.         j = 0;
  127.         }
  128.     }
  129.     /* Downloading over */
  130.     intKey = intLock();
  131.     
  132.     /* sequencer is put to reset */
  133.     vgaRegSet (VGA_SR_PORT, 0x0100);
  134.     /* write only to plane 0 & 1 */
  135.     vgaRegSet (VGA_SR_PORT, 0x0302);
  136.     /* font 0 */
  137.     vgaRegSet (VGA_SR_PORT, 0x0003);
  138.     /* odd-even addressing */
  139.     vgaRegSet (VGA_SR_PORT, 0x0304);
  140.     /* out of reset */
  141.     vgaRegSet (VGA_SR_PORT, 0x0300);
  142.     
  143.     /* read plane 0 only */
  144.     vgaRegSet (VGA_GR_PORT, 0x0004);
  145.     /* even-odd */
  146.     vgaRegSet (VGA_GR_PORT, 0x1005);
  147.     /* 0xB8000 */
  148.     vgaRegSet (VGA_GR_PORT, 0x0E06);
  149.     intUnlock (intKey);
  150.     
  151.     return OK;
  152.     }
  153. /*******************************************************************************
  154. *
  155. * vgaInit - initializes the VGA chip and loads font in memory.
  156. *
  157. * This routine will initialize the VGA specific register set to bring a VGA
  158. * card in VGA 3+ mode and loads the font in plane 2.
  159. *
  160. * RETURNS: OK/ERROR
  161. */
  162. STATUS vgaInit
  163.     (
  164.     void
  165.     )
  166.     {
  167.     int intKey;
  168.     intKey = intLock ();
  169.     
  170.     /* Sequencer Registers */
  171.     vgaRegSet (VGA_SR_PORT, 0x0100); 
  172.     vgaRegSet (VGA_SR_PORT, 0x0001);
  173.     /* write only to plane 0 & 1 */
  174.     vgaRegSet (VGA_SR_PORT, 0x0302);
  175.     vgaRegSet (VGA_SR_PORT, 0x0003);
  176.     /* enable odd/even addressing + extended */
  177.     vgaRegSet (VGA_SR_PORT, 0x0204);
  178.     vgaRegSet (VGA_SR_PORT, 0x0007);
  179.     
  180.     /* MSR: Select DCLK0, Enable RAM access and move I/O to 3Dx */
  181.     sysOutByte (VGA_MVGA_SR_PORT, 0x67);
  182.     
  183.     vgaRegSet (VGA_SR_PORT, 0x0300);
  184.     intUnlock (intKey);
  185.     
  186.     /* CRT Controller Registers */
  187.     vgaRegSet (VGA_CR_PORT, 0x0E11);
  188.     
  189.     vgaRegSet (VGA_CR_PORT, 0x5F00);
  190.     vgaRegSet (VGA_CR_PORT, 0x4F01);
  191.     vgaRegSet (VGA_CR_PORT, 0x5002);
  192.     vgaRegSet (VGA_CR_PORT, 0x8203);
  193.     vgaRegSet (VGA_CR_PORT, 0x5504);
  194.     vgaRegSet (VGA_CR_PORT, 0x8105);
  195.     vgaRegSet (VGA_CR_PORT, 0xBF06);
  196.     vgaRegSet (VGA_CR_PORT, 0x1F07);
  197.     vgaRegSet (VGA_CR_PORT, 0x0008);
  198.     vgaRegSet (VGA_CR_PORT, 0x4F09);
  199.     vgaRegSet (VGA_CR_PORT, 0x0D0A);
  200.     vgaRegSet (VGA_CR_PORT, 0x0E0B);
  201.     vgaRegSet (VGA_CR_PORT, 0x000C);
  202.     vgaRegSet (VGA_CR_PORT, 0x000D);
  203.     vgaRegSet (VGA_CR_PORT, 0x070E);
  204.     vgaRegSet (VGA_CR_PORT, 0x800F);
  205.     vgaRegSet (VGA_CR_PORT, 0x9C10);
  206.     
  207.     /* Protect Registers CR0-7 */
  208.     vgaRegSet (VGA_CR_PORT, 0x8E11);
  209.     
  210.     vgaRegSet (VGA_CR_PORT, 0x8F12);
  211.     vgaRegSet (VGA_CR_PORT, 0x2813);    
  212.     vgaRegSet (VGA_CR_PORT, 0x1F14);    
  213.     vgaRegSet (VGA_CR_PORT, 0x9615);
  214.     vgaRegSet (VGA_CR_PORT, 0xB916);
  215.     vgaRegSet (VGA_CR_PORT, 0xA317);    
  216.     vgaRegSet (VGA_CR_PORT, 0xFF18);
  217.     
  218.     vgaRegSet (VGA_CR_PORT, 0x4F70);
  219.     
  220.     /* Attribute Controller Registers */
  221.     sysInByte (VGA_FEATURE_CTRL);
  222.     sysOutByte (VGA_AR_PORT, 0x00);   
  223.     sysOutByte (VGA_AR_PORT, 0x00);   
  224.     sysOutByte (VGA_AR_PORT, 0x01);   
  225.     sysOutByte (VGA_AR_PORT, 0x01);    
  226.     sysOutByte (VGA_AR_PORT, 0x02);   
  227.     sysOutByte (VGA_AR_PORT, 0x02);    
  228.     sysOutByte (VGA_AR_PORT, 0x03);   
  229.     sysOutByte (VGA_AR_PORT, 0x03);    
  230.     sysOutByte (VGA_AR_PORT, 0x04);   
  231.     sysOutByte (VGA_AR_PORT, 0x04);    
  232.     sysOutByte (VGA_AR_PORT, 0x05);   
  233.     sysOutByte (VGA_AR_PORT, 0x05);    
  234.     sysOutByte (VGA_AR_PORT, 0x06);   
  235.     sysOutByte (VGA_AR_PORT, 0x14);    
  236.     sysOutByte (VGA_AR_PORT, 0x07);   
  237.     sysOutByte (VGA_AR_PORT, 0x07);    
  238.     sysOutByte (VGA_AR_PORT, 0x08);   
  239.     sysOutByte (VGA_AR_PORT, 0x38);    
  240.     sysOutByte (VGA_AR_PORT, 0x09);   
  241.     sysOutByte (VGA_AR_PORT, 0x39);    
  242.     sysOutByte (VGA_AR_PORT, 0x0A);   
  243.     sysOutByte (VGA_AR_PORT, 0x3A);    
  244.     sysOutByte (VGA_AR_PORT, 0x0B);   
  245.     sysOutByte (VGA_AR_PORT, 0x3B);    
  246.     sysOutByte (VGA_AR_PORT, 0x0C);   
  247.     sysOutByte (VGA_AR_PORT, 0x3C);    
  248.     sysOutByte (VGA_AR_PORT, 0x0D);   
  249.     sysOutByte (VGA_AR_PORT, 0x3D);    
  250.     sysOutByte (VGA_AR_PORT, 0x0E);   
  251.     sysOutByte (VGA_AR_PORT, 0x3E);    
  252.     sysOutByte (VGA_AR_PORT, 0x0F);   
  253.     sysOutByte (VGA_AR_PORT, 0x3F);    
  254.     sysOutByte (VGA_AR_PORT, 0x10);   
  255.     sysOutByte (VGA_AR_PORT, 0x0C);    
  256.     sysOutByte (VGA_AR_PORT, 0x11);   
  257.     sysOutByte (VGA_AR_PORT, 0x00);    
  258.     sysOutByte (VGA_AR_PORT, 0x12);   
  259.     sysOutByte (VGA_AR_PORT, 0x0F);    
  260.     sysOutByte (VGA_AR_PORT, 0x13);   
  261.     sysOutByte (VGA_AR_PORT, 0x08);    
  262.     sysOutByte (VGA_AR_PORT, 0x14);   
  263.     sysOutByte (VGA_AR_PORT, 0x00);
  264.     /* Enable Video */
  265.     sysOutByte (VGA_AR_PORT, 0x20);
  266.     
  267.     /* Graphics Controller Registers */
  268.     vgaRegSet (VGA_GR_PORT, 0x0000);
  269.     vgaRegSet (VGA_GR_PORT, 0x0001);
  270.     vgaRegSet (VGA_GR_PORT, 0x0002);
  271.     vgaRegSet (VGA_GR_PORT, 0x0003);
  272.     vgaRegSet (VGA_GR_PORT, 0x0004);
  273.     vgaRegSet (VGA_GR_PORT, 0x1005);
  274.     /* B8000-BFFFF */
  275.     vgaRegSet (VGA_GR_PORT, 0x0E06);
  276.     vgaRegSet (VGA_GR_PORT, 0x0007);
  277.     vgaRegSet (VGA_GR_PORT, 0xFF08);
  278.     
  279.     /* Palette Registers */
  280.     sysOutByte (VGA_DAC_PEL_MASK, 0xFF);
  281.     sysOutByte (VGA_DAC_WRITE_INDEX, 0x00);
  282.     
  283.     sysOutByte (VGA_DAC_DATA_REG, 0x00);         /* 0x00 - 0x0F */
  284.     sysOutByte (VGA_DAC_DATA_REG, 0x00);
  285.     sysOutByte (VGA_DAC_DATA_REG, 0x00);
  286.     
  287.     sysOutByte (VGA_DAC_DATA_REG, 0x00);
  288.     sysOutByte (VGA_DAC_DATA_REG, 0x00);
  289.     sysOutByte (VGA_DAC_DATA_REG, 0x2A);
  290.     
  291.     sysOutByte (VGA_DAC_DATA_REG, 0x00);
  292.     sysOutByte (VGA_DAC_DATA_REG, 0x2A);
  293.     sysOutByte (VGA_DAC_DATA_REG, 0x00);
  294.     
  295.     sysOutByte (VGA_DAC_DATA_REG, 0x00);
  296.     sysOutByte (VGA_DAC_DATA_REG, 0x2A);
  297.     sysOutByte (VGA_DAC_DATA_REG, 0x2A);
  298.     
  299.     sysOutByte (VGA_DAC_DATA_REG, 0x2A);
  300.     sysOutByte (VGA_DAC_DATA_REG, 0x00);
  301.     sysOutByte (VGA_DAC_DATA_REG, 0x00);
  302.     
  303.     sysOutByte (VGA_DAC_DATA_REG, 0x2A);
  304.     sysOutByte (VGA_DAC_DATA_REG, 0x00);
  305.     sysOutByte (VGA_DAC_DATA_REG, 0x2A);
  306.     
  307.     sysOutByte (VGA_DAC_DATA_REG, 0x2A);
  308.     sysOutByte (VGA_DAC_DATA_REG, 0x2A);
  309.     sysOutByte (VGA_DAC_DATA_REG, 0x00);
  310.     
  311.     sysOutByte (VGA_DAC_DATA_REG, 0x2A);
  312.     sysOutByte (VGA_DAC_DATA_REG, 0x2A);
  313.     sysOutByte (VGA_DAC_DATA_REG, 0x2A);
  314.     
  315.     sysOutByte (VGA_DAC_DATA_REG, 0x00);
  316.     sysOutByte (VGA_DAC_DATA_REG, 0x00);
  317.     sysOutByte (VGA_DAC_DATA_REG, 0x15);
  318.     
  319.     sysOutByte (VGA_DAC_DATA_REG, 0x00);
  320.     sysOutByte (VGA_DAC_DATA_REG, 0x00);
  321.     sysOutByte (VGA_DAC_DATA_REG, 0x3F);
  322.     
  323.     sysOutByte (VGA_DAC_DATA_REG, 0x00);
  324.     sysOutByte (VGA_DAC_DATA_REG, 0x2A);
  325.     sysOutByte (VGA_DAC_DATA_REG, 0x15);
  326.     
  327.     sysOutByte (VGA_DAC_DATA_REG, 0x00);
  328.     sysOutByte (VGA_DAC_DATA_REG, 0x2A);
  329.     sysOutByte (VGA_DAC_DATA_REG, 0x3F);
  330.     
  331.     sysOutByte (VGA_DAC_DATA_REG, 0x2A);
  332.     sysOutByte (VGA_DAC_DATA_REG, 0x00);
  333.     sysOutByte (VGA_DAC_DATA_REG, 0x15);
  334.     
  335.     sysOutByte (VGA_DAC_DATA_REG, 0x2A);
  336.     sysOutByte (VGA_DAC_DATA_REG, 0x00);
  337.     sysOutByte (VGA_DAC_DATA_REG, 0x3F);
  338.     
  339.     sysOutByte (VGA_DAC_DATA_REG, 0x2A);
  340.     sysOutByte (VGA_DAC_DATA_REG, 0x2A);
  341.     sysOutByte (VGA_DAC_DATA_REG, 0x15);
  342.     
  343.     sysOutByte (VGA_DAC_DATA_REG, 0x2A);
  344.     sysOutByte (VGA_DAC_DATA_REG, 0x2A);
  345.     sysOutByte (VGA_DAC_DATA_REG, 0x3F);         /* 0x00 - 0x0F */
  346.     
  347.     sysOutByte (VGA_DAC_DATA_REG, 0x00);         /* 0x10 - 0x1F */
  348.     sysOutByte (VGA_DAC_DATA_REG, 0x15);
  349.     sysOutByte (VGA_DAC_DATA_REG, 0x00);
  350.     
  351.     sysOutByte (VGA_DAC_DATA_REG, 0x00);
  352.     sysOutByte (VGA_DAC_DATA_REG, 0x15);
  353.     sysOutByte (VGA_DAC_DATA_REG, 0x2A);
  354.     
  355.     sysOutByte (VGA_DAC_DATA_REG, 0x00);
  356.     sysOutByte (VGA_DAC_DATA_REG, 0x3F);
  357.     sysOutByte (VGA_DAC_DATA_REG, 0x00);
  358.     
  359.     sysOutByte (VGA_DAC_DATA_REG, 0x00);
  360.     sysOutByte (VGA_DAC_DATA_REG, 0x3F);
  361.     sysOutByte (VGA_DAC_DATA_REG, 0x2A);
  362.     
  363.     sysOutByte (VGA_DAC_DATA_REG, 0x2A);
  364.     sysOutByte (VGA_DAC_DATA_REG, 0x15);
  365.     sysOutByte (VGA_DAC_DATA_REG, 0x00);
  366.     
  367.     sysOutByte (VGA_DAC_DATA_REG, 0x2A);
  368.     sysOutByte (VGA_DAC_DATA_REG, 0x15);
  369.     sysOutByte (VGA_DAC_DATA_REG, 0x2A);
  370.     
  371.     sysOutByte (VGA_DAC_DATA_REG, 0x2A);
  372.     sysOutByte (VGA_DAC_DATA_REG, 0x3F);
  373.     sysOutByte (VGA_DAC_DATA_REG, 0x00);
  374.     
  375.     sysOutByte (VGA_DAC_DATA_REG, 0x2A);
  376.     sysOutByte (VGA_DAC_DATA_REG, 0x3F);
  377.     sysOutByte (VGA_DAC_DATA_REG, 0x2A);
  378.     
  379.     sysOutByte (VGA_DAC_DATA_REG, 0x00);
  380.     sysOutByte (VGA_DAC_DATA_REG, 0x15);
  381.     sysOutByte (VGA_DAC_DATA_REG, 0x15);
  382.     
  383.     sysOutByte (VGA_DAC_DATA_REG, 0x00);
  384.     sysOutByte (VGA_DAC_DATA_REG, 0x15);
  385.     sysOutByte (VGA_DAC_DATA_REG, 0x3F);
  386.     
  387.     sysOutByte (VGA_DAC_DATA_REG, 0x00);
  388.     sysOutByte (VGA_DAC_DATA_REG, 0x3F);
  389.     sysOutByte (VGA_DAC_DATA_REG, 0x15);
  390.     
  391.     sysOutByte (VGA_DAC_DATA_REG, 0x00);
  392.     sysOutByte (VGA_DAC_DATA_REG, 0x3F);
  393.     sysOutByte (VGA_DAC_DATA_REG, 0x3F);
  394.     
  395.     sysOutByte (VGA_DAC_DATA_REG, 0x2A);
  396.     sysOutByte (VGA_DAC_DATA_REG, 0x15);
  397.     sysOutByte (VGA_DAC_DATA_REG, 0x15);
  398.     
  399.     sysOutByte (VGA_DAC_DATA_REG, 0x2A);
  400.     sysOutByte (VGA_DAC_DATA_REG, 0x15);
  401.     sysOutByte (VGA_DAC_DATA_REG, 0x3F);
  402.     
  403.     sysOutByte (VGA_DAC_DATA_REG, 0x2A);
  404.     sysOutByte (VGA_DAC_DATA_REG, 0x3F);
  405.     sysOutByte (VGA_DAC_DATA_REG, 0x15);
  406.     
  407.     sysOutByte (VGA_DAC_DATA_REG, 0x2A);
  408.     sysOutByte (VGA_DAC_DATA_REG, 0x3F);
  409.     sysOutByte (VGA_DAC_DATA_REG, 0x3F);         /* 0x10 - 0x1F */
  410.     
  411.     sysOutByte (VGA_DAC_DATA_REG, 0x15);         /* 0x20 - 0x2F */
  412.     sysOutByte (VGA_DAC_DATA_REG, 0x00);
  413.     sysOutByte (VGA_DAC_DATA_REG, 0x00);
  414.     
  415.     sysOutByte (VGA_DAC_DATA_REG, 0x15);
  416.     sysOutByte (VGA_DAC_DATA_REG, 0x00);
  417.     sysOutByte (VGA_DAC_DATA_REG, 0x2A);
  418.     
  419.     sysOutByte (VGA_DAC_DATA_REG, 0x15);
  420.     sysOutByte (VGA_DAC_DATA_REG, 0x2A);
  421.     sysOutByte (VGA_DAC_DATA_REG, 0x00);
  422.     
  423.     sysOutByte (VGA_DAC_DATA_REG, 0x15);
  424.     sysOutByte (VGA_DAC_DATA_REG, 0x2A);
  425.     sysOutByte (VGA_DAC_DATA_REG, 0x2A);
  426.     
  427.     sysOutByte (VGA_DAC_DATA_REG, 0x3F);
  428.     sysOutByte (VGA_DAC_DATA_REG, 0x00);
  429.     sysOutByte (VGA_DAC_DATA_REG, 0x00);
  430.     
  431.     sysOutByte (VGA_DAC_DATA_REG, 0x3F);
  432.     sysOutByte (VGA_DAC_DATA_REG, 0x00);
  433.     sysOutByte (VGA_DAC_DATA_REG, 0x2A);
  434.     
  435.     sysOutByte (VGA_DAC_DATA_REG, 0x3F);
  436.     sysOutByte (VGA_DAC_DATA_REG, 0x2A);
  437.     sysOutByte (VGA_DAC_DATA_REG, 0x00);
  438.     
  439.     sysOutByte (VGA_DAC_DATA_REG, 0x3F);
  440.     sysOutByte (VGA_DAC_DATA_REG, 0x2A);
  441.     sysOutByte (VGA_DAC_DATA_REG, 0x2A);
  442.     
  443.     sysOutByte (VGA_DAC_DATA_REG, 0x15);
  444.     sysOutByte (VGA_DAC_DATA_REG, 0x00);
  445.     sysOutByte (VGA_DAC_DATA_REG, 0x15);
  446.     
  447.     sysOutByte (VGA_DAC_DATA_REG, 0x15);
  448.     sysOutByte (VGA_DAC_DATA_REG, 0x00);
  449.     sysOutByte (VGA_DAC_DATA_REG, 0x3F);
  450.  
  451.     sysOutByte (VGA_DAC_DATA_REG, 0x15);
  452.     sysOutByte (VGA_DAC_DATA_REG, 0x2A);
  453.     sysOutByte (VGA_DAC_DATA_REG, 0x15);
  454.     
  455.     sysOutByte (VGA_DAC_DATA_REG, 0x15);
  456.     sysOutByte (VGA_DAC_DATA_REG, 0x2A);
  457.     sysOutByte (VGA_DAC_DATA_REG, 0x3F);
  458.     
  459.     sysOutByte (VGA_DAC_DATA_REG, 0x3F);
  460.     sysOutByte (VGA_DAC_DATA_REG, 0x00);
  461.     sysOutByte (VGA_DAC_DATA_REG, 0x15);
  462.     
  463.     sysOutByte (VGA_DAC_DATA_REG, 0x3F);
  464.     sysOutByte (VGA_DAC_DATA_REG, 0x00);
  465.     sysOutByte (VGA_DAC_DATA_REG, 0x3F);
  466.     
  467.     sysOutByte (VGA_DAC_DATA_REG, 0x3F);
  468.     sysOutByte (VGA_DAC_DATA_REG, 0x2A);
  469.     sysOutByte (VGA_DAC_DATA_REG, 0x15);
  470.     
  471.     sysOutByte (VGA_DAC_DATA_REG, 0x3F);
  472.     sysOutByte (VGA_DAC_DATA_REG, 0x2A);
  473.     sysOutByte (VGA_DAC_DATA_REG, 0x3F);         /* 0x20 - 0x2F */
  474.     
  475.     sysOutByte (VGA_DAC_DATA_REG, 0x15);         /* 0x30 - 0x3F */
  476.     sysOutByte (VGA_DAC_DATA_REG, 0x15);
  477.     sysOutByte (VGA_DAC_DATA_REG, 0x00);
  478.     
  479.     sysOutByte (VGA_DAC_DATA_REG, 0x15);
  480.     sysOutByte (VGA_DAC_DATA_REG, 0x15);
  481.     sysOutByte (VGA_DAC_DATA_REG, 0x2A);
  482.     
  483.     sysOutByte (VGA_DAC_DATA_REG, 0x15);
  484.     sysOutByte (VGA_DAC_DATA_REG, 0x3F);
  485.     sysOutByte (VGA_DAC_DATA_REG, 0x00);
  486.     
  487.     sysOutByte (VGA_DAC_DATA_REG, 0x15);
  488.     sysOutByte (VGA_DAC_DATA_REG, 0x3F);
  489.     sysOutByte (VGA_DAC_DATA_REG, 0x2A);
  490.     
  491.     sysOutByte (VGA_DAC_DATA_REG, 0x3F);
  492.     sysOutByte (VGA_DAC_DATA_REG, 0x15);
  493.     sysOutByte (VGA_DAC_DATA_REG, 0x00);
  494.     
  495.     sysOutByte (VGA_DAC_DATA_REG, 0x3F);
  496.     sysOutByte (VGA_DAC_DATA_REG, 0x15);
  497.     sysOutByte (VGA_DAC_DATA_REG, 0x2A);
  498.     
  499.     sysOutByte (VGA_DAC_DATA_REG, 0x3F);
  500.     sysOutByte (VGA_DAC_DATA_REG, 0x3F);
  501.     sysOutByte (VGA_DAC_DATA_REG, 0x00);
  502.     
  503.     sysOutByte (VGA_DAC_DATA_REG, 0x3F);
  504.     sysOutByte (VGA_DAC_DATA_REG, 0x3F);
  505.     sysOutByte (VGA_DAC_DATA_REG, 0x2A);
  506.     
  507.     sysOutByte (VGA_DAC_DATA_REG, 0x15);
  508.     sysOutByte (VGA_DAC_DATA_REG, 0x15);
  509.     sysOutByte (VGA_DAC_DATA_REG, 0x15);
  510.     
  511.     sysOutByte (VGA_DAC_DATA_REG, 0x15);
  512.     sysOutByte (VGA_DAC_DATA_REG, 0x15);
  513.     sysOutByte (VGA_DAC_DATA_REG, 0x3F);
  514.     
  515.     sysOutByte (VGA_DAC_DATA_REG, 0x15);
  516.     sysOutByte (VGA_DAC_DATA_REG, 0x3F);
  517.     sysOutByte (VGA_DAC_DATA_REG, 0x15);
  518.     
  519.     sysOutByte (VGA_DAC_DATA_REG, 0x15);
  520.     sysOutByte (VGA_DAC_DATA_REG, 0x3F);
  521.     sysOutByte (VGA_DAC_DATA_REG, 0x3F);
  522.     
  523.     sysOutByte (VGA_DAC_DATA_REG, 0x3F);
  524.     sysOutByte (VGA_DAC_DATA_REG, 0x15);
  525.     sysOutByte (VGA_DAC_DATA_REG, 0x15);
  526.     
  527.     sysOutByte (VGA_DAC_DATA_REG, 0x3F);
  528.     sysOutByte (VGA_DAC_DATA_REG, 0x15);
  529.     sysOutByte (VGA_DAC_DATA_REG, 0x3F);
  530.     
  531.     sysOutByte (VGA_DAC_DATA_REG, 0x3F);
  532.     sysOutByte (VGA_DAC_DATA_REG, 0x3F);
  533.     sysOutByte (VGA_DAC_DATA_REG, 0x15);
  534.     
  535.     sysOutByte (VGA_DAC_DATA_REG, 0x3F);
  536.     sysOutByte (VGA_DAC_DATA_REG, 0x3F);
  537.     sysOutByte (VGA_DAC_DATA_REG, 0x3F);         /* 0x30 - 0x3F */
  538.     
  539.     vgaDnldFont (vgaFont, FONTDATAMAX);
  540.     
  541.     return OK;
  542.     }