Skip to content

Commit

Permalink
PC-98: Well, MS-DOS writes the 0x522 offset itself and assumes 0xE00,…
Browse files Browse the repository at this point in the history
… and real hardware shows a translation table there, so, put the table where MS-DOS expects it
  • Loading branch information
joncampbell123 committed Feb 19, 2024
1 parent 4d1c4aa commit 169f961
Showing 1 changed file with 2 additions and 2 deletions.
4 changes: 2 additions & 2 deletions src/ints/bios.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -10050,8 +10050,8 @@ class BIOS:public Module_base{
BIOS_DEFAULT_IRQ815_DEF_LOCATION = PhysToReal416(ROMBIOS_GetMemory(9/*see callback.cpp for EOI_PIC1*/,"BIOS default IRQ8-15 location",/*align*/1,IS_PC98_ARCH ? 0 : 0xFE880));

if (IS_PC98_ARCH) {
/* Keyboard translation tables, must exist at segment 0xFD80 */
BIOS_PC98_KEYBOARD_TRANSLATION_LOCATION = PhysToReal416(ROMBIOS_GetMemory(0x80/*TODO: multiple tables eventually*/,"Keyboard translation tables",/*align*/1,0xFD800+0x124));
/* Keyboard translation tables, must exist at segment 0xFD80:0x0E00 because PC-98 MS-DOS assumes it (it writes 0x522 itself on boot) */
BIOS_PC98_KEYBOARD_TRANSLATION_LOCATION = PhysToReal416(ROMBIOS_GetMemory(0x80/*TODO: multiple tables eventually*/,"Keyboard translation tables",/*align*/1,0xFD800+0xE00));
BIOSKEY_PC98_Write_Tables();
}

Expand Down

0 comments on commit 169f961

Please sign in to comment.