Re: [Freedos-devel] new data / Q about FAT32 compatibility riddle
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
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
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
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
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
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
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
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
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
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