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:
SarahW 2017-10-28 16:03:44 +01:00
commit 65a9d17674
9 changed files with 296 additions and 115 deletions

View file

@ -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;
}