home *** CD-ROM | disk | FTP | other *** search
/ Chip 1999 September / Chip_1999-09_cd.bin / internet / Jeremy / tp / downloads / csmon.pas < prev    next >
Pascal/Delphi Source File  |  1999-08-03  |  9KB  |  244 lines

  1. Unit csmon;
  2. interface
  3. procedure LoadChar;
  4. procedure UnLoadChar;
  5.  
  6.  
  7. implementation
  8. Uses
  9.   Dos,Crt;
  10.  
  11. Procedure loadChar;
  12. Const
  13.   numnewChars = 92;
  14. Type
  15.   ByteArray = Array[0..15] of Byte;
  16.   CharArray = Array[1..numnewChars] of Record
  17.     CharNum : Byte;
  18.     CharData : ByteArray;
  19.   end;
  20.  
  21. Const newChars : CharArray = (
  22.      {velka pismena}
  23.    (CharNum : 65;
  24.     CharData : (0,0,0,24,60,102,195,195,255,195,195,195,0,0,0,0)),
  25.    (Charnum : 66;
  26.     CharData : (0,0,0,252,198,198,252,198,195,195,198,252,0,0,0,0)),
  27.    (Charnum : 67;
  28.     CharData : (0,0,0,60,102,195,192,192,192,195,102,60,0,0,0,0)),
  29.    (Charnum : 68;
  30.     CharData : (0,0,0,252,198,195,195,195,195,195,198,252,0,0,0,0)),
  31.    (Charnum : 69;
  32.     CharData : (0,0,0,255,192,192,192,252,192,192,192,255,0,0,0,0)),
  33.    (Charnum : 70;
  34.     CharData : (0,0,0,255,192,192,192,254,192,192,192,192,0,0,0,0)),
  35.    (Charnum : 71;
  36.     CharData : (0,0,0,60,102,195,192,192,222,195,102,60,0,0,0,0)),
  37.    (Charnum : 72;
  38.     CharData : (0,0,0,195,195,195,195,255,195,195,195,195,0,0,0,0)),
  39.    (Charnum : 73;
  40.     CharData : (0,0,0,60,24,24,24,24,24,24,24,60,0,0,0,0)),
  41.    (Charnum : 74;
  42.     CharData : (0,0,0,3,3,3,3,3,3,195,102,60,0,0,0,0)),
  43.    (Charnum : 75;
  44.     CharData : (0,0,0,195,198,204,216,240,216,204,198,195,0,0,0,0)),
  45.    (Charnum : 76;
  46.     CharData : (0,0,0,192,192,192,192,192,192,192,192,255,0,0,0,0)),
  47.    (Charnum : 77;
  48.     CharData : (0,0,0,195,231,255,219,195,195,195,195,195,0,0,0,0)),
  49.    (Charnum : 78;
  50.     CharData : (0,0,0,195,227,243,219,207,199,195,195,195,0,0,0,0)),
  51.    (Charnum : 79;
  52.     CharData : (0,0,0,60,102,195,195,195,195,195,102,60,0,0,0,0)),
  53.    (Charnum : 80;
  54.     CharData : (0,0,0,254,195,195,195,254,192,192,192,192,0,0,0,0)),
  55.    (Charnum : 81;
  56.     CharData : (0,0,0,60,102,195,195,195,195,219,110,62,3,0,0,0)),
  57.    (Charnum : 82;
  58.     CharData : (0,0,0,254,195,195,195,254,248,220,199,195,0,0,0,0)),
  59.    (Charnum : 83;
  60.     CharData : (0,0,0,60,102,195,96,24,6,195,102,60,0,0,0,0)),
  61.    (Charnum : 84;
  62.     CharData : (0,0,0,255,24,24,24,24,24,24,24,60,0,0,0,0)),
  63.    (Charnum : 85;
  64.     CharData : (0,0,0,195,195,195,195,195,195,195,102,60,0,0,0,0)),
  65.    (Charnum : 86;
  66.     CharData : (0,0,0,195,195,195,195,195,195,102,60,24,0,0,0,0)),
  67.    (Charnum : 87;
  68.     CharData : (0,0,0,195,195,195,219,219,219,219,255,102,0,0,0,0)),
  69.    (Charnum : 88;
  70.     CharData : (0,0,0,195,195,102,60,24,60,102,195,195,0,0,0,0)),
  71.    (Charnum : 89;
  72.     CharData : (0,0,0,195,195,102,60,24,24,24,24,24,0,0,0,0)),
  73.    (Charnum : 90;
  74.     CharData : (0,0,0,255,3,6,12,24,48,96,192,255,0,0,0,0)),
  75.    {mala pismena}
  76.    (CharNum : 97;
  77.     CharData : (0,0,0,0,0,62,3,63,99,195,195,127,0,0,0,0)),
  78.    (Charnum : 98;
  79.     CharData : (0,0,0,192,192,254,195,195,195,195,195,254,0,0,0,0)),
  80.    (Charnum : 99;
  81.     CharData : (0,0,0,0,0,126,195,192,192,192,195,126,0,0,0,0)),
  82.    (Charnum : 100;
  83.     CharData : (0,0,0,3,3,63,99,99,195,99,99,63,0,0,0,0)),
  84.    (Charnum : 101;
  85.     CharData : (0,0,0,0,0,126,195,255,192,192,195,126,0,0,0,0)),
  86.    (Charnum : 102;
  87.     CharData : (0,0,0,124,198,192,192,240,192,192,192,192,0,0,0,0)),
  88.    (Charnum : 103;
  89.     CharData : (0,0,0,0,0,63,103,195,195,103,63,3,195,102,60,0)),
  90.    (Charnum : 104;
  91.     CharData : (0,0,0,192,192,192,192,252,230,195,195,195,0,0,0,0)),
  92.    (Charnum : 105;
  93.     CharData : (0,0,0,24,0,56,24,24,24,24,24,60,0,0,0,0)),
  94.    (Charnum : 106;
  95.     CharData : (0,0,0,3,0,3,3,3,3,3,3,3,195,102,60,0)),
  96.    (Charnum : 107;
  97.     CharData : (0,0,0,192,192,192,192,198,220,248,220,198,0,0,0,0)),
  98.    (Charnum : 108;
  99.     CharData : (0,0,0,56,24,24,24,24,24,24,24,60,0,0,0,0)),
  100.    (Charnum : 109;
  101.     CharData : (0,0,0,0,0,238,219,219,219,219,219,219,0,0,0,0)),
  102.    (Charnum : 110;
  103.     CharData : (0,0,0,0,0,220,230,195,195,195,195,195,0,0,0,0)),
  104.    (Charnum : 111;
  105.     CharData : (0,0,0,0,0,126,195,195,195,195,195,126,0,0,0,0)),
  106.    (Charnum : 112;
  107.     CharData : (0,0,0,0,0,254,195,195,195,195,195,254,192,192,192,0)),
  108.    (Charnum : 113;
  109.     CharData : (0,0,0,0,0,127,195,195,195,127,3,3,3,3,3,0)),
  110.    (Charnum : 114;
  111.     CharData : (0,0,0,0,0,222,243,192,192,192,192,192,0,0,0,0)),
  112.    (Charnum : 115;
  113.     CharData : (0,0,0,0,0,126,195,96,24,6,195,126,0,0,0,0)),
  114.    (Charnum : 116;
  115.     CharData : (0,0,0,192,192,248,192,192,192,195,102,60,0,0,0,0)),
  116.    (Charnum : 117;
  117.     CharData : (0,0,0,0,0,195,195,195,195,195,195,126,0,0,0,0)),
  118.    (Charnum : 118;
  119.     CharData : (0,0,0,0,0,195,195,195,102,102,60,24,0,0,0,0)),
  120.    (Charnum : 119;
  121.     CharData : (0,0,0,0,0,195,195,195,219,219,255,102,0,0,0,0)),
  122.    (Charnum : 120;
  123.     CharData : (0,0,0,0,0,195,102,60,24,60,102,195,0,0,0,0)),
  124.    (Charnum : 121;
  125.     CharData : (0,0,0,0,0,195,195,195,99,63,3,3,3,6,124,0)),
  126.    (Charnum : 122;
  127.     CharData : (0,0,0,0,0,255,6,12,24,48,96,255,0,0,0,0)),
  128.    {cislice}
  129.    (Charnum : 48;
  130.     CharData : (0,0,0,60,102,195,219,219,219,195,102,60,0,0,0,0)),
  131.    (Charnum : 49;
  132.     CharData : (0,0,0,3,7,15,27,3,3,3,3,3,0,0,0,0)),
  133.    (Charnum : 50;
  134.     CharData : (0,0,0,60,102,195,6,12,24,48,96,255,0,0,0,0)),
  135.    (Charnum : 51;
  136.     CharData : (0,0,0,126,195,3,15,3,3,3,195,126,0,0,0,0)),
  137.    (Charnum : 52;
  138.     CharData : (0,0,0,6,14,30,54,102,255,6,6,6,0,0,0,0)),
  139.    (Charnum : 53;
  140.     CharData : (0,0,0,255,128,128,188,230,3,3,198,124,0,0,0,0)),
  141.    (Charnum : 54;
  142.     CharData : (0,0,0,126,195,192,192,254,195,195,195,126,0,0,0,0)),
  143.    (Charnum : 55;
  144.     CharData : (0,0,0,255,3,6,12,24,48,96,192,128,0,0,0,0)),
  145.    (Charnum : 56;
  146.     CharData : (0,0,0,126,195,195,195,126,195,195,195,126,0,0,0,0)),
  147.    (Charnum : 57;
  148.     CharData : (0,0,0,126,195,195,195,127,3,3,195,126,0,0,0,0)),
  149.  
  150.     {diakriticka pismena}
  151.  
  152.    (Charnum : 128;
  153.     CharData : (102,24,0,60,120,195,192,192,192,195,102,60,0,0,0,0)),
  154.    (Charnum : 130;
  155.     CharData : (0,0,12,24,0,126,195,255,192,192,195,126,0,0,0,0)),
  156.    (Charnum : 131;
  157.     CharData : (0,52,24,11,3,3,3,63,99,195,99,63,0,0,0,0)),
  158.    (Charnum : 133;
  159.     CharData : (102,24,0,252,198,195,195,195,195,195,198,252,0,0,0,0)),
  160.    (Charnum : 134;
  161.     CharData : (102,24,0,255,24,24,24,24,24,24,24,24,0,0,0,0)),
  162.    (Charnum : 135;
  163.     CharData : (0,0,102,24,0,126,195,192,192,192,195,126,0,0,0,0)),
  164.    (Charnum : 136;
  165.     CharData : (0,0,102,24,0,126,195,255,192,192,195,126,0,0,0,0)),
  166.    (Charnum : 137;
  167.     CharData : (102,24,0,255,192,192,192,252,192,192,192,255,0,0,0,0)),
  168.    (Charnum : 139;
  169.     CharData : (12,24,0,60,24,24,24,24,24,24,24,60,0,0,0,0)),
  170.    (Charnum : 143;
  171.     CharData : (12,24,0,24,60,102,195,195,255,195,195,195,0,0,0,0)),
  172.    (Charnum : 144;
  173.     CharData : (12,24,0,255,192,192,192,252,192,192,192,255,0,0,0,0)),
  174.    (Charnum : 145;
  175.     CharData : (0,0,102,24,0,255,6,12,24,48,96,255,0,0,0,0)),
  176.    (Charnum : 146;
  177.     CharData : (102,24,0,255,3,6,12,24,48,96,192,255,0,0,0,0)),
  178.    (Charnum : 149;
  179.     CharData : (0,0,12,24,0,126,195,195,195,195,195,126,0,0,0,0)),
  180.    (Charnum : 150;
  181.     CharData : (0,0,24,36,24,195,195,195,195,195,195,126,0,0,0,0)),
  182.    (Charnum : 151;
  183.     CharData : (12,24,0,195,195,195,195,195,195,195,102,60,0,0,0,0)),
  184.    (Charnum : 152;
  185.     CharData : (0,0,12,24,0,195,195,195,99,63,3,3,3,6,124,0)),
  186.    (Charnum : 155;
  187.     CharData : (102,24,0,60,102,195,96,24,6,195,102,60,0,0,0,0)),
  188.    (Charnum : 157;
  189.     CharData : (12,24,0,195,195,102,60,24,24,24,24,24,0,0,0,0)),
  190.    (Charnum : 158;
  191.     CharData : (102,24,0,254,195,195,195,254,248,220,199,195,0,0,0,0)),
  192.    (Charnum : 159;
  193.     CharData : (0,52,24,200,192,248,192,192,192,195,102,60,0,0,0,0)),
  194.    (Charnum : 160;
  195.     CharData : (0,0,12,24,0,62,3,63,99,195,195,127,0,0,0,0)),
  196.    (Charnum : 161;
  197.     CharData : (0,0,12,24,0,56,24,24,24,24,24,60,0,0,0,0)),
  198.    (Charnum : 162;
  199.     CharData : (0,0,12,24,0,126,195,195,195,195,195,126,0,0,0,0)),
  200.    (Charnum : 163;
  201.     CharData : (0,0,12,24,0,195,195,195,195,195,195,126,0,0,0,0)),
  202.    (Charnum : 164;
  203.     CharData : (0,0,102,24,0,220,230,195,195,195,195,195,0,0,0,0)),
  204.    (Charnum : 165;
  205.     CharData : (102,24,0,195,227,243,219,207,199,195,195,195,0,0,0,0)),
  206.    (Charnum : 166;
  207.     CharData : (24,36,24,195,195,195,195,195,195,195,102,60,0,0,0,0)),
  208.    (Charnum : 168;
  209.     CharData : (0,0,102,24,0,126,195,96,24,6,195,126,0,0,0,0)),
  210.    (Charnum : 169;
  211.     CharData : (0,0,102,24,0,222,243,192,192,192,192,192,0,0,0,0))
  212.  
  213.  
  214.     );
  215.  
  216. Var
  217.   r : Registers;
  218.   i : Byte;
  219.  
  220. begin
  221. for i := 1 to numnewChars do
  222.   With r do
  223.   begin
  224.     ah := $11;             { video sub-Function $11 }
  225.     al := $0;              { Load Chars to table }
  226.     bh := $10;             { number of Bytes per Char }
  227.     bl := 0;               { Character table to edit }
  228.     cx := 1;               { number of Chars we're definig }
  229.     dx := NewChars[i].CharNum;          { ascii value of the Char }
  230.     es := seg(NewChars[i].CharData);    { es:bp --> table we're loading }
  231.     bp := ofs(NewChars[i].CharData);
  232.     intr($10,r);
  233.   end;
  234. end;
  235.  
  236. procedure UnLoadChar;
  237. begin
  238.      textmode(lastmode);
  239. end;
  240.  
  241.  
  242. begin
  243. end.
  244.