short cut to ... [main] [news] [forum] [download] [Hall of Fame] [game] [cg] [link]

TBIOSLD.SYS󶡤뵡ǽ


TBIOSץƥȥ˥ɤǥХǤ
int 0x8eѤϢ³ʪɥ쥹4KBɤ߹ߤޤ


ɥɥ쥹ӥΤΤ˲ΤI/OȤޤ
CMOSΰʤΤ1ХȤ˲̥ХȤǼޤ
port(0x3b90) TBIOSʪɥ쥹
port(0x3b98) TBIOS
port(0x3ad0) TBIOSʪɥ쥹(512byte)
TBIOSTOP.BINΥإåӤơ˥ɤƤ뤫Τޤ


TBIOSLD.SYSϲΤŹ沽Ƥޤ
ܤDTBIOSLD.C򻲾ȤƤ


TBIOSTOP.BINɬTBIOSƬ֤ñʥХʥեǤ
¾BINեREXμ¹ԥեǰʲΥإåޤ


TBIOS MODULEإå¤
00	8bytes	С
08	8bytes	
10	8bytes	Townes
18	8bytes	ƥ
20	dword	̤?(0)
24	dword	ɥ쥹 0ʤ¸ߤʤ
28	word	CODESEG(0x110)
2a	word	DATASEG(0x118)
2c	word	إåС?(0x10)
2e	word	ȥ꡼ο
30	dword	ȥ꡼ɥ쥹Ǽեå
34	dword	ȥ꡼ɥ쥹   ͤǼ뤿եåǽ


ɤȸɥ쥹Ǽեå
BIN
EGB 0x200
EGI 0x208
XGI 0x210
SND 0x218
INT 0x220
MOS 0x228
MIO 0x230
TMM 0x238
SPR 0x240
FNT 0x248
IOM 0x250
EXT 0x258
NUL 0x260


\t_file\read4.doc
/D ɽ򥫥åȤ륪ץ
/E 饤ɣϲ̤ˤ륪ץ
/R ꥢ֤˾󤵤륪ץ
/S ˣȣɽ򣳣ˣȣɽѴ륪ץ
/V Ĵ


SCANС

port 0x470 R/? byte  bit7:0(SCANСѲǽ)
port 0x472 R/W word  SCANСɥ쥹ݡ
port 0x474 R/W dword SCANСǡݡ
address 0x0003 bit16:1(15->31Ѳǽ) bit16:0(15->31ͭ)
void v_option(void) {
  if (!(_inb(0x470) & 0x80)) {
    int adr, dat;
    adr = _inw(0x472);
    _outw(0x472, 3);
    dat = _ind(0x474);
    if (dat & 0x10000) _outd(0x474, dat | 1);
    _outw(0x472, adr);  /* ɥ쥹˸᤹ */
  }
}