Toshiba T3100e improvements :
* Enables [Fn]+key combinations (using right-Ctrl or right-Alt as [Fn]). In particular: * Implements switching the built-in display adapter between the 'internal' plasma display ([Fn]+[Home]) and an 'external' CGA monitor ([Fn]+[End]) * Allows the video font to be toggled between thin and thick ([Fn]+[Right arrow]). * Implements the four hardware fonts of the original, selectable in BIOS setup. * Implements CRTC register 12h (attribute mapping and display type) Patch from John Elliott
This commit is contained in:
parent
4747d90702
commit
65a9d17674
9 changed files with 296 additions and 115 deletions
48
src/video.c
48
src/video.c
|
|
@ -323,8 +323,8 @@ void video_init()
|
|||
|
||||
BITMAP *buffer32;
|
||||
|
||||
uint8_t fontdat[256][8];
|
||||
uint8_t fontdatm[512][16];
|
||||
uint8_t fontdat[2048][8];
|
||||
uint8_t fontdatm[2048][16];
|
||||
uint8_t fontdatw[512][32]; /* Wyse700 font */
|
||||
uint8_t fontdat8x12[256][16]; /* MDSI Genius font */
|
||||
|
||||
|
|
@ -420,22 +420,34 @@ void loadfont(char *s, int format)
|
|||
}
|
||||
break;
|
||||
case 5: /* Toshiba 3100e */
|
||||
for (c=0;c<256;c++)
|
||||
{
|
||||
fread(&fontdatm[c][8], 1, 8, f);
|
||||
}
|
||||
for (c=0;c<256;c++)
|
||||
{
|
||||
fread(&fontdatm[c+256][8], 1, 8, f);
|
||||
}
|
||||
for (c=0;c<256;c++)
|
||||
{
|
||||
fread(&fontdatm[c][0], 1, 8, f);
|
||||
}
|
||||
for (c=0;c<256;c++)
|
||||
{
|
||||
fread(&fontdatm[c+256][0], 1, 8, f);
|
||||
}
|
||||
for (d = 0; d < 2048; d += 512) /* Four languages... */
|
||||
{
|
||||
for (c = d; c < d+256; c++)
|
||||
{
|
||||
fread(&fontdatm[c][8], 1, 8, f);
|
||||
}
|
||||
for (c = d+256; c < d+512; c++)
|
||||
{
|
||||
fread(&fontdatm[c][8], 1, 8, f);
|
||||
}
|
||||
for (c = d; c < d+256; c++)
|
||||
{
|
||||
fread(&fontdatm[c][0], 1, 8, f);
|
||||
}
|
||||
for (c = d+256; c < d+512; c++)
|
||||
{
|
||||
fread(&fontdatm[c][0], 1, 8, f);
|
||||
}
|
||||
fseek(f, 4096, SEEK_CUR); /* Skip blank section */
|
||||
for (c = d; c < d+256; c++)
|
||||
{
|
||||
fread(&fontdat[c][0], 1, 8, f);
|
||||
}
|
||||
for (c = d+256; c < d+512; c++)
|
||||
{
|
||||
fread(&fontdat[c][0], 1, 8, f);
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue