INT 21 - DOS 2+ - GET COUNTRY-SPECIFIC INFORMATION
AH = 38h
--DOS 2.x--
AL = 00h get current-country info
DS:DX -> buffer for returned info (see below)
Return: CF set on error
AX = error code (02h)
CF clear if successful
AX = country code (MSDOS 2.11 only)
buffer at DS:DX filled
--DOS 3+--
AL = 00h for current country
AL = 01h thru 0FEh for specific country with code <255
AL = 0FFh for specific country with code >= 255
BX = 16-bit country code
DS:DX -> buffer for returned info (see below)
Return: CF set on error
AX = error code (02h)
CF clear if successful
BX = country code
DS:DX buffer filled
SeeAlso: INT 10/AX=5001h,INT 2F/AX=110Ch,INT 2F/AX=1404h

Format of PCDOS 2.x country info:
Offset  Size    Description
00h    WORD    date format  0 = USA    mm dd yy
1 = Europe dd mm yy
2 = Japan  yy mm dd
02h    BYTE    currency symbol
03h    BYTE    00h
04h    BYTE    thousands separator char
05h    BYTE    00h
06h    BYTE    decimal separator char
07h    BYTE    00h
08h 24 BYTEs   reserved

Format of MSDOS 2.x,DOS 3+ country info:
Offset  Size    Description
00h    WORD    date format (see above)
02h  5 BYTEs   ASCIZ currency symbol string
07h  2 BYTEs   ASCIZ thousands separator
09h  2 BYTEs   ASCIZ decimal separator
0Bh  2 BYTEs   ASCIZ date separator
0Dh  2 BYTEs   ASCIZ time separator
0Fh    BYTE    currency format
bit 2 = set if currency symbol replaces decimal point
bit 1 = number of spaces between value and currency symbol
bit 0 = 0 if currency symbol precedes value
1 if currency symbol follows value
10h    BYTE    number of digits after decimal in currency
11h    BYTE    time format
bit 0 = 0 if 12-hour clock
1 if 24-hour clock
12h    DWORD   address of case map routine
(FAR CALL, AL = character to map to upper case [>= 80h])
16h  2 BYTEs   ASCIZ data-list separator
18h 10 BYTEs   reserved

Values for country code:
001h   United States
002h   Canadian-French
003h   Latin America
01Fh   Netherlands
020h   Belgium
021h   France
022h   Spain
024h   Hungary (not supported by DR-DOS 5.0)
026h   Yugoslavia (not supported by DR-DOS 5.0)
027h   Italy
029h   Switzerland
02Ah   Czechoslovakia (not supported by DR-DOS 5.0)
02Bh   Austria (DR-DOS 5.0)
02Ch   United Kingdom
02Dh   Denmark
02Eh   Sweden
02Fh   Norway
030h   Poland (not supported by DR-DOS 5.0)
031h   Germany
037h   Brazil (not supported by DR-DOS 5.0)
03Dh   International English [Australia in DR-DOS 5.0]
051h   Japan (DR-DOS 5.0)
052h   Korea (DR-DOS 5.0)
15Fh   Portugal
166h   Finland
311h   Middle East (DR-DOS 5.0)
3CCh   Israel (DR-DOS 5.0)

See also: 2165

2138 - DOS 2+ - GET COUNTRY-SPECIFIC INFORMATION