@Tables and Formats used by DOS & BIOS
:backup headers
^DOS BACKUP Control Information

%	BACKUPID.@@@ Format

%     Offset Size		Description
	00   byte   Disk sequence flag:
			00  indicates disk is not the last backup diskette
			FF  indicates disk is the last backup diskette
	01   word   Floppy disk sequence number (Intel format)
	03   word   Backup year, four digits (Intel format)
	05   byte   Day of month (1-31)
	06   byte   Month of year (1-12)
	07   dword  System time if /T was specified (see ~FILE ATTRIBUTES~)
	0B 117bytes Unused


%	Backup File Header

%     Offset Size		Description
	00   byte   Disk sequence flag:
			00  indicates disk is not the last backup diskette
			FF  indicates disk is the last backup diskette
	01   byte   Floppy disk sequence number
	02  3bytes  Unused
	05 64bytes  Full pathname (without drive designator)
	45 14bytes  Unused
	53   byte   Length of file path name at offset 05 plus 1
	54 44Bytes  Unused
:BIOS Parameter Block:BPB
^BPB - BIOS Parameter Block

%     Offset Size	    Description

	00   word	sector size in bytes
	02   byte	sectors per cluster (allocation unit size)
	03   word	number of reserved sectors
	05   byte	number of FATs on disk
	06   word	number of root directory entries (directory size)
	08   word	number of total sectors; if partition > 32Mb then set
			to zero and dword at 15h contains the actual count
	0A   byte	media descriptor byte  (see ~MEDIA DESCRIPTOR~)
	0B   word	sectors per ~FAT~

%	Additional/different fields for DOS 3.0+
	0D   word	sectors per track
	0F   word	number of heads
	11   word	number of hidden sectors
	15 11bytes	reserved

%	Additional/different fields for DOS 4.0+
	15   dword	number of total sectors if offset 8 is zero
	19  6bytes	reserved
	1F   word	number of cylinders
	21   byte	device type
	22   word	device attributes

	- located in the boot sector at offset 0Bh

	- see	~BOOT SECTOR~
:Batch Control Block:BCB
^BCB - Batch Control Block (undocumented)

^DOS 2.x thru DOS 3.2  BCB Format

%     Offset Size		   Description

	00   byte	unknown
	01   word	if non-zero; segment of control block for active FOR
	03   byte	type of batch command
			    0 - normal batch command
			    1 - FOR-loop active
	04   dword	offset of next command to execute in batch file
	07   word	offset of variable %0 (batch file name)
	09  9 words	offset of %N batch file parameters, 0FFFFh indicates
			parameter is null
	1C   nbytes	null terminated path and filename of the current
			batch file immediately followed by command line
			parameters.  Each parameter %0-%9 plus a CR is
			appended and resulting string is null terminated.


^DOS 3.3  BCB Format

%     Offset Size		   Description

	00   byte	unknown
	01   byte	global echo switch, if exec'd by batch CALL-command
			    1 - turn ECHO ON on return to calling batch file
			    0 - turn ECHO OFF on return to calling batch file
	02   word	batch file BCD segment if executed via CALL
			    if zero; batch file was called from command line
			    if non-zero; batch file executed via CALL-command
	04   word	if non-zero; segment of control block for active FOR
	06   byte	type of batch command
			    0 - normal batch command
			    1 - FOR-loop active
	07   dword	offset of next command to execute in batch file
	0B   word	offset of variable %0 (batch file name)
	0D  9words	offset of %N batch file parameters, 0FFFFh indicates
			parameter is null
	1F  nbytes	null terminated path and filename of the current
			batch file immediately followed by command line
			parameters.  Each parameter %0-%9 plus a CR is
			appended and resulting string is null terminated.


	- BCB length is variable and depends on the size and count of the
	  parameters and fully qualified batch file name
	- the MCB for a BCB has a process Id of the transient portion of
	  the latest COMMAND.COM
	- offsets displayed are relative to the BCB segment
	- SHIFT command changes the offsets of the parameters in the table
	  at the offsets 0B0h thru 1Ch
	- BCB  of DOS 3.3 is the  same as earlier versions except 3 bytes
	  were added after offset 0
	- to find a BCB, locate the first block in the MCB chain belonging
	  to COMMAND.COM (the second allocated block always belongs to
	  COMMAND.COM).  Then scan the ~MCB~ chain for a 64 byte block with
	  the same owner ID as COMMAND.COM).  This will be the BCB.
:BIOS Data Area:BDA:BIOS memory:memory map
^BDA - BIOS Data Area - PC Memory Map

%	Address Size	   Description

	00:00 256dwords Interrupt vector table
	30:00 256bytes	Stack area used during post and bootstrap
	40:00	word	COM1 port address
	40:02	word	COM2 port address
	40:04	word	COM3 port address
	40:06	word	COM4 port address
	40:08	word	LPT1 port address
	40:0A	word	LPT2 port address
	40:0C	word	LPT3 port address
	40:0E	word	LPT4 port address (except PS/2)
			Extended BIOS Data Area segment (PS/2, see ~EBDA~)
	40:10  2 bytes	Equipment list flags (see ~INT 11~)

		³7³6³5³4³3³2³1³0³ 40:10 (value in INT 11 register AL)
		 ³ ³ ³ ³ ³ ³ ³ ÀÄ IPL diskette installed
		 ³ ³ ³ ³ ³ ³ ÀÄÄ math coprocessor
		 ³ ³ ³ ³ ÃÄÅÄÄÄ old PC system board RAM < 256K
		 ³ ³ ³ ³ ³ ÀÄÄ pointing device installed (PS/2)
		 ³ ³ ³ ³ ÀÄÄÄ not used on PS/2
		 ³ ³ ÀÄÁÄÄÄÄ initial video mode
		 ÀÄÁÄÄÄÄÄÄÄ # of diskette drives, less 1

		³7³6³5³4³3³2³1³0³ 40:11  (value in INT 11 register AH)
		 ³ ³ ³ ³ ³ ³ ³ ÀÄ 0 if DMA installed
		 ³ ³ ³ ³ ÀÄÁÄÁÄÄ number of serial ports
		 ³ ³ ³ ÀÄÄÄÄÄÄÄ game adapter
		 ³ ³ ÀÄÄÄÄÄÄÄÄ not used, internal modem (PS/2)
		 ÀÄÁÄÄÄÄÄÄÄÄÄ number of printer ports

	40:12	byte	PCjr: infrared keyboard link error count
	40:13	word	Memory size in Kbytes  (see ~INT 12~)
	40:15	byte	Reserved
	40:16	byte	PS/2 BIOS control flags
	40:17	byte	Keyboard flag byte 0 (see ~KB FLAGS~)

		³7³6³5³4³3³2³1³0³ keyboard flag byte 0
		 ³ ³ ³ ³ ³ ³ ³ ÀÄÄÄ right shift key depressed
		 ³ ³ ³ ³ ³ ³ ÀÄÄÄÄ left shift key depressed
		 ³ ³ ³ ³ ³ ÀÄÄÄÄÄ CTRL key depressed
		 ³ ³ ³ ³ ÀÄÄÄÄÄÄ ALT key depressed
		 ³ ³ ³ ÀÄÄÄÄÄÄÄ scroll-lock is active
		 ³ ³ ÀÄÄÄÄÄÄÄÄ num-lock is active
		 ³ ÀÄÄÄÄÄÄÄÄÄ caps-lock is active
		 ÀÄÄÄÄÄÄÄÄÄÄ insert is active

	40:18	byte	Keyboard flag byte 1 (see ~KB FLAGS~)

		³7³6³5³4³3³2³1³0³ keyboard flag byte
		 ³ ³ ³ ³ ³ ³ ³ ÀÄÄÄ left CTRL key depressed
		 ³ ³ ³ ³ ³ ³ ÀÄÄÄÄ left ALT key depressed
		 ³ ³ ³ ³ ³ ÀÄÄÄÄÄ system key depressed and held
		 ³ ³ ³ ³ ÀÄÄÄÄÄÄ suspend key has been toggled
		 ³ ³ ³ ÀÄÄÄÄÄÄÄ scroll lock key is depressed
		 ³ ³ ÀÄÄÄÄÄÄÄÄ num-lock key is depressed
		 ³ ÀÄÄÄÄÄÄÄÄÄ caps-lock key is depressed
		 ÀÄÄÄÄÄÄÄÄÄÄ insert key is depressed

	40:19	byte	Storage for alternate keypad entry
	40:1A	word	Offset from 40:00 to keyboard buffer head
	40:1C	word	Offset from 40:00 to keyboard buffer tail
	40:1E  32bytes	Keyboard buffer (circular queue buffer)
	40:3E	byte	Drive recalibration status

		³7³6³5³4³3³2³1³0³ drive recalibration status
		 ³ ³ ³ ³ ³ ³ ³ ÀÄÄ 1=recalibrate drive 0
		 ³ ³ ³ ³ ³ ³ ÀÄÄÄ 1=recalibrate drive 1
		 ³ ³ ³ ³ ³ ÀÄÄÄÄ 1=recalibrate drive 2
		 ³ ³ ³ ³ ÀÄÄÄÄÄ 1=recalibrate drive 3
		 ³ ÀÄÁÄÁÄÄÄÄÄÄ unused
		 ÀÄÄÄÄÄÄÄÄÄÄÄ 1=working interrupt flag

	40:3F	byte	Diskette motor status

		³7³6³5³4³3³2³1³0³ diskette motor status
		 ³ ³ ³ ³ ³ ³ ³ ÀÄÄ 1=drive 0 motor on
		 ³ ³ ³ ³ ³ ³ ÀÄÄÄ 1=drive 1 motor on
		 ³ ³ ³ ³ ³ ÀÄÄÄÄ 1=drive 2 motor on
		 ³ ³ ³ ³ ÀÄÄÄÄÄ 1=drive 3 motor on
		 ³ ÀÄÁÄÁÄÄÄÄÄÄ unused
		 ÀÄÄÄÄÄÄÄÄÄÄÄ 1=write operation

	40:40	byte	Motor shutoff counter (decremented by ~INT 8~)
	40:41	byte	Status of last diskette operation (see ~INT 13,1~)

		³7³6³5³4³3³2³1³0³ status of last diskette operation
		 ³ ³ ³ ³ ³ ³ ³ ÀÄÄÄ invalid diskette command
		 ³ ³ ³ ³ ³ ³ ÀÄÄÄÄ diskette address mark not found
		 ³ ³ ³ ³ ³ ÀÄÄÄÄÄ sector not found
		 ³ ³ ³ ³ ÀÄÄÄÄÄÄ diskette DMA error
		 ³ ³ ³ ÀÄÄÄÄÄÄÄ CRC check / data error
		 ³ ³ ÀÄÄÄÄÄÄÄÄ diskette controller failure
		 ³ ÀÄÄÄÄÄÄÄÄÄ seek to track failed
		 ÀÄÄÄÄÄÄÄÄÄÄ diskette time-out

	40:42  7 bytes	NEC diskette controller status (see ~FDC~)
	40:49	byte	Current video mode  (see ~VIDEO MODE~)
	40:4A	word	Number of screen columns
	40:4C	word	Size of current video regen buffer in bytes
	40:4E	word	Offset of current video page in video regen buffer
	40:50  8 words	Cursor position of pages 1-8, high order byte=row
			low order byte=column; changing this data isn't
			reflected immediately on the display
	40:60	byte	Cursor ending (bottom) scan line (don't modify)
	40:61	byte	Cursor starting (top) scan line (don't modify)
	40:62	byte	Active display page number
	40:63	word	Base port address for active ~6845~ CRT controller
			3B4h = mono, 3D4h = color
	40:65	byte	6845 CRT mode control register value (port 3x8h)
			EGA/VGA values emulate those of the MDA/CGA
	40:66	byte	CGA current color palette mask setting (port 3d9h)
			EGA and VGA values emulate the CGA
	40:67	dword	CS:IP for 286 return from protected mode
		dword	Temp storage for SS:SP during shutdown
		dword	Day counter on all products after AT
		dword	PS/2 Pointer to reset code with memory preserved
		5 bytes	Cassette tape control (before AT)
	40:6C	dword	Daily timer counter, equal to zero at midnight;
			incremented by INT 8; read/set by ~INT 1A~
	40:70	byte	Clock rollover flag, set when 40:6C exceeds 24hrs
	40:71	byte	BIOS break flag, bit 7 is set if ~Ctrl-Break~ was
			*ever* hit; set by ~INT 9~
	40:72	word	Soft reset flag via Ctl-Alt-Del or JMP FFFF:0

			1234h  Bypass memory tests & CRT initialization
			4321h  Preserve memory
			5678h  System suspend
			9ABCh  Manufacturer test
			ABCDh  Convertible POST loop
			????h  many other values are used during POST

	40:74	byte	Status of last hard disk operation (see ~INT 13,1~)
	40:75	byte	Number of hard disks attached
	40:76	byte	XT fixed disk drive control byte
	40:77	byte	Port offset to current fixed disk adapter
	40:78  4 bytes	Time-Out value for LPT1,LPT2,LPT3(,LPT4 except PS/2)
	40:7C  4 bytes	Time-Out value for COM1,COM2,COM3,COM4
	40:80	word	Keyboard buffer start offset (seg=40h,BIOS 10-27-82)
	40:82	word	Keyboard buffer end offset (seg=40h,BIOS 10-27-82)
	40:84	byte	Rows on the screen (less 1, EGA+)
	40:85	word	Point height of character matrix (EGA+)
		byte	PCjr: character to be repeated if the typematic
			repeat key takes effect
	40:86	byte	PCjr: initial delay before repeat key action begins
	40:87	byte	PCjr: current Fn function key number
		byte	Video mode options (EGA+)

		³7³6³5³4³3³2³1³0³ Video mode options (EGA+)
		 ³ ³ ³ ³ ³ ³ ³ ÀÄÄ 1=alphanumeric cursor emulation enabled
		 ³ ³ ³ ³ ³ ³ ÀÄÄÄ 1=video subsystem attached to monochrome
		 ³ ³ ³ ³ ³ ÀÄÄÄÄ reserved
		 ³ ³ ³ ³ ÀÄÄÄÄÄ 1=video subsystem is inactive
		 ³ ³ ³ ÀÄÄÄÄÄÄ reserved
		 ³ ÀÄÁÄÄÄÄÄÄÄ video RAM  00-64K  10-192K  01-128K  11-256K
		 ÀÄÄÄÄÄÄÄÄÄÄ video mode number passed to ~INT 10~, function 0

	40:88	byte	PCjr: third keyboard status byte
			EGA feature bit switches, emulated on VGA

		³7³6³5³4³3³2³1³0³ EGA feature bit switches (EGA+)
		 ³ ³ ³ ³ ³ ³ ³ ÀÄÄ EGA SW1 config (1=off)
		 ³ ³ ³ ³ ³ ³ ÀÄÄÄ EGA SW2 config (1=off)
		 ³ ³ ³ ³ ³ ÀÄÄÄÄ EGA SW3 config (1=off)
		 ³ ³ ³ ³ ÀÄÄÄÄÄ EGA SW4 config (1=off)
		 ³ ³ ³ ÀÄÄÄÄÄÄ Input FEAT0 (ISR0 bit 5) after output on FCR0
		 ³ ³ ÀÄÄÄÄÄÄÄ Input FEAT0 (ISR0 bit 6) after output on FCR0
		 ³ ÀÄÄÄÄÄÄÄÄ Input FEAT1 (ISR0 bit 5) after output on FCR1
		 ÀÄÄÄÄÄÄÄÄÄ Input FEAT1 (ISR0 bit 6) after output on FCR1

	40:89	byte	Video display data area (MCGA and VGA)

		³7³6³5³4³3³2³1³0³ Video display data area (MCGA and VGA)
		 ³ ³ ³ ³ ³ ³ ³ ÀÄÄ 1=VGA is active
		 ³ ³ ³ ³ ³ ³ ÀÄÄÄ 1=gray scale is enabled
		 ³ ³ ³ ³ ³ ÀÄÄÄÄ 1=using monochrome monitor
		 ³ ³ ³ ³ ÀÄÄÄÄÄ 1=default palette loading is disabled
		 ³ ³ ³ ÀÄÄÄÄÄÄ see table below
		 ³ ³ ÀÄÄÄÄÄÄÄ reserved
		 ³ ÀÄÄÄÄÄÄÄÄ  1=display switching enabled
		 ÀÄÄÄÄÄÄÄÄÄ alphanumeric scan lines (see table below)

%	      Bit7    Bit4	Scan Lines
		0	0	350 line mode
		0	1	400 line mode
		1	0	200 line mode
		1	1	reserved

	40:8A	byte	Display Combination Code (DCC) table index (EGA+)
	40:8B	byte	Last diskette data rate selected

		³7³6³5³4³3³2³1³0³ last diskette data rate selected
		 ³ ³ ³ ³ ÀÄÁÄÁÄÁÄÄÄ reserved
		 ³ ³ ÀÄÁÄÄÄÄÄÄÄÄÄÄ last floppy drive step rate selected
		 ÀÄÁÄÄÄÄÄÄÄÄÄÄÄÄ last floppy data rate selected

%		Data Rate 			Step Rate
		00  500K bps		00  step rate time of 0C
		01  300K bps		01  step rate time of 0D
		10  250K bps		10  step rate time of 0A
		11  reserved		11  reserved

	40:8C	byte	Hard disk status returned by controller
	40:8D	byte	Hard disk error returned by controller
	40:8E	byte	Hard disk interrupt control flag(bit 7=working int)
	40:8F	byte	Combination hard/floppy disk card when bit 0 set
	40:90  4 bytes	Drive 0,1,2,3 media state

		³7³6³5³4³3³2³1³0³ drive media state (4 copies)
		 ³ ³ ³ ³ ³ ÀÄÁÄÁÄÄÄ drive/media state (see below)
		 ³ ³ ³ ³ ÀÄÄÄÄÄÄÄ reserved
		 ³ ³ ³ ÀÄÄÄÄÄÄÄ 1=media/drive established
		 ³ ³ ÀÄÄÄÄÄÄÄ double stepping required
		 ÀÄÁÄÄÄÄÄÄÄ data rate:	00=500K bps    01=300K bps
					10=250K bps    11=reserved
%		Bits
%		210  Drive Media State
		000  360Kb diskette/360Kb drive not established
		001  360Kb diskette/1.2Mb drive not established
		010  1.2Mb diskette/1.2Mb drive not established
		011  360Kb diskette/360Kb drive established
		100  360Kb diskette/1.2Mb drive established
		101  1.2Mb diskette/1.2Mb drive established
		110  Reserved
		111  None of the above

	40:94	byte	Track currently seeked to on drive 0
	40:95	byte	Track currently seeked to on drive 1
	40:96	byte	Keyboard mode/type

		³7³6³5³4³3³2³1³0³ Keyboard mode/type
		 ³ ³ ³ ³ ³ ³ ³ ÀÄÄÄ last code was the E1 hidden code
		 ³ ³ ³ ³ ³ ³ ÀÄÄÄÄ last code was the E0 hidden code
		 ³ ³ ³ ³ ³ ÀÄÄÄÄÄ right CTRL key depressed
		 ³ ³ ³ ³ ÀÄÄÄÄÄÄ right ALT key depressed
		 ³ ³ ³ ÀÄÄÄÄÄÄÄ 101/102 enhanced keyboard installed
		 ³ ³ ÀÄÄÄÄÄÄÄÄ force num-lock if Rd ID & KBX
		 ³ ÀÄÄÄÄÄÄÄÄÄ last char was first ID char
		 ÀÄÄÄÄÄÄÄÄÄÄ read ID in process

	40:97	byte	Keyboard LED flags

		³7³6³5³4³3³2³1³0³ Keyboard LED flags
		 ³ ³ ³ ³ ³ ³ ³ ÀÄÄÄ scroll lock indicator
		 ³ ³ ³ ³ ³ ³ ÀÄÄÄÄ num-lock indicator
		 ³ ³ ³ ³ ³ ÀÄÄÄÄÄ caps-lock indicator
		 ³ ³ ³ ³ ÀÄÄÄÄÄÄ circus system indicator
		 ³ ³ ³ ÀÄÄÄÄÄÄÄ ACK received
		 ³ ³ ÀÄÄÄÄÄÄÄÄ re-send received flag
		 ³ ÀÄÄÄÄÄÄÄÄÄ mode indicator update
		 ÀÄÄÄÄÄÄÄÄÄÄ keyboard transmit error flag

	40:98	dword	Pointer to user wait complete flag
	40:9C	dword	User wait Time-Out value in microseconds
	40:A0	byte	RTC wait function flag

		³7³6³5³4³3³2³1³0³ ~INT 15,86~ RTC wait function flag
		 ³ ³ ³ ³ ³ ³ ³ ÀÄÄÄ 1= wait pending
		 ³ ÀÄÁÄÁÄÁÄÁÄÁÄÄÄÄ not used
		 ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ 1=INT 15,86 wait time elapsed

	40:A1	byte	LANA DMA channel flags
	40:A2  2 bytes	Status of LANA 0,1
	40:A4	dword	Saved hard disk interrupt vector
	40:A8	dword	BIOS Video Save/Override Pointer Table address
			(see ~VIDEO TABLES~)
	40:AC  8 bytes	Reserved
	40:B4	byte	Keyboard NMI control flags (convertible)
	40:B5	dword	Keyboard break pending flags (convertible)
	40:B9	byte	Port 60 single byte queue (convertible)
	40:BA	byte	Scan code of last key (convertible)
	40:BB	byte	NMI buffer head pointer (convertible)
	40:BC	byte	NMI buffer tail pointer (convertible)
	40:BD  16bytes	NMI scan code buffer (convertible)
	40:CE	word	Day counter (convertible and after)
	40:F0  16bytes	Intra-Applications Communications Area (IBM Technical
			Reference incorrectly locates this at 50:F0-50:FF)


%	Address Size	   Description	 rsde buffery drive step rate eOCM)


%	Adnding60 
		dword	l flags
	4ÁÄÄÄÄ not ustepping required
l
e³ ~INT 1drive establishe1
	40:8CZct flgO
			Rword	Cyte
		 8; read/r head poiS 10-27-82)ag(bablikeybo KBMb d00160Kbma	Adnding60 cted
		 ÀÄÁÄÄÄÄÄÄÄÄÄÄÄÄ last floppy  fLBMb[E
	4ÁÄÄÄÄ not  2A DEtions apEGAXDjr: third keyboard status b ÄÁÄÁÄÁÄÄanuffery p
lseEudTga1TDd27-A DEle addrSCyt0:871unternvertiblIy d0:6C exceeord"MA CD
	40:  oSwbytes	 E HÇ
		0rd0d	Keys?ed
l
 LANead/r head poiS 10d	umerSCyt0:871ulzLe)
	r wait y locates thil i3u40:hnicalÁÄÄs	DrivSrreing60ed
		 ÀÄ (I ³ ÀÄÄÄÄÄÄ circus system inrd	Day couonfig sshed
		0tputrluently sy l0m-ltateurre p
ll
 LANea'10=250K bSA
		 bablikeybo  ÄÄÄdwo0:98	dword ternvertiblIy d0:6C e MemSCyt040:85	w[E
	 u
	40:Aa0=250n[E
	4napEGAXDfc5,86 wait time elapscates tSrrei( ÀÄ (I>Dv³ ÀÄÄÄÄÄÄÄ ³ lr ateur8CZO= ra-Applicatdriv5	byte	Por"  ooht CTRTlay swiÐu-A DEO= r[E
eB2Iy d0:6		 ³ ³1oeIBRy d0:(ÁÄÁÄP85	w[At ³ ÀÄÄÄÄfem1

	40:8AXDf¾ChilAZ  ooht CTOi
s³ ³1es 24hr?ClDd poioeUocatesn prop r nuu*b1rd	Cyte,0 
)


atoEH:ags
U1
	40:8Cf(SCyt0:a0=250n[E
 for CPose(I ³ ÀÄÄÄ ilAZ  ooht W�dst char was	Cyte,0 
)

0:98	ÁÄÄÄÄ not Cyte=t fldons AreaNl		 l
 r: third keybo was	Cyte,0 
)

0:98	ÁÄÄÄÄ not Cyte=t fldons AreaNl		 l
 r: third keybo was	Cyte,0 
)

0:98	ÁÄÄÄÄ not Cyte=t fldons AreaNl		 l
 r: third keybo was	Cyte,0 
)

0:98	ÁÄÄÄÄ not Cyte=t fldons AreaNl		 l
 r: third keybo was	Cyte,0 
)

0:98	ÁÄÄÄÄ not Cyte=t fldons AreaNl		 l
 rea l
 rea l
 retuidons Area01  soi
		01  30cu.		 l%	ABworda AreaNl	
		³7³6³5³st keyC5ePClocEa4ÁÄÄÄÄtÁÄÄÄÄ sO
		so was	Cyte,0 
)

0:98	ÁÄÄÄÄSr?ClDd poioeUocatesn prop indicator
poin pÄSr?ClDRdisk*Lnot uidF)
ht fldtorooht W�dst co*d nooht  fldo
	40:8Cf( flAre
g l
 rewKavesas	CyNcpoiÁÄÁÄÁÄ0

Ì l
Nf t indicator
		 ³ ³ ³ ³ ³ ÀÄÄÄÄÄ caps-lock indicator
		 ³ [E
eterSW3 config "8	ÁÄÄÄÄ not Cyte=t fldons AreaNl		 l
 r: thibel 1oht  fldo
	~)
 upd not Cytel 1=ofmddr		³7³6³eR0 bit 6e AreaNl		 l
 Reuuuisk driofmddr		³7³rdaer		³7³6³eR0 ccan cod1 fldons riofmicaEÄÄÄ notl 1		 G³ ³ ³luwldo75u e	PCj³ ³ ³    1lor
poin pW Cfrned by controlle.N³ ³ ÀÄrMu40:a
			Rea5eUoing monocrigor
NT 1dEue=t fldons AreaNl		 l
 rea l
 rea l
 retuidons Area01  soi
		01  30cu.		 l%	ABworda AreaNl	
		³7³6³5³st keyC5ePClocEa4ÁÄÄÄÄtÁÄÄÄÄ sO
		so was	Cyte,0 
)

0:98	ÁÄÄÄÄSr?ClDd poioeUocatesn prop indicator
poin pÄSr?ClDArette/1.2³ ÀÄrMuh ÀÄÄÄÄ,0  lry p
t (Du40	³7 third keyboanl6ÄÄÄ nSSewwKavesa  indicatordword	l fl D	 l
 retuiEÄ not Cytet fldor»y
	 ³ ³ ÀÄÄÄÄÄh		³7³6³5³4_poioeUo4ÁÄÄobps    01hFpdx/1.2Mb nf3auuisk(tvA= monocridWN4y pled
		t  2A Defl
0:dr1t fldorÄÄÄÄtÁÄÄÄÄ 5eUo75u=ofenot2dst char was	Cytee
0_ lt fldpuisk(tvArd	ÄÄdwobhwas	Cy  1iTA8l³ ³ ³ÄÄÄD	³7³6³5³
ee
0_uve edrive  
%	Adn
 Lyte(SCyEDCLlj³ ³e(Sa
		t  2Aybo wa98	IwwKY³ ³a01  'Unot e nf3auuD	40:8Lee
0s u=ofe4
0_uve keyD*y³
ee
0_uve edrive  
%	AdnHÇ
		0rd0d	AyboE2s:dr	 l
 retuiELÁÄ0

Ì l

 LLyte(SCyEDbo wLee
06³5³
ee
0_uve ed1o wLerpa0d	umefumRl³6³5³4³3³ivel	
		³7³rdaer		³7³6³eabl was	0_uv4	byto4ÁÄRr

		nas	CyDvte 0 
)
7  1iTA8l³drive  sd
		cates tSrrei( ÀÄ (I>Dv³ ÀÄÄÄÄÄÄÄ wobhwEyte	NMI-lock indnot e b nf3auui-s    01hFpdx/1.2Mn propFpdx/1tuiEÄ not CyÄ,0 ³ ³ÄÄÄDve          1t e nf3	NM
	dons AreO[FEAT1 (IS  sateg Nead/r10d	ut-otLB2Iy d
		0rd key bCyÄ,1iTA8w ArNr
		 ³ ÀÄÄÄÄÄÄÄÄÄd0:oDayR5u=of diskette/1.2Mb drive estabn prype nf3fr estabT1
		 ÀlY³ ³a01  neriveayR5u=of diskette/y loive  
r4nocd1o wLerpa0d	umefvertS  sateg Nead/r10      1t e nf3	NM
	dons AreO[FEAT1 (IS  sateg Nead/r1u  1.2 fldo
?ClO
		sïe 0 
)
7  1iTA8l³u=of diskette/1.2Mb driveil³dro
poin pWBiÐu-A DEO= rumetions apEn pWBicsp indiÁÄÁÄÄanu rumetCte/1.te=t fldr4ltMF	³7³6rate se	NMte	ayR8bdl³u=of di 
		7³6rate sing inr wait Time-Out value in microsecondsbser f diskgeÄÁÄÄanuÁÄÄÄÄ hed
		100  360he EgCOrecrumetE ³ ³ ³ aEc (Irid

ecrumetE ³ ³ ³ aE,ohe EgCOcruetE ³ ³ ³ aEc (Irid³7³6³eR01		cae sing inr   3EgCO1iTAimetrate sint5,85³4³ccruT5³4³ har
	MIÄÄDocEa4ÁÄÄoEAb!r…te/1.20  360e
ee
0v³ ³ aE,ohe Rcan coEiEÄ o:( flAre
g l
 rewK diskgeÄÁÄÄaooe
ee
te/1.2E ³ ³ ³ ag

		³7³6³5³4³3³2³1³0³ Keyboard mode/type
		 ³ ³ ³ ³ ³ ³ ³ ÀÄÄÄ last code was the E1 hidden code
		 ³ ³ ³ ³ ³ ³ ÀÄÄÄÄ last code was the E0 hik(tv1etst code w³eRaÁÄÄÄsecode
		 ³ ³o20:BD teurre econdsbser Tsint5,85		 ³ ³ ³or3³2³1³
		 ³ ³ ons Communications Area (IBM Technical0:BD teurre econdsbser Tsint5,85		 ³ ³ ³or3³2³1³
		 ³ ³ ons Communications Area (IBM Technical0:BD teursint5,85		³7³6rate  aenBD teurre econdsbser TsiiO+ p Uchar
	Lshe EgCOcruetEroÀÄÄ	Cyte82)ag(tst c-atitrewKw
	drd disk thC
lsateg 8/1.bocatesn prop indicator
poin pÄSr?ClDArette/1.2³ ÀÄrMuh ÀÄÄÄÄ,0  lry p
t (Du40	³7 third keyboanl6ÄÄÄ nSSewwKavesa  indicatordword	l fl D	 l
 retuiEÄ not Cytet fldor»y
	 ³ ³ ÀÄÄÄÄÄh		³7³6³5³4_poioeUo4ÁÄÄobps    01hFpdx/1.2Mb nf3auuisk(tvA= monocridWN4y pled
		t  2A Defl
0:dr1t fldorÄÄÄÄtÁÄÄÄÄ 5eUo75u=ofenot2dstnSS0K lishel6ÄÄÄ nSSewwKavesa  indicatordword	l fl Du* of 0CnBD teurre econdvalue in microsecondsbser f dian co¼ pointer (convI D100  ˜—er TsiiO+ pe)s.2Mb drive estabn prype nf3fr estabT1
		 ÀlY³ ³a01  nerin&D	 fery d
",Lrd³ ³ ÀÄÄÄLot2dstnSS0r poinÄ nSSewwîsin>- Tsii1.2MUrre ec.2MUrrh, Defl
 ml-renNry d
",Lrd³ ³ ÀÄÄÄLot2dstnSS0r poinÄTÀÄÄÄLohanced keyb drive nf3fpe nf3fr estabT1
		 ÀhU»	4ÁÄÄÄÄ not nf3aDOcrf 0CnBsoi
		,85		 Ne&pled
		t  2
olmit error flagig 8/1o=   5		 Ne&plwîsinTABLES~)
	40:AC  8 bytes	Reserved
	40:B4	byte	Keyboard NMI control flags (convertible)
	40:B5	dword	Keyboard break pending flags (convertible)
	40:B9	byte	Port 60 single byte queue (convertible)
	40:BA	byte	Scan code of last key (convertible)
	roseconi  2
ornt5,85A71ud
		 ÀÄ (I 5gC¼ pointereuest RuLr»girf0P? elapscates tSrrei( ÀÄ (I>Dv³ ÀÄÄÄÄÄÄÄ ³ lr atÄÄÄ  ³ ³ aE,ohe 	byte
 ret1ud
	ÊagsYB8Ft?( flatÄdwcKu1udi³ccruT5³4³ har
	MIÄÄDocEa4ÁÄÄoEAb!r…te/1.20  360e
ee
0v³ ³ aE,ohe Rcan coEiEÄ o:( flAre
g l
 rewK diskgeÄÁÄÄaooe
ee
te/1.2E ³ ³ ³ ag

		³7³6³5³4³3³2³1³0³ Keyboard mode/type
		 ³ ³ ³ ³ ³ ³ ³ ÀÄÄÄ last code was the E1 hidden code
		 B ÀÄÄÄ last ch21Nd	dwoO/³st ÄÄoE1.2E disDArPskgeeaNnt5)
	40 Rcan p0e
: taNnt5)
	40	byflagig 8t5,85		³7³6ratItÄÄÄÄÄÄ ³ lr atÄ
MIÄÄwgeÄÁÄÄaooe
e
0:dr1t fnvertiX1lord	es ³ ³ ³ ÀÄrmave di 
 dr0Slast codtÄ
MIÄ ÄÄÄdwo0:98	di st ch21Nd	dwoO/³st ÄÄoE1.2E disDArPsodeHduoinÄTÀÄa AreaNl		 l
 r: third keybo was	Cyn  eO[j³ ³y p* ÀÄRr atÄÄÄÄÄÄÄ ³ lcror AreL+ aEc (Irid

east ks (conv:ewK04³3³IaEc (IrpÄSr?ClDAz85	 (Irp Neadar(Irt ch21Nch21Nfldo
?(E1Nfldo
drive estabn prype nf3fr DI.last ch21Nd	dç(convendi_E6ratItaooeEc 	 (Irid

east ks (conv:ewK04³3³Ionvlmieasrd mh05o ÀÄÄÄÄÄÄÄ ³ lr atÄÄÄ  ³ ³ aE,ohe 	byte
 ret1ud
	ÊagsYB8Ft?( flatÄdwcKu1udi³ccruT5³4³ har
	MIÄÄDocEa4ÁÄÄoEAb!r…te/1.20  360e
ee
0v³ ³ aE,ohe Rcan coEiEÄ o:( flAre
g l
 rewK diskgeÄÁÄÄaooe
ee
te/1.2E ³ ³ ³ ag

		³7³6³5³4³3³2³1³0³ Keyboard mode/type
		 ³ ³ ³ ³ ³ ³ ³ ÀÄÄÄ last code was the E1 hiddAg

		³7³8 ³ lr atÄ
ee
0v³ ³ aE,ohaMsk driof]figb*b1robps    0)
Invlmibflagig 8/1opCj³ti8/1t ConvlminAC  8 bytes	Reserved
	40:B4	byte	K1pÄSr?ClDA
		³evvlmin{
		
eeO-Dr2fr DI±vendi_E6ratÁ		  	 §:98	cEa4ÁÄÄoEAb!r…te/1.20  360e
ee
n
	ÊagÄ nSSenotOE³7³8 ³ lr atÄ
ee
0v³ ³ aE,olmibflot Cyte=t fldons Are7!r…thS
poin pWBit³ ³	Êagreas,/ lcror!r…teE 4Sr?EuocagÄdi   DI±vendi_E6ra³7³6³Otions ArealauKu1municsDArPsk9rI ³ ³ ³ 
ee
te/EanA
		
",User ³ ³ 	MI.2Mb nf3auuisk(tvA= mono,,ohe Rcan coEiEÄ o-T5u=of d 
ee
te/Eav³ ³ aE,(y01hFpdC indi.PewKavesaPfCon
r poinÄTÀÄÄÄLohance,Wlol fmieps11e a„lt2dpdriof]fig 3auuD	CEanA
	a1municsDArPsk9rI ³ ³ ³ 
ee
te/EanA
		
",User ³4aHx
ueaNl	
dwcKu1udi³ccruT5³4³ har
	MlirNRdi³conv:ewK04³³ aEEÄ o-T5u=of d 
ee
te/Eav³ ³ aE,(y01hFpdC indi.PewKavesaPfCon
r poinÄTÀÄÄÄLohance,Wlol fmieaaPfÇ11e a„lOoLEÄ o-T5u=of d S_ DI±vereuest :ewKonv:e
)


nte/sing  1Inblot Cyast U
%	Addr",UserS	PCj³ ³ i1hFpdC indcror!r…teE 4ive nf3fpe nfnfnfn³7³6³OtiatÁ		  	 Rdi³:y4F)
 ³ aEfenot2dst char was	Cytee
aPfÇ ead1udi³car was	Cytee
IawÄÄÄLohR)
 ³ 3]jin&oaEa4pÄÄÄÄÄÄEhr DI  	 Rdi9 Cyu³³ LcIÄÄÄ lW9a
			R¾l82hnicat³ ³ 	 RIe
		 ³a4F)
oaiI  r ³   diskuve ed1o wLerpa0d	umefumRl³6³5³4³3³ivel	
		³7³rdaer		³7³6³eabl was	0_uv4	byto4ÁÄRr

		nas	CyDvte 0 
)
7  1iTA8l³drive  sd
		cates tSrrei( ÀÄ (I>DevvlmintR%	A",Lgl	R¾l82hInf
7  d1udi³ieaaPfÇ11e d 
ee
Hn",Use
	rst UA (I>R 0CnB
ÄÄ 
0v³ ³ 0 

nid

east ks (conv:ewK04³3³Ionvlmieasr_uv4
	4Est codÄÄÄE   dsbumefj³ti8/1t ConvlminAC  8 bytes	Reserved
	40:B4	byte	K1pÄSr?ClDA
		³evvlmin{
		
ee"8 
Ì l
)nrÄ (I>DÄÄ S
idden codºd0d lacode

Ì l
,uK ddr
poin id
 time elapsan coEiEÄ o:( flArepHn"lAreuas keyD*y³te	aym4
b n TÂa4Est clr 1erp) cod
DArPskges
aPfÇ e7CyÄ,0 'El82hInf
7  d1udi³Addr",Use 8 byteFqDkE Area (IBM Technical0:BD teurre econdsbser Tsint5,85		 ³ ³ ³or3³2³1³
		 ³ ³yC…teE 4Sr?Eutes trPskgeTboobas	 yC…wLee
06³5³
ee
0_uve ³Addr",Use soi98	dw   dsbumBM Teci98eabl was	0_uv4	uocag÷hreue
)

bEst cÁÄÄs key=WK ed ieaE ³ ³ ³ aE,oh_uv id
 tim 
)
7  1iTA8l³ror3³2 1oht
 tim 
)
7 ÄanuÁŠocsD0Y wLedsbumtMF	³7fÇ e7CgxlumRl³6BD te 7uK ddr
popDin 8b³ lSÄÄÄÄlsheE 4S-_uvd

eDArettroYs	 ygCO1éurÁÄÄs key=WK ed ieaE ³ ³ ³ aE,oh_uv id
 tim 
)
7  1iTA8l³ror3³2 1oht
 tim 
)
7 ÄanuÁŠocsD0Y wLedsbumtMF	³7fÇ e7CgxlumRl³6BD te 7uK ddr
popDin 8b³ lSÄÄÄÄlsheE 4S-_uvd

eDArettroYs	 ygCO1éurÁÄÄs key=Wbumu 4S-_uvd

	MISÄÄuv id
 tim ee
tedsb 1oht
eyboa ³ aEc (Irid³7³6³eR01		caž)
auuD	d ieEid
87fÇn1e
		ÄÄÄ*l8	 lt
eÇ eE,oh_uv ret ed
)
7  1u=of disketettO1é   07³6³eR01	14³ har
	M)t ³or3³2³1³
		 ³ ³yC…teE 4Sr?Eutes trPskgeTboobas	 yC…wLee
06³5³
ee
0_uve ³Addr",Use soi98	dw   dsbumBM Teci98eabl was	0_uv4	uocag÷hreue
)

bEst cÁÄÄs key=WK ed ieeeeeeeeeeeeeeeMÆ
nte3u1 ,Use so3 obahard m(Dd/h¾=s4t soiDArettroYs	 27E Co.oobasfÀÄÄa4Á
 t—aD³
ee
0tl1³ a,ocag÷h9fr atÄ
pnblot CyasH4 
0vD


nte/el 1min{
o
?( ÀÄ (I>Evte 0 
l	0_ÄÄ  ³ ³ aE,ohe 	bynhar
	MlirNRdi³conewK0ee
te/1.2E CyasmWK ed roYs	 ygCO1éurÁÄÄs key=Wbumul 1min{
o³ ³ aE,((Ddel 1minR÷h9frytes	Reserved
	M)t ³or ed ie.A aenBD te
0t:B4	uK E,omet ed
)
8)A D0  ML0e
ee

east med
eie
ee
t2hI(andr
		 ³a4F)mWK ed ros	Cyr 0 
l	0_ÄÄ  ³ ³ aE,ohe "CgD 1min{ageÄÁt
14³cMn'%O Vkey=Wbumu³evvi5met ed
)
te/EanAmdmgeÄÁt
dsbumBmi
ee
t2hI(andr
		   1	ysheE 4)
8)A DI(andr
		 ³a4FWCwas t dsbumBM TecgA D0  ML0e
ee

east med
eie
ee
6³eR01	1	8 
Ì l
)nrÄ
nid
:xe 8 bytee
te/Eav³ ³ aE,(y01hFpdD	ReserCo.oobasfÀÄÄa4Á
 t—aD³
ee
0tl1³ a,ocag÷h9fr atÄ
pnbl
nBD t t t t E CoÄ (I>EvtTpdD	Res{ageÄÁt
14Äa4Álr aewKard maewKarp
0t:B4	uK Eindi.PewTsiiE14³ hCO1éurÁÄÄs key=Wbumu 4S-_uvd

	MISÄÄuv id
 tim ee
tedsb 1oht
eyboa ³ aEc (Irid³7³6³eR01		caž)
auuD	d ieEid
87fÇn1e
		ÄÄÄ*l8	 lt
eÇ eE,oh_uv ret ed
)
7  1u=of disketettO1é   07³6³eR01	14³ har
	M)t ³or3³2³1³
		 ³ ³yC…teE 4Sr?Eutes t1	14³",Use rst URp
0t:BC   07³6³eR01	14³ har
	M)t ³or3³2³1³
		 ³ ³yC…teE 4Sr?Eutes t1	14³",Use rst URp
0t:BC   07³6³eR01	14³ har
	M)t ³or3³2³1³
		 ³ ³yC…teE 4Sr?Eutes t1	14³",Use rst URp
0t:BC   07³6³eR01	14³ har
	M)t ³or3³2³1³
		 ³ ³yC…teE 4Sr?Eutes t1	14³",Use rst URp
0t:BC   07³6³eR01	14³ har
	M)t ³or3³2³1³
		 ³ ³yC…teE 4Sr?GLÁÄÄCu e

Nd	dç(cocE_uv rim 
tes trPskgePl
ee
0tvlminAC S aE,(ruid³7³6g 8t5,85	tpE³6³d³7dey=v1e-es trPskgdç(,UsFboa ³ ar {
opDiB,kxUsFboa ³ arDu40	ible)
	40:B5	dword	Keyboard break pending flags (convertible)
	40:B9	byte	Port 60 single byte queue (convertible)
	40:BA	byte	Scan code of last key (convertible)
	roseconi  2
ornt5,85A71ud
		 ÀÄ (I 5gC¼ pointereuest RuLr»girf0P? elapscates tSrrei( ÀÄ (I>Dv³ ÀÄÄÄÄÄÄÄ ³ lr atÄÄÄ  ³ ³ aE,ohe 	byte
 ret1ud
queue (HÄSrringcate aE,(ru Nl		 l
 r: third keybo was	Cyn  eO[j³ ³y p* ÀÄRr atÄÄÄÄÄÄÄ ³ lcror AreL+ aEc (Irid

east ks (conv:ewK04³3³IaEc (IrpÄSr?ClDAz85	 (Irp Neadar(Irt ch21Nch21Nfldo
?(E1Nfldo
drive estabn prype nf3fCiatee
aPfÇ ead1udi³car was	Cytee
IawÄÄÄLohR)
 ³ 3]jin&oaEa4pÄÄÄÄÄÄEhr DI  	 Rdi9 Cyu³³ LcIÄÄÄ lW9a
			Rp0e
ee

oadar(I-jin&oaEa4pservI ³ ³ ³tim 
)
7  1iTA1InDwDv³e
06³5³
ee
0_uve ³Addr",Use soi98	da4
	4Est codÄÄÄERni  byte	Pors trPskgdç(,UsFbohobasfÀ keyÀÄÄa4Á
 t—rdegdi9 es t1	1a,oc CyasH4Ûin&oaEa4pÄÄÄÄÄÄf06³IDIEhr DI  	 Rdi9
		caD40	ible)
	40:B5	nin&egdyÄaooe
e
0:dror3³2
7 EURp
ooe
disk5 )
 ³ 3]Nfx6³Ooobasf(>ÄCu e

Nd	dç(cocks (cMhR)
 ³ 3]jin&oaEaNe sas	Cytee
IawTr Arskgdç(,c Cyasx6³Oop/peT°
oc Cye
aPe
IawÄÄÄLoni8zS-_uvd
IGI4nawTwÄÄÄLo™onvertible)
K ³ 0 

Cyr 0 
lyo w1ecag÷h9fr  ³ 3]Nfx6aenUse (ye
aEa)sH4 
ndr
		   t1	1a
?(E1Nfldo
dr
7 EURp\r CyaenU/A0:B9	bst D9fr  ³ 3]Nfx6aenUswLee	aDthitee
IawTr{
		
lDA
		\indi.otOE³7Clot CyasH4 
0vD


nte/el 1min{
o
?( ÀÄ (I>Evte 0 
l	0_ÄÄ  ³ ³ aE,ohe 	bynhar
	MlirNRdi³conewK0ee
te/1.2E CyasmWK ed roYs	 ygCO1éurÁÄÄs key=Wbumul 1min{
o³ ³ aE,((DwTrUeU
	MlirN U
	B 1mileue (GI4n
te/1:B4	uK EindiÄa4Á
5	M)t³yC…teE 4Sr?Eo³7Clast ks (conv:ewK04³3³IaEc (IrpÄSr?ClDAz85	 (Irp Neadar(Irt ch21Nch21Nfldo
?(E1Nfldo
drive estabn prype nf3fCiatee
aPfÇ ead1udi³car was	8 ³iS7  1iT7³6
umu³evvi5met ed
)
te/EanAmdmgeÄÁt
dsbumBmi
ev01min{
o
?( ÀÄt ÄÄoE1.iSr?Eutes trPskgeTboobas	 yC…wLee
06³5³
ee
0_uve ³Addr",Use soi98	dw   dsbumBM Teci98eabl was	0_uv4	uocag÷hreue
)

bEst cÁÄÄs key=WK ed ieeeeeeeeeeeeeeeMÆ
nte3u1 ,Use so3 obahard m(Dd/h¾=s4t soiDArettroYs	 27E Co.oobasfÀÄÄa4Á
 t—aD³
ee
0tl1³ a,ocag÷h9fr atÄ
pnblot CyasH4 
0vD


nte/el 1min{
o
?( ÀÄ (I>Evte ³ 3el 1bumBocagnvertmBM TeA
		
E Co.oobDArettroeeeeMÆohe 	


nte/eÁ
 t—a³iS7  eMÆohe 	C1éurÁÄÄs key=Wbumul 1miA
 rewuCyasYOk di_ç(,c tim 
)
7  1RIeDvte  trPh¾=s4tg÷hreuohe Uag÷hreue
(IrpI
nte/el 1miAnC³
		 ³a
		\indi.otOTechnical0:BM
te/1PskgeTboo_uvN³evviÄ
ee
0vBCtr atÄCCyasYOk di_pCnte/el 1Clcocks (cMhR)
 ³ÄÄÄboa diaUadar(Irt ch21ÈuvN³el pf aUaEm tr m  eTbeTbuvNoo_I Eo_uvN³ev,c4Äa4Álr aewKard maewKarp
0t:B4	uK Eindi.PewTsiiE14³ hCO1éurÁÄm atÄCCee
aPfÇ ead1udi³cEÄ )bumBmi
ev01min{
ol³drive  sd
bl wa	uKfÀ keyÀÄÄa4Á
 t—rdegdi9 es t1	1a,oc Cydi.PewTl3éÒaÄCCee
aPfÇ eu¯Øcpscates tSrrei( Ì l
,uK ddr
/peTbSr?Eoindi.otOEa,ocavesad
bl w d1uD i wa	ue  sd
blynhar
	MliravesaliravesaliravesaliravesÈuvydiÂg÷h9Egn+ aEcCpN³evvvt2soi1ii7ÄÄl/el iwrÄÄuv  wa	uKfÀ keyÀ
evPfÇvp8ed
r
		 stoRese		 ³a
gLtd0:BM
te/1Pskgo4³ hCOhddr
AClDAz85	 -mlp8ed
r
		 Tl7ÄÄodÄÄÄERni  f*(HÄSrhCr
	Mlirlliravesa hCOhddr
AClDAzelB9	bst e so3 ob=m
 ³e
 s(DwTr2sliravesr
	Mlilynhar
blynharTl7ÄÄodÄX
evtscatUi.PewiAaTAz8uD	d ielDAz8LtueAz8LtuAaTAz8caž)
aueEddr
ACmrllir1 ed roYs	t1Emul 1g ACl
oEE 2sltlEg÷h	Mlt 5FÀ keyÀÄÄa 1oht
e9fryt-	uKNee
IawTr rlliraveswKardnlP4Sr?Euteker?Euteker?EumwfÀ 8LtueAz8LtuAaTAz8	14³ har
="EThIn
="c5³
ee
0_uve ³Ad Ì l
4S-_uvd

eD,Lgan UNClDAzAzelB aE,oveswKardnlP4Sr?EuWK ed
1InDwDv³eUsem 
)
Az8fÇ ³2³1³
um1		 Tl7ÄÄo	cates tSrMst r:B9	byte	PordnlP8ePo ³ am
 ³e/pw:s key=WK oge ke0vD

mSfr aSfr aSfruAaTAiig{
onei

nte/elDtm(Dd/h¾=sD te 7uK ¾=s³ hEalcror A
,	by00mSf		³7³8ed roYrPh=Wbumu³evvi5met 4	PordnlPL-Lor 2t ÄÄoE1. break5le"c5³
ee
(cocE_uv fx6uvd
ar was	Cyt	e  trPh¾=9	byter(Irt ch2di9
x6uvdte/elDtm(Dd/h¾=sDNhar

Az8fÇ ³2³1³ 4	Pordnle/elDtm(DeAfcrSumtMF	³7fÇ e7CgxlumRl³6Bch2Tl7ÄÄid³7³6³eat	e  /EanAmdmgMF	³7fa)
oCC iA AlumRl³6indnDre"cT8rSunAmdmgMF	"mlmiÈuvN³esert-
4S-_uvd
ElumRl³6Mg2.À keyÀ
evmlxeAnsalminAmr,9axeA n4Duvd
avesa 0P? enDre" -el LtueAz8LtuAaTAz8	14RtTert-
4S-_uvd
ElumRl³6Mg2.À keyÀ
evcrenÀ krÇ ³2³1d
avesa 0P? D
S meC6O  ³miÈuvN³esert(-iÈuMF	"ceueAz8LtuAaTAz8	14RFndLtuAaTAz8N 1bumBocagTbSr A
		
E C.À Aioe	ovd
ElumRl³6Mg2nblLzAmdYSLlNDÄÄkat	Sunkd
r
		 a roYrPh=Wbumu³evvi5met 4	PoreiagTbSiMEuCiatee
aPfÇt-
4S-_uvd
ElumRl³6Mg2.À keyÀ
evcrenÀ krÇ ³2³1d&IRwiAE=Wbum1u=of d unkd
r
		 
lyo w ³ÄÄÄboa diaUadar(Irt ch21ÈuvN³el pf aUa6 =of da,o med
eie
eerive  vvi5met 4kit soiDAUse soi98fi98fi98fi98
0tR w ³ÄÄÄboaLYu³e=9	byter(I4 Ç ³2³1³ 4	P
0tR w ³ÄÄÄboakakakakvm(Dd/h¾=s4t sotOEa,ocaver

Az8fÇUh-


nte/te/te/t"M)tc (Irid
nAmr,9aR
t2hI(andr
		   1	ysheE 4)
8)A DI(andr
		 ³a4FWCwas t dsbumBM TecgA D0  ML0e
ee

east m?EumwfÀ 8c (Irid
n e so3 ob=mefj³H
)
7  1iT1u=of lI 5b ob2hI(ai6Mg2nblr(IuI
ElumRlFlxeAnsalmi2Ub
n e 4	P
0tR wA8lmsfÀ keD
t2hICn+ aEcCpnblot C
eilgTbSiMEuCiatee
aPfÇtf aUa6 =ofrid
n e"ls t dtR w ³Ä6³eR0er(98feswKarsYOkugE sotOE= ³ Ed
n e"lete  trPh¾=siatee
aPfÇt-
4S-_ (Irid a,oInEi was	C3³2³1³
	oIvi5met 4	Por pf atrtettO1é   bDt C
eilgTbSiMEuCiatee
aot:BC hfnkr{
onei
kd/hoCÄ (andr
G DI(
		
lDAa 0-rmBMFPd'o³a
	7ÄÄI(
zw ³ÄÄtRprtI
Ec (I har
³7ClUsFswKarsYOkE=Wbum1M)tc (

ea=.³drive  Ciot C
ednlP8eD a,oInEi was	C3³2³ ÄtRprt e so3  t d4FW	"ceue=ttOëe ke0vD

mSfr aSfr aSfruAaTAiig{
onei

nte/elDtm(Dd/h¾=sD te eednlP8eDI(
		
lDAa 0-rmBMFPd'o³EI(
		
(I MEuCin t ds aED	PorEridocE_uv rim0E el 1miCs	C3³2u6 =or  queu5LCiot D
IawTodriDsoIvi5ma	uBC   07³6³eR0³6Mg2.ÀrB was	8filgTbE 4S-_uvdotm(D5b obhoCÄ (andr
G DI(
		
lDAa 0-rmBMC
ez8uD	g.5le
n e"arTl7ÄÄodÄX
evPo ³ am
 f2³ ÄtRprt e sve ³Addr",UseswKardnlP4Sr?EuWK ed
1InDwDv³eUsem 
)
Az8fÇ ³2³1³
um1		 Tl7ÄÄo	catet so6ael³6BchH4 
0vD


nibleW) 
)e7CgxlumRl³e=ttt s)Ciot D
IawTodriDs
evPo ³ a
ez8uDFswKenibas	8fil-mlp8ed
r&Ll:	 Tl7ÄÄo(wP
0tRaseconi  2
o3>VGF
³7kabn pr
1InDDbEsr
1InD ae sve ?EutesRd
1InDwD³7ClUsFswo
drive estawU uWK ed
1Inra VaDuClUsFi2
o3iAuWK edve ?EutesRd
1c (Inup) 1 ed rmBMC
ez8uDSf		³7³8ed roYrBdmBMC
ez8uD eical0:BM
te/1Psko=sDF  vi2
o3iAuWK edve ?EutesRd
B³ ÀÄÄsGfr aSfnpoulNDÄaum(Inup) K eez8n t dnblor Ç ³dNo.y=WbumuTnDw aSEuCiateeuy=Wbumul irwDv³e
uy=Wbu break pending 1bvi2
o3¿aakakakvmTb (alUsFi2
 Aioe	ovd
ElumRl³6Mg2nblÒTr ArsD 4Sr?EuWK ed
1In	÷h	Mlt 5FÀ keyÀÄI0 
leuCias(alUsFe ?Eeee6pa trPhL5C2nbloPun
ee

ni atSn	 27E Cdr
G DDllUsFi2
 Aios	"mltO1é   bfSatUi.Pefed
)
6Mgé  Aioe	ovdgdi9 es t1	1a,oc Cydi.PewTl3éÒaÄh_UsFe ?Eeee69r  FÀ keyÀÄI0 RtTEeee69r  FÀ keys 3³2
7 EURtTEeeeE&oa

sNagsDSf		³ eDs
7


nte/te/te/:ee61eTbintereuest RuLr»girf0P? elapsNtO1éioe	ovd
El/1Ps16³d³7deyaCuee
ke0vD

mSfr aL ]K ed
1Inc (Rl³uiA Tl7ÄÄAchH4 
s=c
nAmr,9fURtTd/h¾=sO]afÄaum(LOÌl9fryt-Ansalmi2Ub
n e 4	P
0tR wA8lmsfÀÑsdH4 
s=

sbum1ee/te/:ee61/Cl½ /te/:ee61eTbx Cydi.Pepr
1IxK ednnockIviE5C2nbl(I rimi2U.oUsFswKmSfr :98fTodriI MEuC4 
Ä6³eR0er(98feswKarsYOkugE sotOE= ³ Ed
n e"leagnveg5FÀne	ovd
ElIaPfÇ AP? elapsNºO
Imd
)<=sD teFO1éuy]WkoulNr o so3 fsnlþ Cyasx6³Ouy=Wbu C.À Aio,o med
eie
eerive  vvi5met ks (co keyGF
³7kao so3 fsnlþ(ru l3éÒaÄ
lDAa T i5met ks (co kfe/te/tawTohoe	6IÄaum(IÄX
evPoMEuCiateDs
7


ntwfÀ 8L98feswKarsYOkugg o )psNtOftOTandr
		e  trPh¾=siatee
aPfÇt-
4SD[ohe Uag÷hreue
(2
 AiLaanuvdotdgdi9 l3oc (DÄafeswKaeÀ 8L98SEuCiateeLd
1Ieleagandr
ÿ/Eav³ ³ aE,(y01hFpdD	ReserCo.oobasfÀÄÄa4Á
 t—aD³
ee
0tl1³ a,ocag÷h9fr atÄ
pnbl
nBD t t t t E CoÄ (I>EvtTpdD	Res{ageÄÁt
14Äa4Álr aewKard maewKarp
0t:B4	uK Eindi.PewTsiiE14³ hCO1éurÁÄÄs key=Wbumu 4S-_uvd

	MISÄÄuv id
 tim ee
tedsb 1oht
eyboa ³ aEc (Irid³7³6³eR01		caž)
auuD	d ieEid
87fÇn1e
		ÄÄÄ*l8	 lt
eÇ eE,oh_uv ret ed
)
7  1u=of disketettO1é   07³6³eR01	14³ har
	M)t ³or3³2³1³
		 ³ ³yC…teE 4Sr?Eutes t1	14³",Use rst URp
0t:BC   07³6³eR01	14³ har
	M)t ³or3³2³1³
		 ³ ³yC…teE 4Sr?Eutes t1	14³",Use rst URp
0t:BC   07³6³eR01	14³ har
	M)t ³or3³2³1³
		 ³ ³yC…teE 4Sr?Eutes t1	14³",Use rst URp
0t:BC   07³6³eR01	14³ har
	M)t ³or3³2³1³
		 ³ ³yC…teE 4Sr?Eutes t1	14³",Use rst URp
0t:BC   07³6³eR01	14³ har
	M)t ³or3³2³1³
		 ³ ³yC…teE 4Sr?GLÁÄÄCu e

Nd	dç(cocE_uv rim 
tes trPskgePl
ee
0tvlminAC S aE,(ruid³7³6g 8t5,85	tpE³6³d³7dey=v1e-es trPskgdç(,UsFboa ³ ar {
opDiB,kxUsFboa ³ arDu40	ible)
	40:B5	dword	Keyboard break pending flags (convertible)
	40:B9	byte	Port 60 single byte queue (convertible)
	40:BA	byte	Scan code of last key (convertible)
	roseconi  2
ornt5,85A71ud
		 ÀÄ (I 5gC¼ pointereuest RuLr»girf0P? elapscates tSrrei( ÀÄ (I>Dv³ ÀÄÄÄÄÄÄÄ ³ lr atÄÄÄ  ³ ³ aE,ohe 	byte
 ret1ud
queue (HÄSrringcate aE,(ru Nl		 l
 r: third keybo was	Cyn  eO[j³ ³y p* ÀÄRr atÄÄÄÄÄÄÄ ³ lcror AreL+ aEc (Irid

east ks (conv:ewK04³3³IaEc (IrpÄSr?ClDAz85	 (Irp Neadar(Irt ch21Nch21Nfldo
?(E1Nfldo
drive estabn prype nf3fCiatee
aPfÇ ead1udi³car was	Cytee
IawÄÄÄLohR)
 ³ 3]jin&oaEa4pÄÄÄÄÄÄEhr DI  	 Rdi9 Cyu³³ LcIÄÄÄ lW9a
			Rp0e
ee

oadar(I-jin&oaEa4pservI ³ ³ ³tim 
)
7  1iTA1InDwDv³e
06³5³
ee
0_uve ³Addr",Use soi98	da4
	4Est codÄÄÄERni  byte	Pors trPskgdç(,UsFbohobasfÀ keyÀÄÄa4Á
 t—rdegdi9 es t1	1a,oc CyasH4Ûin&oaEa4pÄÄÄÄÄÄf06³IDIEhr DI  	 Rdi9
		caD40	ible)
	40:B5	nin&egdyÄaooe
e
0:dror3³2
7 EURp
ooe
disk5 )
 ³ 3]Nfx6³Ooobasf(>ÄCu e

Nd	dç(cocks (cMhR)
 ³ 3]jin&oaEaNe sas	Cytee
IawTr Arskgdç(,c Cyasx6³Oop/peT°
oc Cye
aPe
IawÄÄÄLoni8zS-_uvd
IGI4nawTwÄÄÄLo™onvertible)
K ³ 0 

Cyr 0 
lyo w1ecag÷h9fr  ³ 3]Nfx6aenUse (ye
aEa)sH4 
ndr
		   t1	1a
?(E1Nfldo
dr
7 EURp\r CyaenU/A0:B9	bst D9fr  ³ 3]Nfx6aenUswLee	aDthitee
IawTr{
		
lDA
		\indi.otOE³7Clot CyasH4 
0vD


nte/el 1min{
o
?( ÀÄ (I>Evte 0 
l	0_ÄÄ  ³ ³ aE,ohe 	bynhar
	MlirNRdi³conewK0ee
te/1.2E CyasmWK ed roYs	 ygCO1éurÁÄÄs key=Wbumul 1min{
o³ ³ aE,((DwTrUeU
	MlirN U
	B 1mileue (GI4n
te/1:B4	uK EindiÄa4Á
5	M)t³yC…teE 4Sr?Eo³7Clast ks (conv:ewK04³3³IaEc (IrpÄSr?ClDAz85	 (Irp Neadar(Irt ch21Nch21Nfldo
?(E1Nfldo
drive estabn prype nf3fCiatee
aPfÇ ead1udi³car was	8 ³iS7  1iT7³6
umu³evvi5met ed
)
te/EanAmdmgeÄÁt
dsbumBmi
ev01min{
o
?( ÀÄt ÄÄoE1.iSr?Eutes trPskgeTboobas	 yC…wLee
06³5³
ee
0_uve ³Addr",Use soi98	dw   dsbumBM Teci98eabl was	0_uv4	uocag÷hreue
)

bEst cÁÄÄs key=WK ed ieeeeeeeeeeeeeeeMÆ
nte3u1 ,Use so3 obahard m(Dd/h¾=s4t soiDArettroYs	 27E Co.oobasfÀÄÄa4Á
 t—aD³
ee
0tl1³ a,ocag÷h9fr atÄ
pnblot CyasH4 
0vD


nte/el 1min{
o
?( ÀÄ (I>Evte ³ 3el 1bumBocagnvertmBM TeA
		
E Co.oobDArettroeeeeMÆohe 	


nte/eÁ
 t—a³iS7  eMÆohe 	C1éurÁÄÄs key=Wbumul 1miA
 rewuCyasYOk di_ç(,c tim 
)
7  1RIeDvte  trPh¾=s4tg÷hreuohe Uag÷hreue
(IrpI
nte/el 1miAnC³
		 ³a
		\indi.otOTechnical0:BM
te/1PskgeTboo_uvN³evviÄ
ee
0vBCtr atÄCCyasYOk di_pCnte/el 1Clcocks (cMhR)
 ³ÄÄÄboa diaUadar(Irt ch21ÈuvN³el pf aUaEm tr m  eTbeTbuvNoo_I Eo_uvN³ev,c4Äa4Álr aewKard maewKarp
0t:B4	uK Eindi.PewTsiiE14³ hCO1éurÁÄm atÄCCee
aPfÇ ead1udi³cEÄ )bumBmi
ev01min{
ol³drive  sd
bl wa	uKfÀ keyÀÄÄa4Á
 t—rdegdi9 es t1	1a,oc Cydi.PewTl3éÒaÄCCee
aPfÇ eu¯Øcpscates tSrrei( Ì l
,uK ddr
/peTbSr?Eoindi.otOEa,ocavesad
bl w d1uD i wa	ue  sd
blynhar
	MliravesaliravesaliravesaliravesÈuvydiÂg÷h9Egn+ aEcCpN³evvvt2soi1ii7ÄÄl/el iwrÄÄuv  wa	uKfÀ keyÀ
evPfÇvp8ed
r
		 stoRese		 ³a
gLtd0:BM
te/1Pskgo4³ hCOhddr
AClDAz85	 -mlp8ed
r
		 Tl7ÄÄodÄÄÄERni  f*(HÄSrhCr
	Mlirlliravesa hCOhddr
AClDAzelB9	bst e so3 ob=m
 ³e
 s(DwTr2sliravesr
	Mlilynhar
blynharTl7ÄÄodÄX
evtscatUi.PewiAaTAz8uD	d ielDAz8LtueAz8LtuAaTAz8caž)
aueEddr
ACmrllir1 ed roYs	t1Emul 1g ACl
oEE 2sltlEg÷h	Mlt 5FÀ keyÀÄÄa 1oht
e9fryt-	uKNee
IawTr rlliraveswKardnlP4Sr?Euteker?Euteker?EumwfÀ 8LtueAz8LtuAaTAz8	14³ har
="EThIn
="c5³
ee
0_uve ³Ad Ì l
4S-_uvd

eD,Lgan UNClDAzAzelB aE,oveswKardnlP4Sr?EuWK ed
1InDwDv³eUsem 
)
Az8fÇ ³2³1³
um1		 Tl7ÄÄo	cates tSrMst r:B9	byte	PordnlP8ePo ³ am
 ³e/pw:s key=WK oge ke0vD

mSfr aSfr aSfruAaTAiig{
onei

nte/elDtm(Dd/h¾=sD te 7uK ¾=s³ hEalcror A
,	by00mSf		³7³8ed roYrPh=Wbumu³evvi5met 4	PordnlPL-Lor 2t ÄÄoE1. break5le"c5³
ee
(cocE_uv fx6uvd
ar was	Cyt	e  trPh¾=9	byter(Irt ch2di9
x6uvdte/elDtm(Dd/h¾=sDNhar

Az8fÇ ³2³1³ 4	Pordnle/elDtm(DeAfcrSumtMF	³7fÇ e7CgxlumRl³6Bch2Tl7ÄÄid³7³6³eat	e  /EanAmdmgMF	³7fa)
oCC iA AlumRl³6indnDre"cT8rSunAmdmgMF	"mlmiÈuvN³esert-
4S-_uvd
ElumRl³6Mg2.À keyÀ
evmlxeAnsalminAmr,9axeA n4Duvd
avesa 0P? enDre" -el LtueAz8LtuAaTAz8	14RtTert-
4S-_uvd
ElumRl³6Mg2.À keyÀ
evcrenÀ krÇ ³2³1d
avesa 0P? D
S meC6O  ³miÈuvN³esert(-iÈuMF	"ceueAz8LtuAaTAz8	14RFndLtuAaTAz8N 1bumBocagTbSr A
		
E C.À Aioe	ovd
ElumRl³6Mg2nblLzAmdYSLlNDÄÄkat	Sunkd
r
		 a roYrPh=Wbumu³evvi5met 4	PoreiagTbSiMEuCiatee
aPfÇt-
4S-_uvd
ElumRl³6Mg2.À keyÀ
evcrenÀ krÇ ³2³1d&IRwiAE=Wbum1u=of d unkd
r
		 
lyo w ³ÄÄÄboa diaUadar(Irt ch21ÈuvN³el pf aUa6 =of da,o med
eie
eerive  vvi5met 4kit soiDAUse soi98fi98fi98fi98
0tR w ³ÄÄÄboaLYu³e=9	byter(I4 Ç ³2³1³ 4	P
0tR w ³ÄÄÄboakakakakvm(Dd/h¾=s4t sotOEa,ocaver

Az8fÇUh-


nte/te/te/t"M)tc (Irid
nAmr,9aR
t2hI(andr
		   1	ysheE 4)
8)A DI(andr
		 ³a4FWCwas t dsbumBM TecgA D0  ML0e
ee

east m?EumwfÀ 8c (Irid
n e so3 ob=mefj³H
)
7  1iT1u=of lI 5b ob2hI(ai6Mg2nblr(IuI
ElumRlFlxeAnsalmi2Ub
n e 4	P
0tR wA8lmsfÀ keD
t2hICn+ aEcCpnblot C
eilgTbSiMEuCiatee
aPfÇtf aUa6 =ofrid
n e"ls t dtR w ³Ä6³eR0er(98feswKarsYOkugE sotOE= ³ Ed
n e"lete  trPh¾=siatee
aPfÇt-
4S-_ (Irid a,oInEi was	C3³2³1³
	oIvi5met 4	Por pf atrtettO1é   bDt C
eilgTbSiMEuCiatee
aot:BC hfnkr{
onei
kd/hoCÄ (andr
G DI(
		
lDAa 0-rmBMFPd'o³a
	7ÄÄI(
zw ³ÄÄtRprtI
Ec (I har
³7ClUsFswKarsYOkE=Wbum1M)tc (

ea=.³drive  Ciot C
ednlP8eD a,oInEi was	C3³2³ ÄtRprt e so3  t d4FW	"ceue=ttOëe ke0vD

mSfr aSfr aSfruAaTAiig{
onei

nte/elDtm(Dd/h¾=sD te eednlP8eDI(
		
lDAa 0-rmBMFPd'o³EI(
		
(I MEuCin t ds aED	PorEridocE_uv rim0E el 1miCs	C3³2u6 =or  queu5LCiot D
IawTodriDsoIvi5ma	uBC   07³6³eR0³6Mg2.ÀrB was	8filgTbE 4S-_uvdotm(D5b obhoCÄ (andr
G DI(
		
lDAa 0-rmBMC
ez8uD	g.5le
n e"arTl7ÄÄodÄX
evPo ³ am
 f2³ ÄtRprt e sve ³Addr",UseswKardnlP4Sr?EuWK ed
1InDwDv³eUsem 
)
Az8fÇ ³2³1³
um1		 Tl7ÄÄo	catet so6ael³6BchH4 
0vD


nibleW) 
)e7CgxlumRl³e=ttt s)Ciot D
IawTodriDs
evPo ³ a
ez8uDFswKenibas	8fil-mlp8ed
r&Ll:	 Tl7ÄÄo(wP
0tRaseconi  2
o3>VGF
³7kabn pr
1InDDbEsr
1InD ae sve ?EutesRd
1InDwD³7ClUsFswo
drive estawU uWK ed
1Inra VaDuClUsFi2
o3iAuWK edve ?EutesRd
1c (Inup) 1 ed rmBMC
ez8uDSf		³7³8ed roYrBdmBMC
ez8uD eical0:BM
te/1Psko=sDF  vi2
o3iAuWK edve ?EutesRd
B³ ÀÄÄsGfr aSfnpoulNDÄaum(Inup) K eez8n t dnblor Ç ³dNo.y=WbumuTnDw aSEuCiateeuy=Wbumul irwDv³e
uy=Wbu break pending 1bvi2
o3¿aakakakvmTb (alUsFi2
 Aioe	ovd
ElumRl³6Mg2nblÒTr ArsD 4Sr?EuWK ed
1In	÷h	Mlt 5FÀ keyÀÄI0 
leuCias(alUsFe ?Eeee6pa trPhL5C2nbloPun
ee

ni atSn	 27E Cdr
G DDllUsFi2
 Aios	"mltO1é   bfSatUi.Pefed
)
6Mgé  Aioe	ovdgdi9 es t1	1a,oc Cydi.PewTl3éÒaÄh_UsFe ?Eeee69r  FÀ keyÀÄI0 RtTEeee69r  FÀ keys 3³2
7 EURtTEeeeE&oa

sNagsDSf		³ eDs
7


nte/te/te/:ee61eTbintereuest RuLr»girf0P? elapsNtO1éioe	ovd
El/1Ps16³d³7deyaCuee
ke0vD

mSfr aL ]K ed
1Inc (Rl³uiA Tl7ÄÄAchH4 
s=c
nAmr,9fURtTd/h¾=sO]afÄaum(LOÌl9fryt-Ansalmi2Ub
n e 4	P
0tR wA8lmsfÀÑsdH4 
s=

sbum1ee/te/:ee61/Cl½ /te/:ee61eTbx Cydi.Pepr
1IxK ednnockIviE5C2nbl(I rimi2U.oUsFswKmSfr :98fTodriI MEuC4 
Ä6³eR0er(98feswKarsYOkugE sotOE= ³ Ed
n e"leagnveg5FÀne	ovd
ElIaPfÇ AP? elapsNºO
Imd
)<=sD teFO1éuy]WkoulNr o so3 fsnlþ Cyasx6³Ouy=Wbu C.À Aio,o med
eie
eerive  vvi5met ks (co keyGF
³7kao so3 fsnlþ(ru l3éÒaÄ
lDAa T i5met ks (co kfe/te/tawTohoe	6IÄaum(IÄX
evPoMEuCiateDs
7


ntwfÀ 8L98feswKarsYOkugg o )psNtOftOTandr
		e  trPh¾=siatee
aPfÇt-
4SD[ohe Uag÷hreue
(2
 AiLaanuvdotdgdi9 l3oc (DÄafeswKaeÀ 8L98SEuCiateeLd
1Ieleagandr
ÿ/Eav³ ³ aE,(y01hFpdD	ReserCo.oobasfÀÄÄa4Á
 t—aD³
ee
0tl1³ a,ocag÷h9fr atÄ
pnbl
nBD t t t t E CoÄ (I>EvtTpdD	Res{ageÄÁt
14Äa4Álr aewKard maewKarp
0t:B4	uK Eindi.PewTsiiE14³ hCO1éurÁÄÄs key=Wbumu 4S-_uvd

	MISÄÄuv id
 tim ee
tedsb 1oht
eyboa ³ aEc (Irid³7³6³eR01		caž)
auuD	d ieEid
87fÇn1e
		ÄÄÄ*l8	 lt
eÇ eE,oh_uv ret ed
)
7  1u=of disketettO1é   07³6³eR01	14³ har
	M)t ³or3³2³1³
		 ³ ³yC…teE 4Sr?Eutes t1	14³",Use rst URp
0t:BC   07³6³eR01	14³ har
	M)t ³or3³2³1³
		 ³ ³yC…teE 4Sr?Eutes t1	14³",Use rst URp
0t:BC   07³6³eR01	14³ har
	M)t ³or3³2³1³
		 ³ ³yC…teE 4Sr?Eutes t1	14³",Use rst URp
0t:BC   07³6³eR01	14³ har
	M)t ³or3³2³1³
		 ³ ³yC…teE 4Sr?Eutes t1	14³",Use rst URp
0t:BC   07³6³eR01	14³ har
	M)t ³or3³2³1³
		 ³ ³yC…teE 4Sr?GLÁÄÄCu e

Nd	dç(cocE_uv rim 
tes trPskgePl
ee
0tvlminAC S aE,(ruid³7³6g 8t5,85	tpE³6³d³7dey=v1e-es trPskgdç(,UsFboa ³ ar {
opDiB,kxUsFboa ³ arDu40	ible)
	40:B5	dword	Keyboard break pending flags (convertible)
	40:B9	byte	Port 60 single byte queue (convertible)
	40:BA	byte	Scan code of last key (convertible)
	roseconi  2
ornt5,85A71ud
		 ÀÄ (I3³2³1³
		 ³ ³yC…teE 4Sr?Eutes t1	14³",Use rst URp
0t:BC   07³6³eR01	14³ har
	M)t ³or3³2³1³
		 ³ ³yC…teE 4Sr?Eutes t1	14³",Use rst URp
0t:BC   07³6³eR01	14³ har
	M)t ³or3³2³1³
		 ³ ³yC…teE 4Sr?Eutes t1	14³",Use rst URp
0uCiI1M 	bynhar
98SEu2 ³ ³yC…teE 4Sr?4Sr?Eutes t1	14³",Us yer
A+07³800t:BC A-1ee
R0erÄÄÄLoclu1 ,UsDI  	 Rdi9
)

bEs³ har
clu1 ,U:BC le)
	14³",sAioéÒaÄh_UsFe  byte	Pors
bEsuWK edDBT:he 	
B
0t
 t—a³of dBTO1é e 	
B
0t
 t—a³	(BI  0Sr?ClD(I MEuCin t)
6Mgé  Aioe	ovdgdi9 es t1	1a,oc Cydi.vespecs)CCydi.v1;1	1ep-reR01	i4Sr?uv4	uunlo4	u	i4S RtTEeee69r vespecs)CCydi.v2;?uv4	ulo4	u	i4S, DM1.2iMEuCiioe	o69r ve	i4S
o3ick³evviwairtI
7  BM TeA.2iewTsshutiatuCii3e	o69r veh_UsFepÄboa.PewTsfeswE 4Sr?E	T°
o128eh_UsF	w1ec51 4Sr?EoSr?E	OE³7256eh_UsF	3°
o10244Sr?EoSr ÀÄÄsGfr69r ves
		caD4pÄboot Cya(
		 ³		
lDA
		\ind)?(E1Nffr69r ves key-ÀrB wagap	Res{ag/gap	betwst Us
		caDdNo.y=Wb69r veafÄauRes{ag,

e		
lDA
ewTl3éiiE1specs)M)t ³or7=Wb69r vegap	Res{ag	betwst Us
		caDAchH47  1u=ofbreak 69r ve hal 69r vchH47  1u=r3³2s
		caDdNo.9ak 69r veuv4	uMgétl01	i4SéÒaÄaEclitible)
d

	M 69r ve2iewTss0erÄ:BC i4SéÒaÄeu³ethFe ?Eartible)WK edDTA:he 	
TransfEumw ³oof dTAO1é e 	
TransfEumw ³oum(Äs ke4kit  hCocnAC ke
="EThIdTAO2Ub
ah¾=eafÄa,e ?Eed iee
)

bEs³21Äh_UsFe 	 ³15h)
ACmrKarp
ThIalmiÈuvN³"iA Tl7ÄÄAchH4 
s pf a8eabubsE Cons³ h APK edv1uls"I MEuCin t)
6Mgé  AioenDwDvdgdi9 es t1	1a,oc Cydi.PulNDÄaum(I ?Eseboa 5mehCocnAC ke
="EtTEeee69r   t t tW	"ceoiDArboa 55mehCocnAC ke
="EtToe	11h_UsF	Arboa 5t:BC W	"cemehCocnAC ke
="EtTDe	ovd
El
	M)t ³or3³2³1sDI  	 R(0 b
0t:,

nte/x+,  hCoc.)³ ÄtRprovd
Els0erÄÄÄLoclu1 ,UsDI  	 Rdi9—rdegdi9³d³7dey=v1e-e	
		 
lyor so3³d³7dey=vsFi2
o3iA+,  hCocnAC ke
="Etl-mlpvd
El		 stoRese hCocnAC ke
="Etl3provd
Els0erÄÄÄLoclu1 ,UsDI  	 Rdi9—rdegdi9³d³7dey=v1e-e	
		 
lyor so3³d³7dey=vsFi2
o2iA+,  hCocnAC ke
="EtlNffr69r PulNDÄaum(I ?E1u=a ³ÄLo harboardprovd
El har
 i4SéaCuee
kFILsbum1ee/te/:="Etleak pendl har
yC…téaCuee
FILsbum1ee/te/="EtlAak pendl har
sAio"EtlEClDh_UsF	ASCIIZ ³ ³yC…teEÇ AP  07³6³eReoiD
)

  1 NAME.EXT1e-e	aver
lanksDI(
	ppedi2Ub
n e rsD 4Fe ?EdTAO2 eE,ogE À kdgdi9upeRee	6IÄaum(IuleoiDeeLgrso3 ob-D
)
~dTA~.À keyÀ
sp 5b  64KDArgAC k

u4	Poy
n e rwTsfempganbilityRl³e=tCP/Mfnkr{
o id
 tdTAO	14³umu 6Mgé 80h
ea=.oiD
)
~PSP~³2
7 ir
ACmaO	14³epr
tm(Dd/h¾=crSum1Ps16³d³ ha. TkugE savoi³d³7clit³eR01Mgé anÄÄÄbotdTAO(R wA8lm1A)2³1³p		 stoRfi98
0tRm1Ps16³d³ hatI
7  BMus³ÄLo~FCB~ee	6IÄaum(IulsUb
n e 4	P
0tR wA8lmsE~
0tR wA8lm1A~
0tR wA8lm2F~WK edD2
o
 AiLaanuvs:  07³d(Dd
 AiLEuC4 2
oi9 l3CeswKaeÀ 8Oi9
)

7clow³ÄLo
 AiLaanuvs,drive 
 AiLaanuvs8SEu2
ACmÀ 8fÇtf aUa.oiDAX9upeReexr Ar Ed
FO1éuy]Wko21ÄiLa24;C3³2³1		 =ofbACmrob
ah¾dword	issu³ÄLo
)
"ggé   07³d(Dd
 AiL"U.oUsFswKmS	Iul;C3uee
kR wA8lm59~WK etTEee	ÄÄÄ*l8	e	6IÄaum(DI  	 "EtToe	14³",iiE14³ hCuCii3e	Pal3éiiE14³ hCuCiisGfTooE1uny2.À k ³ ³yFe no8)A DI(s1	14³)?(E1NffAc so3{
onM)t ³or6ee	ÄÄÄ*l8	)A DI( ³or7=WM8	1³1s2Ub
n e ÀrB w3{
oI(
oy",Use ree	ÄsufficiC k
m8	1³1dNo.9ak	ÄÄÄ*l8	m8	1³10vD

maddrso3 ob
	M	ÄÄÄ*l8	environAC kRl³6Mg2	ÄÄÄ*l8	e  1u=ofbrCg2	ÄÄÄ*l8	ac so3{msnlþ(.À k msnlþR01	ÄÄÄ*l8="EtTDe		ÄÄÄ*l8	 fÄauuD	d ieEid
87f³ ÄtRpr	ÄÄÄ*l8	 t t tspecs)M)t ³oD
IaAob2hI(ai6Mz8	14e9—rdegdi9³d³7dey=v1e-l-mlNyÀ
s…teEvN³esert(o3>VNoE1  BM³ ³yF"Etl3prAob2hI(ai6MgxlumRo5b  gxlum-eeLd
1Ie8	 lt
géteRd
1InDav³ ³ aE,(y01hFlNff ed ro.oobasfÀÄboardprt—aD³
ee
0tl1³ a,brea÷h9fr atÄ"EtleakBD t E CoÄ (I>EvtTpdD	Res{ageÄÁ07³6Äa4Álr aew"EtlAakewKarp
0t:B4	3  t "EtlBndi.PewTsiiE14³ hC:BC lrÁÄÄs key=Wbumu 4S-_uvd
1D	MISÄÄuv id
 "EtlEC
tedsb 1oht
ey)
	³ aEc (Irid³7³6uBC 
IaSor3³ÄLoleagandruBC -mlL

mleagandruBC 2
		ÄÄÄ*l8	 lt
eÇ eE,oh_	23prFCBE,(avid³t—a³of	244aSor3³ÄLobuffey=W7³6flowof	2
	40:B5	dwof	2dprt—9fryti6MIÄX
evPo³ har

sNagsDSf	Fi2
o4stawU 27r?E	40:B5	dwof	33>VNetworkt E CoÄ (eyÀ
sLYu³e=dwof	33prR8	1tSum1Per(eTsiiE1lit07³³ÄLof	344aDuplëe ke0C…teEum(Detworkof	35>VNetworkt:BC   iE14³ hC:BC36>VNetworkt³1³ :BC37>VNetworktdeserCo.ouloE,oreexrs

ea38>VNetBI  0m1Ps16³dlimié   ceeddwof	39>VNetworktadap(eTsr aew"Et3
	M	Äcor³7de(Detwork1		 peRs³of	3BndUK ep
1Ie8	Detwork1r aew"Et3C	M	ÄcompganbleMz8	1ke0adap(eT"Et3DrÁÄÄs k  Couo³ ul,(ru3E>VNoEsp c vchH4soiDAo harboa3FrÁÄÄs k  har
yeevPoMEuC40>VNetworkt:BC  yeevPoMEuC41ffAc so3{
onM)t ³o43>VNetworktt e so3  t 1	Äcor³7de ³o43>VNetworkt:BC   iE14³ hC:BC44>VNetworkt:BC  limié   ceeddwof	45>VNetBI  0sso3DSf	limié   ceeddwof	46>VT2hIorr3³ve paeR01	1447>VNetworkt E CoÄ (eyÀ
ac spPoMEuC48rÁÄÄs k hH4 lt
ere³d³7deDSf		³ paeR01	1449-4F	40:B5	dwof	50e	14³",alasfÀÄeexrs

ea51
	40:B5	dwof	53>VC keyÀ
make9³d³7dey=vr3³2³1³
	53prF hatSf	R wA84³
	5sGfTooE1uny2re³d³7deDSf
ea554aDuplëe ke0re³d³7deDSf
ea56ee	ÄÄÄ*l8	pass
eerive57ee	ÄÄÄ*l8	parBC (eT"Et58>VNetworktt e so3 1oht
ey59>V	PorErid(eyÀ
sLYu³e=dword	Detwork1Fi2
o4stawU 5A Fi2
 d³7dv rim 
um1Pee/tn (eyÀ
h¾=tulResei2
o4stawUwUwU4 2
oi9 l3Cesw/C
		swKaeÀ gdi9 l3C
		swKaeÀ tTEeeObumu 4		 URpcS, Wbumu 4sp c ,eÇ eEnel, etc"EtToe	T2hIorr3y
sAtugsDSf,(eyÀ
an1r aew, ex:  har


nte/i3e	AuthorizgsDSf,(sNamio3DSf	
onM)t ³orsGfI keynal,  rim 
uded
1Ie8	i keynal1r aew"Et1NffHardwACmrrid³7³601MgrioEd
eeLblem4		lor3³2to8)ArdwACmeÄÁt
14Ärim 
urid³7³601ex: 	ÄÄÄ*l8s2UbfigurgandruBCr7=WApplëe kDSf	r aew, 	Äco³6³t07³tt E CoÄ Use reeNiE14³ hC,  har/im 
uiiE14³ hCuCii9akBD te  1u=,  har/im 
uin 	ÄÄÄ*l8se  1u=ofbrAmlL

eC,  har/im 
ui keyl

eCRl³6Mg2M:B4	3rid³7³601ECC/÷h9fr atÄ, gxoE, hH4ba8	 lt
ofbrCg2AlasfÀÄeexrs

,d³7clit³eRRl³e=texrs
³ÄLoim 
tesTDe	ewKarp
,d³
		ss)Me kDSf	doesn'ttexrs
 hH4R01	ÄapeeLsoiatewUwUwU4 2
oi9 l3Cesw/ArErid(CeswKEÇ APL

uKaeÀ gdi9 l3ArErid(CeswKEþ(rn BL)aeÀ tTEeefÇtry,	 ³ 2hI(a	3rewE1  BM i4SKEÇ APrm-eeLhI("EtToe	yeeayefÇtry,	fÇtrya	3rewE1  BM i4SKEÇf(eTsa paeR0te/i3e	rm-e key=iner(,(seLhI(
tm(rai6Mz8-e key=iner( ³orsGfab³e=Rl³e=tclbinup,te	Porve ab³e=RÇ APshutdrp
ThI1Nffimt:B4	ke0ab³e=,eexr Aimt:B4	kelyRl³e=WbumclbinupeÄÁt
14ign  BMr aew"Et17=Wtm(rai keyve kDSf,(fÇtrya	f(eTstm(rafixSKE
)
eeLblemaeÀ gdi9 l3L

uKþ(rn CH)aeÀ tTEeeunKarp
ThIToe	vD

mvN³esert(i3e	Detworkof	rsGfMgrial1vN³esert(iNffm8	1³1dN edD2
o7³6t³eRs:7³6t³eRwU4VERSIONO1éV³6t³eRse ?EdeyboÀ gdéV³6t³eR	³eR0		C eE,oKaeÀ tPC-D2
o1.oc COde(7³8Eeeoriginal1		le
0t01Mtereu1Mtd(Dd t t À tPC-D2
o1.-mlpJun(7³8oe	vugfix,	doubeu1Mtd(Dd t t 
sLYu³e=À tMS-D2
o1.2
	Jun(7³8oe	chH4rbolysfempganb³yF"EtPC-D2
o2.oc CMr
A7³83e	PC/XT,	 dd(Dd()Ardd t t 
&UNIX3reaTpdDs)"EtPC-D2
o2.1c COde(7³83e	PCjr & u³e=9frytmsns,afixSKEchH42.oÀ tMS-D2
o2.11 COde(7³83e	compganbleM2
 dÄÄ*7³tti6M2.1"EtPC-D2
o3.oc CAug(7³8sGfMLYu³e=EchH41.2 Mbd t t 
(AT)"EtPC-D2
o3.1c CNov(7³8sGf dd(DdDetwork1MLYu³e=,afixSKEchH43.oÀ tMS-D2
o2.2
	Ode(7³85e	compganble;EchHeu³f	leE,uag 
sLYu³e=À tPC-D2
o3.2mlpJul(7³8
14720k 3«"d t t 
sLYu³e=EchH4Con7³6anbleÀ tMS-D2
o3.2mlpJul(7³8
À tMS-D2
o3.21c ME 4S987À tMS-D2
o3.3mlpJul(7³87À tPC-D2
o3.3mlpAp
A7³87=WPS/2,41.44> lt
eMLYu³e=,amoht. Äs keeDSf
eaMS-D2
o3.30a FebA7³8eR01CPQ-D2
o3.31	Ode(7³8reeCompgq

ntfhH4 lt
eÄs keeDSf
 > 32MBÀ tPC-D2
o4.,oc Aug(7³8reeLar,oreD2
oÄs keeDSf
01EMS
sLYu³e=E(vugs)"EtMS-D2
o4.,oc Ode(7³8r"EtMS-D2
o4.,1 CNov(7³8r"EtMS-D2
o4.,1apAp
A7³89À tPC-D2
o4.,1 C???C????e	14xSKEchH4majhH4bugsuin 4.,i2Ub
n e 		le
0t
yC…ts vr3y
betwst UOEMo7³6t³eRs
n e IBM
	M)sLYu³R01ly1		 peRsnbleMchH4mo)t ³orE,oKuin i2
o4st
n e D2
o4.,1 reu³e=so7³6t³eRo4.,,   cepteoiDAoC  ve dhH47³6t³eRs
n e D2
o5.oc	³ primr3³ve a Microso4³ vN³el
sNd47³6t³eRh_uv rt t 
parBC (eT tbl: lt
eÄs BC (eT t9fry:DPB:DPTwU4 PT/DPBO1é t t 
Ps BC (eT  t—a³ /é e 	
Ps BC (eT B

nteMEuCin t)
6Mgé  Aioe	ovdgdi9 es t1	1a,oc Cydi.  t t t(0 = A,41 = B="EtTEeee69r  ,(y0Rl³e=in1vN³ese,  su4kit 2
 ³epd t t 
( BC lt
=0="EtToe	 pendlh_UsFepÄboa.PewT ÀÄÄsGfr69r 	s
		caD4pÄboclu1 ,Us2³1³s8S?(E1Nffr69r 	s
		caD4pÄboclu1 ,Us( i4SKEi6Mshi4³ 	14³ hH4x2)dNo.y=WbpendlDI  	 Rdi9s
		caD4I
7  BMFATE(v so3s
		caD)ofbreak 69r lDI  	 Rdi9~FAT~.ÀopieDdNo.9ak pendlDI  	 Rdi9r so3³d³7dey=vr3³2³ieDdNo.Bak pendlDI  	 Rdi9
bEs³afÄaua.PewT ÀÄÄDe	ovd
EltotusDI  	 Rdi9—lu1 ,UD4pl³s8S?(E1Fak 69r lDI  	 Rdi9s
		caD4tm(Ddrd	
bEs³FATboÀ gdT)

7clow³ÄLorsD 4FeACmrD2
o7³6t³eRgE À kda kRl ³oD
Ia pendlDI  	 Rdi9
bEs³		
lDA
in1r so3³d³7dey=vrt(o3>V dpendl r
Apos key=i6MIrdegdi9³dsktt e so3uv4	uvd
1y=Wb69r 	t:B4	3dvdgdi9 hH4b9r vCuee
kMEDIA DESCRIPTOR:="Etl7=Wb69r 	
		 
e³dsktac so3eC, (
o id
 =FF,amoEs³rebuild
~dPB:="Etleak dpendl r
Apos key=i6MK edvrt t 
parBC (eT table;Eu 6Mgé1e-e		³ Mgé i6MFFFFh 
e
		 ³vD

min1³orin:BC lrÁ pendl—rdegdi9³d³7dey=voclu1 ,UsDI  	 ; 0=r so"EtlEC
64h_UsF	ASCIIZ —rdegdi9work³ÄLo³d³7dey=vrtwUwU4FsD 4Fediffey³ÄLoin

nte/xteMEuCin t)
6Mgé  Aioe	ovdgdi9 es t1C lrÁ pendls0erÄÄÄLoclu1 ,UschH47reeEsp c vArboa "EtlEC
64h_UsF	DI  	 Rdi9
reeE—lu1 ,UD;MFFFFh =eunKarp
ThwUwU4FsD 4Fediffey³ÄLoin

nt4/xteMEuCin t)
6Mgé  Aioe	ovdgdi9 es t1C -mlpvd
El
bEs³		
lDA
di9r so3³d³7dey=v"Etl3prodpendl r
Apos key=i6MIrdegdi9³dsktt e so3uv4	uvd
17=Wb69r 	t:B4	3dvdgdi9 hH4b9r vCuee
kMEDIA DESCRIPTOR:="Etleak 69r l
		 
e³dsktac so3eC, (
o id
 =FF,amoEs³rebuild
~dPB:="Etl9prodpendlpos key=i6MK edvrt t 
parBC (eT table;Eu 6Mgé1e-e		³ Mgé i6MFFFFh 
e
		 ³vD

min1³orin:BC De	ovd
Els0erÄÄÄLoclu1 ,UschH47reeEsp c vArboa "EtlRprovd
ElDI  	 Rdi9
reeE—lu1 ,UD,MFFFFh =eunKarp
ThwUwU e kR wA8lm32~Eed ieeiD4tm(Ddi6Mz8a8	7 ir
afÄau		 s=soac so3eC4b9r vu=ofb mu 6Mgé 17h hH418h (
oÀ kdÄÄLoonrD2
o7³6t³eR="Et-odpend4³umu 6Mgé 12h & 13heACmn'ttsLYu³e=dwoin1OS/2	compgaabilityRbox
n e 4	
lDA
refeyen soeACmrD2
ologMe l9s
		caD
n e 4	P	~ e 	
B
0t
 t—a³~
0tBPB:
0tR wA8lm1F:
0tR wA8lm32~uv rt t 
s0etur
afÄa: lt
es0etur
afÄa: lt
gétees0etur
afÄawU4 t t 
S0etur
B_UsFeF³ hCoin1BI  0DfÄauAz8aboÀ gd	 t t 
³7dÄ*lbagsDSf	s0etur
(³um40:3E)aeÀ t	³7³6³5³4³3³2³1³0³4b9r vu=m40:3EÀ t	 ³ ³ ³ ³ ³ ³ ³ ÀÄÄÄ 1=³7dÄ*lbagsevrt t 
0À t	 ³ ³ ³ ³ ³ ³ ÀÄÄÄÄ 1=³7dÄ*lbagsevrt t 
1À t	 ³ ³ ³ ³ ³ ÀÄÄÄÄÄ 1=³7dÄ*lbagsevrt t 
2À t	 ³ ³ ³ ³ ÀÄÄÄÄÄÄ 1=³7dÄ*lbagsevrt t 
3À t	 ³ ÀÄÁÄÁÄÄÄÄÄÄÄ uneR01	14	 ÀÄÄÄÄÄÄÄÄÄÄÄÄ 1=work³ÄLoFO1éuy]WkoflagboÀ gd	 lt
gétee	1kDA
s0eturaeÀ t	³7³6³5³4³3³2³1³0³4b9r vu=m40:3FÀ t	 ³ ³ ³ ³ ³ ³ ³ ÀÄÄÄ 1=rt t 
0e	1kDA
s t1C	 ³ ³ ³ ³ ³ ³ ÀÄÄÄÄ 1=rt t 
1e	1kDA
s t1C	 ³ ³ ³ ³ ³ ÀÄÄÄÄÄ 1=rt t 
2e	1kDA
s t1C	 ³ ³ ³ ³ ÀÄÄÄÄÄÄ 1=rt t 
3e	1kDA
s t1C	 ³ ÀÄÁÄÁÄÄÄÄÄÄÄ uneR01	14	 ÀÄÄÄÄÄÄÄÄÄÄÄÄ 1=wxlumRosNagsDSfboÀ gd	 lt
S0etur
B_UsaeÀ t	³7³6³5³4³3³2³1³0³4b9r vu=m40:41À t	 ³ ³ ³ ³ ³ ³ ³ ÀÄÄÄ 	ÄÄÄ*l8s lt
gétee
0tl1³ a,	 ³ ³ ³ ³ ³ ³ ÀÄÄÄÄ  lt
géteeaddrso34markt:iE14³ hCuCi	 ³ ³ ³ ³ ³ ÀÄÄÄÄÄ s.PewTsiiE14³ hC:BC	 ³ ³ ³ ³ ÀÄÄÄÄÄÄ  lt
géteeDMAMr aew"Et	 ³ ³ ³ ÀÄÄÄÄÄÄÄa÷h9fche
m/
afÄaur aew"Et	 ³ ³ ÀÄÄÄÄÄÄÄÄs lt
gétee
b
n el,Uscid³7³6uBC	 ³ ÀÄÄÄÄÄÄÄÄÄ s.4Áli6Mtra
mcid³01	14	 ÀÄÄÄÄÄÄÄÄÄÄs lt
gétee i4S-outboÀ gd	L		 ³ lt
géteeafÄau	gsevs	lecPoMEuÀ t	³7³6³5³4³3³2³1³0³4b9r vu=m40:8B:BC	 ³ ³ ³ ³ ÀÄÁÄÁÄÁÄÄÄ
s0epu	gsev i4Svs	lecPoMvCuee
bel
w)	14	 ÀÄÁÄÁÄÁÄÄÄÄÄÄÄÄÄÄs fÄau	gsevs	lecPoMvCuee
bel
w)	1À gd	Bi

egd	 7y=W lt
géteeDfÄauRgsevS	lecPoMEud	 ,oc 500K bpsEud	 ,-ml300K bpsEud	 D
Ia250K bpsEud	 DEeefÇ:B5	dwofÀ gd	Bi

egd	 5sGf lt
géteeS0epuRgsevTi4SvS	lecPoMEud	 ,oc s0epu	gsev i4Svdi90CEud	 ,-mls0epu	gsev i4Svdi90DEud	 D
Ias0epu	gsev i4Svdi90AEud	 DEeefÇ:B5	dwofÀ gd	M:B4	3s0eteMchH4fixSdd t t r
(h_UsFeu=m40:90-93)aeÀ t	³7³6³5³4³3³2³1³0³4b9r Feu=m40:90-40:93À t	 ³ ³ ³ ³ ³ ÀÄÁÄÁÄÄÄsfÇ:B5	dwvCueé i6M1):BC	 ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄsfÇ:B5	dw"Et	 ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄs0=t:B4	/rt t 
unoÄ t—aishdw"Et	 ³ ³ ÀÄÄÄÄÄÄÄÄÄÄsfÇ:B5	dw"Et	 ÀÄÁÄÄÄÄÄÄÄÄÄÄÄs fÄau	gsevCuee
bel
w)	1À gd	Bi

egd	 7y=WFixSdd lt
DfÄauRgsevS	lecPoMEud	 ,oc 500K bpsEud	 ,-mlfÇ:B5	dw"Et	 D
Ia250K bpsEud	 DEeefÇ:B5	dwofÀ  e eyÀ
allUOEM'KuiX
evme ke8	7 Ç:B4b9r Fetd( kDc4kit.14ÄoC  ACmeÄÁGf lso ATEsp
1s)Me.h_uv EXE  har
uv4	uv:.EXEwU4.EXE e D2
oEXE 14³",Struct7³6uBMEuCin t)
6Mgé  AioeCin tovdgdi9 es t1	1a,oc Cpend4 "MZ" e Link  har
.EXE su³faTpdD (MarktZbikowski?="EtToe	 pend  	1nge=tdi9imrgytmsn 512 ÀÄÄsGfrpend  sAioRdi9
ar
in15124b9r vpageDdNo.y=Wbpend sDI  	 Rdi9		loe kDSf	im 
s

7clow³ÄLouv4	uvd
reak pend  sAioRdi9uv4	uv
in11y=b9r vparagraphs,4tm(Ddi6Mloe k6uBC	 in t
)
beginnÄÄLooft
)
loa8	msnuleÀ trAml pend  2³1 #ooftparagraphsMK eddwdi6Mzun(eeLgramofbrCg2 pend  2ax #ooftparagraphsM
)
eeLgram peul³dlikeÀ trEg2 pend  u 6Mgé ³1 loa8	msnuleRdi9sta
msegme kþ(rn paraD)ofbD
Ia pend14i(y0ial1SP vrluo³i6Mb
loa8dw"Et1oe	 pend  neg kDt 
che
sumooftpgm4tm(Dded leRrd	EXEC
loa8stpgm"Et1sGfrpend  eeLgram 3³2³1Apos k,þ(rny0ial1IP vrluo)d
1y=Wbpend  u 6Mgé ³1 loa8	msnuleRdi9
)
ceswmsegme kþ(rn paraD)ofbDeak pend  u 6Mgé ³1 .EXE  har
di9
bEs³		loe kDSf	im 
ofbDAml pend  o7³6eayeDI  	 R(0 chH4r so3eeLgram)Ub
n e 		loe kDSf	=9frytÇ AP
)
eeLgram loa8	msnuleR
7clowP
)
uv4	uvd
e 		loe kDSf	3³2³ieDeACmr324by0Rvrluos reufÇ:BnÄÄÄLo
)
u 6Mgé1e-14i(i6Mt)
loa8	msnuleMK edÄÄLopgachdw"Et-
s c vt)
		loe k9frytim 
uis14³ hC, t)
CS
		gi1 ,Usis1 dd(Ddto1e-14t)
vrluo³4³ hCeu=m
)
calculor3³2u 6Mgé1e
egdR	gi1 ,UFeu=mloa8	 i4Svdi9
)
EXE  har
ACmras

7clows:Ub
n AX:	
b
rinssDI  	 Rdi9—)Arac ,UFein1³
0tl1³	=9il,te	
0À tBX:CX	324by0RvrluoeindMe kDÄLo
)
loa8	msnuleMm8	1³1 sAioÀ tDXl
		À tSS:SP	ueé i6Msta
msegme kþ
e³efin3³2el0t01 SS =eCS
l1³ a,	SP=FFFFh e	
topRdi9m8	1³1.À tDS	ueé i6Msegme kþaddrso34di9EXE uv4	uvd
ES	ueé i6Msegme kþaddrso34di9EXE uv4	uvd
CS:IPl r
Aaddrso34di9eeLgram 3³2³1Apos k,þ(labeloonr"END" a,	s0eteme kþdi9eeLgram)h_uv EBDA: ed kd3³2BI  wU4EBDA e Eed kd3³2BI  0DfÄauAz8a EBDA (PS/2)uBMEuCin t)
6Mgé	  Aioe	tovdgdi9 es t1	1a,o	ovd
El  sDI  	 Rdi9b9r Feulloe k6wdi6MEBDA in1Kb9r F"EtTE-21	A8lb9r FemlfÇ:B5	dw"Et22	odpendlprod e so3rt t Uscir
callApos key"Et26	 69r lpropos k³ÄLo³ e so3flag (1	 ³v9r , uee
bel
w)	1427	 69r lpropos k³ÄLo³ e so3flag (2nd³v9r , uee
bel
w)	1428-2F	 8 b9r FemlfÇ:B5	dw"E	1À gd	Pos k³ÄLoD e so3Flag B_Us
1À À t	³7³6³5³4³3³2³1³0³4)
6Mgé 26À t	 ³ ³ ³ ³ ³ ÀÄÁÄÁÄÄÄsindex1³
unt:BC	 ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄsfÇ:B5	dwR(0):BC	 ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄsr aew"Et	 ³ ³ ÀÄÄÄÄÄÄÄÄÄÄsa
arp³01g6uBC	 ³ ÀÄÄÄÄÄÄÄÄÄÄÄsfÇ:Bn1	14	 ÀÄÄÄÄÄÄÄÄÄÄÄÄ ³
0tl1³	in(eeLgrso3	1À gd	Pos k³ÄLoD e so3Flag B_Us
2À À t	³7³6³5³4³3³2³1³0³4)
6Mgé 27À t	 ³ ³ ³ ³ ³ ÀÄÁÄÁÄÄÄsp ckag 
sAioÀ t	 ³ ÀÄÁÄÁÄÁÄÄÄÄÄÄÄÄsfÇ:B5	dw"Et	 ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄs  e so3rt t Uscir
callAflagboÀ "Et-
EBDA is loe k6wdin(hig Ç:tMm8	1³1 joEs³ hC Us640K onrPS/2"Et-
pend4³um~BI  0DfÄauAz8a~m40:rEg	³ Mggme kþaddrso34di9EBDAh_uv FAT:14³",Alloe kDSf	 t—a³wU4FATE- 14³",Alloe kDSf	 t—a³wUÀ gd1oeBi
	C	 iMeanÄÄLC	 in 1y=Bi
À "Et ,o0	C	 7reeEsp c C	 in t,o00À tMFF1-FF7	 in t ba8	 ra
mmarkÄÄLC	 in MFFF1-FFF7À tMFF8-FFEg2 may
be4tm(Ddi6MmarktBn14di9a  har
³orinn MFFF8-FFFEÀ tMFFF	 Ias0l1³Arddmark,UschH4Bn14di9a  har
³orinn MFFFFboÀ "Et-

)
FATEiKuiX
evme ke8	as
an
ACray

b
rin³ÄLoadlinke8	aisé1e-14chH4Baiee har;14t)
 hars3³d³7dey=vr3³2³y has
aApos key=i6Mt)
1e-14c
bEs³clu1 ,Used iee
b
rinss
)
clu1 ,UsDI  	 vdi9
)
K ed1e-14clu1 ,Usinn
)
corinnuntilP
)
eos key=
b
rin6wdisMFFFh1e-14(124by0RFAT)tÇ APFFFFh (1y=by0RFAT)tmarkÄÄL4Bn14di9 har
n e D2
omrin
rinss
wo.ÀopieDvdi9
)
FAT,4bu ³ oeDveyÀ
tm(Mt)
1e-14s.Pon14Àopy4chH4anye=inLoot)
y=ihan
A 2³ aew9imrgytdi9
)
1e-14c
bEs;14CHKDSK³ oeDn'ttN³enMz8a8	7 e4s.Pon14FATbot-odlt
sRl³e=MFF1h9—lu1 ,UD4Ç APabove4tm( 1y=by0RFAT	=9frys,4dlt
1e-14l³e=Mryss4tm( 124by0RFAT	=9frys
n e D2
o4.x4dldveyÀ
³orE,o	7 e4sAioRdi9
)
clu1 ,UsDI  	 v	M)soC 1e-14suggeDt,4bu ³inst8a8	incz8ased	7 e4sAioRdi9
)
s.PewTsiI  	 
n e b9r Fe0vdi9
)
FATe
b
rinss
)
M:B4	3ovdgdi9 wTsB_UsaeÀ wU4CalculorinLo124by0RFAT	E³2³ieDdNofbD. Ggé s0erÄÄÄLoclu1 ,Uscrom3³d³7dey=vr3³2³y.h_uv	2. Md
 ipit 
)
clu1 ,UsDI  	 vjoEs³ m(Ddrd	1.5h_uv	3. T)
whol vpartvdi9
)
eeLductdisM
)
u 6Mgé4i(i6Mt)
FAT,1e-14vdi9
)
3³2³y ihatMmaps=i6Mt)
4clu1 ,Usinn
)
³d³7dey=v.1e-14vT ir
3³2³y 
b
rinss
)
DI  	 vdi9
)
K ed4clu1 ,U.h_uv	4. Move4
)
pend4³um
)
calculor3³2FATEi(i6Ma
		gi1 ,U.h_uv	5. Ift
)
laEs³clu1 ,Ustm(Ddeas
an
N³enMDI  	 , keepu
)
low e		uvd
in 124by0Dvdi9
)
		gi1 ,U,oot)
ywi0t01keepu
)
hig  e		uv 124by0D.h_uv	6. Ift
)
rsod
 a k 124by0DvACmr(0FF8h-0FFFh)vey	msreE—lu1 ,UDd
in ACmrinn
)
 har.14Ot)
ywi0t01
)
K ed4124by0Dv
b
rin9
)
1e-14
clu1 ,UsDI  	 vdi9
)
K ed4clu1 ,Usinn
)
 har.aeÀ wU4CalculorinLo1y=Bi
RFAT	E³2³ieDdNofbD. Ggé 
)
s0erÄÄÄLoclu1 ,Usdi9
)
 har
crom3
)
³d³7dey=v.1euv	2. Md
 ipit 
)
clu1 ,UsDI  	 v4³ hCerd	2.h_uv	3. Loa8	7 e4pend4³um
)
calculor3³2FATEu 6Mgé4i(i6Ma
		gi1 ,U.h_uv	4. Ift
)
1y=by0DvACmr(0FFF8h-0FFFFh)vey	msreE—lu1 ,UD ACmrin1e-14

)
 har.1Ot)
ywi0t01
)
1y=by0Dv
b
rin9
)
clu1 ,UsDI  	 1e-14vdi9
)
K ed4clu1 ,Usinn
)
 har.aeÀ wU	To.Àont Ut9
)
clu1 ,Usi6Ma
logMe l9s
		caeDI  	 R(		l kDt wU	s
		ca, uimilay=i6Mt)as³ m(Ddrd	DEBUG,4i(ia25h4Ç AP26h):dNofbD. Sub ra
ia2
crom3
)
clu1 ,UsDI  	 1e-2. Md
 ipit 
)
rsod
 drd	
)
DI  	 vdi9s
		caD pey=
lu1 ,U.h_	3. Addu
)
logMe l9s
		caeDI  	 Rdi9
)
beginnÄÄLooft
)
 fÄauACma.aeÀ wU	e 4	P 
kMEDIA DESCRIPTOR:h_uv FCB:14³",C
b
n e BD

wU4FCBE- S0l1³ArddD2
o14³",C
b
n e BD

wUMEuCin t)
6Mgé  Aioe	ovdgdi9 es t1wU	e7=Wb69r 	
eFF	7 ir
is
an
Ned kd3³2FCBE ØwU	ey=W5b9r F	fÇ:B5	dwR Ø wU	e1=Wb69r 	 har
At2³ibu eþ
eNed kd3³2FCB	Ø	1a,oc C69r 	rt t 
DI  	 R(0 chH4
o id
 3rt t , 1=A:, 2=B:, ...="EtT1=W8b9r F	 harnBC ,MryftvjoEss)M(Dde³e=M railiÄLoblankF"EtT9pr3b9r F	 harnBC eNed kt³eR,MryftvjoEss)M(Dde/blankF"EtTCg2 pend	curre kþvD

mDI  	 R		l kDt ³i6Mb
ginnÄÄLooft
)
1e-e	 har,
s0erÄÄÄLoe³e=M
		À trEg2 pend	logMe l9³7dend4sAioRinnb9r F"EtD
Ia dpendl har
sAioRinnb9r F"EtDsGfrpend	dgsev )
 har
eas
cz8ar3³2ur
laEs³updgseMEuÀ t	³F³E³D³C³B³A³9³8³7³6³5³4³3³2³1³0³415,DsG(I kel9³77³6te e		uv):BC	 ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ÀÄÁÄÁÄÁÄÁÄs fd	1-31À t	 ³ ³ ³ ³ ³ ³ ³ ÀÄÁÄÁÄÁÄÄÄÄÄÄÄÄÄÄsm
b
h	1-12	14	 ÀÄÁÄÁÄÁÄÁÄÁÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄsyeay=+ 1980dNofbDy=Wbpend	 i4Svdi9laEs³wxlumEuÀ t	³F³E³D³C³B³A³9³8³7³6³5³4³3³2³1³0³417,Dy=(I kel9³77³6te e		uv):BC	 ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ÀÄÁÄÁÄÁÄÁÄÄ s.PFein124s.Pon14incz8me ksÀ t	 ³ ³ ³ ³ ³ ÀÄÁÄÁÄÁÄÁÄÁÄÄÄÄÄÄÄÄÄÄÄ 2³1ur Fe(0-59)	14	 ÀÄÁÄÁÄÁÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ hourFe(0-23)aeÀ tDeak8b9r F	uee
bel
w chH47³6tDSf	sp
1s)Me4inchHm kDSf	 ØwU	DAml dpendladdrso34di9  e so3uv4	uv
ii9—)Arac ,U9  e so3 ØwU	2oc C69r 	curre kþ		l kDt ³³7dend4DI  	 Re³e=in1³urre kþBLOCKwU	21ml dpendl		l kDt ³³7dend4DI  	 R		l kDt ³i6M
)
beginnÄÄLoof1e-e	 )
 har,
s0erÄÄÄLoe³e=M
		;
hig  by0Romitk6wdif1e-e	³7dend4	1nge=tis
64nb9r F"EÀ wU4D2
o2.x4Vrluos chH4rÇ:B5	dwR)M(ldFeu=mu 6Mgés 18h-1Ah	Ø	1MEuCin t)
6Mgé  Aioe	ovdgdi9 es t1bDeak 69r 	³7³6³5³4³3³2³1³0³1e-e	 ³ ³ ÀÄÁÄÁÄÁÄÁÄÁÄÄÄnun
arpn1e-e	 ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄ 1 =eosNn1e-e	 ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄs1 =elogMe l9  e soaeÀ tD9ml pend   	s0erÄÄÄLoclu1 ,UsDI  	 R ØwU	À wU4D2
o3.x4Vrluos chH4rÇ:B5	dwR)M(ldFeu=mu 6Mgés 18h-19h	Ø	1MEuCin t)
6Mgé  Aioe	ovdgdi9 es t1bDeak 69r 	Sy1 ,mo14³", t—a³ (SFT)t3³2³y chH4file	Ø	1aD9ml 69r 	At2³ibu esR ØwU1e-e	³7³6³5³4³3³2³1³0³4
At2³ibu es1e-e	 ³ ³ ÀÄÁÄÁÄÁÄÁÄÁÄÄÄÄnun
arpn1e-e	 ÀÄÁÄ shACmrs0etusR 1e-e	 1e-e	,oc= SHAREveyÀ
loa8dwþvD

m  e soae-e	,1c= SHAREveyÀ
loa8dwþ—)Arac ,dm  e soae-e	1oc= SHAREvloa8dw,4rÇmote9 har
n e	11c= SHAREvloa8dwþloe l9 har
nÀ wU4D2
o3.x4e³e=MSHARE,þloe l9 har4rÇ:B5	dwRu 6Mgés 1Ah-1EhR ØwU1euCin t)
6Mgé  Aioe	ovdgdi9 es t1bDAml pend	s0erÄÄÄLoclu1 ,UsDI  	 t1bDCg2 pend	u 6Mgé4e³e=in1SHAREvdi9s)ArÄÄLo³7dendt1bDE=Wb69r 	 har
At2³ibu e
nÀ wU4D2
o3.x4e³e=MSHARE,þrÇmote9 har4rÇ:B5	dwRu 6Mgés 1Ah-1EhR ØwU1euCin t)
6Mgé  Aioe	ovdgdi9 es t1bDAml pend	s
		caeDI  	 R
b
rin³ÄLo³d³7dey=vr3³2³yt1bDCg2 pend	laEs³clu1 ,Usaccso3dwR		l kDt ³i6Mb
ginnÄÄLooft har
n DE=Wb69r 	absolu eþclu1 ,UsDI  	 vdi9laEs³clu1 ,Usaccso3dw
nÀ wU4D2
o3.x4e³e=ou ³SHAREvrÇ:B5	dwRu 6Mgés 1Ah-1FhR ØwU1euCin t)
6Mgé  Aioe	ovdgdi9 es t1bDAml 69r 	((  e so3At2³ibu eþpend l
w 69r ) & 0Ch)v|| (osNn	msno)d
1Bml pend	s0erÄÄÄLoclu1 ,UsDI  	 t1bDDml pend	s
		caeDI  	 R
b
rin³ÄLo³d³7dey=vr3³2³yt1bDFml 69r 	DI  	 vdi9³d³7dey=vr3³2³y e³e=in1s
		ca"E	1À gdT)

7clow³ÄLoACmrFCBE		l keddD2
ofunc es s:Ub
n ~INTA8l,F~n t)sNn	 har4us³ÄLoFCB
n ~INTA8l,10~n Close	 har4us³ÄLoFCB
n ~INTA8l,11~n Seayiee hH4fibEs³3³2³y us³ÄLoFCB
n ~INTA8l,12~n Seayiee hH4K ed43³2³y us³ÄLoFCB
n ~INTA8l,13~n Delete9 har4us³ÄLoFCB
n ~INTA8l,14~n SequBnÄÄ l9³7a8	us³ÄLoFCB
n ~INTA8l,15~n SequBnÄÄ l9wxlum	us³ÄLoFCB
n ~INTA8l,16~n Cz8ar39a  har
us³ÄLoFCB
n ~INTA8l,17~n RrnBC e har
us³ÄLoFCB
n ~INTA8l,21~n Rl1³om3³7a8	us³ÄLoFCB
n ~INTA8l,22~n Rl1³om3wxlum	us³ÄLoFCB
n ~INTA8l,23~n Ggé  har
sAioRus³ÄLoFCB
n ~INTA8l,24~n Sekþ		l kDt ³³7dend4)M(lde hH4FCB
n ~INTA8l,27~n Rl1³om3vD

m³7a8	us³ÄLoFCB
n ~INTA8l,28~n Rl1³om3vD

mwxlum	us³ÄLoFCB
n ~INTA8l,29~n Parse	 harnBC e hH4FCB
nUb
n Ø  4	P ~BibliLgraphy~m³7fere c ³i6M"U1³ocume ke8	D2
"À wU	e 4	P	~XFCB~n t~INTA8l,52:h_: har
At2³ibu eswU4D2
o14³",At2³ibu eswUÀ gdDd³7dey=vrAt2³ibu e3FlagDdNofb³7³6³5³4³3³2³1³0³4Dd³7dey=vrAt2³ibu e3FlagDdN	 ³ ³ ³ ³ ³ ³ ³ ÀÄÄÄs1 =e³7a8	onlydN	 ³ ³ ³ ³ ³ ³ ÀÄÄÄÄs1 =ehidd(ndN	 ³ ³ ³ ³ ³ ÀÄÄÄÄÄs1 =esy1 ,mdN	 ³ ³ ³ ³ ÀÄÄÄÄÄÄs1 =evoluC elabelo (exclu1Dt )dN	 ³ ³ ³ ÀÄÄÄÄÄÄÄs1 =esub³d³7dey=vdN	 ³ ³ ÀÄÄÄÄÄÄÄÄs1 =eayieDt wU	 ÀÄÁÄÄÄÄÄÄÄÄÄsunu3dw
nÀ gdDd³7dey=vrTi4SvFhHm kdNofb³F³E³D³C³B³A³9³8³7³6³5³4³3³2³1³0³4Dd³7dey=vrTi4SvFhHm kdN	 ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ÀÄÁÄÁÄÁÄÁÄÄÄ4s.Pon1Fe(24s.Pon14incz8me ks)dN	 ³ ³ ³ ³ ³ ÀÄÁÄÁÄÁÄÁÄÁÄÄÄÄÄÄÄÄÄÄÄÄ 2³1ur Fe(0-59)	14 ÀÄÁÄÁÄÁÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ hourFe(0-23)aeÀ gdDd³7dey=vrDar39FhHm kdNofb³F³E³D³C³B³A³9³8³7³6³5³4³3³2³1³0³4Dd³7dey=vrDar39FhHm kdN	 ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ÀÄÁÄÁÄÁÄÁÄÄÄ4Dfd	(1-31)dN	 ³ ³ ³ ³ ³ ³ ³ ÀÄÁÄÁÄÁÄÄÄÄÄÄÄÄÄÄÄÄ4M
b
h	(1-12)	14 ÀÄÁÄÁÄÁÄÁÄÁÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Yeay=(ryss41980)aeÀ wU	e e³e=MrÇ:p
1t³i6M
)
~findfibEs~()tÇ AP~findK ed~()tfunc es sveyHm l1e-14c
ars3ACmralwayFeinclu8dwþaloÄLoe³e=M
)
rsquBske8	at2³ibu es1e- eNecepé4ehenn
)
LABEL
At2³ibu eþ
s
rsquBske8.14It's4tp=i6Mt)
1e-14eeLgramm,Usi6Mdeter2³1esed ieec
ars3ACmrm kc=M
)
rsquBske81e-14at2³ibu es.h_: har
orEdars:
o id
 3orEdars:orEdarswU4D2
oDo id
 /Pre
o in6wd14³",HrEdarswU"Et ,E- S0l1³ArddInpu ³D e so3-
can
be4re
d³7dedwR(STDIN)	14 1E- S0l1³ArddOutpu ³D e so3-
can
be4re
d³7dedwR(STDOUT)	14 2E- S0l1³ArddE aew9D e so3-
can
be4re
d³7dedwR(STDERR)	14 3E- S0l1³ArddAuxilia=vrD e so3(STDAUX)	14 4E- S0l1³ArddPrs key=D e so3(STDPRN)aeÀ wU%Seev )
 7clow³ÄLo INTA8lhR HrEdarE		l keddfunc es 
calls:Ub
n ~INTA8l,3C~n Cz8ar39 har
us³ÄLoorEdar
n ~INTA8l,3D~ t)sNn	 har4us³ÄLoorEdar
n ~INTA8l,3E~n Close	 har4us³ÄLoorEdar
n ~INTA8l,3F~n Rrad	 har4oU9  e so3us³ÄLoorEdar
n ~INTA8l,40~n Wxlum	 har4oU9  e so3us³ÄLoorEdar
n ~INTA8l,41~n Delete9 har
n ~INTA8l,42~n Move4 har4eos key=us³ÄLoorEdar
n ~INTA8l,43~n CorE,o	 har4msno
n ~INTA8l,45~n DuplMe um	 har4orEdar
n ~INTA8l,46~n FhHso3duplMe um	 har4orEdar
n ~INTA8l,56~n RrnBC e har
n ~INTA8l,57~n Ggé/sgé  har
dgsevÇ AP i4Svus³ÄLoorEdar
n ~INTA8l,5A~n Cz8ar39 ,mpora=vr har
(3.x+)
n ~INTA8l,5B~n Cz8ar39newr har
(3.x+)
n ~INTA8l,67~n SekþorEdarR
unt
(3.3+)
n ~INTA8l,68~n Flu1  buff	 R(3.3+)
nÀ wU	e STDIN, STDOUTvÇ APSTDERR
can
be4re
d³7dedwwU	e maximumsDI  	 vdi9c
ars3Availt—a³ i6MalldD2
oeeLcso3dFeu=mun
1e-14 i4Sv
s

o in6wdrd	
)
FILES=Nrs0et8me kvdi9~CONFIG.SYS~wU	e maximumsDI  	 vdi9c
ars3Availt—a³ i6Man
ApplMe ues 

s
N-34eher
1e-14Nv
s

ot t d
crom3
)
CONFIG.SYS
FILES=Nrs0et8me kv2³1usMt)
1e-14
unt
di9orEdars³ m(Ddrd	ot)
y=eeLcso3dFwU	e ~INTA8l,67~ncan
be4 m(Ddin1D2
o3.3+ i6Mincz8ase	
)
DI  	 vdi9 har
n  9orEdars³chH4an
ApplMe ues 
i6Mgz8ar3y=ihan
20;4

)
maxoorEdar
n 14
unt

s
Esslldlimit6wdrd	
)
vrluovdi9FILES=din1CONFIG.SYS
 har
n - An
ApplMe ues 
can
incz8ase	
)
maximumsaclowed	 har4orEdarsrin1e-14D2
o3.0-3.2drd	copy³ÄLo
)
usNn	 har4=9fryþloe ted	7 roug  e
6Mgé1e-1434hsinn
)
~PSP~ i6Manot)
y=loe tes .14AlldunusNned	sloés moEs³br
n 14in³ÄÄ lAiod	7oeFF	Ç AP )
vrluoFeu=mPSPRu 6Mgés 32h4Ç AP34hsmoEs
n 14be4 pdgseM	7oe³7fl
1t³ih39newrvrluoF.wU	e 4	P	~SFT~n t~INTA8l~n t~INTA8l,52:n t~INTA8l,67~h_: loat chHm ks: loat³ÄLoeos k:z8al
DI  	 swU4Float³ÄLoPos k9FhHm kswUÀ gdIEEE 4nb9r e³7alh_uv	31 304 23 22-e	 Cin t0dN	ÚÄÂÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ofb³s³ 8=by0Dv³msbn t23 by0Rma kissa  lsb³1e-ÀÄÁÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙdN	 ³	³e	 ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Rma kissadN	 ³	ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Rbiam(Ddexpun
nt
(7fh)	14 ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Rsign by0wUÀ gdIEEE 8nb9r e³7alh_uv	63 62	 Ci52 51	-e	 C0dN	ÚÄÂÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ofb³s³  11cby0Dv³msb	i52 by0Rma kissa       lsb³1e-ÀÄÁÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙdN	 ³	³e	 ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Rma kissadN	 ³	ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Rbiam(Ddexpun
nt
(3FFh)	14 ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Rsign by0wUÀ gdMicrosoftv4nb9r e³7alh_uv	31     24 23 22-e	 Cin t0dN	ÚÄÄÄÄÄÄÄÄÂÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ofb³ 8=by0Dv³s³msbn 23 by0Rma kissa   lsb³1e-ÀÄÄÄÄÄÄÄÄÁÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙdN	 in t³	 i³e	 ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Rma kissadN	 in t³	 iÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Rsign by0wU	 in tÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Rbiam(Ddexpun
nt
(81h)wUÀ gdMicrosoftv8nb9r e³7al (4	P note9bel
w)h_uv	63  Ci56 55 54 	-e	 Cin tt0dN	ÚÄÄÄÄÄÄÄÂÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ofb³ 8by0Dv³s³msb		52 by0Rma kissa	    lsb³1e-ÀÄÄÄÄÄÄÄÁÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙdN	 in ³	 ³e	 Cin tÀÄÄÄÄÄÄÄÄÄÄÄÄ Rma kissadN	 in ³4 ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Rsign by0wU	 in ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Rbiam(Ddexpun
nt
(401h, uee
bel
w)wUÀ gdIEEE 1ocb9r e³7al ( ,mpora=vr³7al)h_uv	79 78	 in 64n63 62		-e	 0dN	ÚÄÂÄÄÄÄÄÄÄÄÄÄÄÂÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ofb³s³  15=by0Dv ³1³msb	iCin t63 by0Rma kissa	      lsb³1e-ÀÄÁÄÄÄÄÄÄÄÄÄÄÄÁÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙdN	 ³	³  in t³		 in ÀÄÄÄÄÄ Rma kissadN	 ³	³ Cin tÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ RfibEs³ma kissa by0wU	 ³	ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ	biam(Ddexpun
nt
(3FFFh)	14 ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Rsign by0wUÀ gdTurbo Pase l96nb9r e³7alh_uv	47Cin t40 39 38		-e	0dN	ÚÄÄÄÄÄÄÄÄÂÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ofb³ 8=by0Dv³s³msb		39 by0Rma kissa	     lsb³1e-ÀÄÄÄÄÄÄÄÄÁÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙdN	 in t³	 i³e	 in tÀÄÄÄÄÄÄÄÄÄÄÄÄ Rma kissadN	 in t³	 iÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Rsign by0wU	 in tÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Rbiam(Ddexpun
nt
(80h)wUÀ gdMicrosoftvFhHtran
ComplexsDI  	 t1bÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ofb³ n Float R7al compun
nt
 t³n Float Imagina=vrcompun
nt
 ³1e-ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙdN	(eac=Mcompun
nt

s
eit)
y=84oU916nb9r eIEEE ³7al)h_uvwU	e 4ign by0 ³7prÇ:Bb
rtes :tt0

s
posikDt ³4Ç A	1

s
neg kDt wU	e innalld loat chHm kseNecepé4ih39IEEE 1ocb9r e³7al,Mt)
1e-14ma kissa 
s
Esore
4e³e=ou ³moEs³4ignifMe nt
by0;³4inc
1e-14 hmrs0etovdi9e=is by0 is 
arpn³i6Mb
 uet, y0 is not
n 14inclu8dwþa AP )
expun
nt
is adjuske8	acdend³ÄLlydN	-nalld hHm kse m( byna=vr loat ³7prÇ:Bb
rtes wU	e mÇmo=vr³7prÇ:Bb
rtes e m(s 80x86r³7verse	b9r /pend ender.wU	e MicrosoftvlrE,uagrs³ m(4ih39IEEE ³7al  hHm ks;4
BASIC
is t)
1e-14onlyveyHm l³ m(rvdi9e=e Microsoftv loat chHm kwU	e Microsoftv8nb9r e³7al chHm k4ors notMb
Nn	verifMed;4
s7ver l1e-14MicrosoftvpublMe ues s
Eh
w an
8=by0
expun
nt
inskea8	of 11cby0D1e-14a APs0etove=e BIAS
is 401h;4

)
didgdepancy
is t)at 8=by0Dve n't
n 14holAP )
vrluo 401h (rsqud³7s 11cby0D)aeÀ wU%	Tru
expun
nt
is  )
expun
nt
vrluo 2³1usMt)
 7clow³ÄLobiam:Ub
n 81h³chH4Microsoftv4nb9r e³7alh_	401h chH4Microsoftv8nb9r e³7alh_	7Fh chH4IEEE 4nb9r e³7alh_	3FFh chH4IEEE 8nb9r e³7alh_	80h chH4Turbo Pase l96nb9r e³7alh_uv%	 in t Aioe	 n Rl1ge	 in t AgnifMe nt
digikswUÀ 	4nb9r e³7al	 i8.43x10E-37³i6M3.37x10E38	 in 6-7h_	8nb9r e³7al	 4.19x10E-307³i6M1.67x10E308	 in15-16t1bDocb9r e³7al4 3.4x10E-4932³i6M1.2x10E4932	 in t19h_uvwU	e 4	P	~dmsbs koieee~()t t~dieeetomsbs ~()t t~NUMERIC
RANGES~wUh_: loppy chHm ks:didk chHm kswU4Comms eFloppy Didk FhHm kswUÀ gd Cin ttSupport³ÄLe	 ÚÄÄÄÄÄS7dey=sÄÄÄÄ¿ ttE³2³idFwUgd CDidk-14D2
e	 n per	pern per n per	 per n Totalh_gd CType	 Vers t Ad7s Trks tTRK	FAT14DIR Clu1 ,UsDIR  S7dey=swU	ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄuvwU	5¬9160ko (1.0)4 1E 
(40)t t84 1E 
 4d Cin1d C64d 320uvwU	5¬9320ko (1.1)4 2E 
(40)t t84 1E 
 7d Cin2	 112	 640uvwU	5¬9180ko (2.0)4 1E 
(40)t t94 2E 
 4d Cin1d C64d 360uvwU	5¬9360ko (2.0)4 2E 
(40)t t94 2E 
 7d Cin2	 112	 720uvwU	5¬91.2M R(3.0)4 2E 
(80)t 15	 7Cin14d Cin1d 224	2400uvwU	3« 720ko (3.2)4 2E 
(80)t t94 3E 
 7d Cin2	 112	1440uvwU	3« 1.44MR(3.3)4 2E 
(80)t 184 9Cin14d Cin1d 224	2880uvwU:IDcb9r s:mac=³1esAd7 kifMe t wU^Mac=³1esId7 kifMe tes eB9r wUÀ gd Cin tMsnolttSub-Msnol		Mac=³1euvwU		FF	??	Original IBM PC
 4/24/81wU			??	IBM PCbDo/19/81wU			??	IBM PCbDo/27/82wU		FE	??	IBM XT (Original)wU			??	IBM port9fryþPCwU			??	Compaq DeskProwU		FD	??	PCjrwU		FC	??	IBM AT1(6 MHz)wU			01	IBM AT13x9
(8 MHz)wU			02	IBM XT 286wU			04	IBM PS/2tMsnolt50wU			05	IBM PS/2tMsnolt60wU			0B	IBM PS/1wU		FB	00	IBM 256/640K XT (aka XT/2)	14	FA	00	IBM PS/2tMsnolt30wU			01	IBM PS/2tMsnolt25	14	F9	00	IBM PC
Convertibar
n 	F8	00	IBM PS/2tMsnolt80o (16 MHz)wU			01	IBM PS/2tMsnolt80o (20 MHz)wU			04	IBM PS/2tMsnolt70o (20 MHz)wU			09	IBM PS/2tMsnolt70o (16 MHz)wU		B6	??	Hewlet=mPackArdd110wU		9A	??	Compaq Plu1wU		86		XT (BI2
o11/82+) & AT1(BI2
o1/84+) (4	P note)wU		80		PC & PCjr (4	P note)wU		2D	??	Compaq PCh_uvwU	e f
un8	at mÇmo=vrloe tes  F000:FFFE4oU9via INTA15,C0wU	e msnoltvrluoFeof 80o& 86rACmrreturn6wdrd	BI2
overses s
prÇviouD1e-14i6M
)
PS/2tbu  afr3y=ihe	BI2
odgses markdwwUwU	e 4	P	~INTA15,C0~wUh_:KBv lags:keyboArdd lagswU^KeyboArddFlagseB9r st0
a AP1uvwU		³7³6³5³4³3³2³1³0³4 40:17CiKeyboArddFlagseB9r  0dN		 ³ ³ ³ ³ ³ ³ ³ ÀÄÄÄÄ righs³4hiftvkey

oprÇ:sdwwU		 ³ ³ ³ ³ ³ ³ ÀÄÄÄÄÄ lefs³4hiftvkey

oprÇ:sdwwU		 ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄ CTRLvkey

oprÇ:sdwwU		 ³ ³ ³ ³ ÀÄÄÄÄÄÄÄ ALTvkey

oprÇ:sdwwU		 ³ ³ ³ ÀÄÄÄÄÄÄÄÄ dgd7cl-loek
is ackDt wU		 ³ ³ ÀÄÄÄÄÄÄÄÄÄsDI -loek
is ackDt wU		 ³ ÀÄÄÄÄÄÄÄÄÄÄve ps-loek
is ackDt wU		 ÀÄÄÄÄÄÄÄÄÄÄÄ
insert
is ackDt wUwU		³7³6³5³4³3³2³1³0³4 40:18CiKeyboArddFlagseB9r  1dN		 ³ ³ ³ ³ ³ ³ ³ ÀÄÄÄÄ lefs³CTRLvkey

oprÇ:sdwwU		 ³ ³ ³ ³ ³ ³ ÀÄÄÄÄÄ lefs³ALTvkey

oprÇ:sdwwU		 ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄ sy1 ,mvkey

oprÇ:sdw
a APhelwwU		 ³ ³ ³ ³ ÀÄÄÄÄÄÄÄ sussNndvkey
ors b
Nn	toggldwwU		 ³ ³ ³ ÀÄÄÄÄÄÄÄÄ dgd7cl loek
key

s

oprÇ:sdwwU		 ³ ³ ÀÄÄÄÄÄÄÄÄÄsDI -loek
key

s

oprÇ:sdwwU		 ³ ÀÄÄÄÄÄÄÄÄÄÄve ps-loek
key

s

oprÇ:sdwwU		 ÀÄÄÄÄÄÄÄÄÄÄÄ
insert
key

s

oprÇ:sdwwUwU^KeyboArddFlagseB9r st24Ç AP3wUwU		³7³6³5³4³3³2³1³0³4 40:97CiLED IndMe toU9FlagsdN		 ³ ³ ³ ³ ³ ³ ³ ÀÄÄÄÄ dgd7cl loek
indMe toUwU		 ³ ³ ³ ³ ³ ³ ÀÄÄÄÄÄ DI -loek
indMe toUwU		 ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄ e ps-loek
indMe toUwU		 ³ ³ ³ ³ ÀÄÄÄÄÄÄÄ circusMsy1 ,mvindMe toUwU		 ³ ³ ³ ÀÄÄÄÄÄÄÄÄ ACKrrece t dwU		 ³ ³ ÀÄÄÄÄÄÄÄÄÄsre-sNndvrece t dd lagwU		 ³ ÀÄÄÄÄÄÄÄÄÄÄvmsnovindMe toU4 pdgsewU		 ÀÄÄÄÄÄÄÄÄÄÄÄ
keyboArddtransmy0
erroU4 lagwUwU		³7³6³5³4³3³2³1³0³4 40:96CiKeyboArddMsno/TypedN		 ³ ³ ³ ³ ³ ³ ³ ÀÄÄÄÄ laEs³csnovwasMt)
E1 hidd7 ³csnowU		 ³ ³ ³ ³ ³ ³ ÀÄÄÄÄÄ laEs³csnovwasMt)
E0 hidd7 ³csnowU		 ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄ righs³CTRLvkey

oprÇ:sdwwU		 ³ ³ ³ ³ ÀÄÄÄÄÄÄÄ righs³ALTvkey

oprÇ:sdwwU		 ³ ³ ³ ÀÄÄÄÄÄÄÄÄ 101/102 enorEced
keyboArddinskall dwU		 ³ ³ ÀÄÄÄÄÄÄÄÄÄschHce DI -loek
if Rd IDc& KBXwU		 ³ ÀÄÄÄÄÄÄÄÄÄÄvlaEs³charvwasMfibEs³IDccharwU		 ÀÄÄÄÄÄÄÄÄÄÄÄ
rea8	IDcinneeLcso3wUwU	e 4	P	~INTA9:n ~BDA~h_:make³csnos:break³csnoswU^INTA9 - HArdwACmrKeyboArddMake/Break³CsnoswUÀ gdKeyd Cin Make4
Break	dKeyCin Make4
BreakwUwU	Backspace n tt0En tt8E			F1	3Bn ttBBwU	C ps Loek
n tt3An ttBA			F2	3Cn ttBCwU	E³2er	  in t1Cn tt9C			F3	3Dn ttBDwU	Esc	 Cin t01E 
 81	-eF4	3En ttBEwU	Lefs³Alt Cin t38n ttB8		-F7	41E 
 C1wU	Lefs³Ctrl in t1Dn tt9D		-F5	3Fn ttBFwU	Lefs³ShiftvCin2An ttAA			F6	40E 
 C0dN	NumsLoek
n tt 45E 
 C5			F8	42E 
 C2wU	Righs³ShiftvCi36n ttB6			F9	43E 
 C3wU	Sgd7cl Loek
n 46n ttC6			F10	44n ttC4wU	Space	 Cin t39n ttB9			F11	57Cin D7h_	Sys R7q (AT)t 54n ttD4			F12	58n ttD8h_	Tab	iCin t0Fn tt8FwUÀ gd	iCinKeypa8	Keyse	 Cin ttMake4

BreakwUwU		iCinKeypa8	0o (Ins)		52	D2wU		iCinKeypa8	1E (End) 	-4F	CFwU		iCinKeypa8	2E (Drpn³arrow)	50	D0wU		iCinKeypa8	3E (PgDn)		51	D1wU		iCinKeypa8	4n (Lefs³arrow)	4B	CBwU		iCinKeypa8	5			4C	CCwU		iCinKeypa8	6n (Righs³arrow)	4D	CDwU		iCinKeypa8	7Ci(Home)		47	C7wU		iCinKeypa8	8n (Up³arrow)	48	C8wU		iCinKeypa8	9E (PgUp)		49	C9wU		iCinKeypa8	.E (Del) 	-53	D3wU		iCinKeypa8	*E (PrtSc)		37	B7wU		iCinKeypa8	-			4A	CAwU		iCinKeypa8	+			4E	CEwUÀ gd Cin ttKeyCin Make4
Breakd Cin ttKeyCin Make4
BreakwUwU		A  in t1En tt9E 	-N Cin t31E 
 B1wU		B Cin t30E 
 B0 	-O  in t18n tt98wU		C  in t2En ttAE 	-P  in t19n tt99wU		D  in t20E 
 A0 	-Q  in t10E 
 90wU		E  in t12E 
 92 	-R  in t13E 
 93wU		F  in t21E 
 A1 	-S  in t1F  in9FwU		G  in t22E 
 A2 	-T  in t14n tt94wU		H  in t23E 
 A3 	-U  in t16n tt96wU		I  in t17Cin 97C		V  in t2F  inAFwU		J      24  inA4 	-W  in t11E 
 91wU		K      25E 
 A5 	-X      2D  inADwU		L      26n ttA6 	-Y  in t15E 
 95	14	M Cin t32E 
 B2 	-Z      2C  inACwUÀ gd Cin ttKeyCin Make4
Breakd Cin ttKeyCin Make4
BreakwUwU		1iCin t02E 
 82 	--iCin t0C  in8CwU		2iCin t03E 
 83 	-=iCin t0D  in8DwU		3iCin t04  in84 	-[  in t1A  in9AwU		4iCin t05E 
 85 	-]  in t1B Cin9BwU		5iCin t06n tt86 	-;      27Cin A7wU		6iCin t07Cin 87C		'      28n ttA8wU		7iCin t08n tt88C		`      29n ttA9wU		8iCin t09n tt89C		\      2B CinABwU		9iCin t0A  in8AC		, Cin t33iCinB3wU		0iCin t0B Cin8BC		. Cin t34iCinB4wU						/ Cin t35iCinB5wUwU^EnorEced
KeyboArddKeys (101/102 keys)wUÀ gdContd7c	Keyse	 CMakee	 CBreakwUwU	Alt-PrtSc (SysR7q)4  54e	 CD4wU	Ctrl-PrtSce	 CE0 37³	 CE0 B7wU	E³2er	e	 CE0 1Cn	 CE0 9CwU	PrtSce		 CE0 2AnE0 37	 CE0 B7CE0 AAwU	Righs³Alte	 CE0 38³	 CE0 B8wU	Righs³Ctrle	 CE0 1Dn	 CE0 9DwU	Shift-PrtSce	 CE0 37³	 CE0 B7wU	/e		 CE0 35i	 CE0 B5	14Pa m(e		 CE1 1Dn45EE1 9D C5E (notMtypem kic)wU	Ctrl-Pa m( (Ctrl-Break)t tE0 46nE0 C6	Cin t(notMtypem kic)wUwU	e Keys markdw asM"notMtypem kic" gener tovdnmrs0reameof b9r s1e-14e³e=ou ³denrÇ:pund³ÄLobreak³se  ³csno b9r s (actually t)
1e-14break³csnosrACmrpart
di9e=e make³csno).aeÀ wU%		-NyHm l³Msno oUwU%		-Shiftvw/NumloekÀ gdKeyd	CMakee
Breakd CiÚÄÄÄÄÄ Numloekvdn ÄÄÄÄÄÄ¿of%		-e	 Cin tMakee
4

BreakwU	Dol		nE0 53	nE0 D3	n CE0 2AnE0 53	nE0 D3CE0 AAwU	Drpn³arrow	nE0 50	nE0 D0	n CE0 2AnE0 50	nE0 D0CE0 AAwU	End		nE0 4F	nE0 CF	n CE0 2AnE0 4F	nE0 CFCE0 AAwU	Home		nE0 47	nE0 C7	n CE0 2AnE0 47	nE0 C7CE0 AAwU	Ins		nE0 52	nE0 D2	n CE0 2AnE0 52	nE0 D2CE0 AAwU	Lefs³arrow	nE0 4B	nE0 CB	n CE0 2AnE0 4B	nE0 CBCE0 AAwU	PgDn		nE0 51	nE0 D1	n CE0 2AnE0 51	nE0 D1CE0 AAwU	PgUp		nE0 49	nE0 C9	n CE0 2AnE0 49	nE0 C9CE0 AAwU	Righs³arrow	nE0 4D	nE0 CD	n CE0 2AnE0 4D	nE0 CDCE0 AAwU	Up³arrow	nE0 48	nE0 C8	n CE0 2AnE0 48	nE0 C8CE0 AAwUÀ gdKeyd Cin iÚÄÄLefs³ShiftvPrÇ:sdwÄÄ¿	 iÚÄÄRighs³ShiftvPrÇ:sdwÄÄ¿of%		-tMakee
4

4

Break	 Cin tMakee
4

BreakwU	Dol	 Cin tE0 AAnE0 53n tE0 D3CE0 2An ttE0 B6nE0 53	nE0 D3CE0 36wU	Drpn³arrowin tE0 AAnE0 50n tE0 D0CE0 2An ttE0 B6nE0 50	nE0 D0CE0 36wU	End	 Cin tE0 AAnE0 4Fn tE0 CFCE0 2An ttE0 B6nE0 4F	nE0 CFCE0 36wU	Home	 Cin tE0 AAnE0 47n tE0 C7CE0 2An ttE0 B6nE0 47	nE0 C7CE0 36wU	Ins	 Cin tE0 AAnE0 52n tE0 D2CE0 2An ttE0 B6nE0 52	nE0 D2CE0 36wU	Lefs³arrowin tE0 AAnE0 4Bn tE0 CBCE0 2An ttE0 B6nE0 4B	nE0 CBCE0 36wU	PgDn	 Cin tE0 AAnE0 51n tE0 D1CE0 2An ttE0 B6nE0 51	nE0 D1CE0 36wU	PgUp	 Cin tE0 AAnE0 49n tE0 C9CE0 2An ttE0 B6nE0 49	nE0 C9CE0 36wU	Righs³arrown tE0 AAnE0 4Dn tE0 CDCE0 2An ttE0 B6nE0 4D	nE0 CDCE0 36wU	Up³arrow Cin tE0 AAnE0 48n tE0 C8CE0 2An ttE0 B6nE0 48	nE0 C8CE0 36wU	/	 Cin tE0 AAnE0 35iCiE0 B5CE0 2An ttE0 B6nE0 35	iE0 B5CE0 36wUwUwU	e T)
PS/2tmsnols
orve9e=ree make/break³se  ³csno sets. CT)
fibEs1e-14set matchesMt)
PC & XT make/break³se  ³csno set4Ç APisMt)
on
1e-14li1 ,APhere.	Sg  ³csno setsrACmrsel7de6wdrd	writ³ÄLMt)
vrluo F01e-14i6M
)
keyboArddvia 
)
~8042~ (portt60h). CT)
f7clow³ÄLMis a4brief1e-14noscriptes  di9e=e se  ³csno sets (4	P 
)
PS/2tTechnMe l R7fereEce1e-14manualsschHtmsCmrinchHm kes  dn se  ³csno sets 24Ç AP3):wUwU	ù14set 1, eac=vkey
ors a4base se  ³csno. CSome keys gener to1e-14 extra se  ³csnos4i6Mgener tovartifMei l 4hiftvskar s. CT)is1e-14Mis similarvi6M
)
skandArddse  ³csno set4usdw
dn t)
PC Ç APXT.wU	ù14set 2, eac=vkey
sNndsvdnmrmake³se  ³csno Ç APtwoobreak³se  1e-14Mcsnos4b9r s (F0
f7clow6wdrd	e=e make³csno).	T)is³se  ³csno1e-14Mset is availafryþdn t)
IBM AT1also.wU	ù14set 3, eac=vkey
sNndsvdnmrmake³se  ³csno Ç APtwoobreak³se  1e-14Mcsnos4b9r s (F0
f7clow6wdrd	e=e make³csno) Ç APno keys ACm1e-14Mal2er6wdrd	Shift/Alt/Ctrl keys.wU	ù14typem kic se  ³csnos4ACmr
)
same asMt)
make³se  ³csnowUwU	e Some TÇ Ayt1000's

o not
orndryþAlt key
combinates s
wh7 ³multiplm1e-144hiftvkeysrACmrprÇ:sdw. CT)
Alt-Shift-H
combinates  losesMt)
Alt.wU	- extNnded
keys4like³(F11, F12) e  ³only be
rea8	e³e=Msy1 ,msMt)as1e-14orve9extNnded
keyboArddBI2
osupportt(hHt~INTA9:nextNnses s);  to1e-14rea8	t)
se speei l keys4dn t)
se sy1 ,msM~INTA16,10~³muEs³be
usdwwUwU-14e 4	Pn ~SCAN CODES:n  ~KBvFLAGS:n ~KEYBOARD COMMANDS~h_:GDT:Glob l DoscripthHtTabar
n^GDT4e Glob l DoscripthHtTabar
nof%Cin tOffset Size		Doscriptes wUwU-00n 8b9r s	dummy,4set i6M01e-08n 8b9r s	~GDT~odgsa segmentrloe tes ,4set i6M01e-10n 8b9r s	souHce GDT4poi³2er1e-18n 8b9r s	target GDT4poi³2er1e-20n 8b9r s	poi³2er i6MBI2
ocsno segment,4set i6M0.	usdw
bywU			ihe	BI2
oi6Mcreatmrprotede6wdmsnovcsno segment1e-28n 8b9r s	poi³2er i6MBI2
oskaekvsegment,4set i6M0.  Usdw
bywU			ihe	BI2
oi6Mcreatmrprotede6wdmsnovskaekvsegmentwU	30n 8b9r s	usdrvcsno segment1e-38n 8b9r s	temporaryMBI2
ocsno segmentaeÀ wU%	SouHce/Target GDT4 m( t)
f7clow³ÄLMchHm kt(hffsetst10h
a AP18h):wUwU%Cin tOffset Size		Doscriptes wUwU-00n  word	Segmentrlimit1e-02E 3b9r s	24 by0
segmentrphysMe l addrso3wU	05E 
b9r 	dgsa accso3 righss,4set i6M93hwU	06n  word	rsoert ddword,³muEs³be
0wUwU	e 4	P	~LGDT~o ~SGDT~wUh_:media noscripthHtb9r 
n^Media DoscripthHtB9r 
nwU%	Media DoscripthHtB9r  Layou :wUwU	³7³6³5³4³3³2³1³0³4IBM Media DoscripthHtB9r 
n	 ³ ³ ³ ³ ³ ³ ³ ÀÄÄÄ	1E= 24sided,	0o= not
24sided
n	 ³ ³ ³ ³ ³ ³ ÀÄÄÄÄ 1E= 8 4	cthH,	0o= not
8 4	cthH
n	 ³ ³ ³ ³ ³ ÀÄÄÄÄÄ 1E= removabar,	0o= not
removabar
n	 ÀÄÁÄÁÄÁÄÁÄÄÄÄÄÄvmuEs³be
set i6M1wUwU	F8	HArd diskwU		Doufryþsided t18n4	cthH disketr  
PS/2t1.44nMb. DSQDwUwU	F9	5¬ CDoufryþsided, High Donsety disketr  (15E4	cthH)wU		3« CDoufryþSided, DoufryþHigh Donsety disketr  (9E4	cthH)wUwU	FA	Ramediskt(notMall Ramdisks4 m( t)is)wUwU	FC	5¬ S³ÄLryþSided, DoufryþDonsety disketr  (9E4	cthH)wU		8iCinc=vDoufryþSided, S³ÄLryþDonsety disketr wUwU	FD	5¬ DoufryþSided, DoufryþDonsety (9E4	cthH)wU		8iCinc=vDoufryþSided S³ÄLryþDonsety (26n4	cthH) (IBM 3740wU		iCichHm k)t1284b9r s pdrv4	cthH,	softvs	cthH,	4vs	cthHswU		iCicluEseH,	4vrsoert dds	cthHs,
24FATs,
68 dir	cthHy entries,wU		iCi77*26*2ds	cthHs.wUwU	FE	5¬ S³ÄLryþSided, DoufryþDonsety disketr  (8n4	cthH)wU		8iCinc=vS³ÄLryþSided, S³ÄLryþDonsety disketr  (26n4	cthH)wU		iCi(IBM 3740ichHm k)t1284b9r s pdrv4	cthH,	softvs	cthH,wU		iCi4vs	cthHs pdrvcluEseH,	1vrsoert dds	cthH,
24FATs.
68wU		iCidir	cthHy entries,i77*26ds	cthHs.wU		8iCinc=vDoufryþSided, DoufryþDonsety (8n4	cthH),	1024 b9r s1e-	iCipdrv4	cthH,	softvs	cthH,	1n4	cthH pdrvcluEseH,	1vrsoert d1e-	iCis	cthH,
24FATs,	192 dir	cthHy entries,i77*8*2ds	cthHs. TowU		iCidist³ÄLuish from
8 inc=vSS/SD attempt4rea8	di9side 2.wUwU	FF	5¬ DoufryþSided, DoufryþDonsety disketr  (8n4	cthH)wUwU	e 4	P1alson  ~INTA21,1B~  ~INTA21,1C~  ~FAT~h_:MemoHy Contd7c	Bloek:MCBwU^MCB4e D2
oMemoHy Contd7c	Bloek FhHm kwUwU%Cin tOffset Size		Doscriptes wUwU-00n  b9r 	'M' 4Dh14membdrvdi9a MCB4chai ,4(notMlast)wU			'Z' 5Ah14ind³car sMlast entry4in MCB4chai wU			ot)
r
vrluos e  m( "MemoHy Alloe tes  Failure"4dn exit1e-01n  word	~PSP~
segmentraddrso3vdi9MCB4rpn
r
(Procso3 Id)wU			possifryþvrluos:wU			in t0o= freewU			in t8o= Alloe t6wdrd	D2
obefsCmrfibEs usdrvpgmrloaded
n			in tot)
r
= Procso3 Id/PSP
segmentraddrso3vdi9rpn
r1e-03n  word	numbdrvdi9parasMrel t6wdi6M
)is MCB4(exclud³ÄLoMCB)wU	05E11b9r s	rsoert d1e-08n 8b9r s	ASCIIrprogramename, NULL seHminat6wdif lso3vt)a ³max
n			lenge=M(D2
o4.x+)1e-10n nb9r s	fibEs b9r vdi9actualMalloe t6wdmemoHy bloekÀ wUwU	e i6Mfind t)
fibEs MCB4in t)
chai ,4 m(  ~INTA21,52~wU	e D2
o3.1+ t)
fibEs memoHy bloekocsntai sMt)
D2
odgsa segmentwU-14ie.,4inskallafryþdriveHs,
buffeHs,
etcwU	e D2
o4.x t)
fibEs memoHy bloekois divided i³2oosubsegments,wU	14e³e= t)
ir9rpn memoHy contd7c	bloeks; hffset 0000h
isMt)
fibEs1e--Mt)
'M' a AP'Z' ACmrsaiwdi6MreprÇ:entrMark Zbikowski1e--Mt)
MCB4chai 
isMoft7 ³r7ferr6wdi6Mrs a4linkdw li1 ,
butwU-14technMe lly isn'taeÀ wU^D2
o4.x Init³ l Dgsa SegmentrSubsegment Contd7c	Bloeks:wUwU%Cin tOffset Size	  Doscriptes wU-00n  b9r 	subsegment4typewU			'D'14novicyþdriveHwU			'E'14novicyþdriveH appNndagewU			'I'14InskallafryþFiryþSy1 ,mþdriveHwU			'F'14FILES= contd7c	bloekvskoragovarea (chHtFILES>5)wU			'X'14FCBS= contd7c	bloekvskoragovarea,4if prÇ:entwU			'C'14BUFFERS EMS workspacovarea if BUFFERS /X
isMusdwwU			'B'14BUFFERS=vskoragovareawU			'L'14LASTDRIVE= curr6nt4dir	cthHy s0ructurovarraywU			'S'14STACKS= code/dgsa area,4if prÇ:ent (4	P below)1e-01n  word	paragraph	di9subsegment4skart1e-03n  word	subsegment4size4in paragraph3wU	05E 3b9r s	unusdwwU	08		iypesM"D" a AP"I",
filename di9driveH loadedþdriveHwUwUwU	e 4	P1 ~INTA21,48~  ~INTA21,49~  ~INTA21,4A~wUh_:ProgrameSegmentrPrÇfix:PSPwU^PSP
e D2
oProgrameSegmentrPrÇfix Layou wUwU%Cin tOffset Size	      Doscriptes wUwU-00n  word	mac=inovcsno ~INTA20~³inskructes  (CDh120h)1e-02E  word	top di9memoHy in segment4(paragraph)ichHm1e-04n  b9r 	rsoert ddchHtD2
,4 mually 0wU	05E 5b9r s	mac=inovcsno inskructes  loÄLoe llvi6M
)
D2
wU			functes  dispatcher
(obsoler vCP/M)wU	06n  word	.COMrprograms4b9r s availafryþin segment4(CP/M)wU	0An tdword	~INTA22~ seHminat6raddrso3;  D2
oloader jumpsdi6M
)iswU			addrso3vupdn exit;  t)
EXEC functes  chHc s a4chilwwU			procso3 i6Mreturnvi6M
)
parent4by
sNtt³ÄLMt)iswU			v	cthH i6Mcsno e³e=in t)
parent4(IP,CS)wU	0En tdword	~INTA23~ Ctrl-Break exitraddrso3; t)
original INTA23wU			v	cthH isMNOTvrsothH ddcrom

)is poi³2er (IP,CS)wU	12n tdword	~INTA24~Mcrit³e l errhH exitraddrso3; t)
originalwU			INTA24 v	cthH isMNOTvrsothH ddcrom

)is field (IP,CS)wU	16n  word	parent4procso3 segmentraddr (Undoc. D2
o2.x+)1e-		COMMAND.COMrors a4parent4i8	di9zero, hH itstrpn PSPwU-18n 20b9r s	firyþorndryþarray (Undocument ddD2
o2.x+);4if orndrywU			array el7mentris FF t)
nþorndryþis availafry.  NetworkwU			H dir	cthHsMoft7 ³ind³car 
remor s firys4by
sNtt³ÄLwU			ihem( to
vrluos betwe7 ³80-FE.wU	2Cn  word	segmentraddrso3vdi9t)
environment,4hH zeroM(D2
o2.x+)1e-2En tdword	SS:SP
dn entry4to
last INTA21 functes  (Undoc. 2.x+) Ø1e-32E  word	orndryþarray size4(Undocument ddD2
o3.x+)1e-34n tdword	orndryþarray poi³2er (Undocument ddD2
o3.x+)1e-38n tdword	poi³2er i6MprÇvious PSP (deflt FFFF:FFFF, Undoco3.x+) Ø1e-3Cn 20b9r s	unusdwþin D2
obefsCmr4.01n Ø1e-50n t3b9r s	D2
ofunctes  dispatcher
CDh121h CBh (Undoc. 3.x+) Ø1e-53n t9b9r s	unusdwwU	5Cn 36b9r s	default unopNndwþ~FCB~ #14(partstrveHlay6wdrd	FCB #2)1e-6Cn 20b9r s	default unopNndwþFCB #2
(oveHlays4partvdi9FCB #1)1e-80n  b9r 	countvdi9characteHsþin commÇ APtail;   llvb9r s1e-		f7clow³ÄLMcommÇ APname;   lsondefault ~DTA~ (1284b9r s)1e-81t127b9r s	 llvcharacteHsþent H ddaf2er iherprogramename
f7clow6w1e-		rd	a CRtb9r 
nwUwUwU	e hffset 5ocsntai sMa jumpraddrso3vwhich
isM24b9r s too
low fhH
n	  PSP's
creatmwdrd	e=e D2
oEXEC functes  in D2
o2.x+n Ø1e--rprogramename
Ç APcompler vpath e  ³be
f7unddaf2er iherenvironmentwU-14in D2
oveHses s
af2er 3.0.  See hffset 2Ch.wUwU	Ø 4	P1~Bifriography~dchHtr7fereEce i6M"Undocument ddD2
"h_:se  ³csnoswU^INTA16
e KeyboArddSg  ³CsnoswUwU%	       Key	 NhHm l    Shifted t w/Ctrl  t w/AltwUwU		A	  1E61	    1E41      1E01	1E00wU		B	  3062	    3042      3002	3000wU		C	  2E63	    2E42      2E03-2E00wU		D	  2064	    2044      2004-2000wU		E	  1265	    1245      1205	1200wU		F	  2166	    2146      2106	2100wU		G	  2267	    2247      2207	2200wU		H	  2368	    2348      2308	2300wU		I	  1769	    1749      1709	1700wU		J	  246A	    244A      240A	2400wU		K	  256B	    254B      250B	2500wU		L	  266C	    264C      260C	2600wU		M	  326D	    324D      320D-3200wU		N	  316E	    314E      310E	3100wU		O	  186F	    184F      180F-1800wU		P	  1970	    1950n t   1910	1900wU		Q	  1071	    1051      1011	1000wU		R	  1372	    1352      1312	1300wU		S	  1F73	    1F53n t   1F13	1F00wU		T	  1474	    1454      1414	1400wU		U	  1675	    1655      1615	1600wU		V	  2F76	    2F56      2F16	2F00wU		W	  1177	    1157      1117	1100wU		X	  2D78	    2D58      2D18	2D00wU		Y	  1579	    1559      1519	1500wU		Z	  2C7A	    2C5A      2C1A	2C00wU	wU%	       Key	 NhHm l    Shifted t w/Ctrl  t w/AltwUwU		1	  0231	    0221		7800wU		2	  0332	    0340n t   0300	7900wU		3	  0433	    0423		7A00wU		4	  0534	    0524		7B00wU		5	  0635	    0625		7C00wU		6	  0736	    075E      071E	7D00wU		7	  0837	    0826		7E00wU		8	  0938	    092A		7F00wU		9	  0A39	    0A28		8000wU		0	  0B30	    0B29		8100wUwU%	       Key	 NhHm l    Shifted t w/Ctrl  t w/AltwUwU		-	  0C2D	    0C5F      0C1F	8200wU		=	  0D3D	    0D2B		8300wU		[	  1A5B	    1A7B      1A1B	1A00wU		]	  1B5D	    1B7D      1B1D	1B00wU		;	  273B	    273A		2700wU		'	  2827	    2822wU		`	  2960	    297EwU		\	  2B5C	    2B7C      2B1C	2600 (4ame
Çs Alt L)1e-	,	  332C	    333C1e-	.	  342E	    343EwU		/	  352F	    353FwUwU%		Key	 NhHm l    Shifted t w/Ctrl  t w/AltwUwU		F1	  3B00	    5400n t   5E00	6800wU		F2	  3C00	    5500n t   5F00	6900wU		F3	  3D00	    5600n t   6000	6A00wU		F4	  3E00	    5700n t   6100	6B00wU		F5	  3F00	    5800n t   6200-6C00wU		F6	  4000	    5900n t   6300	6D00wU		F7	  4100	    5A00n t   6400	6E00wU		F8	  4200	    5B00n t   6500	6F00wU		F9	  4300	    5C00n t   6600	7000wU		F10	  4400	    5D00n t   6700	7100wU		F11	  8500	    8700n t   8900	8B00wU		F12	  8600	    8800n t   8A00	8C00wUwU%		Key	    NhHm l    Shifted	w/Ctrl	t w/AltwUwU		BackSpacov   0E08      0E08	 0E7F	  0E00wU		Del	     5300n t   532E	 9300	  A300wU		Drpn Arrhw   5000n t   5032	 9100	  A000wU		End	     4F00n t   4F31	 7500	  9F00wU		En2er	     1C0D      1C0D	 1C0A	  A600wU		Esc	     011B      011B	 011B	  0100wU		Home	     4700n t   4737	 7700	  9700wU		Ins	     5200n t   5230	 9200	  A200wU		Keypa8	5		4C35	 8F00wU		Keypa8	*     372A		 9600	  3700wU		Keypa8	- t   4A2D      4A2D	 8E00	  4A00wU		Keypa8	+     4E2B      4E2B		in4E00wU		Keypa8	/     352F      352F	 9500	  A400wU		LeftvArrhw   4B00n t   4B34	 7300	  9B00wU		PgDn	     5100n t   5133	 7600	  A100wU		PgUp	     4900n t   4939	 8400	  9900wU		PrtSc				i7200wU		RightvArrhw  4D00n t   4D36	 7400	  9D00wU		SpacoBar     3920      3920	 3920	  3920wU		Tab	     0F09      0F00	 9400	  A500wU		UpvArrhw     4800n t   4838	 8D00	  9800wUwU1e--rSome key combinates s
aCmrnotMavailafryþs   llvsy1 ,ms.  TherPS/2wU-14includ s mÇ d	e=atMareE'tMavailafryþs  iherPC, XT
Ç APAT.1e--rT6Mretrieve t)
characteHdcrom
a se  ³csno
log³e l AND t)
wordwU	14e³e= 0x00FF.wU	e 4	P1 ~INTA16~  ~MAKE CODES~h_:SFT:firyþtafry:Sy1 ,mþFiryþTabrywU^Sy1 ,mþFiryþTabry  (Undocument d)À wU^D2
o2.xþSy1 ,mþFiryþTabry FhHm kwUwU%Cin tOffset Size		Doscriptes wUwU-00n  dword	poi³2er i6Mnextvsy1 ,m firyþtafry; hffset di9ffffh1e-		ind³car sMlast tafryþin chai wU	04n  word	numbdrvdi9firyþdoscriptoHsþin tabrywU	06n nb9r s	firyþdoscriptoH tafryþdi9t)
fhHm k (40nb9r s eac=):wUwU%Cin tOffset Size		Doscriptes wUwU-00n  b9r 	countvdi9orndrys³r7ferr³ÄLMto

)is firyþdHwU			zeroMii9firyþis no loÄLdrvdpNn1e-01n  b9r 	dpNn msno1e-02E  b9r 	firyþattribute1e-03n  b9r 	drive (1=A, 2=B:, ...,40=char4novicy)wU	04n11b9r s	filename in ~FCB~ fhHm kwU	0Fn  word	unknrpnwU-11n  word	unknrpnwU-13n  dword	firyþsizewU-17n  word	firyþdate1e-19n  word	firyþtime1e-1Bn  b9r 	dovicyþattribute1e-1Cn  word	skart³ÄLMclustdrvdi9firyþ(bloekvnovicy)wU	Cin tdword	poi³2er i6MnovicyþdriveH (ii9charvnovicy)wU	1En  word	ii9bloekvnovicy,Mrel tive clustdrve³e=in firyþdfwU			iheMlast clustdrvread; zeroMii9firyþors neveHwU			be7 ³r7a8	oH writtNn1e-20n  word	absolute clustdrvnumbdrvdi9curr6nt4clustdr1e-22E  word	unknrpnwU-24n tdword	curr6nt4firyþposites wUwUwU^D2
o3.xþSy1 ,mþFiryþTabry Ç APFCB Tabry FhHm kwUwU%Cin tOffset Size		Doscriptes wUwU-00n  dword	poi³2er i6Mnextvsy1 ,m firyþtafry; hffset di9ffffh1e-		ind³car sMlast tafryþin chai wU	04n  word	numbdrvdi9firyþdoscriptoHsþin ta