Bonjour Steve and Eric,
Actually I don't already know how to use VDOS, VMSMOUNT, DISPLAY, MODE CON, 
DEVLOAD and "int 21h function AH=38h" TSR tool. These are good hints that I 
will explore. 

I believe the codepage 863 is not mandatory: the default 437 is probably 
sufficient. I have DOSEMU at home with an older FreeDOS but I probably cannot 
have it at work where we have Windows 7 and amd64 processors. 
I see on <help.fdos.org> that we can use DEVLOAD to load Country.sys but it is 
not clear how to proceed:        When I type on prompt > DEVLOAD 
C:\FDOS\BIN\COUNTRY.SYS
        I get: "Error: free drive letter not found, increase LASTDRIVE"
        And if I try to increase with> devload lastdrive=G        I get: 
"Error: can't open file (0003h - Dir not found)"
       No more success with> devload country=002,437,c:\fdos\bin\country.sys    
   (Had to try a guess because did not found a good example)

I found some doc on internet about the INT 21h TSR tool and it look very scary. 
Does it imply writing code in Assembler?  If its the case I'm probably out 
because I know absolutely nothing about this language. I will try a more 
involved look on all this tomorrow.
I don't know why our old program is so badly designed. My employer bought it 25 
years ago without knowing that and the provider have terminated the support a 
long time ago. They pushed on newer Windows versions but I prefer to compare 
the results with the original and historical DOS version.

Thanks for your hints!
Denis

 

    Le samedi 18 février 2017 20h40, Eric Auer <e.a...@jpberlin.de> a écrit :
 

 
For some extra details about the COUNTRY settings idea :-)

> if the DOSBOX simulated DOS kernel is missing country functionality
> and you do not want to boot freedos (because you do not want to use
> diskimages) then you could load a TSR which answers COUNTRY requests
> by freecom command.com with country preferences of your choice :-)

You basically need a very simple "int 21h function AH=38h" TSR tool...

Sub-function AL=0: Fills buffer at DS:DX, passed by the user, with a
table, clears carry, sets BX to country code. Table format from RBIL:

> Offset  Size    Description    (Table 01399)
>  00h    WORD    date format [0=M-D-Y, 1 D-M-Y, 2 Y-M-D, which is yours?]
>  02h  5 BYTEs  ASCIZ currency symbol string [not relevant for you?]
>  07h  2 BYTEs  ASCIZ thousands separator [you want this to be 20h, 00h]
>  09h  2 BYTEs  ASCIZ decimal separator [not relevant for you?]
>  0Bh  2 BYTEs  ASCIZ date separator [you did not specify your preference]
>  0Dh  2 BYTEs  ASCIZ time separator [you did not specify your preference]
>  0Fh    BYTE    currency format [not relevant for you?]
>                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 [not relevant?]
>  11h    BYTE    time format [you say you want 24h time, so make this 1]
>                bit 0 = 0 if 12-hour clock
>                        1 if 24-hour clock
>  12h    DWORD  address of case map routine [could point to RETF opcode]
>                (FAR CALL, AL = character to map to upper case [>= 80h])
>  16h  2 BYTEs  ASCIZ data-list separator [not relevant? who uses this?]
>  18h 10 BYTEs  reserved [so not relevant for you by definition...]

You apparently want country code to be 2 (Canadian French). You can
also load DISPLAY and use MODE to load the codepage 863 font if the
required VGA BIOS functionality is supported in DOSEMU - I think yes.

You can use DEVLOAD to load SYS drivers from the shell prompt, as it
seems from your earlier mail that DOSBOX barely does any config sys?

The additional sub-functions 1 to -1 with DX = -1, probably are not
relevant for you. Those are for on the fly country config changes.

In MS DOS 7 (Win95's DOS) mode, there would also be int 21h function
set 70h with various sub-functions, but I doubt that freecom makes
any attempts to query those.

Regards, Eric



------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
Freedos-devel mailing list
Freedos-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-devel


   
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
Freedos-devel mailing list
Freedos-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-devel

Reply via email to