Good news!
My old program can run now on vDOS and DOSBOX. (In addition to pure FreeDOS
indeed)
Jos Schaars from the vDOS project gave me an interesting trick: edit manualy
the temporary dumpfile generated by the program, and making it read-only. I
discovered being wrong about the relevance of the date style (2-10-98 intead of
02-10-98 was in fact not detrimental). Instead it was about the position of the
filename extension. The extension of filenames was moved left by the vDOS's (or
4DOS's) DIR command when the filename are less than 8 characters long, and the
program expect them to be written at fixed column positions (cols number
10-11-12). Knowing this we just have to set alias dir=*dir /j in the
autoexec.txt of vDOS and the problem is solved. The full discussion can be
found here:
<https://sourceforge.net/p/vdos/discussion/general/thread/be084506/>
DOSBOX has a different fatal issue : a comma ',' as thousand separator for
files size.
It may looks a little bit heavy-metal but quite fine for my actual needs to
modify and recompile the FreeCom's COMMAND.COM. There is just one line to
modify in the convert() function of the NUM_FMT.C files:
Just replace the line:
temp[30 - c++] = nlsBuf->thousendsSep[0];
By:
temp[30 - c++] = ' ';
The following may probably also works because vDOS works with no separator:
temp[30 - c++] = '';
And then recompile (ex: build -r xms-swap)
In a previous post I wrote this changed nothing to the behavior. I was
wrong... this is because I forgot having a duplicate COMMAND.COM file on the
system (there is C:\FDOS\BIN\COMMAND.COM in addition to C:\COMMAND.COM, and I
was not replacing the good one)
After solving the comma issue, I discovered:
* AM/PM flags not being really detrimental. Sorry for the mislead.
* The 4 digits year cause a fault requiring a keypress but not a fatal crash
(better behavior with SET DIRCMD=/-4)
The localcfg program pointed out by Matheuz is nice but it creates a file.sys
which still need a config.sys country directive in order to be loaded. So I
think it does not solves the thousendSep or other country issues potentially
encountered by FreeCOM in the DOSBOX.
I imagine the proof of concept from Eric (CANADA.ASM) has the potential to load
country settings without config.sys. I let you guys decide I you want to go
forward that way. I can be no more than a user or a tester because I do not
have the required developper knowledge.
I did not try EtherDFS but it's good to know it's existence.
Regards, Denis
Le lundi 20 février 2017 2h02, Mateusz Viste <mate...@nospam.viste.fr> a
écrit :
Instead of filling out a binary country.sys by hand, you might want to
use localcfg.exe - much more reliable. It will produce a country.sys file
with all the parameters you wish.
http://localcfg.sourceforge.net
Of course, all this is pointless if your program won't listen to country
preferences anyway.
Mateusz
On Sun, 19 Feb 2017 22:57:47 +0000, Denis St-Lau wrote:
> Hi everyone,
> vDOS is very nice. Unfortunately also blocked with Dir-command related
> issues with my program (file dates in style 2-10-98 intead of 02-10-98).
> I posted a topic on their site. I also found they not support
> modification of the global Country setting (locked to 1).
>
> About VMWARE and VMSMOUNT. I think it's nearly equivalent to what we
> have at work with Microsoft VirtualPC. I didn't try sendkeys automation
> through this heavier layer but I will give it a try if I cannot use vDOS
> and DOSBOX.
>
> Eric, I found you are author of MODE.COM !! To set the codepage I added
> this in my autoexec.bat:
> DISPLAY CON=(ega,863,)
> MODE CON CODEPAGE PREPARE=((863) %dosdir%\cpi\ega9.cpx)
>
> I don't know how far I can follow you in the TSR trail to get country
> informations but I'm interested to learn at least up to the next
> obstacle :-) I filled the table you showed to me, if it's not taking too
> much of your time:
>
>> Offset Size Description (Table 01399)
>> 00h WORD date format [2 Y-M-D]
>> 02h 5 BYTEs ASCIZ currency symbol string ['$'.. so I imagine it is
>> 24h, 00h ?] 07h 2 BYTEs ASCIZ thousands separator [you want this
>> to be 20h, 00h...Yes]
>> 09h 2 BYTEs ASCIZ decimal separator ['.' = 2E, 00h ?]
>> 0Bh 2 BYTEs ASCIZ date separator ['-' = 2D, 00h ?]
>> 0Dh 2 BYTEs ASCIZ time separator [':' = 3A, 00h ?]
>> 0Fh BYTE currency format [not relevant for you? probably not,
>> answers bellow]
>> bit 2 = set if currency symbol replaces
>> decimal point
> [I would say No, do
> not replaces decimal
> point]
>> bit 1 = number of spaces between value
>> and currency symbol
> [I would guess 1
> space]
>> bit 0 = 0 if currency symbol precedes
>> value
>> 1 if currency symbol
>> follows value
> [Not sure but I would
> guess bit 0 =1]
>> 10h BYTE number of digits after decimal in currency
> [not relevant? maybe not but I would
> say 2 digits]
>> 11h BYTE time format [you say you want 24h time, so make this
>> 1--Yes]
>> 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...]
>
>
> To answer your question about our old MS-DOS program: We have used it in
> MS-DOS and winXP-win32 console only. It is described at
> <http://www.dynatest.com/elmod>. There is not so many users since it is
> addressed to a very specialized domain. Only the newer Windows version
> is supported by the maker.
>
> Thanks, Denis
>
>
> Le Dimanche 19 février 2017 8h39, Ulrich Hansen
> <my.gr...@mailbox.org> a écrit :
>
>
>
>
> Am 18.02.2017 um 23:22 schrieb Denis St-Lau <d...@ymail.com>:
> Without the DOSBOX kernel, we don't have the "mount" command and we
> constantly have to mount/unmount the DOS disk image from the GNU/Linux
> or Windows host (or use FTP networking) to exchange data. This is
> tedious and the disk image gets corrupted if simultaneously mounted or
> written on by the Host and the DOS.
>
> Yes, you are completely right about that.
> But please take a look at a new project: „EtherDFS“ by Mateusz
> Viste.http://etherdfs.sourceforge.net If your host is running GNU/Linux,
> you can start EtherSRV on the host and EtherDFS on your DOS guest.
> On the host go to the directory, that EtherSRV is mounting. Share it
> with Samba to your Windows clients.
> That’s it. You have now what everybody wants: A network disk in FreeDOS,
> shared with everybody in your LAN, and still 618 K conventional memory
> free.
> The only downsides, as I see it:- At the moment EtherSRV will change
> timestamps of received files to the actual date and time.- On VirtualBox
> a guest with EtherDFS can not reach (yet) an EtherSRV running on a
> machine outside the host.- EtherSRV is running on GNU/Linux only.
------------------------------------------------------------------------------
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