Re: [Freedos-devel] new data / Q about FAT32 compatibility riddle

2004-06-26 Thread Arkady V.Belousov
Hi!

25-Июн-2004 21:59 [EMAIL PROTECTED] (Eric Auer) wrote to
[EMAIL PROTECTED]:

EA> Hi all, Geraldo sent some FAT32 formatting logs (thanks!!),
EA> but I do not really get the magic here:

 For whom you target this letter?

EA> Differences in MS FORMAT output depending on kernel: FreeDOS versus MS ->
EA>   6106.54 MB total, 0.01 MB broken versus 6106.52 MB total, 0 broken
EA>   1563271 versus 1563268 units, S/N 240D-14FE versus 0E30-14EA

 What is "units"? Clusters? What says bootfix, why there is difference
in units? Is there really "broken" clusters and why there are no such under
MS-DOS?

EA> Differences in FreeDOS FORMAT /D output depending on kernel ->
EA>   Test-reading errors 810c, 020c versus 7, 7 (FAT1x mode, FAT32 mode)
EA> <-- why do sector read error codes differ?

 "Error codes"? Which error codes, which DOS functions return these
codes and why/where?

EA>   MS: Had to zap FAT1x 12225 sec/fat and 512 root dir entries BPB info

 "zap"? What mean "zap" and why you say this explicitly?

EA>   MS: Had to init root dir position. No backup / FSinfo sectors used!
EA> <-- FreeDOS FORMAT already has workarounds for those odd default BPB
EA> values in MS kernel, but should probably override "no backup/info"!?

 Don't know what mean "no sectors used" and what we may do there.

EA>   FATs at 32-24459 versus 24481 (FAT 2 at 12246 / 12257)

 What is "32-24459"? Starting and ending sector? Do you mean that under
FD FATs size is 24428 sectors? And that under MS-DOS each FAT longer by 11
sectors?

EA>   6,253,072 versus 6,253,060 kBy, 1,563,268 versus 1,563,265 clusters

 Ie. you mean, that under FD-FORMAT there is different count of clusters
(1,563,271 under MSF, 1,563,268 under FDF)? And why FDF gives 3 clusters
less?

EA> Differences in BOOTFIX results after using MS FORMAT, running BOOTFIX
EA> under the same kernel as FORMAT, comparison MS kernel versus FreeDOS kernel
EA>   Default FAT size 12225 versus 12214, S/N 0E3014EA versus 240D14FE
EA>   DWords at [24] and [44] differ.

 "44"? Three high bytes of SN?

EA> Differences in BOOTFIX results after using FreeDOS FORMAT, running BOOTFIX
EA> under the same kernel as FORMAT, comparison MS kernel versus FreeDOS kernel
EA>   Default FAT size 12225 versus 12214, default root cluster 0 versus 2

 FD better?

EA>   Default Info / Backup -1 / -1 versus 1 / 6.

 What right, what wrong and why?

EA>   Strange: BOOTFIX only shows current BPB for MS kernel, even though it seems
EA>   to be identical to the default BPB. For FreeDOS, only default BPB is shown!?

 There is bytes, which not shown: for example, for FAT32 root_entries
field isn't shown (becaus it shouldn't be used).

EA>   Boot sector BPB is as default/current but has root cluster fixed...!
EA> <-- VERY strange! MS kernel IGNORES the boot sector BPB and uses root
EA> directory starting cluster ZERO (invalid value) as current value.

 Why you think so (that MS ignores boot sector)? Is this happen with
boot sector after MS-FORMAT (and if not, which reasons, what you think,
force MS to ignore given boot sector)? Is this happen when MS works with all
four boot sectors (MS-FORMAT under MS, MSF under FD, FD-FORMAT under MS and
FDF under FD)?

EA> Either there is some current / default bug in BOOTFIX or ...???

 Bug in what?

EA>   DWords at [24] and [44] differ, and words at [30] and [32].

 xFAT_sectors, serial_no, info_sector and backup_sector?

EA> Any ideas?

 "Any ideas" of what?

EA> Why does Windows end up using the WRONG cluster for the root
EA> directory after you use FreeDOS FORMAT in MS kernel?

 You make long deal with FORMAT, you should understand this.

EA> All other FreeDOS / MS combinations seem to be okay (not sure what
EA> DOSFSCK / MS SCANDISK would say!).
EA> Would it make a difference to force backup boot sector / fsinfo sector to
EA> enabled (at sector numbers 6 and 1 respectively) although MS kernel does not
EA> suggest that in the default BPB? And WHY would that influence the root
EA> directory cluster number processing???

 In their infinity wisdom MS programmers use strange reasons to reject
info from bootsectos. I have no ideas which reasons they use and why.
Matthias describes some reasons, why and when W9x rejects boot sector
because it not likes label.




---
This SF.Net email sponsored by Black Hat Briefings & Training.
Attend Black Hat Briefings & Training, Las Vegas July 24-29 -
digital self defense, top technical experts, no vendor pitches,
unmatched networking opportunities. Visit www.blackhat.com
___
Freedos-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freedos-devel


Re: [Freedos-devel] Re: FD-DEBUG and exit

2004-06-26 Thread Arkady V.Belousov
Hi!

26-Июн-2004 13:01 [EMAIL PROTECTED] (Paul Vojta) wrote to
[EMAIL PROTECTED]:

>>  I found the difference between FD-DEBUG and MS-DEBUG:
PV> Thank you very much for the additional information.  However, there's one
PV> bit of information missing.  I assume that your analysis was all done doing
PV> things such as:
PV> C:\> debug
PV> -a
PV> 1234:100 int 20
PV> 1234:102
PV> -g

 Yes:

int 20
int 3

and

mov ax,4c00
int 21
int 3

PV> Basically, when you run debug without loading a program (as in the first
PV> snippet), you're asking the O/S to do something that doesn't make sense,
PV> since you're asking it to terminate a program when DEBUG isn't debugging
PV> any program.

 But there is child PSP and I don't understand why we should differ
"debugging program" (code is loaded from file) and "no program loaded"
(code entered manually or through "script").

PV> So MS-DEBUG's behavior makes sense, but it may leave DOS
PV> in an unstable state.

 I doubt. I compare memory content (with help of MEMA) before debug and
after INT21/4C (inside debug), and contents was identical. Moreover, I don't
know how (under MS-DOS) MS-debug traps INT20 (and says "Program terminated
normally").

 Also, child PSP have parent same as MS-debug' (usually command.com), so
INT21/4C (should) terminate child code and return to parent. But I don't
know, how MS-debug' traps this is exits itself. Probably, this happens
because MS-DEBUG sets INT22 before making child PSP? At least, dump of child
PSP (far address at PSP:0a) shows this.




---
This SF.Net email sponsored by Black Hat Briefings & Training.
Attend Black Hat Briefings & Training, Las Vegas July 24-29 -
digital self defense, top technical experts, no vendor pitches,
unmatched networking opportunities. Visit www.blackhat.com
___
Freedos-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freedos-devel


Re: [Freedos-devel] space in environment

2004-06-26 Thread Arkady V.Belousov
Hi!

26-Июн-2004 20:35 [EMAIL PROTECTED] (FreeCOM) wrote to
[EMAIL PROTECTED]:

>>  Ie. applications always get reduced (to size of contents) envrionment
>> memory block (notwithstanding /E, which affect only command.com' memory)?
F> Hmm, Arkady, you fixed yourself a bug (or at least complained about a
F> bug) in the kernel's environment handling when invoking a child, hence,

 Yes, task.c:ChidlEnv() contains bug when handling empty environment.

F> you know very well that the kernel creates the environment passed to a
F> child, not FreeCOM.
F> This is also the behaviour of MS COMMAND/MS Kernel as far as I know.

 Yes, but who know, may be command.com not starts, but loads executable,
corrects its environment, then starts it. So, I ask to be sure, because
earlier was never think about this.

>>  Of course, but, for example, NDOS does itself permanent even without
>> /p. BTW, I see no ways to differ INSTALL= and SHELL=.
F> Then please tell me, how 4dos is to detect that no other shell is active
F> currently, or, to put it into other words, that FreeCOM had been started
F> by the kernel's process-0 loader.

 Well, I made some tests.

1. MS-command.com never assumes itself primary without /P.

2. without SHELL=, MS-DOS starts command.com with /P option.

3. when SHELL= line wrong or shell exits, MS-DOS tries to automatically run
   (searched in root, \msdos and \dos directories) command.com with /p and
   says "Bad or missing Command Interpreter" only when it not finds it.

4. when program runs through INSTALL= and SHELL= in MS-DOS, then parent PSP
   in env_seg (2C) and parent_PSP (16) contains both zero.

So, with (1) FreeCOM currently is consistent and, probably, may not be
changed. Other relate to FreeDOS kernel: (2) is same, (4) I plan to change,
(3) isn't necessary, at my teste.

 More tests:

5. MS-command.com places its (resized) segment with environment right after
   itself (original segment preserved not freed), FreeCOM places environment
   into UMB, but, as I understand, with LAST_FIT.

6. I don't know where MS-DOS preserves original environment from config.sys:
   I not found it in memory.

I think, (5) should be changed (LAST_FIT to BEST_FIT).

F> BTW: Please refer to Undoc DOS's section about to find the master shell
F> environment, so we need not discuss stuff like:

 How refer it?

F> + INT-2E,
F> + environment behind PSP,
F> + first PSP.

 What there sayed about "first PSP" and what mean "env behind PSP"?

>>  I think, this should be implemented in any case.
F> When FreeCOM can determine, if it is or is not the primary shell, it
F> will be done.

 I mean not primarity, but too verbose startup screen with long help.




---
This SF.Net email sponsored by Black Hat Briefings & Training.
Attend Black Hat Briefings & Training, Las Vegas July 24-29 -
digital self defense, top technical experts, no vendor pitches,
unmatched networking opportunities. Visit www.blackhat.com
___
Freedos-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freedos-devel


[Freedos-devel] Re: FD-DEBUG and exit

2004-06-26 Thread Paul Vojta
On Sat, Jun 26, 2004 at 12:42:14PM +0400, Arkady V.Belousov wrote:
> Hi!
>
>  I found the difference between FD-DEBUG and MS-DEBUG:

Thank you very much for the additional information.  However, there's one
bit of information missing.  I assume that your analysis was all done doing
things such as:

C:\> debug
-a
1234:100 int 20
1234:102
-g

as opposed to

C:\> debug program.com
-g

or

C:\> debug
-n program.com
-l
-g

(these latter two amount to the same thing).

Basically, when you run debug without loading a program (as in the first
snippet), you're asking the O/S to do something that doesn't make sense,
since you're asking it to terminate a program when DEBUG isn't debugging
any program.  So MS-DEBUG's behavior makes sense, but it may leave DOS
in an unstable state.

The correct way to run a program several times within one DEBUG session
is:

C:\> debug program.com
-g
...
Program terminated normally
-l
-g
..., etc.

-- 
Paul Vojta, [EMAIL PROTECTED]


---
This SF.Net email sponsored by Black Hat Briefings & Training.
Attend Black Hat Briefings & Training, Las Vegas July 24-29 - 
digital self defense, top technical experts, no vendor pitches, 
unmatched networking opportunities. Visit www.blackhat.com
___
Freedos-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freedos-devel


Re: [Freedos-devel] Re: [Freedos-freecom] space in environment

2004-06-26 Thread FreeCOM
Arkady V.Belousov wrote:
 Ie. applications always get reduced (to size of contents) envrionment
memory block (notwithstanding /E, which affect only command.com' memory)?
Hmm, Arkady, you fixed yourself a bug (or at least complained about a 
bug) in the kernel's environment handling when invoking a child, hence, 
you know very well that the kernel creates the environment passed to a 
child, not FreeCOM.
This is also the behaviour of MS COMMAND/MS Kernel as far as I know.

 Of course, but, for example, NDOS does itself permanent even without
/p. BTW, I see no ways to differ INSTALL= and SHELL=.
Then please tell me, how 4dos is to detect that no other shell is active 
currently, or, to put it into other words, that FreeCOM had been started 
by the kernel's process-0 loader.
BTW: Please refer to Undoc DOS's section about to find the master shell 
environment, so we need not discuss stuff like:

+ INT-2E,
+ environment behind PSP,
+ first PSP.
 I think, this should be implemented in any case.
When FreeCOM can determine, if it is or is not the primary shell, it 
will be done.

Bye,
--
Steffen Kaiser
The current maintainer of [EMAIL PROTECTED]
http://freedos.sourceforge.net/freecom/FreeCOM.html
---
This SF.Net email sponsored by Black Hat Briefings & Training.
Attend Black Hat Briefings & Training, Las Vegas July 24-29 - 
digital self defense, top technical experts, no vendor pitches, 
unmatched networking opportunities. Visit www.blackhat.com
___
Freedos-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freedos-devel


[Freedos-devel] Re: [Freedos-freecom] space in environment

2004-06-26 Thread Arkady V.Belousov
Hi!

26-Июн-2004 16:49 [EMAIL PROTECTED] (FreeCOM) wrote to
[EMAIL PROTECTED]:

F> FreeCOM does not use no internal buffer for the environment, but
F> performs all operations on the environment segment.

 Ie. applications always get reduced (to size of contents) envrionment
memory block (notwithstanding /E, which affect only command.com' memory)?

>> PS: When I run FreeCOM through SHELL= or INSTALL= without /P option, it
>> doesn't makes itself primary.
F> When FreeCOM is started with the /P option, it makes itself permanent.

 Of course, but, for example, NDOS does itself permanent even without
/p. BTW, I see no ways to differ INSTALL= and SHELL=.

>> PPS: When start (as secondary),

 I mean, without /p option.

>> FreeCOM shows list of internal commands. I
F> That's true and will change when the settings inheritance becomes
F> implemented.

 I think, this should be implemented in any case.




---
This SF.Net email sponsored by Black Hat Briefings & Training.
Attend Black Hat Briefings & Training, Las Vegas July 24-29 -
digital self defense, top technical experts, no vendor pitches,
unmatched networking opportunities. Visit www.blackhat.com
___
Freedos-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freedos-devel


[Freedos-devel] Re: [Freedos-freecom] space in environment

2004-06-26 Thread FreeCOM
Arkady V.Belousov wrote:
 2Steffen Kaiser: Steffen, how FreeCOM handles /E option? I mean, how
this options affects environment? Is it _limits_ size of internal buffer,
It resizes the block of memory the environment of FreeCOM resides in.
which later used to make environment of new applications?
FreeCOM does not use no internal buffer for the environment, but 
performs all operations on the environment segment.

PS: When I run FreeCOM through SHELL= or INSTALL= without /P option, it
doesn't makes itself primary.
When FreeCOM is started with the /P option, it makes itself permanent.
PPS: When start (as secondary), FreeCOM shows list of internal commands. I
That's true and will change when the settings inheritance becomes 
implemented.

Tschuess,
--
Steffen Kaiser
The current maintainer of [EMAIL PROTECTED]
http://freedos.sourceforge.net/freecom/FreeCOM.html
---
This SF.Net email sponsored by Black Hat Briefings & Training.
Attend Black Hat Briefings & Training, Las Vegas July 24-29 - 
digital self defense, top technical experts, no vendor pitches, 
unmatched networking opportunities. Visit www.blackhat.com
___
Freedos-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freedos-devel


RE: [Freedos-devel] FD-DEBUG and exit

2004-06-26 Thread BA HCL
Hi,
Good effort!
 I found the difference between FD-DEBUG and MS-DEBUG: application 
PSP
inside FD-DEBUG have as parent debug's PSP, which have as parent itself 
(ie.
it makes itself "primary shell", which shouldn't be terminated by 
INT21/4C).
App PSP inside MS-DEBUG have as parent the PSP, which is parent also for
MS-DEBUG. Don't know what is better, but:
- INT21/4C in MS-DEBUG terminates it.
- INT20 in MS-DEBUG under MS-DOS is trapped and returns message "Program
  terminated normally"; under FreeDOS INT20 similar to INT21/4C.
- in FD-DEBUG INT20 similar to INT21/4C and both behave wrong: first time
  these instructons may look like do nothing (though, under FreeDOS with
  plain HIMEM execution terminated with message "Unexpected single-step
  interrupt" somewhere outside FD-DEBUG), but second time anyway FD-DEBUG
  hangs.
Disregard that irritating message, FD-DEBUG is better than MS-DEBUG, it's 
true!

BAHCL
_
日日免費隨時學英語和普通話 http://go.msnserver.com/HK/46164.asp 


---
This SF.Net email sponsored by Black Hat Briefings & Training.
Attend Black Hat Briefings & Training, Las Vegas July 24-29 - 
digital self defense, top technical experts, no vendor pitches, 
unmatched networking opportunities. Visit www.blackhat.com
___
Freedos-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freedos-devel


RE: [Freedos-devel] FD-DEBUG and exit

2004-06-26 Thread BA HCL
Hi,
Good effort!
 I found the difference between FD-DEBUG and MS-DEBUG: application 
PSP
inside FD-DEBUG have as parent debug's PSP, which have as parent itself 
(ie.
it makes itself "primary shell", which shouldn't be terminated by 
INT21/4C).
App PSP inside MS-DEBUG have as parent the PSP, which is parent also for
MS-DEBUG. Don't know what is better, but:
- INT21/4C in MS-DEBUG terminates it.
- INT20 in MS-DEBUG under MS-DOS is trapped and returns message "Program
  terminated normally"; under FreeDOS INT20 similar to INT21/4C.
- in FD-DEBUG INT20 similar to INT21/4C and both behave wrong: first time
  these instructons may look like do nothing (though, under FreeDOS with
  plain HIMEM execution terminated with message "Unexpected single-step
  interrupt" somewhere outside FD-DEBUG), but second time anyway FD-DEBUG
  hangs.
Disregard that irritating message, FD-DEBUG is better than MS-DEBUG, it's 
true!

BAHCL
_
日日免費隨時學英語和普通話 http://go.msnserver.com/HK/46164.asp 


---
This SF.Net email sponsored by Black Hat Briefings & Training.
Attend Black Hat Briefings & Training, Las Vegas July 24-29 - 
digital self defense, top technical experts, no vendor pitches, 
unmatched networking opportunities. Visit www.blackhat.com
___
Freedos-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freedos-devel


[Freedos-devel] FD-DEBUG and exit

2004-06-26 Thread Arkady V.Belousov
Hi!

 I found the difference between FD-DEBUG and MS-DEBUG: application PSP
inside FD-DEBUG have as parent debug's PSP, which have as parent itself (ie.
it makes itself "primary shell", which shouldn't be terminated by INT21/4C).
App PSP inside MS-DEBUG have as parent the PSP, which is parent also for
MS-DEBUG. Don't know what is better, but:

- INT21/4C in MS-DEBUG terminates it.

- INT20 in MS-DEBUG under MS-DOS is trapped and returns message "Program
  terminated normally"; under FreeDOS INT20 similar to INT21/4C.

- in FD-DEBUG INT20 similar to INT21/4C and both behave wrong: first time
  these instructons may look like do nothing (though, under FreeDOS with
  plain HIMEM execution terminated with message "Unexpected single-step
  interrupt" somewhere outside FD-DEBUG), but second time anyway FD-DEBUG
  hangs.




---
This SF.Net email sponsored by Black Hat Briefings & Training.
Attend Black Hat Briefings & Training, Las Vegas July 24-29 - 
digital self defense, top technical experts, no vendor pitches, 
unmatched networking opportunities. Visit www.blackhat.com
___
Freedos-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freedos-devel