INT 2F CU - NLSFUNC.COM - CHANGE CODE PAGE                                      
	AX = 1401h
	DS:SI -> internal code page structure (see #02618)
	BX = new code page (see #01757 at INT 21/AX=6602h)
	DX = country code???
Return: AL = status
	     00h successful
	     else DOS error code
Note:	this function is called by the DOS v3.3+ kernel
SeeAlso: AX=1400h"NLSFUNC",AX=1402h"NLSFUNC",INT 21/AH=66h


Format of DOS 3.30 internal code page structure:
Offset	Size	Description	(Table 02618)
 00h  8 BYTEs	???
 08h 64 BYTEs	name of country information file (see #02619)
 48h	WORD	system code page (see #01757 at INT 21/AX=6602h)
 4Ah	WORD	number of supported subfunctions
 4Ch  5 BYTEs	data to return for INT 21/AX=6502h
 51h  5 BYTEs	data to return for INT 21/AX=6504h
 56h  5 BYTEs	data to return for INT 21/AX=6505h
 5Bh  5 BYTEs	data to return for INT 21/AX=6506h
 60h 41 BYTEs	data to return for INT 21/AX=6501h


Format of MS-DOS/PC-DOS/OS2/WinNT/PTS-DOS COUNTRY.SYS file:
Offset	Size	Description	(Table 02619)
 00h	BYTE	ID tag (FFh)
 01h  7 BYTEs	ASCII "COUNTRY"
 08h  8 BYTEs	??? (00h)
 10h	BYTE	??? (01h)
 11h	BYTE	??? (00h)
 12h	BYTE	??? (01h)
 13h	DWORDDoubleword; four bytes.	 Commonly used to hold a 32-bit segment:offset or selector:offset address.	offset of first entry in file (see #02620)
SeeAlso: #02623


Format of MS-DOS/PC-DOS/OS2/WinNT/PTS-DOS COUNTRY.SYS entry:
Offset	Size	Description	(Table 02620)
 00h	WORD	number of country-codepage entries following
 02h		N Country-Codepage entries:
		Offset	Size	Description
		 00h	WORD	length of entry, not counting this word (000Ch)
		 02h	WORD	country ID
		 04h	WORD	codepage ID
		 06h	WORD	??? (0000h)
		 08h	WORD	??? (0000h)
		 0Ah	DWORDDoubleword; four bytes.	 Commonly used to hold a 32-bit segment:offset or selector:offset address.	offset of country-subfunction-header in file
				  (see #02621)
Notes:	multiple codepages for a country are stored consecutively
	PTS/DOS places a copyright string immediately following this structure,
	  though a copyright at the end of the file is preferable
SeeAlso: #02619


Format of MS-DOS/PC-DOS/OS2/WinNT/PTS-DOS COUNTRY.SYS country-subfunc header:
Offset	Size	Description	(Table 02621)
 00h	WORD	number of subfunction entries following
 02h		N subfunction entries
		Offset	Size	Description
		 00h	WORD	length of subfunction entry, not counting this
				  word (usually 06h)
		 02h	WORD	subfunction ID
				(value passed to INT 21/AH=65h in AL)
		 04h	DWORDDoubleword; four bytes.	 Commonly used to hold a 32-bit segment:offset or selector:offset address.	offset within file of subfunction data entry
				  (see #02622)
SeeAlso: #02620


Format of MS-DOS/PC-DOS/OS2/WinNT/PTS-DOS COUNTRY.SYS country-subfunc data::
Offset	Size	Description	(Table 02622)
 00h	BYTE	ID-tag (FFh)
 01h  7 BYTEs	table-type signature (blank-padded)
		"CTYINFO"	general country info (subfn 01h)
		"UCASE	"	uppercase table (subfn 02h)
		"LCASE	"	lowercase table (subfn 03h) (DOS 6.2_)
		"FUCASE "	filename uppercase table (subfn 04h)
		"FCHAR	"	filename terminator table (subfn 05h)
		"COLLATE"	collating sequence (subfn 06h)
		"DBCS	"	double-byte character table (subfn 07h)
 08h	WORD	length of following table in bytes
		(if 0000h for DBCS table, there will still be a word of 0000h)
---country info (01h)---
 0Ah	WORD	country ID (see #01400 at AH=38h)
 0Ch	WORD	code page (see #01757)
 0Eh 34 BYTEs	country-dependent info (see #01399 at AH=38h)
---uppercase table (02h)---
 0Ah 128 BYTEs	uppercase equivalents (if any) of chars 80h to FFh
---lowercase table (03h)---
 0Ah 256 BYTEs	lowercase equivalents (if any) of chars 00h to FFh
---filename uppercase table (04h)---
 0Ah 128 BYTEs	uppercase equivalents (if any) of chars 80h to FFh
---filename terminator table (05h)---
 0Ah	BYTE	??? (01h for MS-DOS 3.30-6.00)
 0Bh	BYTE	lowest permissible character value for filename
 0Ch	BYTE	highest permissible character value for filename
 0Dh	BYTE	??? (00h for MS-DOS 3.30-6.00)
 0Eh	BYTE	first excluded character in range \ all characters in this
 0Fh	BYTE	last excluded character in range  / range are illegal
 10h	BYTE	??? (02h for MS-DOS 3.30-6.00)
 11h	BYTE	number of illegal (terminator) characters
 12h  N BYTEs	characters which terminate a filename:	."/\[]:|<>+=;,
---collating sequence (06h)---
 0Ah 256 BYTEs	values used to sort characters 00h to FFh
---DBCS table (07h)---
 0Ah 2N BYTEs	start/end for N lead byte ranges
	WORD	0000h	(end of table)
SeeAlso: #02621,#01750,#01751,#01753,#01754,#01755,#01756


Format of DR DOS/Novell DOS/OpenDOS COUNTRY.SYS file:
Offset	Size	Description	(Table 02623)
 00h 126 BYTEs	copyright notice (terminated with Ctrl-Z; NUL-padded)
		the copyright notice starts with the signature
		"COUNTRY.SYS Rx.xx" where "x.xx" indicates the file format
		revision, which is checked by the OS (revision is 2.00 for
		DR DOS 3.41 and 2.01 for all newer versions of DR DOS,
		Novell DOS, and OpenDOS)
 7Eh	WORD	signature of file format revision
		0EDCh = 2.00 (DR DOS 3.41)
		EDC1h = 2.01 (all newer versions)
 80h	var	country pointer records (see #02624)
		(packed array of variable-size records)
SeeAlso: #02619


Format of DR DOS/Novell DOS/OpenDOS COUNTRY.SYS country pointer record::
Offset	Size	Description	(Table 02624)
 00h	WORD	country code (0000h if end of array)
 02h	WORD	code page (see #01757)
 04h	WORD	??? (0000h)
 06h  7	WORDs	offsets in file for INT 21/AH=65h subfunctions 01h to 07h, or
		  0000h if no table for that subfunction
 14h	var	country information
Notes:	the end-of-file marker is a country pointer record filled entirely with
	  zeros
	the data at which the pointers point is in the same format as the
	  tables returned by INT 21/AH=65h, except that the general-info
	  table for subfunction 01h does not contain the length word at the
	  beginning
SeeAlso: #02623