Note: This API call is for DOS and Win16 personality only. Use Family API for portability.

Int 21H, AH=66H, AL=02H

Version

3.3 and higher

Brief

SET GLOBAL CODE PAGE TABLE

Family API

Input

AX = 6602h
BX = active code page (see #01757)
DX = system code page (active page at boot time)

Return

CF set on error
AX = error code (see #01680 at AH=59h/BX=0000h)
CF clear if successful
AX = EB41h (Novell NWDOS v7.0 when NLSFUNC not installed and request was for previously-active code page)

Macro

Notes

Not all code pages are available in all versions of DOS or DOS-compatibles, and many (particularly EBCDIC) have not been implemented for *any* DOS to date. CECP = 'Country Extended CodePage' by IBM.. Unicode (UCS-2) is a 16-bit character codeset, covering all commonly used characters from almost any language. Not all definitions are fixed at the time of this writing. Unicode will be the future of character coding for the foreseeable future, but is only the “basic multilingual plane” (BMP) subset of 32-bit ISO 10646 codes (UCS-4), a single character set standard covering requirements for all countries and languages, which is still under construction.. The MS Windows 'ANSI' codepage 1252 (based on the MS Windows 3.0+ implementation) appears to be 100% compatible with the code sets used by Amiga OS and Acorn Archimedes RISC-OS and is also a linear subset of the 16bit UniCode code set (UCS-2); the actual ANSI codepage is defined by ISO 8859-1 (Latin 1).. At least applications for OS/2 Warp 3 Presentation Manager can use EBCDIC codepages, but the codepage ID assignments for EBCDIC codepages are not known for OS/2. OS/2 SAA codepages are not supported in CONFIG.SYS. Codepage 65400 “Glyphs” is not actually a codepage, but a way to directly access the first 256 of the 383 glyphs from the current font set.. Novell DOS 7/DR DOS 6/Caldera OpenDOS undocumented codepage 853 does not necessarily match with MS-DOS' undocumented codepage 853.. Undocumented codepages 667 and 668 can be found in Russian's PTS/DOS 6.51 and S/DOS 1.x DISPLAY.CPI and contain some Eastern European characters.. Novell NetWare 3.xx clients support UniCode and codepages 437, 850, 860, 863, 865, 897, 932, and 1252 (possibly more). NetWare 4.xx clients also support 1250, 1251, 1256. Personal NetWare 1.0 (PNW), as it was distributed in Europe, supports UniCode and codepages 437, 850 and 1252. Novell's Client32 for DOS/Windows supports 874, 932, 936, 949, 950, 1250 - 1257. For codesets not yet available, Novell offers a reduced ASCII 7-bit support through a codepage 0 used as a translation table to UniCode, that supports characters 32-127 except 92 ('\').

See also

AX=6601h

Note

Text based on Ralf Brown Interrupt List Release 61

DOS API
Process manager	INT 20H, INT 21H: 00H, 25H, 26H, 31H, 34H, 35H, 4BH, 4CH, 4DH, 50H, 51H, 52H, 55H, 62H, INT 22H, INT 27H, INT 28H
File manager	INT 25H, INT 26H, INT 21H: 0DH, 0EH, 0FH, 10H, 11H, 12H, 13H, 14H, 15H, 16H, 17H, 19H, 1AH, 1BH, 1CH, 21H, 22H, 23H, 24H, 27H, 28H, 29H, 2EH, 2FH, 32H, 3305H, 36H, 39H, 3AH, 3BH, 3CH, 3DH, 3EH, 3FH, 40H, 41H, 42H, 4300H, 4301H, 45H, 45H, 46H, 4EH, 4FH, 54H, 56H, 5700H, 5701H, 5AH, 5BH, 5c00H, 5c01H, 60H, 67H, 68H, 6900H, 6901H, 6AH, 6CH
Character Device I/O	INT 29H, INT 21H: 01H, 02H, 03H, 04H, 05H, 06H, 07H, 08H, 09H, 0AH, 0BH, 0AH, 0CH, 5D07H, 5D08H, 5D09H, 5D0AH
Signals	INT 23H, INT 24H, INT 21H: 3300H, 3301H, 3302H
Memory manager	INT 21H: 48H, 49H, 4AH, 5800H, 5801H, 5802H, 5803H
Date and Time	INT 21H: 2AH, 2BH, 2CH, 2DH
Misc	INT 21H: 30H, 3306H, 3700H, 3701H, 3702H, 3703H, 59H
NLS	INT 21H: 3303H, 3304H, 3800H, 3801H, 6300H, 6301H, 6301H, 6500H, 6501H, 6502H, 6503H, 6504H, 6505H, 6506H, 6507H, 6520H, 6521H, 6522H, 6523H, 65A0H, 65A1H, 65A2H, 6601H, 6602H
Devices	INT 21H: 4400H, 4401H, 4402H, 4403H, 4404H, 4405H, 4406H, 4407H, 4408H, 4409H, 440AH, 440BH, 440CH, 440DH, 440EH, 440FH, 4410H, 4411H, 53H
Network	INT 21H: 5E00H, 5E01H, 5E02H, 5E03H, 5E04H, 5E05H, 5F00H, 5F01H, 5F02H, 5F03H, 5F04H, 5F05H, 5F07H, 5F08H
osFree Macro Library
Video I/O	@SetMode @SetCurSz @SetCurPos @GetCur @SetPage @ScrollUp @ScrollDn @Scroll @GetChAtr @PutChAtr @PutCh @SetPalet @SetColor @SetDot @GetDot @WrtTTY @VideoState @GetMode @GetDisplay @GetVideoState @GetEGAInfo @Cls
Hardware info	@Equipment @MemSize
Serial I/O	@AuxInit @AuxSendChar @AuxRecieveChar @AuxStatus
Tape I/O	@TapeOn @TapeOff @TapeRead @TapeWrite
Keyboard I/O	@KbdStatus @CharIn @CharPeek
Printer I/O	@PrnPrint @PrnInit @PrnStatus
Disk I/O	@DskReset @DskStatus @DskRead @DskWrite @DskVerify @DskFormat
Date and Time	@SetTime @GetTime
Mouse	@MouInit @MouShowPointer @MouStatus @MouSetPos @MouSetMickey @MouRegion
Memory manager	@ModBlok SET_BLOCK
Family API
DOS	Process Manager	DosBeep DosExit DosSleep DosExecPgm
File Manager	DosChDir DosChgFilePtr DosClose DosDelete DosDupHandle DosMkDir DosMove DosQCurDir DosQCurDisk DosSetFileMode DosOpen DosQFileInfo DosRead DosQFileMode DosQFSInfo DosQVerify DosRmDir DosSelectDisk DosFindClose DosFindFirst DosFindNext DosSetFileInfo DosSetVerify DosWrite DosFileLocks DosSetFHandState DosNewSize DosBufReset DosQFHandState DosSetFSinfo DosShutdown
Memory Manager	DosFreeSeg DosSubAlloc DosSubFree DosSubSet DosAllocHuge DosAllocSeg DosReallocHuge DosReallocSeg DosGetHugeShift DosCreateCSAlias
NLS	DosCaseMap DosGetCtryInfo DosGetDBCSEv DosSetCtryCode DosGetCollate DosGetMessage DosInsMessage DosPutMessage
Date and Time	DosSetDateTime DosGetDateTime
Devices	DosDevConfig DosDevIOCtl DosDevIOCtl2
Signals	DosHoldSignal DosSetSigHandler
Misc	BadDynLink DosGetEnv DosGetMachineMode DosGetVersion DosError DosErrClass DosSetVec
KBD	KbdCharIn KbdFlushBuffer KbdGetStatus KbdSetStatus KbdStringIn KbdPeek
VIO	VioGetBuf VioGetConfig VioGetCurPos VioGetCurType VioGetPhysBuf VioReadCellStr VioReadCharStr VioScrollUp VioScrollDn VioScrollLf VioScrollRt VioScrUnLock VioSetCurPos VioSetCurType VioSetMode VioGetMode VioShowBuf VioWrtCellStr VioWrtCharStr VioWrtCharStrAtt VioWrtNAttr VioWrtNCell VioWrtNChar VioWrtTTY VioScrLock VioPopUp
Tools	BIND
Modules	DOSCALLS.DLL VIOCALLS.DLL KBDCALLS.DLL MSG.DLL
Libraries	API.LIB OS2386.LIB FAPI.LIB DOSCALLS.LIB SUBCALLS.LIB