dosemu2 / fdpp

FreeDOS plus-plus, 64bit DOS
GNU General Public License v3.0
198 stars 18 forks source link

Default country information not being set #193

Closed andrewbird closed 2 years ago

andrewbird commented 2 years ago

I'm trying to track down a bug in FreeDOS kernel see https://github.com/FDOS/country/issues/5#issuecomment-1003753218. I thought I use FDPP to debug as I can step through in gdb, however I'm seeing a different issue in that FDPP doesn't set any default values at all.

To reproduce

  1. Edit fdppconf.sys to include country=049
  2. Make sure there's no country.sys available to load
  3. Run @bttrx country.exe program from here https://www.bttr-software.de/tmp/COUNTRY.ZIP (it just calls int21/3800)
expected (something like)
C:\>country                                                                     
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    : 03h (Bit 0: Currency symbol follows value = YES            
                          Bit 1: Space between value and currency symbol = YES  
                          Bit 2: Currency symbol replaces decimal point = NO)   
Currency precision : 2                                                          
Case map routine   : XXXX:YYYY
actual
C:\>country
Country code       : 1
Date format        : 0100h (unknown)
Time format        : 02h (Bit 0: 24-hour clock = NO)
Thousands separator: ,
Decimal separator  : .
Date separator     : -
Time separator     : :
Data-list separator: ,
Currency symbol    :
Currency format    : 00h (Bit 0: Currency symbol follows value = NO
                          Bit 1: Space between value and currency symbol = NO
                          Bit 2: Currency symbol replaces decimal point = NO)
Currency precision : 0
Case map routine   : FA40:1701
for reference if we allow loading of FreeDOS's country.sys the results are
C:\>country
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    : €
Currency format    : 03h (Bit 0: Currency symbol follows value = YES
                          Bit 1: Space between value and currency symbol = YES
                          Bit 2: Currency symbol replaces decimal point = NO)
Currency precision : 2
Case map routine   : FA40:1719
stsp commented 2 years ago

Thanks! Should now be fixed.