Re: [Freedos-kernel] Codepage and time separator data errors in COUNTRY.SYS

2020-01-23 Thread perditionc
Thank you.  I will try to get to this by the weekend.

Jeremy

On Thu, Jan 23, 2020, 3:11 PM Robert Riebisch  wrote:

> Hi
>
> for Germany COUNTRY.SYS reports "." (dot) for the time separator, when
> it should be ":" (colon).
>
> I noticed the error in FD 1.3 RC2 and FD 1.2, when using:
>
> !COUNTRY=049,,C:\FDOS\BIN\COUNTRY.SYS
>
> in FDCONFIG.SYS.
>
> I didn't test FD 1.1.
>
> FD 1.0 behaves differently: Although it reports 001 for the current
> country code (BX on return from AX=3800h, int21h), the time separator is
> correct.
>
> I tracked the error down to:
>
> Bad data:
> de_850 cnf  49,850,DMY,"E","U","R",0,0,".",",",".",".",1,2,_24; Germany
> Tom
> de_858 cnf  49,850,DMY,0D5h,   0,0,0,0,".",",",".",".",1,2,_24; Germany
> de_437 cnf  49,437,DMY,"E","U","R",0,0,".",",",".",".",1,2,_24; Germany
>
> Good data:
> de_850 cnf  49,850,DMY,"E","U","R",0,0,".",",",".",":",1,2,_24; Germany
> Tom
> de_858 cnf  49,858,DMY,0D5h,   0,0,0,0,".",",",".",":",1,2,_24; Germany
> de_437 cnf  49,437,DMY,"E","U","R",0,0,".",",",".",":",1,2,_24; Germany
>
> In HELP -> "country" (not "country.sys") it is stated correctly as ":".
>
> If you don't patch 850 to 858 COUNTRY.SYS doesn't load with:
>
> !COUNTRY=049,858,C:\FDOS\BIN\COUNTRY.SYS
>
> because 49 858 are no valid combination.
>
> This is how I patched current COUNTRY.SYS to make it work:
> 3984: 2E 3A
> 3995: 52 5A
> 39A4: 2E 3A
> 39C4: 2E 3A
>
>
> And I think, for Austria the time separator should also be ":". (see
> lines 3075-3077 of COUNTRY.ASM)
>
> ***
>
> I just found a second data error.
> If you use:
>
> !COUNTRY=049,437,C:\FDOS\BIN\COUNTRY.SYS
>
> loading COUNTRY.SYS aborts with error "could not find country info for
> country ID 49".
>
> I fixed this by patching:
> 041B: 5A B5
> 041C: 03 01
>
> ***
>
> A third data error is regarding the "Space between value and currency
> symbol" bit. It is reported as NO for codepage 437 and codepage 850. It
> should be YES, because the symbol is "EUR" then.
> For codepage 858 symbol is "€", so NO is correct here.
>
> I fixed this by patching:
> 3986: 01 03
> 39C6: 01 03
>
> ***
>
> Fourth error (?)
> German MS-DOS 6.22 and Windows XP SP3 report ";" as the data-list
> separator.
>
> I didn't find, where this is defined. So no patch from me.
>
>
> As this mail and patch list got (and took) longer than expected, I'm
> attaching a diff file.
>
> Maybe someone with access to the kernel sources can integrate this fix.
> Thanks in advance!
>
> ***
>
> By the way:
> To study the error and practice DOS programming I wrote a little tool to
> show country information as reported by AX=3800h/INT 21h in some
> "obscure" Pascal dialect from Japan called Cabezon.
> The EXE file is currently available at
> .
> I can provide source code too, if anyone is interested, but may be
> currently of little use, because it depends on my expanded run-time
> library for Cabezon, which is still pre-beta code.
>
> Output will be similar to:
> #
> Country code   : 49
> Date format: 0001h (dd mm yy)
> Time format: 01h (Bit 0: 24-hour clock = YES)
> Thousands separator: .
> Decimal separator  : ,
> Date separator : .
> Time separator : :
> Data-list separator: ,
> Currency symbol: EUR
> Currency format: 01h (Bit 0: Currency symbol follows value = YES
>   Bit 1: Space between value and currency symbol
> = NO
>   Bit 2: Currency symbol replaces decimal point
> = NO)
> Currency precision : 2
> Case map routine   : 00D8:11EF
> #
>
> Cheers,
> Robert
> --
>   +++ BTTR Software +++
>  Home page: https://www.bttr-software.de/
> DOS ain't dead: https://www.bttr-software.de/forum/
> ___
> Freedos-kernel mailing list
> Freedos-kernel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/freedos-kernel
>
___
Freedos-kernel mailing list
Freedos-kernel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-kernel


Re: [Freedos-kernel] Kernel 2042 release

2016-05-12 Thread perditionc
On May 12, 2016 2:05 PM, "Tom Ehlert"  wrote:
>
> > INTERLINK issue has not been resolved, and still requires
> > option to load low.
>
> Why not?
>
> crashing the kernel when a driver calls DosAlloc() is not so smart an
> idea. disabling dosalloc for drivers is possibly suboptimal, but at least
> prevents a crashing kernel.
>
> of course a better fix would be nice but I won't hold my breath.
>
> IMO planning a 'release' with a known problem AND fix is stupid.
>
> Tom
>
There is not a fix.  While your suggestion should work, it doesn't for me.
The flag variable to fast fail had the wrong value in my test kernel.
Something is wrong and it will take me time to track down the issue or fix
properly.  In the meantime, there are important changes that I want to
ensure make it into next distribution released.

Jeremy
--
Mobile security can be enabling, not merely restricting. Employees who
bring their own devices (BYOD) to work are irked by the imposition of MDM
restrictions. Mobile Device Manager Plus allows you to control only the
apps on BYO-devices by containerizing them, leaving personal data untouched!
https://ad.doubleclick.net/ddm/clk/304595813;131938128;j___
Freedos-kernel mailing list
Freedos-kernel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-kernel


[Freedos-kernel] Kernel 2042 release

2016-05-11 Thread perditionc
Kernel 2042 is tagged.  Source and 8086+ builds are staged on SF
(admins can view now, everyone else in a few days).  386+ builds are
not yet available.
Builds with FAT12/16 only and FAT12/16/32, source archive, and fdpkg
files are also available http://www.fdos.org/kernel/release/LATEST/
and will include 386+ versions once I build them.

This release includes mostly bug fixes, please see docs/history file
or revision control logs for details.

I have not yet committed all the changes/patches/pull requests in my
queue, but I did not want to delay the release any longer to ensure it
makes it into FreeDOS 1.2 release as it fixes several important
issues.  INTERLINK issue has not been resolved, and still requires
option to load low.  Please note that although a version of sys is
still in the sources and included in the releases, it is not the
latest version; a future change will remove sys from the kernel
sources and move it into its own package; possibly the same for share
and country so they can be updated separately from the kernel.

Jeremy

--
Mobile security can be enabling, not merely restricting. Employees who
bring their own devices (BYOD) to work are irked by the imposition of MDM
restrictions. Mobile Device Manager Plus allows you to control only the
apps on BYO-devices by containerizing them, leaving personal data untouched!
https://ad.doubleclick.net/ddm/clk/304595813;131938128;j
___
Freedos-kernel mailing list
Freedos-kernel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-kernel


Re: [Freedos-kernel] Unable to use drive number 32 with some functions

2015-04-29 Thread perditionc
Thank you.  I will try to get a fix implemented this week.  Your patch
corrects supporting the 32nd drive if provided as value 1 thru 32 (0 is
default) but still doesn't handle if passed as ascii value ` (0x60).

Jeremy

On Apr 26, 2015 3:51 PM, Damien Guibouret 
damien.guibou...@partition-saving.com wrote:

 Hello,

 I found a small problem in ioctl code that leads to drive number 32 to
not be
 usable with device related functions (int 0x21, ah=0x44..) and leading to
 returning information about another drive without signaling any error. As
I
 suppose this is not widely used (drive 27 to 32 are most often not known
by
 users), I think this is quite minor. I wrote a patch, but did not test
nor even
 compile it. In this patch I keep some code that from interface point of
view is
 wrong but that is the way I understood the NDN related comment.

 Regards,

 Damien

 --- ioctl.c.orig2015-04-26 21:01:18.0 +0200
 +++ ioctl.c 2015-04-26 21:26:48.0 +0200
 @@ -164,6 +164,7 @@
   {
 struct dpb FAR *dpbp;
 unsigned attr;
 +  BYTE used_drive;
   /*
  This line previously returned the deviceheader at r-bl. But,
  DOS numbers its drives starting at 1, not 0. A=1, B=2, and so
 @@ -173,9 +174,18 @@
*/
   /* JPP - changed to use default drive if drive=0 */
   /* JT Fixed it */
 -
 -  /* NDN feeds the actual ASCII drive letter to this function */
 -  dpbp = get_dpb((r-BL  0x1f) == 0 ? default_drive : (r-BL 
0x1f) - 1);
 +  if (r-BL == 0)
 +used_drive = default_drive;
 +  else if ((r-BL = 1)  (r-BL = 32))
 +used_drive = r-BL - 1;
 +  else if (((r-BL = 'A')  (r-BL = 'Z')) ||
 +   ((r-BL = 'a')  (r-BL = 'z')))
 +/* NDN feeds the actual ASCII drive letter to this function */
 +used_drive = (r-BL  0x1f) - 1;
 +  else
 +return DE_INVLDDRV;
 +
 +  dpbp = get_dpb(used_drive);
 if (dpbp)
 {
   CharReqHdr.r_unit = dpbp-dpb_subunit;
 @@ -196,7 +206,7 @@
   {
 /* note from get_dpb()*/
 /* that if cdsp == NULL then dev must be NULL too */
 -  struct cds FAR *cdsp = get_cds1(r-BL  0x1f);
 +  struct cds FAR *cdsp = get_cds(used_drive);
 if (cdsp == NULL)
   return DE_INVLDDRV;
 if (cdsp-cdsFlags  CDSSUBST)


--
 One dashboard for servers and applications across Physical-Virtual-Cloud
 Widest out-of-the-box monitoring support with 50+ applications
 Performance metrics, stats and reports that give you Actionable Insights
 Deep dive visibility with transaction tracing using APM Insight.
 http://ad.doubleclick.net/ddm/clk/290420510;117567292;y
 ___
 Freedos-kernel mailing list
 Freedos-kernel@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/freedos-kernel
--
One dashboard for servers and applications across Physical-Virtual-Cloud 
Widest out-of-the-box monitoring support with 50+ applications
Performance metrics, stats and reports that give you Actionable Insights
Deep dive visibility with transaction tracing using APM Insight.
http://ad.doubleclick.net/ddm/clk/290420510;117567292;y___
Freedos-kernel mailing list
Freedos-kernel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-kernel