Re: [Freedos-kernel] commit: floppy.asm
Hi! 18--2004 18:27 [EMAIL PROTECTED] (Kenneth J. Davis) wrote to [EMAIL PROTECTED]: KJD provided I will work on the config processing. I not send any patch here. Reason: there too many changes - so, I should send one _big_ patch or send _many_ smaller patches. I fear, this is not acceptable here. KJD That's fine, it doesn't matter to me if its one big, several smaller, or KJD even just the changed file. I may send you my edition of config.c (private, I suggest?), but it not the last edition (I continue to work on it). I see, you miss some my changes (for example, fl_diskchanged epilog) KJD please be more specific, ? KJD for example I changed floppy.asm patch 3 to maintain the same size Same size of what? KJD and return values as the original logic, as Of course, I check validness of change. KJD I did not see a reason to make the code longer ? My code not longer. KJD and return 0x00FF instead of 0x (-1). Because other functions do this (return one byte with zero AH)! I just add consistency. and add own comments. For example: KJD yes, I viewed yours, the original, RBIL, and the code and selected KJD the one that seemed the most clear, being more verbose if necessary. Hm, I look at RBIL. Looks, like there is another ambiguite (or even wrong) description. :( PS: There are also other re-changes in compare to original and my edition. For example, I describe `drive' parameter for all functions (as in dsk.c) as UBYTE (this gets better code) and return type as `int' - in your edition this is no so. Also, I think, explaining in comments for sbb al,al that Al=-CF is not good. This is same, as write next: int i = ... i++; /* increment i */ (BTW, you preserve comment in mov ah,0 ; zero out ah). Also, you preserve wrong comment cylinder number (lo only if hard) - this is complete cylinder number, not its lo part. Also, count to read/write is wrong comment, because there is code for format and verify (same for fl_lba_readwrite()). Also, you remain (Zero transfer count) and force into 255 count, whereas AL (AL only, AH cleared!) returns error code, not transfer count. PPS: Also, there are cosmetic remarks (from me :): in some places you preserve my tabulations (though, before some comments you lost one - see, for example, mov ah,18h), in other places you preserve trailing spaces (even on empty lines)... --- This SF.Net email is sponsored by The 2004 JavaOne(SM) Conference Learn from the experts at JavaOne(SM), Sun's Worldwide Java Developer Conference, June 28 - July 1 at the Moscone Center in San Francisco, CA REGISTER AND SAVE! http://java.sun.com/javaone/sf Priority Code NWMGYKND ___ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel
Re: [Freedos-kernel] commit: floppy.asm
... I may send you my edition of config.c (private, I suggest?), but it not the last edition (I continue to work on it). please do ... and add own comments. For example: KJD yes, I viewed yours, the original, RBIL, and the code and selected KJD the one that seemed the most clear, being more verbose if necessary. Hm, I look at RBIL. Looks, like there is another ambiguite (or even wrong) description. :( In the future I will be more careful and try to validate descriptions with other resources. PS: There are also other re-changes in compare to original and my edition. For example, I describe `drive' parameter for all functions (as in dsk.c) as UBYTE (this gets better code) and return type as `int' - in your edition While the drive parameter is an unsigned byte, it is actually passed in as a word, and the prototypes in dsk.c at present still indicate this. So instead of using UBTYE in one place (floppy.asm) and WORD in another (dsk.c), I maintained the use of WORD. No code is effected, as these are strictly changes to comments. When I apply your dsk.c patch 10, which does change the prototypes, I will change floppy.asm to match. this is no so. Also, I think, explaining in comments for sbb al,al that Al=-CF is not good. This is same, as write next: int i = ... i++; /* increment i */ My comment isn't AL=-CF it is AL=-CF={-1,0}, the comment is saying that after the sbb call, AL is either -1 or 0. The -CF simply clarifies that only carry determines the actual value. (BTW, you preserve comment in mov ah,0 ; zero out ah). Also, you preserve sure its an obvious comment, but how does it adversely effect anything? wrong comment cylinder number (lo only if hard) - this is complete cylinder number, not its lo part. Also, count to read/write is wrong corrected comment, because there is code for format and verify (same for how about 'count of sectors to read/write/...' fl_lba_readwrite()). Also, you remain (Zero transfer count) and force into 255 count, whereas AL (AL only, AH cleared!) returns error code, not transfer count. ok, adjusted, I read this comment as extending al into ax without sign extension. PPS: Also, there are cosmetic remarks (from me :): in some places you preserve my tabulations (though, before some comments you lost one - see, for example, mov ah,18h), in other places you preserve trailing spaces (even on empty lines)... While I will commit some, I prefer to not make whitespace only changes. it also depends on how I apply a given patch. Jeremy --- This SF.Net email is sponsored by The 2004 JavaOne(SM) Conference Learn from the experts at JavaOne(SM), Sun's Worldwide Java Developer Conference, June 28 - July 1 at the Moscone Center in San Francisco, CA REGISTER AND SAVE! http://java.sun.com/javaone/sf Priority Code NWMGYKND ___ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel
Re: [Freedos-kernel] commit: floppy.asm
Hi! 19--2004 15:41 [EMAIL PROTECTED] (Kenneth J. Davis) wrote to [EMAIL PROTECTED]: I may send you my edition of config.c (private, I suggest?), but it not KJD please do Done. See archive with config.c, portab.h (from which used new macro) and makefiles (which also pass for compiler path to its include files - new portab.h uses compiler's limits.h). KJD are strictly changes to comments. When I apply your dsk.c patch 10, KJD which does change the prototypes, I will change floppy.asm to match. Why change prototype lines twice? As I understand, this generates extra unnecessary entries in CVS. this is no so. Also, I think, explaining in comments for sbb al,al that Al=-CF is not good. This is same, as write next: int i = ... i++; /* increment i */ KJD My comment isn't AL=-CF it is AL=-CF={-1,0}, the comment is KJD saying that after the sbb call, AL is either -1 or 0. But this is what sbb al,al mean and do. I think, comment should contain more high-level explanations, than repeating description from Instruction Set Manual. For example: sbb al,al ; CF=0 (disk has not changed) jnc ret_AH_0; ...return 0 cmp ah,6; ah!=6 (error) jne ret_AH_0; ...return 0xFF (BTW, you preserve comment in mov ah,0 ; zero out ah). Also, you preserve KJD sure its an obvious comment, but how does it adversely effect anything? It not affect anything, but this comment was not present in my patch. This mean, you copy it from old source. comment, because there is code for format and verify (same for KJD how about 'count of sectors to read/write/...' What bad in plain number of sectors? fl_lba_readwrite()). Also, you remain (Zero transfer count) and force into 255 count, whereas AL (AL only, AH cleared!) returns error code, not transfer count. KJD ok, adjusted, I read this comment as extending al into ax without sign KJD extension. Ok. PPS: Also, there are cosmetic remarks (from me :): in some places you preserve my tabulations (though, before some comments you lost one - see, for example, mov ah,18h), in other places you preserve trailing spaces (even on empty lines)... KJD While I will commit some, I prefer to not make whitespace only changes. KJD it also depends on how I apply a given patch. When you change line, this is wise to fix, for example, spacings. But your changes are inconsistent: in one case you preserve spaces, in other case you replace spaces by tabs, in third case I see wrong shifting: __O\_/_\_/O__ mov al, 1 ; set change occurred fl_dc: cbw ; extend AL into AX, AX={1,0,-1} ret ; note: AH=0 on no change, AL set above [...] pushbx ; restore stack mov ah,17h ; floppy set disk type for format _ O/~\ /~\O --- This SF.Net email is sponsored by The 2004 JavaOne(SM) Conference Learn from the experts at JavaOne(SM), Sun's Worldwide Java Developer Conference, June 28 - July 1 at the Moscone Center in San Francisco, CA REGISTER AND SAVE! http://java.sun.com/javaone/sf Priority Code NWMGYKND ___ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel
[Freedos-kernel] commit: floppy.asm
I have gone through Arkady's floppy patchset (is there a 5 of 5?). This weekend I intend to finish processing his dsk.c patchset (which includes Lucho's rewording patch), and once a patch is provided I will work on the config processing. I'll commit the history.txt update once I finish the dsk.c work. I have set the build version to 2035a to help prevent confusion with released kernels. As I commit updates, please refer to sourceforge for source, but I may provide binaries and diffs at http://www.fdos.org/kernel/ As this is my first commit, for exact patch committed see: http://www.fdos.org/kernel/2035a/p1.diff and for the binary compiled with OpenWatcom 1.2 + UPX'd see: http://www.fdos.org/kernel/2035a/KERNEL.SYS Please feel free to comment and thank you for the patches! Jeremy Davis [EMAIL PROTECTED] CVS: Modified Files: CVS:drivers/floppy.asm hdr/version.h -- based on floppy.asm patchset from Arkady, use ret instead of ret 8 appropriately; improve comments, including sync with prototypes in dsk.c; small code clean up --- This SF.Net email is sponsored by The 2004 JavaOne(SM) Conference Learn from the experts at JavaOne(SM), Sun's Worldwide Java Developer Conference, June 28 - July 1 at the Moscone Center in San Francisco, CA REGISTER AND SAVE! http://java.sun.com/javaone/sf Priority Code NWMGYKND ___ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel
Re: [Freedos-kernel] commit: floppy.asm
Hi! 18--2004 03:12 [EMAIL PROTECTED] (Kenneth J. Davis) wrote to [EMAIL PROTECTED]: KJD I have gone through Arkady's floppy patchset (is there a 5 of 5?). There was 4 of 5. Last patch I omit, because it was cosmetic. Ot the other side, you may get complete floppy.asm patch (all in one) in previous letters. KJD This weekend I intend to finish processing his dsk.c patchset KJD (which includes Lucho's rewording patch), and once a patch is KJD provided I will work on the config processing. I not send any patch here. Reason: there too many changes - so, I should send one _big_ patch or send _many_ smaller patches. I fear, this is not acceptable here. KJD As I commit updates, please refer to sourceforge for source, but Is kernel.tgz will be updated? KJD Please feel free to comment and thank you for the patches! KJD CVS: drivers/floppy.asm hdr/version.h I see, you miss some my changes (for example, fl_diskchanged epilog) and add own comments. For example: + pop dx ; drive, (DL only, bit 7 set resets both floppy hd) ---^^... This is wrong addition: of course, BIOS enumerates hard disks as 80h-ffh (with bit 7 set), bit 7 not relates to reseting both floppy and hd, there will be reset disk, which number is in DL and only it. --- This SF.Net email is sponsored by The 2004 JavaOne(SM) Conference Learn from the experts at JavaOne(SM), Sun's Worldwide Java Developer Conference, June 28 - July 1 at the Moscone Center in San Francisco, CA REGISTER AND SAVE! http://java.sun.com/javaone/sf Priority Code NWMGYKND ___ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel
Re: [Freedos-kernel] commit: floppy.asm
Arkady V.Belousov wrote: Hi! 18--2004 03:12 [EMAIL PROTECTED] (Kenneth J. Davis) wrote to [EMAIL PROTECTED]: KJD I have gone through Arkady's floppy patchset (is there a 5 of 5?). There was 4 of 5. Last patch I omit, because it was cosmetic. Ot the other side, you may get complete floppy.asm patch (all in one) in previous letters. Ok. Thanks, just wanted to make sure I didn't somehow overlook it on sourceforge. KJD This weekend I intend to finish processing his dsk.c patchset KJD (which includes Lucho's rewording patch), and once a patch is KJD provided I will work on the config processing. I not send any patch here. Reason: there too many changes - so, I should send one _big_ patch or send _many_ smaller patches. I fear, this is not acceptable here. That's fine, it doesn't matter to me if its one big, several smaller, or even just the changed file. KJD As I commit updates, please refer to sourceforge for source, but Is kernel.tgz will be updated? Should be. KJD Please feel free to comment and thank you for the patches! KJD CVS: drivers/floppy.asm hdr/version.h I see, you miss some my changes (for example, fl_diskchanged epilog) please be more specific, for example I changed floppy.asm patch 3 to maintain the same size and return values as the original logic, as I did not see a reason to make the code longer and return 0x00FF instead of 0x (-1). see http://www.fdos.org/kernel/2035a/arkady/test.asm for the three variations (mine, yours, the original). and add own comments. For example: yes, I viewed yours, the original, RBIL, and the code and selected the one that seemed the most clear, being more verbose if necessary. + pop dx ; drive, (DL only, bit 7 set resets both floppy hd) ---^^... This is wrong addition: of course, BIOS enumerates hard disks as 80h-ffh (with bit 7 set), bit 7 not relates to reseting both floppy and hd, there will be reset disk, which number is in DL and only it. Ok, I will remove it. It was taken from RBIL, and I added as it looked like a really weird quirk to be aware of and research a bit further; along with determing if we actually called any of the floppy functions with a disk number corresponding to a hard drive, as RBIL indicated for several of the calls we use about problems with some buggy BIOSes if a value greater than 0x7Fh was use (ie if drive number refers to a hard drive). Jeremy --- This SF.Net email is sponsored by The 2004 JavaOne(SM) Conference Learn from the experts at JavaOne(SM), Sun's Worldwide Java Developer Conference, June 28 - July 1 at the Moscone Center in San Francisco, CA REGISTER AND SAVE! http://java.sun.com/javaone/sf Priority Code NWMGYKND ___ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel