Re: [Freedos-kernel] FAT32 Completeness
Hi! 12-Янв-2007 15:27 [EMAIL PROTECTED] (Leonardo Hirokazu de Souza Hamada) wrote to freedos-kernel@lists.sourceforge.net: LHH I read somewere that FAT32 support in FreeDos is not yet complete so It _is_ complete - FreeDOS fully supports reading/writing to FAT32 partitions. - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys - and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV ___ Freedos-kernel mailing list Freedos-kernel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-kernel
Re: [Freedos-kernel] SDA and SHSUFDRV
Hi! 30-Авг-2006 15:55 [EMAIL PROTECTED] (Jason Hood) wrote to freedos-kernel@lists.sourceforge.net: Not sure, if I understand your problem, but what prevents you from setting your own address of DTA (INT 21/1A)? JH Perhaps I should have been a bit more clear. The DTA I was referring JH to passes the pointer to the buffer for the read request. It's not the JH DTA as used by the find functions. Then I completely not understand you. DTA is a name for area, which used for findfirst/findnext. What _you_ name as DTA? JH I can't change where the kernel wants its data. - Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnkkid=120709bid=263057dat=121642 ___ Freedos-kernel mailing list Freedos-kernel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-kernel
Re: [Freedos-kernel] SDA and SHSUFDRV
Hi! 23-Авг-2006 16:11 [EMAIL PROTECTED] (Jason Hood) wrote to freedos-kernel@lists.sourceforge.net: JH I received a bug report about SHSUFDRV not working in FreeDOS, but JH it worked fine in MS-DOS; RDRV also worked fine. After failing to JH replicate the problem with the versions of FreeDOS I had, I finally JH got the latest boot CDs (beta9-sr2 1.0-testing). These did indeed JH fail, so I was able to offer that user a fixed FDRV. JH The problem itself is due to the SDA. It seems sometime between 2035a JH and 2036 the (temporary) DTA has moved into the SDA. This means that JH when FDRV reads a sector and then restores the swap data, the sector it JH just read gets overwritten with whatever was in the swap. The fix JH simply made the SDA size a fixed 0x7c0 bytes, thus preventing the JH overwrite. To provide a more desirable solution, what should I do? Not sure, if I understand your problem, but what prevents you from setting your own address of DTA (INT 21/1A)? JH 1) The SDA is unlikely to change, just leave it fixed at 0x7c0. JH 2) Buffer a single sector, write it back after the swap. JH 3) Provide a better size to the SDA function (215D06). JH 4) Move the DTA back out of the SDA. JH 5) Make use of the internal seek/read calls (2F1227/8). JH Of course, I would prefer 3 or 4, since that involves no effort JH on my part. :) 1 requires separate code for other DOSes (or I could JH just make it a fixed 0x7da, that MS-DOS 7.10 returns). 2 requires an JH extra 512 bytes for the buffer. 5 would probably be best (no swap JH required at all), but unfortunately ROMDOS does not support them, nor JH is there a write function (hence using the SDA in the first place). - Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnkkid=120709bid=263057dat=121642 ___ Freedos-kernel mailing list Freedos-kernel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-kernel
[Freedos-kernel] makefiles
Hi! Eric, while you currently do maintain FD kernel, please, add somewhere in batch files set dos4g=quiet. I think, it may be added above to SET LAST=1 in config.b: __O\_/_\_/O__ :--- set dos4g=quiet set LAST=1 if not %LAST% == 1 defaults.bat clearset _ O/~\ /~\O This makes more terse output when rebuilding kernel by hidding dos4gw copyrights (for those utilities, which based on dos4gw). --- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnkkid=120709bid=263057dat=121642 ___ Freedos-kernel mailing list Freedos-kernel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-kernel
Re: [Freedos-kernel] please change the default freecom and increasethe kernel version
Hi! 26-Янв-2006 22:48 [EMAIL PROTECTED] (Bart Oldeman) wrote to freedos-kernel@lists.sourceforge.net: well, we have: kernel 2034, 2035 released by Bart kernel 2035A released by Jeremy kernel 2035B by Jeremy (2035A + stable features backported from 2035W) kernel 2035W by Jeremy, experimental/development line BO isn't there also still a kernel 2035-Tom somewhere (drivesnapshot.de)? Or BO did 2035A supersede that as far as Tom is concerned? Tom says, that he import into his tree only some small set of patches. --- This SF.net email is sponsored by: Splunk Inc. Do you grep through log files for problems? Stop! Download the new AJAX search engine that makes searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! http://sel.as-us.falkag.net/sel?cmd=lnkkid=103432bid=230486dat=121642 ___ Freedos-kernel mailing list Freedos-kernel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-kernel
Re: [Freedos-kernel] Can FreeDOS be installed on embedded system based on 80186/80188?
Hi! 16-Дек-2005 19:45 [EMAIL PROTECTED] (╞о╦╞╔│┼╕ ╞о) wrote to freedos-kernel@lists.sourceforge.net: оо Hi, I'm a newer to FreeDOS and I want to know if FreeDOS can be installed оо on embedded system based on 80186/80188? Yes. оо If yes, is it possible that оо freeDOS work on an embedded system without BIOS? No - FreeDOS, as any other DOS, works with hardware only through BIOS. PS: Better, if you move your questions into freedos-user@ group. --- This SF.net email is sponsored by: Splunk Inc. Do you grep through log files for problems? Stop! Download the new AJAX search engine that makes searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! http://ads.osdn.com/?ad_id=7637alloc_id=16865op=click ___ Freedos-kernel mailing list Freedos-kernel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-kernel
Re: [Freedos-kernel] re: Can FreeDOS be installed on embedded system based on 80186/80188?
Hi! 16-Дек-2005 13:50 [EMAIL PROTECTED] (Eric Auer) wrote to freedos-kernel@lists.sourceforge.net: EA EDIT 0.7d and MKEYB, which should work even on 8086. Or use no MKEYB uses INT15 service, which not present on XT. --- This SF.net email is sponsored by: Splunk Inc. Do you grep through log files for problems? Stop! Download the new AJAX search engine that makes searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! http://ads.osdn.com/?ad_id=7637alloc_id=16865op=click ___ Freedos-kernel mailing list Freedos-kernel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-kernel
[Freedos-kernel] Re: [Freedos-cvs] freecom/lib cd_dir.c,1.4,1.5 critrchk.c,1.1,1.2 err61.c,1.4,1.5 mk_rddir.c,1.2,1.3 optsb.c,1.3,1.4 where.c,1.5,1.6
Hi! I wrote: +++ mk_rddir.c10 Dec 2005 10:09:43 - 1.3 +int lfn_mrc_dir(const char *path, int mode) +{ + struct REGPACK r; + int mrc_f[6] = { 0x713A, 0x7139, 0x713B, 0x3A, 0x39, 0x3B }; ------ BTW, bug! Function number should come in AH, not AL! So: + r.r_ax = mrc_f[mode + (checkDriveSupportsLFN(getdisk() + 'A') ? 0 : 3)]; if (checkDriveSupportsLFN(getdisk() + 'A')) mode += 0x7100; r.r_ax = mode; Possible solution with my edition: if (...) mode += 0x7100; else mode = 8; /* shift low byte to high byte */ r.r_ax = mode; Or: if (...) mode = (mode 8) + 0x7100; r.r_ax = mode; [...] #define chdir(x) lfn_mrc_dir(x,0x3B00) --^^ --- This SF.net email is sponsored by: Splunk Inc. Do you grep through log files for problems? Stop! Download the new AJAX search engine that makes searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! http://ads.osdn.com/?ad_id=7637alloc_id=16865op=click ___ Freedos-kernel mailing list Freedos-kernel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-kernel
[Freedos-kernel] Re: [Freedos-cvs] freecom/cmd dir.c,1.25,1.26 if.c,1.8,1.9 set.c,1.6,1.7
Hi! 10-Дек-2005 10:09 [EMAIL PROTECTED] (Kenneth Davis) wrote to [EMAIL PROTECTED]: +++ dir.c 10 Dec 2005 10:09:43 - 1.26 +#ifdef FEATURE_LONG_FILENAMES void printLFNname(char *shortName, char *ext) { char pathbuffer[128]; + char longname[270]; + /* reconstruct the path+filename */ pathlen = strrchr(path,'\\') - path; sprintf(pathbuffer,%*.*s\\%s%c%s In memory of defensive programming: - strrchr() may return NULL (I think, in many cases most standard functions should be replaced by own versions with more safe characteristics); - pathbufer shorter than longname. + /* LFN get canonical LFN */ r.r_ds = FP_SEG(pathbuffer); + r.r_si = FP_OFF(pathbuffer); + printf( %.30s , strrchr(longname, '\\')[1]); --^---^^^ This is same as strrchr() + 1. --- This SF.net email is sponsored by: Splunk Inc. Do you grep through log files for problems? Stop! Download the new AJAX search engine that makes searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! http://ads.osdn.com/?ad_id=7637alloc_id=16865op=click ___ Freedos-kernel mailing list Freedos-kernel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-kernel
[Freedos-kernel] comments changing
Hi! I think, before changing comments in current dev snapshot, should be released some intermediate release (say, 2036). --- This SF.net email is sponsored by: Splunk Inc. Do you grep through log files for problems? Stop! Download the new AJAX search engine that makes searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! http://ads.osdn.com/?ad_id=7637alloc_id=16865op=click ___ Freedos-kernel mailing list Freedos-kernel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-kernel
[Freedos-kernel] Re: [Freedos-cvs] kernel/sys sys.c,1.41.2.20,1.41.2.21 fdkrncfg.c,1.11.2.2,1.11.2.3
Hi! 30-Ноя-2005 21:59 [EMAIL PROTECTED] (Kenneth Davis) wrote to [EMAIL PROTECTED]: +++ sys.c 30 Nov 2005 21:59:18 - 1.41.2.21 -extern int VA_CDECL printf(const char * fmt, ...); -extern int VA_CDECL sprintf(char * buff, const char * fmt, ...); +extern int VA_CDECL printf(const char FAR * fmt, ...); +extern int VA_CDECL sprintf(char FAR * buff, const char FAR * fmt, ...); +++ fdkrncfg.c30 Nov 2005 21:59:18 - 1.11.2.3 -extern int VA_CDECL printf(const char * fmt, ...); -extern int VA_CDECL sprintf(char * buff, const char * fmt, ...); +extern int VA_CDECL printf(const char FAR * fmt, ...); +extern int VA_CDECL sprintf(char FAR * buff, const char FAR * fmt, ...); Isn't better to move prototypes to something like prf.h? -- -- Best regards! Sincerely yours, Хемуль Советикус. Утомлённый чаем любитель сладкого, в девичестве Бильбо Ленивчатый. --- This SF.net email is sponsored by: Splunk Inc. Do you grep through log files for problems? Stop! Download the new AJAX search engine that makes searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! http://ads.osdn.com/?ad_id=7637alloc_id=16865op=click ___ Freedos-kernel mailing list Freedos-kernel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-kernel
[Freedos-kernel] Re: [Freedos-cvs] kernel/kernel init-mod.h,1.56.2.4,1.56.2.5 prf.c,1.31.2.3,1.31.2.4 proto.h,1.75.2.7,1.75.2.8
Hi! 20-Ноя-2005 16:39 [EMAIL PROTECTED] (Kenneth Davis) wrote to [EMAIL PROTECTED]: +++ prf.c 20 Nov 2005 16:39:14 - 1.31.2.4 @@ -123,17 +123,17 @@ +STATIC void do_printf(const char FAR *, va_list); +VOID VA_CDECL printf(const char FAR * fmt, ...); ^^ [...] -VOID VA_CDECL printf(const char *fmt, ...) +VOID VA_CDECL printf(CONST BYTE FAR *fmt, ...) ^^ Why? -VOID VA_CDECL sprintf(char * buff, const char * fmt, ...) +VOID VA_CDECL sprintf(char FAR * buff, CONST BYTE FAR * fmt, ...) -STATIC void do_printf(CONST BYTE * fmt, va_list arg) +STATIC void do_printf(CONST BYTE FAR * fmt, va_list arg) +++ init-mod.h20 Nov 2005 16:39:14 - 1.56.2.5 +VOID VA_CDECL init_sprintf(char FAR * buff, const char FAR * fmt, ...); +++ proto.h 20 Nov 2005 16:39:14 - 1.75.2.8 +VOID VA_CDECL printf(const char FAR* fmt, ...); +VOID VA_CDECL sprintf(char FAR * buff, const char FAR* fmt, ...); --- This SF.Net email is sponsored by the JBoss Inc. Get Certified Today Register for a JBoss Training Course. Free Certification Exam for All Training Attendees Through End of 2005. For more info visit: http://ads.osdn.com/?ad_id=7628alloc_id=16845op=click ___ Freedos-kernel mailing list Freedos-kernel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-kernel
[Freedos-kernel] Re: [Freedos-cvs] kernel/kernel intwrap.asm,NONE,1.1.2.1
Hi! 20-Ноя-2005 16:57 [EMAIL PROTECTED] (Kenneth Davis) wrote to [EMAIL PROTECTED]: --- NEW FILE: intwrap.asm --- reloc_call_int13_handler: cli ; disable other interrupts for now INT instruction already disables IFlag. stc ; force error unless BIOS clears ?! This is issue of caller to set or reset CFlag. push dx ; store BIOS drive # for error handling usage push ds ; get segment of kernel DATA mov ds, [cs:_DGROUP_] pushf ; simulate int call so returns back here (flags+cs:ip on stack) call far [ds:_UserInt13] Bug!!! Here DS register is garbaged, whereas it used by some functions (for example, INT13/42). pop ds ; restore ds jc int13err ; test if error, if not return to caller int13iret: inc sp ; clean up stack inc sp sti ; ensure int's are renabled retf 2 ; return to caller leaving flags asis I don't think that this is right way, because caller may disable interrupts for own purposes, whereas here interrupts enabled. int13wrap: %IF XCPU 186 push ax ; preserve registers, setup stack frame push bp mov bp, sp mov ax, 13h; want to push 0x13 onto stack xchg ax, [bp+2] ; so restore pushed ax value and put 0x13 on stack pop bp ; clean up stack frame (leaving just 0x13 pushed on stack) pushbp pushbp mov bp,sp mov word [bp+2],13h pop bp --- This SF.Net email is sponsored by the JBoss Inc. Get Certified Today Register for a JBoss Training Course. Free Certification Exam for All Training Attendees Through End of 2005. For more info visit: http://ads.osdn.com/?ad_id=7628alloc_id=16845op=click ___ Freedos-kernel mailing list Freedos-kernel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-kernel
[Freedos-kernel] Re: [Freedos-cvs] kernel/kernel intwrap.asm,1.1.2.1,1.1.2.2 kernel.asm,1.54.2.6,1.54.2.7
Hi! 20-Ноя-2005 19:03 [EMAIL PROTECTED] (Kenneth Davis) wrote to [EMAIL PROTECTED]: +++ intwrap.asm 20 Nov 2005 19:03:17 - 1.1.2.2 -sti ; ensure int's are renabled retf 2 ; return to caller leaving flags asis Another potential bug: if caller will not STI somewhere after INT13, then it will work in CLI state (because its IFlag is CLIed by INT instruction). --- This SF.Net email is sponsored by the JBoss Inc. Get Certified Today Register for a JBoss Training Course. Free Certification Exam for All Training Attendees Through End of 2005. For more info visit: http://ads.osdn.com/?ad_id=7628alloc_id=16845op=click ___ Freedos-kernel mailing list Freedos-kernel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-kernel
Re: [Freedos-kernel] Re: [Freedos-cvs] kernel/kernel intwrap.asm,NONE,1.1.2.1
Hi! 20-Ноя-2005 13:50 [EMAIL PROTECTED] (Kenneth J. Davis) wrote to freedos-kernel@lists.sourceforge.net: int13iret: inc sp ; clean up stack inc sp sti ; ensure int's are renabled retf 2 ; return to caller leaving flags asis I don't think that this is right way, because caller may disable interrupts for own purposes, whereas here interrupts enabled. KJD I'm not sure what is correct here, I suggest, only returned ZF/CF should be copied to existing value on stack. For example: int13iret: pushax lahf pushbp mov bp,sp and byte [bp+10],not 0C1h ; 10=bp+ax+...+cs:ip and ah,0C1h ; remain only SF/ZF/CF flags or byte [bp+10],ah ; pass to caller SF/ZF/CF from INT13 pop bp pop ax add sp,2 iret KJD but I suppose it should simply leave KJD the flag as the user had it (I think I added this after reading a note KJD somewhere in RBIL about a bug in earlier BIOSes that failed to do this). --- This SF.Net email is sponsored by the JBoss Inc. Get Certified Today Register for a JBoss Training Course. Free Certification Exam for All Training Attendees Through End of 2005. For more info visit: http://ads.osdn.com/?ad_id=7628alloc_id=16845op=click ___ Freedos-kernel mailing list Freedos-kernel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-kernel
Re: [Freedos-kernel] request for comments/ideas etc
Hi! 6-Ноя-2005 19:05 [EMAIL PROTECTED] (Kenneth J. Davis) wrote to freedos-kernel@lists.sourceforge.net: KJD fix ATAPICDD, so a year or two down the road) is a replacement for the KJD BIOS int 13h. How does the ontrack and such software work so DOS KJD doesn't overwrite them? They move itself to upper available memory, as indicated by ram_top at 0:413, and the decrease this variable. --- SF.Net email is sponsored by: Tame your development challenges with Apache's Geronimo App Server. Download it for free - -and be entered to win a 42 plasma tv or your very own Sony(tm)PSP. Click here to play: http://sourceforge.net/geronimo.php ___ Freedos-kernel mailing list Freedos-kernel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-kernel
[Freedos-kernel] Re: [Freedos-cvs] kernel/kernel dosfns.c,1.70.2.4,1.70.2.5 entry.asm,1.27.2.3,1.27.2.4 fatfs.c,1.70.2.5,1.70.2.6 int2f.asm,1.34.2.3,1.34.2.4 inthndlr.c,1.87.2.18,1.87.2.19 kernel.asm,
Hi! 6-Ноя-2005 19:50 [EMAIL PROTECTED] (Kenneth Davis) wrote to [EMAIL PROTECTED]: +++ inthndlr.c6 Nov 2005 19:50:34 - 1.87.2.19 - r.DX = 0xA2AB; /* on succes DS:AX set to A2AB:B97Ch */ + r.DX = 0xA2AB; /* on succes DX:AX set to A2AB:B97Ch */ @@ -1839,29 +1859,89 @@ */ r.DX = 0xA2AB; /* on succes DS:AX set to A2AB:B97Ch */ --^^ DX +++ entry.asm 6 Nov 2005 19:50:34 - 1.27.2.4 +mov dx,[cs:_DGROUP_] +mov ds,dx mov ds,[cs:_DGROUP_] +cmp word [_OemHook21], -1 +je no_oemhndlr +cmp word [_OemHook21+2], -1 +je no_oemhndlr This is if (FP_OFF (OemHook21) != -1 FP_SEG (OemHook21) != -1), which is not equal to if (OemHook21 != -1) _and_ prevents OemHook21 point to HMA. I suggest, check only for offset is enough. (And in this case you may restore DS right before JE.) +pop dx +pop ds +jmp far [ds:_OemHook21] ; invoke OEM handler (no return) Looks like bug: if before ds=cs:_DGROUP_ DS doesn't contains segment of _OemHook21, then it willn't contain it after POP DS (and JMP then tries to get jump address from wrong point). Else, if DS contains segment of _OemHook21 before this code, then why MOV DS above? --- SF.Net email is sponsored by: Tame your development challenges with Apache's Geronimo App Server. Download it for free - -and be entered to win a 42 plasma tv or your very own Sony(tm)PSP. Click here to play: http://sourceforge.net/geronimo.php ___ Freedos-kernel mailing list Freedos-kernel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-kernel
Re: [Freedos-kernel] Re: [Freedos-cvs] kernel/kernel dosfns.c,1.70.2.4,1.70.2.5 entry.asm,1.27.2.3,1.27.2.4 fatfs.c,1.70.2.5,1.70.2.6 int2f.asm,1.34.2.3,1.34.2.4 inthndlr.c,1.87.2.18,1.87.2.1
Hi! 6-Ноя-2005 17:44 [EMAIL PROTECTED] (Kenneth J. Davis) wrote to freedos-kernel@lists.sourceforge.net: +jmp far [ds:_OemHook21] ; invoke OEM handler (no return) Looks like bug: if before ds=cs:_DGROUP_ DS doesn't contains segment of _OemHook21, then it willn't contain it after POP DS (and JMP then tries to get jump address from wrong point). Else, if DS contains segment of _OemHook21 before this code, then why MOV DS above? KJD I agree there is a bug here, I originally coded this differently (copied KJD address to a variable in code segment which I believe a comments still KJD has remnants of) pushax ; place for push ax ; far address pushbp movbp,sp ; pointer to above place pushds mov ds,[cs:_DGROUP_] lds ax,[_OemHook21] mov [bp+6],ds pop ds cmp ax,-1 ; FP_OFF(OemHook21) != -1 ? xchg[bp+4],ax pop bp je ... retf ...:add sp,4 KJD and then simplified it at some point (which introduced KJD the bug). I have a fix locally (just need to compile and test). --- SF.Net email is sponsored by: Tame your development challenges with Apache's Geronimo App Server. Download it for free - -and be entered to win a 42 plasma tv or your very own Sony(tm)PSP. Click here to play: http://sourceforge.net/geronimo.php ___ Freedos-kernel mailing list Freedos-kernel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-kernel
Re: [Freedos-kernel] re: Re: reload partition table and reassign drive letters
Hi! 20-Окт-2005 00:42 [EMAIL PROTECTED] (Bernd Blaauw) wrote to freedos-kernel@lists.sourceforge.net: style driver which MOUNTS an arbitrary FAT partition: You only BB except it cannot re-assign already used driveletters I guess. Same as There exists utilities, which swaps drive letters (for example, SSWAP.EXE from Stacker). So, this is possible to handle drive mappings with help of external utilities on the fly. Though, I suggest, this may be dangerous, if some other utility (like disk cache) links itself to drive letters. BB If C..F are still available, dismount + remount. --- This SF.Net email is sponsored by: Power Architecture Resource Center: Free content, downloads, discussions, and more. http://solutions.newsforge.com/ibmarch.tmpl ___ Freedos-kernel mailing list Freedos-kernel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-kernel
Re: [Freedos-kernel] reload partition table and reassign drive letters
Hi! 18-Окт-2005 13:48 [EMAIL PROTECTED] (Daniel Breest) wrote to freedos-kernel@lists.sourceforge.net: DB The question is: is it possible to trigger the freedos kernel to reread DB the partition table and reassign drive letters from within a running DB freedos. No. Code, which recognizes partitions and prepares structures for them, present only in transient part, which removed after booting. --- This SF.Net email is sponsored by: Power Architecture Resource Center: Free content, downloads, discussions, and more. http://solutions.newsforge.com/ibmarch.tmpl ___ Freedos-kernel mailing list Freedos-kernel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-kernel
Re: [Freedos-kernel] Re: device=f:\foo.sys fails
Hi! 20-Сен-2005 21:52 [EMAIL PROTECTED] (David O'Shea) wrote to freedos-kernel@lists.sourceforge.net: DO Could we not just initialize 26 but still make the memory for the DO unused ones E: available after the drivers are loaded? It is. --- SF.Net email is sponsored by: Tame your development challenges with Apache's Geronimo App Server. Download it for free - -and be entered to win a 42 plasma tv or your very own Sony(tm)PSP. Click here to play: http://sourceforge.net/geronimo.php ___ Freedos-kernel mailing list Freedos-kernel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-kernel
Re: [Freedos-kernel] kernel fdconfig.sys reading bug.
Салям! 1-Июл-2005 18:17 [EMAIL PROTECTED] (Steve Calfee) wrote to freedos-kernel@lists.sourceforge.net: SC Hi I found a bug. We discussed it on alt.os.free-dos and for dos files, if it finds it it uses fdconfig.sys. Apparently, if it does not find the dos file it uses neither config.sys or fdconfig.sys. I think it is a bug. It is on freedos beta9sr1 cd iso image. SC kernel 1.1.33 worked! loaded fdconfig.sys SC kernel 1.1.34 failed! did not loaded fdconfig.sys or config.sys SC kernel 1.1.35 failed! did not loaded fdconfig.sys or config.sys Try the kernel, compiled by Lucho (http://linux.tu-varna.acad.bg/~lig/freedos/kernel/), where included my config.c. When I rework this source, I fix some bugs. Unfortunately, Kenneth too conservative to include it completely at once, but, probably, kernel from http://www.fdos.org/kernel/ already fixed in this aspect. SC ( I ended each of fdconfig.sys and config.sys with a different error SC so I would know which was being used. Where it succeeded all but the SC error command was successfully executed.) For this, ECHO directive may be used. --- SF.Net email is sponsored by: Discover Easy Linux Migration Strategies from IBM. Find simple to follow Roadmaps, straightforward articles, informative Webcasts and more! Get everything you need to get up to speed, fast. http://ads.osdn.com/?ad_idt77alloc_id492op=click ___ Freedos-kernel mailing list Freedos-kernel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-kernel
Re: [Freedos-kernel] Analysis: Support for sector sizes != 512 bytes
Hi! 12--2005 05:03 [EMAIL PROTECTED] (Eric Auer) wrote to freedos-kernel@lists.sourceforge.net: EA DOS3.x+ 32bit sector number calls) and 2048 byte (raw sector size EA on CD-ROM and maybe on magneto-optical drives) cases. AFAIK, CD-ROM sector is 2352 bytes. EA - To support bigger sectors, raise _maxbksize and make each element EA of BUFFERS and DiskTransferBuffer bigger Eric, I suggest, non-standard sector size is not the hottest issue (and, probably, will never be actual in future). The more so, does anyone contains resources (devices), where non-standard sectors support may be TESTED? Whereas for non-standard devices you anyway should install their own device driver, which may easily emulate 512-bytes sectors. --- This SF.Net email is sponsored by Oracle Space Sweepstakes Want to be the first software developer in space? Enter now for the Oracle Space Sweepstakes! http://ads.osdn.com/?ad_ids93alloc_id281op=click ___ Freedos-kernel mailing list Freedos-kernel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-kernel
Re: [Freedos-kernel] Analysis: Support for sector sizes != 512 bytes
Hi! 13--2005 15:38 [EMAIL PROTECTED] (Eric Auer) wrote to freedos-kernel@lists.sourceforge.net: The more so, does anyone contains resources (devices), where non-standard sectors support may be EA YES, big question! Main question! --- This SF.Net email is sponsored by Oracle Space Sweepstakes Want to be the first software developer in space? Enter now for the Oracle Space Sweepstakes! http://ads.osdn.com/?ad_ids93alloc_id281op=click ___ Freedos-kernel mailing list Freedos-kernel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-kernel
Re: [Freedos-kernel] Trying to figure out 386 kernel EMM386 crashes
! 24--2005 16:02 [EMAIL PROTECTED] (Eric Auer) wrote to freedos-kernel@lists.sourceforge.net: (Other questions already answered by Bart). EA - there are I186 and I386 defines which are only used in inthndlr.c EA and main.c, but I have the feeling that you get better consistency EA by REMOVING those and using the global XCPU define instead. XCPU is only our suggestion how compiler should generate code. I386 defined by (some) compilers and (more precise) reflects real state. EA - entry.asm adjusts BP depending on XCPU at int21_exit_nodec, so EA there should be a WARNING in the code that this has to stay in EA sync with the Protect/Restore macros. Yes, such additional comments always welcomed (from me). EA - int2f.asm saves/restores FS and GS to SI and DI if the compiler is EA Watcom. This saves 4 bytes of stack but is a BAD IDEA because it EA hardcodes the idea that Protect/Restore macros save ONLY FS and GS EA if the compiler is Watcom. ? --- SF.Net email is sponsored by: Tell us your software development plans! Take this survey and enter to win a one-year sub to SourceForge.net Plus IDC's 2005 look-ahead and a copy of this survey Click here to start! http://www.idcswdc.com/cgi-bin/survey?id5hix ___ Freedos-kernel mailing list Freedos-kernel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-kernel
Re: [Freedos-kernel] [Freedos-cvs] kernel/kernel initdisk.c,1.34,1.35
Hi! 7--2005 04:58 [EMAIL PROTECTED] ([EMAIL PROTECTED]) wrote to freedos-kernel@lists.sourceforge.net: jo I assume you are pointing out the use of hiword loword versus what I used jo I did this for two reasons, the 1st is that those macros are not in the jo stable kernel's portab.h, so using them would just make a kernel that did jo not jo compile. Yes I could easily add them, but that wasn't the point of the jo commits, jo they were to fix specific issues whose changes I am reasonably sure have no jo negative jo side effects. But adding things, which eases following fixes (and not breaks anything already existing) - what bad in this? jo Testing directly against 0x as a boundary condition is clearer and more jo succinct jo (to me) than testing if (0x (unsigned)((pEntry-NumSect) 16u)) jo equals 0, jo hence my selection of it over the use of hiword. But this (manual macro expanding) introduces more differences (in source and code) between different branches. jo The use of loword is jo technically jo safer and more accurate, but again the macro isn't available in stable yet, jo and unless jo someone changes UWORD to be smaller or signed, in which case, this is the jo least of jo their issues, the resulting value should still be the same (based on the if) jo . jo Please explain why you feel hiword is better and I will reconsider. jo (and please do, if you have a reason other than style or if the general jo consensus is that using hiword is clearer, then I will make the change) - it more readable (we check hi/lo word/part of long number, not check for hit in some range, as may be suggested from comparing val = 0x). - it (in some cases) more efficient: __O\_/_\_/O__ ; if (hs hiword(LBA_address)) /* LBA_address hs * 0x1ul */ cmp ax,word ptr [bp-6] jbe L$122 _ O/~\ /~\O - if this macro inefficient on some compiler, it may be adapted for this compiler without changes in (main) sources. jo if (hiword (pEntry-NumSect) == 0) jo { jo pddt-ddt_defbpb.bpb_nsize = loword (pEntry-NumSect); --- SF email is sponsored by - The IT Product Guide Read honest candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_ide95alloc_id396op=click ___ Freedos-kernel mailing list Freedos-kernel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-kernel
Re: [Freedos-kernel] [Freedos-cvs] kernel/kernel initdisk.c,1.34,1.35
Hi! 16--2005 18:56 I wrote to freedos-kernel@lists.sourceforge.net: AVB if (mode != LARGEST (mode ALLOC_HIGH_LOW) AVB instead AVB if ((mode != LARGEST) (mode FIRST_FIT_U) And see the difference: this code checks for HIGH_LOW strategy, but original source reuses FIRST_FIT_U name, thus making misleading code. --- SF email is sponsored by - The IT Product Guide Read honest candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_ide95alloc_id396op=click ___ Freedos-kernel mailing list Freedos-kernel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-kernel
[Freedos-kernel] Re: [Freedos-cvs] kernel/kernel fatfs.c,1.71,1.72 inthndlr.c,1.93,1.94 proto.h,1.77,1.78
Hi! 6--2005 16:58 [EMAIL PROTECTED] (Kenneth Davis) wrote to [EMAIL PROTECTED]: merge from dev kernel, Jason Hood's patch for extended DPBs and Set Extended Error function +++ inthndlr.c6 Mar 2005 16:58:31 - 1.94 @@ -1215,6 +1226,20 @@ + /* Set Extended Error */ +case 0x0a: + { +lregs er; +fmemcpy(er, FP_DS_DX, sizeof(er)); +CritErrCode= er.AX; +CritErrDev = MK_FP(er.ES, er.DI); +CritErrLocus = er.CH; +CritErrClass = er.BH; +CritErrAction = er.BL; +CLEAR_CARRY_FLAG(); +break; + } Hm. Why to use stack and fmemcpy()? Isn't better to access directly: __O\_/_\_/O__ case 0x0a: #define er (* MK_PTR (lregs, lr.DS, lr.DX)) CritErrCode= er.AX; CritErrDev = MK_FP(er.ES, er.DI); CritErrLocus = er.CH; CritErrClass = er.BH; CritErrAction = er.BL; #undef er CLEAR_CARRY_FLAG(); break; _ O/~\ /~\O Or, if if by some reason doesn't wish to copy MK_PTR definition into stable edition (why not?), _in given case_ you may do: #define er (* (lregs FAR*) MK_FP (lr.DS, lr.DX)) /* --^^^ Don't forget */ --- SF email is sponsored by - The IT Product Guide Read honest candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_ide95alloc_id396op=click ___ Freedos-kernel mailing list Freedos-kernel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-kernel
[Freedos-kernel] Re: [Freedos-cvs] kernel/kernel initdisk.c,1.34,1.35
! 6--2005 16:12 [EMAIL PROTECTED] (Kenneth Davis) wrote to [EMAIL PROTECTED]: insure bpb_huge is initialized (zeroed) [merge from dev kernel] +++ initdisk.c6 Mar 2005 16:12:34 - 1.35 @@ -603,12 +603,15 @@ + if (pEntry-NumSect = 0x) + { pddt-ddt_defbpb.bpb_nsize = (UWORD) (pEntry-NumSect); if (hiword (pEntry-NumSect) == 0) { pddt-ddt_defbpb.bpb_nsize = loword (pEntry-NumSect); --- SF email is sponsored by - The IT Product Guide Read honest candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_ide95alloc_id396op=click ___ Freedos-kernel mailing list Freedos-kernel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-kernel
[Freedos-kernel] Re: [Freedos-cvs] kernel/kernel initdisk.c,1.33.2.4,1.33.2.5
Hi! 2--2005 07:47 [EMAIL PROTECTED] (Luchezar Georgiev) wrote to [EMAIL PROTECTED]: LG Suppress spurious warning on 1022 cylinder LBA partition and optimise a bit Details, please. LG +++ initdisk.c 2 Feb 2005 07:47:34 - 1.33.2.5 LG - /* Valid entry: LG - entry == chs || // partition entry equal to computed values LG - (chs-Cylinder 1023 // or LBA partition LG - (entry-Cylinder == 1023 || To support 1022, here you may replace ==1023 by =1022. LG - entry-Cylinder == (0x3FF chs-Cylinder))) LG - */ LG - return !((pEntry_chs-Cylinder == chs-Cylinder LG -pEntry_chs-Head == chs-Head LG -pEntry_chs-Sector == chs-Sector)|| LG - chs-Cylinder 1023u LG - (pEntry_chs-Cylinder == 1023 || LG -pEntry_chs-Cylinder == (0x3ff chs-Cylinder))); LG + if (pEntry_chs-Cylinder != (chs-Cylinder 0x3FF) LG + || pEntry_chs-Head != chs-Head LG + || pEntry_chs-Sector != chs-Sector) Non-equal replacement. But see below (*). LG +STATIC void warning_suspect(char *partitionName, struct CHS *chs, LG + struct CHS *pEntry_chs) STATIC void warning_suspect(CStr partitionName, const struct CHS *chs, ---^ struct CHS *pEntry_chs) LG +if (pEntry-FileSystem == 0 LG + || partitionsToIgnore (1 i) LG + || IsExtPartition(pEntry-FileSystem) LG + || scan_type == SCAN_PRIMARYBOOT !pEntry-Bootable LG + || !IsFATPartition(pEntry-FileSystem)) LGcontinue; Last condition (!IsFATPartition()) includes also IsExtPartition() and ==0 checks, thus, IsExtPartition() and ==0 checks may be removed: if (partitionsToIgnore (1 i) || scan_type == SCAN_PRIMARYBOOT !pEntry-Bootable || !IsFATPartition(pEntry-FileSystem)) continue; LG /* some FDISK's enter for partitions LG -8 GB cyl = 1023, other (cyl1023) LG +8 GB cyl = 1022 or 1023, other (cyl1023) Bart earlier explains this and gives link to URL with details, but decised to remain only ==1023 check. LG */ LG -if (is_suspect(chs, pEntry-Begin)) LG +if (!IsLBAPartition(pEntry-FileSystem)) LG { LG - print_warning_suspect(partitionName, pEntry-FileSystem, chs, LG -pEntry-Begin); LG + warning_suspect(partitionName, chs, pEntry-Begin); LG + warning_suspect(partitionName, end, pEntry-End); LG } Non-equal replacement: here checked only non-LBA partitions ((*) this explains condition simplification in warning_suspect()), LBA partitions doesn't checked at all (neither 1023, nor 1022), even if they completely inside 1023 cylinder. If this replacement valid, it should be commented. LG +if (pEntry-NumSect == 0) LG { LG + printf(Not using %s with 0 sectors\n, partitionName); LG + continue; LG } This check should be moved above, before LBA_to_CHS() calls. Well, my edition for this function (note: partitionStart replaced by startSector): __O\_/_\_/O__ for (i = 0; i 4; i++, pEntry++) { if (partitionsToIgnore (1 i) || scan_type == SCAN_PRIMARYBOOT !pEntry-Bootable || !IsFATPartition(pEntry-FileSystem)) continue; sprintf(partitionName, partition %s:%d (ID %02x), ---^ extendedPartNo ? Ext : Pri, extendedPartNo ? extendedPartNo : i + 1, pEntry-FileSystem); /* sanity checks, that partition structure is OK */ if (pEntry-NumSect == 0) { printf(Not using %s with 0 sectors\n, partitionName); continue; } startSector += pEntry-RelSect; LBA_to_CHS(chs, startSector, driveParam); LBA_to_CHS(end, startSector + pEntry-NumSect - 1, driveParam); ^^^ /* For LBA partitions above 1023 cylinder only NumSect field is used: into 10-bit field for cylinder in partition entry usually placed low 10-bit of real value or some fake value (like 1022 or 1023). Thus, we skip CHS validness check for LBA partitions, even if they completely lie below 1024 cylinder. */ if (!IsLBAPartition(pEntry-FileSystem)) { warning_suspect(partitionName, chs, pEntry-Begin); warning_suspect(partitionName, end, pEntry-End); } if (chs.Cylinder 1023 || end.Cylinder 1023) { [...] DosDefinePartition(driveParam, startSector, pEntry, extendedPartNo, i); --^^^ _ O/~\ /~\O --- This SF.Net email is sponsored by: IntelliVIEW -- Interactive Reporting Tool for open source databases. Create
[Freedos-kernel] Re: [Freedos-cvs] kernel/kernel initdisk.c,1.33.2.3,1.33.2.4 inthndlr.c,1.87.2.16,1.87.2.17
Hi! 30--2005 19:32 [EMAIL PROTECTED] (Kenneth Davis) wrote to [EMAIL PROTECTED]: KD +++ initdisk.c 30 Jan 2005 19:32:08 - 1.33.2.4 KD + if (pEntry-NumSect = 0x) if (hiword (pEntry-NumSect) == 0) /* 16-bit value? */ KD +pddt-ddt_defbpb.bpb_nsize = loword (pEntry-NumSect); --- This SF.Net email is sponsored by: IntelliVIEW -- Interactive Reporting Tool for open source databases. Create drag--drop reports. Save time by over 75%! Publish reports on the web. Export to DOC, XLS, RTF, etc. Download a FREE copy at http://www.intelliview.com/go/osdn_nl ___ Freedos-kernel mailing list Freedos-kernel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-kernel
[Freedos-kernel] Re: [Freedos-cvs] kernel defaults.bat,1.1.2.7,1.1.2.8
Hi! 30--2005 19:32 [EMAIL PROTECTED] (Kenneth Davis) wrote to [EMAIL PROTECTED]: some of Arkady's suggestions (simplify logic), add comments +++ defaults.bat 30 Jan 2005 19:32:08 - 1.1.2.8 +if %COMPILER%-%OS% == WATCOM-Windows_NT set BINPATH=%BASE%\binnt +if %COMPILER%%LIB% == MSC set LIB=%MSC_BASE%\lib Into second line I recommend also add the separator (for example, dash, but not space), as in first line. :) --- This SF.Net email is sponsored by: IntelliVIEW -- Interactive Reporting Tool for open source databases. Create drag--drop reports. Save time by over 75%! Publish reports on the web. Export to DOC, XLS, RTF, etc. Download a FREE copy at http://www.intelliview.com/go/osdn_nl ___ Freedos-kernel mailing list Freedos-kernel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-kernel
[Freedos-kernel] Re: [Freedos-cvs] kernel/kernel dosfns.c,1.70.2.2,1.70.2.3 dyninit.c,1.8.2.2,1.8.2.3 fatdir.c,1.47.2.2,1.47.2.3 fatfs.c,1.70.2.4,1.70.2.5 globals.h,1.45.2.2,1.45.2.3 inithma.c,1.28.2.1,1.28.2.2 irqstack.asm,1.6,1.6.2.1 main.c,1.81.2.9,1.81.2.10 prf.c,1.31.2.2,1.31.2.3
Hi! 29--2005 20:33 [EMAIL PROTECTED] (Kenneth Davis) wrote to [EMAIL PROTECTED]: KD new debug macros, simplify selective debug output KD --- NEW FILE: debug.h --- KD #ifdef DEBUG KD #define DebugPrintf(x) printf x +#define DEBUG_NEED_PRINTF KD #else KD #define DebugPrintf(x) KD #endif [...] KD #ifdef DEBUGCFG KD #define CfgDbgPrintf(x) printf x +#define DEBUG_NEED_PRINTF KD #else KD #define CfgDbgPrintf(x) KD #endif [...] KD /* just to be sure printf is declared */ KD #if defined(DEBUG) || defined(DEBUGIRQ) || defined(DEBUGCFG) || \ KD defined(DEBUGDOSFNS) || defined(CHDIR_DEBUG) || defined(FIND_DEBUG) || \ KD defined(DEBUGFATDIR) || defined(DEBUGFATFS) KD #ifndef DEBUG_NEED_PRINTF KD #define DEBUG_NEED_PRINTF KD void printf(const char *, ...); KD #endif KD #endif Remove these lines. About declaration see below: KD just comments and additional debug messages, updated history (little KD +++ fatdir.c29 Jan 2005 20:33:10 - 1.47.2.3 KD #include portab.h KD #include globals.h KD +#include debug.h Note: proto.h (called in globals.h) already tries to declare printf(), if defined DEBUG. And you also try to declare printf() in debug.h. I think, debug.h (without declaring printf()) should be included before (or inside) globals.h, and proto.h should checl DEBUG_NEED_PRINTF instead DEBUG. KD +++ fatfs.c 29 Jan 2005 20:33:11 - 1.70.2.5 KD +FatFSDbgPrintf((dos_open: splitpath(\%s\, \%11s\) failed.\n, KD @@ -330,7 +339,7 @@ KD #ifdef DEBUG ^ DEBUGFATFS? KD @@ -1817,18 +1830,18 @@ KD + DebugPrintf((get_near_f_node: fnp is %p\n, fnp)); KDif (fnp-f_count (++fnp)-f_count) KD panic(more than two near fnodes requested at the same time!\n); KDfnp-f_count++; KD + DebugPrintf((got near fnode, fnp-f_count=%i\n, fnp-f_count)); Also FatFSDbgPrintf()? BTW, I think, better to _not_ abbriviate Debug as Dbg (ie., above should be FatFSDebugPrintf()), because easier to search only DebugPrintf, not both DebugPrintf and DbgPrintf. --- This SF.Net email is sponsored by: IntelliVIEW -- Interactive Reporting Tool for open source databases. Create drag--drop reports. Save time by over 75%! Publish reports on the web. Export to DOC, XLS, RTF, etc. Download a FREE copy at http://www.intelliview.com/go/osdn_nl ___ Freedos-kernel mailing list Freedos-kernel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-kernel
Re: [Freedos-kernel] Re: [Freedos-cvs] kernel/kernel task.c,1.44.2.4,1.44.2.5
Hi! 19--2005 15:06 [EMAIL PROTECTED] (Kenneth J. Davis) wrote to freedos-kernel@lists.sourceforge.net: +++ task.c17 Jan 2005 18:34:10 - 1.44.2.5 -#if DEBUG +#ifdef DEBUG Fix: #if TST+0 ---^^ KJD I'm confused. KJD How does #ifdef DEBUG (the new code) Oops... :( Sorry, I'm dubiously blind man - I visually entangle/miss + and - characters in your update. :( KJD On a tangential [only slightly related] note, for debug code I want in KJD the source but KJD almost never compiled (something that helped track down a specific KJD issue, but generally not needed for a debug build), should I used KJD #ifdef DDEBUG ... #endif KJD or simply KJD #if 0 ... #endif KJD or KJD #ifdef ?? suggestions ?? ... #endif I think, for (most) specific-purposed debug fragments, better to use general-purpose #if 0 - usually, when you debug some fragment, you not need to see other cross-kernel debug messages. The more so, I don't think that you need to devise name for conditional compilation guard - debugging of specific fragments is rare thing, and in this case you may manually (temporarily!) edit source (0 - 1), instead manually editing your config.bat (but don't forget to re_build_ the kernel after/if you restore original source file with older date). After all, I think, DEBUG name is useful for places, where is perofmed output of general-purpose and user-friendly information. And such places should be small amount, else profit of debugging output (which can't be redirected to separate device with permanent memory!) will be losted in big amount of garbage. --- This SF.Net email is sponsored by: IntelliVIEW -- Interactive Reporting Tool for open source databases. Create drag--drop reports. Save time by over 75%! Publish reports on the web. Export to DOC, XLS, RTF, etc. Download a FREE copy at http://www.intelliview.com/go/osdn_nl ___ Freedos-kernel mailing list Freedos-kernel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-kernel
[Freedos-kernel] Re: [Freedos-cvs] kernel/kernel task.c,1.44.2.4,1.44.2.5
Hi! 17--2005 18:34 [EMAIL PROTECTED] (Kenneth Davis) wrote to [EMAIL PROTECTED]: tc debug build fix +++ task.c17 Jan 2005 18:34:10 - 1.44.2.5 -#if DEBUG +#ifdef DEBUG __O\_/_\_/O__ #if TST # error 1 #endif _ O/~\ /~\O __O\_/_\_/O__ bcc -c -DTST tst.cpp Borland C++ Version 3.1 Copyright (c) 1992 Borland International Error t.cpp 1: Expression syntax Fatal t.cpp 2: Error directive: 1 *** 2 errors in Compile *** _ O/~\ /~\O Fix: #if TST+0 ---^^ PS: I don't understand, what the trouble was with debugging? Old code was includes conditional part when DEBUG is defined, new code includes code only when DEBUG is defined AND not zero. Ie. -DDEBUG now not enough to include those conditional part. --- The SF.Net email is sponsored by: Beat the post-holiday blues Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek. It's fun and FREE -- well, almosthttp://www.thinkgeek.com/sfshirt ___ Freedos-kernel mailing list Freedos-kernel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-kernel
Re: [Freedos-kernel] Re: Re: [Freedos-cvs] kernel/kernel
Hi! 6--2005 23:47 [EMAIL PROTECTED] (Peter Fedorow) wrote to freedos-kernel@lists.sourceforge.net: OmmitIfOptimizeSize break (); Very hard to justify such macros, then you may as well use a comment, the potentially nasty fallthrough would still be there in the embedded case. PF A macro will allow all such cases to be turned on and off at once. This There is no noticeable gain (in resulting code size) and no enhancement of source, so such places better to optimize at all and just comment tricky places (for example, where reused `break' from following `case' branch). PF A more accurate name for the macro would probably be PF OmmitIfOptimizeSizeExtreme, but I think that might be getting PF rediculously long. Perhaps someone has a better name for it? Again: better to not bother with _such_ ways, just optimize. And comment tricky places. IMHO if you really want to save space for embedded stuff you should selectively remove features (e.g. FAT12 or FAT32, LBA, FCB stuff, whatever). Those in the business hopefully make money of their embedded stuff, and they are free to make such modifications; they should not prey to the kernel developers to do it. PF Are embedded developers welcome to send in clean patches to selectively PF remove those items? To remove - no. To send patches, which _adds_ possibility of conditional compilation (with removing some unneeded parts) - yes. --- The SF.Net email is sponsored by: Beat the post-holiday blues Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek. It's fun and FREE -- well, almosthttp://www.thinkgeek.com/sfshirt ___ Freedos-kernel mailing list Freedos-kernel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-kernel
[Freedos-kernel] Re: [Freedos-cvs] kernel/kernel dsk.c,1.44.2.2,1.44.2.3 initdisk.c,1.33.2.1,1.33.2.2
Hi! 9--2005 11:25 [EMAIL PROTECTED] (Kenneth Davis) wrote to [EMAIL PROTECTED]: fix bug 1789 and add some extra debug prints +++ initdisk.c9 Jan 2005 11:25:44 - 1.33.2.2 if (pEntry-NumSect 0x) + { +pddt-ddt_defbpb.bpb_nsize = 0; pddt-ddt_defbpb.bpb_huge = pEntry-NumSect; + } else + { pddt-ddt_defbpb.bpb_nsize = (UWORD) (pEntry-NumSect); +pddt-ddt_defbpb.bpb_huge = 0; + } Small optimization :) and readability change: pddt-ddt_defbpb.bpb_nsize = 0; pddt-ddt_defbpb.bpb_huge = pEntry-NumSect; if (hiword (pEntry-NumSect) == 0) { pddt-ddt_defbpb.bpb_nsize = loword (pEntry-NumSect); pddt-ddt_defbpb.bpb_huge = 0; } Last assignment (bpb_huge = 0) also may be optimized (because hiword is already zero), but this (3-5 bytes reducing) hurts readability. --- The SF.Net email is sponsored by: Beat the post-holiday blues Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek. It's fun and FREE -- well, almosthttp://www.thinkgeek.com/sfshirt ___ Freedos-kernel mailing list Freedos-kernel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-kernel
Re: [Freedos-kernel] Ways to improve the kernel (was: inthndlr...) f_nodes...
Hi! 6--2005 15:11 [EMAIL PROTECTED] (Eric Auer) wrote to freedos-kernel@lists.sourceforge.net: EA If you REALLY want to change the FreeDOS kernel in an impressive way, EA then remove that far f_nodes. This will improve compatibility, size, EA and (maybe not at once, but it still) stability. This (improvement) is just suggestion, no one yet measure real gain (or lost). IMHO if you really want to save space for embedded stuff you should selectively remove features (e.g. FAT12 or FAT32, LBA, FCB stuff, whatever). EA Other examples, partially inspired by Tyler: Simplify config sys parsing, How? EA remove most of the country support, This code is very spread, including access through indirect calls. EA maybe in some cases even UMB or HMA handling. By removing HMA handling, you lost in low memory size. Removing UMB handling gives not too much (main code is in transient part and some code inside memmgr.c). --- The SF.Net email is sponsored by: Beat the post-holiday blues Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek. It's fun and FREE -- well, almosthttp://www.thinkgeek.com/sfshirt ___ Freedos-kernel mailing list Freedos-kernel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-kernel
Re: [Freedos-kernel] What is what?
Hi! 11--2005 12:19 [EMAIL PROTECTED] (Pat Villani) wrote to freedos-kernel@lists.sourceforge.net: PV With all the unstable versions and private branches going around, 1. official 2035. 2. tom's stable fork (not very known). 3. Mine/Lucho unstable fork. 4. Kenneth tree, which is compomise between 2035 and (3) (development?). PV what is the official kernel? 2035. --- The SF.Net email is sponsored by: Beat the post-holiday blues Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek. It's fun and FREE -- well, almosthttp://www.thinkgeek.com/sfshirt ___ Freedos-kernel mailing list Freedos-kernel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-kernel
[Freedos-kernel] Re: [Freedos-cvs] kernel/kernel main.c,1.81.2.7,1.81.2.8
Hi! 9--2005 20:36 [EMAIL PROTECTED] (Luchezar Georgiev) wrote to [EMAIL PROTECTED]: Possible bugfix for Grub +++ main.c9 Jan 2005 20:36:21 - 1.81.2.8 + init_PSPSet(DOS_PSP); set_DTA(MK_FP(DOS_PSP, 0x80)); PSPInit(); - init_PSPSet(DOS_PSP); No, this shouldn't fix/change anything, because only PSPinit() initializes PSP area, other calls (set_DTA() and init_PSPSet()) just sets DOS variables (through INT21 calls), which points to PSP. --- The SF.Net email is sponsored by: Beat the post-holiday blues Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek. It's fun and FREE -- well, almosthttp://www.thinkgeek.com/sfshirt ___ Freedos-kernel mailing list Freedos-kernel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-kernel
[Freedos-kernel] Re: [Freedos-cvs] kernel/kernel entry.asm,1.27.2.1,1.27.2.2
Hi! 4--2005 19:05 [EMAIL PROTECTED] (Luchezar Georgiev) wrote to [EMAIL PROTECTED]: Fix divide error message text +++ entry.asm 4 Jan 2005 19:05:08 - 1.27.2.2 -; print a message 'Interrupt divide by zero' +; print a message 'Interrupt divide error' This is not fix, this is change - though division by zero interrupt INT0 hapens not only in case of real division by zero, but this (Divide by Zero) is a standard name. On the other side, Interrupt divide error I read as error in dividing the interrupt, so, if you wish to give more meaningful name, there should be something like Interrupt: division error. --- The SF.Net email is sponsored by: Beat the post-holiday blues Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek. It's fun and FREE -- well, almosthttp://www.thinkgeek.com/sfshirt ___ Freedos-kernel mailing list Freedos-kernel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-kernel
[Freedos-kernel] Re: [Freedos-cvs] kernel build.bat,1.14.2.6,1.14.2.7 buildall.bat,1.6.2.2,1.6.2.3 config.b,1.12.2.3,1.12.2.4 defaults.bat,1.1.2.5,1.1.2.6
Hi! 31--2004 21:37 [EMAIL PROTECTED] (Kenneth Davis) wrote to [EMAIL PROTECTED]: use NT OW binaries on NT, add access to more options from build cmd line +++ defaults.bat 31 Dec 2004 21:37:51 - 1.1.2.6 +set BINPATH=%BASE%\bin +if %COMPILER% == TC set BINPATH=%BASE% +if %COMPILER% == WATCOM set BINPATH=%BASE%\binw +if %COMPILER% == WATCOM if %OS% == Windows_NT set BINPATH=%BASE%\binnt + +echo Path to compiler programs (binaries) is %BINPATH% if not %BINPATH% == goto skip_binpath ^^ set binpath=%BASE%\bin if %COMPILER% == TC set BINPATH=%BASE% if %COMPILER% == WATCOM set BINPATH=%BASE%\binw if %COMPILER%%OS% == WATCOMWindows_NT set BINPATH=%BASE%\binnt -^^ echo Path to compiler programs (binaries) is %BINPATH% :skip_binpath +:- MSC searches libraries only through LIB variable. +if %COMPILER% == MSC set LIB=%MSC_BASE%\lib if %COMPILER%%LIB% == MSC set LIB=%MSC_BASE%\lib -^ +set XCPU_EX= +++ build.bat 31 Dec 2004 21:37:51 - 1.14.2.7 +echo :--- This ECHO shows line with quotes. if %1 == 386 set XCPU=386 +if %1 == x86 goto setCPU This option doesn't shown in help screen. cd ..\sys call %MAKE% all if errorlevel 1 goto abort-cd +if NOT %XUPX% == %XUPX% ..\bin\sys.com Isn't better to place XUPX call inside sys\makefile, like in kernel\makefile? --- The SF.Net email is sponsored by: Beat the post-holiday blues Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek. It's fun and FREE -- well, almosthttp://www.thinkgeek.com/sfshirt ___ Freedos-kernel mailing list Freedos-kernel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-kernel
Re: [Freedos-kernel] Re: Re: [Freedos-cvs] kernel/kernel inthndlr.c,1.87.2.12,1.87.2.13
Hi! 5--2005 22:59 [EMAIL PROTECTED] (tom ehlert) wrote to Eric Auer freedos-kernel@lists.sourceforge.net: te and while I agree completely with what he wrote, IMO he slightly te missed the point (and you -eric- miss it completely) The whole point is that if you remove the break; completely, then somebody who later reads or changes the code might be mislead into thinking that the code SHOULD fall through ... Eric correctly repeat my point, as I try to express it. (Of course, there may be raised other issues about shared programming effort, but I begun thread with only specific reason of readability, which was affected by patch.) --- The SF.Net email is sponsored by: Beat the post-holiday blues Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek. It's fun and FREE -- well, almosthttp://www.thinkgeek.com/sfshirt ___ Freedos-kernel mailing list Freedos-kernel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-kernel
Re: [Freedos-kernel] Re: [Freedos-cvs] kernel/kernel inthndlr.c,1.87.2.12,1.87.2.13
Hi! 5--2005 08:30 [EMAIL PROTECTED] (Pat Villani) wrote to freedos-kernel@lists.sourceforge.net: +++ inthndlr.c31 Dec 2004 12:46:21 - 1.87.2.13 return_user(); - break; I think, for readability purposes (to make understanding by new developers easier) `break' should be remained as comment. Something like: /* return_user() never returns, so break not need */ PV That's really bad practice. The reason that it's there is so if, by PV reason of a bug or hardware failure of any sort, return_user() does PV really return, you will have bug that will be a nightmare to find. No, I say not this (that `break' should be present): I say, that new kernel developer may not know (yet) that return_user() never returns, so [s]he may wonder, why there is no `break' and why this is not a bug. So, commenting this trick may ease the understanding of this code. PV For the savings of less than 10 bytes, it's not worth the risk. BTW, `break' here really (may) save some bytes, because tails merging. --- The SF.Net email is sponsored by: Beat the post-holiday blues Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek. It's fun and FREE -- well, almosthttp://www.thinkgeek.com/sfshirt ___ Freedos-kernel mailing list Freedos-kernel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-kernel
Re: [Freedos-kernel] Re: [Freedos-cvs] kernel/kernel inthndlr.c,1.87.2.12,1.87.2.13
Hi! 5--2005 09:19 [EMAIL PROTECTED] (Pat Villani) wrote to freedos-kernel@lists.sourceforge.net: PV The - in the diff says that the break is removed entirely. Did you PV actually mean this, given your reply? Yes. Break is removed, but later some new developer may wonder, why there are no `break'?. So, I suggest, better to remain `break' in place, or replace it by consequent comment (like there is commented other `break' missings - see /* fall through */ comments). Of course, advanced developer later spends his time and teaches itself, that return_user() is never returns, but before this he will be in trouble. PV I think you do save 2 or 3 bytes per break, depending on the compiler. `Break' is a jump, so removing `break' may reduce code, but if there are similar tails above removed `break's, then you (may) lost in size, because those tail now can't be joined (at least, if you can't instruct compiler, that last function call never returns). PV However, I can relate to you an amusing experience. At one time, I did PV some consulting for Bell Labs. A few years after I left, ATT had a PV major network failure in the northeast US. A friend who was still with PV ATT told me that the failure was the result of a hardware problem that PV took the code into an untested branch of code. It was a function call PV inside a case that should have never returned and had no break at the PV end. The code fell into the next case and the system fell like a set PV dominoes. :) We can't protect from such hardware failures (when executed random pieces of code). :( PV I'm not maintaining the kernel, so just my $0.02 -- which is worth less PV in Euros ;-) --- The SF.Net email is sponsored by: Beat the post-holiday blues Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek. It's fun and FREE -- well, almosthttp://www.thinkgeek.com/sfshirt ___ Freedos-kernel mailing list Freedos-kernel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-kernel
[Freedos-kernel] Re: [Freedos-cvs] kernel/kernel inthndlr.c,1.87.2.12,1.87.2.13
! 31--2004 12:46 [EMAIL PROTECTED] (Luchezar Georgiev) wrote to [EMAIL PROTECTED]: +++ inthndlr.c31 Dec 2004 12:46:21 - 1.87.2.13 @@ -752,7 +752,6 @@ return_user(); - break; @@ -1025,7 +1027,6 @@ return_user(); - break; I think, for readability purposes (to make understanding by new developers easier) `break' should be remained as comment. Something like: /* return_user() never returns, so break not need */ --- The SF.Net email is sponsored by: Beat the post-holiday blues Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek. It's fun and FREE -- well, almosthttp://www.thinkgeek.com/sfshirt ___ Freedos-kernel mailing list Freedos-kernel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-kernel
Re: [Freedos-kernel] Re: [Freedos-cvs] kernel/kernel config.c,1.89.2.10,1.89.2.11 inthndlr.c,1.87.2.10,1.87.2.11
Hi! 30--2004 00:35 Arkady V.Belousov wrote to freedos-kernel@lists.sourceforge.net: Remove hack in Int 21h AH=38h, revert bad change in _CmdInstall +++ inthndlr.c29 Dec 2004 19:27:31 - 1.87.2.11 - rc = DosGetCountryInformation(cntry, FP_DS_DX); - if (rc = SUCCESS) - { -/* HACK FIXME */ ^ Note: keyword here not hack, but fixme. Code below should return correct current code in AX and BX instead built-in 1... -if (cntry == (UWORD) - 1) - cntry = 1; -/* END OF HACK */ -lr.AX = lr.BX = cntry; - } + rc = DosGetCountryInformation(lr.BX ? lr.BX : NLS_DEFAULT, FP_DS_DX); } ...but: AVB Bug: INT 21/38 should return country code in AX and BX when CF=0, even AVB if initially there was AL=0 or AL=-1. New code returns wrong value when AVB AL=0 or -1 - in this case there will _not_ returned requred country code. --- SF email is sponsored by - The IT Product Guide Read honest candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://productguide.itmanagersjournal.com/ ___ Freedos-kernel mailing list Freedos-kernel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-kernel
Re: [Freedos-kernel] Re: [Freedos-cvs] kernel build.bat,1.14.2.5,1.14.2.6 defaults.bat,1.1.2.4,1.1.2.5
Hi! 23--2004 02:04 Arkady V.Belousov wrote to freedos-kernel@lists.sourceforge.net: AVB Ok. First, call presence/missing doesn't affect calls throug AVB makefile, call affects execution only througb batch files. Second, you AVB may just remove check on Close window on program exit option. ...this allows to see (last) screen output without inserting pauses at the end. BTW, why you run compilation through additional icons? AVB Third, you may redirect output of (almost) all messages into external file. AVB modifying original batch files. NDOS itself allows to redirect output of AVB batch files. ...Unfortunately, command.com doesn't allows to redirect output of batch files, but... AVB Under command.com, you may do so: AVB %comspec% /c build %1 %2 %3 %4 compile.msg --- SF email is sponsored by - The IT Product Guide Read honest candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://productguide.itmanagersjournal.com/ ___ Freedos-kernel mailing list Freedos-kernel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-kernel
[Freedos-kernel] Re: [Freedos-cvs] kernel build.bat,1.14.2.5,1.14.2.6 defaults.bat,1.1.2.4,1.1.2.5
Hi! 19--2004 19:33 [EMAIL PROTECTED] (Kenneth Davis) wrote to [EMAIL PROTECTED]: KD +++ defaults.bat19 Dec 2004 19:33:26 - 1.1.2.5 KD -if %COMPILER% == WATCOM set LINK=..\utils\wlinker /nologo KD +if %COMPILER% == WATCOM set LINK=call ..\utils\wlinker /nologo Why? KD +++ build.bat 19 Dec 2004 19:33:26 - 1.14.2.6 KD -defaults.bat clearset KD +call defaults.bat clearset Why? What wrong with calls without call (from makefile in first case and at the end of batch file in second)? --- SF email is sponsored by - The IT Product Guide Read honest candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://productguide.itmanagersjournal.com/ ___ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel
[Freedos-kernel] test, ignore this letter
test --- SF email is sponsored by - The IT Product Guide Read honest candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://productguide.itmanagersjournal.com/ ___ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel
Re: [Freedos-kernel] Re: [Freedos-cvs] kernel/utils exeflat.c,1.9.2.3,1.9.2.4
Hi! 20--2004 18:54 [EMAIL PROTECTED] (Bart Oldeman) wrote to [EMAIL PROTECTED]: Hm. I think for simplicity and safety, exeflat should itself move relocation table from executable's header inside executable itself, so that it may be reused by MoveKernel(). This allows to eliminate manual table at kernel.asm:__HMARelocationTableStart. (Yes, I know __HMARelocationTableStart is not plain relocation table, but jump/code table, with jmps and calls to EnableA20. But table from header may be copied (after fixing) into secondary table. This allows to make code, which is more relocatable and may make cross-segments calls and accesses. This also solves issues with standard library routines, which may be used both from non-relocatable low code and from relocatable code.) BO This is not so easy. Firstly a secondary table would need extra space in BO low memory. ...unless it will be placed into transient/initial portion, which discarded from memory after startup. BO There used to be entries to strcpy et al in the table but I Yes, and then now may be reduced code duplication in asmsupt.asm (which generated both for transient and resident portion). BO removed them later because that part of the table that was useless after BO init was still resident. If you relocation table (RT) will be placed into discardable portion, then it will not still resident, And see the difference: RT is not entry points table, but table with references to places, which need correction, if they refers to relocated code. BO Secondly it would be quite a bit of effort for very little gain. 1. This gives safety (not need to worry about references from initialization part to relocatable resident part; of course, reference from resident portion to transient portion shold be worried). 2. This allows to reduce code (no duplication of same functions, like strcpy). BO Also think about it: we don't know in advance how big BO the table will be, it's hard to insert something of arbitrary size in BO kernel.sys. Of course, I think about this. But, because this table (should be) placed into transient portion, why not _allocate_ oversized table (say, 100-200 items)? Especially, because unused entries will be zero, they will be very well packed by UPX? I see there only one issue: how to reliably find in exeflat, where those place (for RT) resides in executable. BO And then, where's the simplicity? Of course, initial efforts to implement are not very easy, but gain is noticeable. For example, with such relocation you will never encounter troubles, like was issued with RTL-multiplcation functions from OW. The more so, now they may be moved from low/nonrelocatable part (in kernel.asm) into resident part! (Do you remember, how I was try to move Borland's RTL functions into resident part and forget about relocations?) PS: Bart, some time ago you decrease kernel by reordering object files. May you explain what was changed and how you find this? BO Just reordered by placing more or less similar files close together (asm BO close to asm, c close to c); that decreased entropy so compression BO improved. Only compression? I remeber something about reduced executable size, but without words about compression. --- This SF.Net email is sponsored by: InterSystems CACHE FREE OODBMS DOWNLOAD - A multidimensional database that combines robust object and relational technologies, making it a perfect match for Java, C++,COM, XML, ODBC and JDBC. www.intersystems.com/match8 ___ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel
Re: [Freedos-kernel] Re: [Freedos-cvs] kernel/utils exeflat.c,1.9.2.3,1.9.2.4
Hi! 18--2004 21:21 [EMAIL PROTECTED] (Bart Oldeman) wrote to [EMAIL PROTECTED]: Small optimization: because BC doesn't knows, that exit() doesn't BO I don't think optimizing exeflat.exe's size is very important though ;) Sure. :) But why not make more optimal code from scratch in any case, without thinking will this code often used? LG + qsort(reloc, header.exRelocItems, sizeof(reloc[0]), compReloc); Why to spend extra time for sorting relocations? BO I think it's easier to read the output that way. Tom's idea. BO Does qsort() really take a long time for you in exeflat? I find that hard BO to believe, for just ~70 relocations. Of course, qsort() if very fast algo (except some specific cases, when it is O(N^2)), but why to do _any_ extra action, when unnecessary? :) Especially, I suggest, (most) linkers do own sorting anyway? Ok, ok, above questions are not critical and mostly rhetorical. LG +for (j = 0; j silentcount; j++) Never understand this option. (Though, don't try to study its meaning deeper). The more so, me always annoying tons of some information about some relocations, which garbaes output after exeflat. BO use a larger backscroll buffer. Anyway, seriously: BO The -S0x10 -S0x8B is outdated. 0x10 corresponds to segment 0x70 (device BO drivers etc) and 0x8B to the DOS data segment at 0xEB. However over the BO years some things were made smaller and the DOS data segment seems to be BO at 0xCF or 0xD0 depending on compilation options now. ...and different kernel branches. :) BO -S0x10 -S0x6F -S0x70 BO will catch relocations from these segments. The idea to silence these is BO that these relocations are harmless because these segments don't move. BO Relocations to other segments may be bugs. With the above options you Ok, I see. Thank you for exaplanation. BO should get something like BO relocation at 0x:0x0021 -01d6 (far jmp to init code in kernel.asm) BO relocation at 0x01d6:0x9f2d -0f2f (seg init_tos in kernel.asm) BO relocation at 0x01d6:0xa19c - (LowKernelConfig, main.c) BO relocation at 0x01d6:0xc21c -01d6 (MoveKernel, FP_SEG(_HMATextEnd, inithma.c) BO I checked them and these relocations are all fine. But if a fifth shows up BO unexpectedly we may have a bug. Hm. I think for simplicity and safety, exeflat should itself move relocation table from executable's header inside executable itself, so that it may be reused by MoveKernel(). This allows to eliminate manual table at kernel.asm:__HMARelocationTableStart. (Yes, I know __HMARelocationTableStart is not plain relocation table, but jump/code table, with jmps and calls to EnableA20. But table from header may be copied (after fixing) into secondary table. This allows to make code, which is more relocatable and may make cross-segments calls and accesses. This also solves issues with standard library routines, which may be used both from non-relocatable low code and from relocatable code.) BO --- BO UPXOPT seems indeed unnecessary now. Sure. :) PS: Bart, some time ago you decrease kernel by reordering object files. May you explain what was changed and how you find this? --- This SF.Net email is sponsored by: InterSystems CACHE FREE OODBMS DOWNLOAD - A multidimensional database that combines robust object and relational technologies, making it a perfect match for Java, C++,COM, XML, ODBC and JDBC. www.intersystems.com/match8 ___ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel
Re: [Freedos-kernel] Re: [Freedos-cvs] kernel/utils exeflat.c,1.9.2.3,1.9.2.4
Hi! 18--2004 11:24 [EMAIL PROTECTED] (tom ehlert) wrote to Arkady V.Belousov [EMAIL PROTECTED]: te And why not leave *existing* code as is - without wasting mental and te ethernet bandwidth on it ? This is not (yet) existing, this is _new_ code. Especially, I suggest, (most) linkers do own sorting anyway? te I call people who 'suggest' somethintg that is plain wrong (and they could te have seen that themself) idiots. Sometime I study executables, and seen tables was sorted. (Probably, this was caused by applied exepackers, I not remember such details, but they _was_ sorted). --- This SF.Net email is sponsored by: InterSystems CACHE FREE OODBMS DOWNLOAD - A multidimensional database that combines robust object and relational technologies, making it a perfect match for Java, C++,COM, XML, ODBC and JDBC. www.intersystems.com/match8 ___ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel
[Freedos-kernel] Re: [Freedos-cvs] kernel/utils exeflat.c,1.9.2.4,1.9.2.5
Hi! 18--2004 11:20 [EMAIL PROTECTED] (Luchezar Georgiev) wrote to [EMAIL PROTECTED]: LG (Arkady) Remove -U option as Bart's new EXFLAT now uses XUPX variable directly LG +++ exeflat.c 18 Nov 2004 11:20:04 - 1.9.2.5 LG + upx = getenv(XUPX); LG + compress_sys_file = exeflat((int)upx, argv[1], argv[2], argv[3], LGsilentSegments, silentcount); LG + if (upx == NULL) I think, exeflat (upx != NULL,... should be better - at least, in sense of readability. Also, into config.b should be added comment about usage of XUPX in exeflat.c. --- This SF.Net email is sponsored by: InterSystems CACHE FREE OODBMS DOWNLOAD - A multidimensional database that combines robust object and relational technologies, making it a perfect match for Java, C++,COM, XML, ODBC and JDBC. www.intersystems.com/match8 ___ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel
[Freedos-kernel] Re: [Freedos-cvs] kernel/kernel makefile,1.19.2.4,1.19.2.5
Hi! 18--2004 11:20 [EMAIL PROTECTED] (Luchezar Georgiev) wrote to [EMAIL PROTECTED]: LG +++ makefile18 Nov 2004 11:20:03 - 1.19.2.5 LG + ..\utils\exeflat kernel.exe $*.sys $(LOADSEG) -S0x10 -S0x8B -^^ As explained by Bart, this value should be changed to reflect real (current) position of FD data segment. --- This SF.Net email is sponsored by: InterSystems CACHE FREE OODBMS DOWNLOAD - A multidimensional database that combines robust object and relational technologies, making it a perfect match for Java, C++,COM, XML, ODBC and JDBC. www.intersystems.com/match8 ___ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel
[Freedos-kernel] Re: [Freedos-cvs] kernel build.bat,1.14.2.4,1.14.2.5 buildall.bat,1.6.2.1,1.6.2.2 clean.bat,1.10.2.1,1.10.2.2 clobber.bat,1.11.2.1,1.11.2.2 config.b,1.12.2.2,1.12.2.3 defaults.bat,1.1.2.3,1.1.2.4 filelist,1.9.2.5,1.9.2.6 makefile,1.2,1.2.2.1
Hi! 18--2004 11:16 [EMAIL PROTECTED] (Luchezar Georgiev) wrote to [EMAIL PROTECTED]: LG Modified Files: LG Tag: UNSTABLE LG build.bat buildall.bat clean.bat clobber.bat config.b LG defaults.bat filelist makefile LG Log Message: LG sg This letter looks like bug somewhere (because garbage after Log). --- This SF.Net email is sponsored by: InterSystems CACHE FREE OODBMS DOWNLOAD - A multidimensional database that combines robust object and relational technologies, making it a perfect match for Java, C++,COM, XML, ODBC and JDBC. www.intersystems.com/match8 ___ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel
[Freedos-kernel] Re: [Freedos-cvs] kernel/hdr portab.h,1.31.2.3,1.31.2.4
Hi! 18--2004 11:20 [EMAIL PROTECTED] (Luchezar Georgiev) wrote to [EMAIL PROTECTED]: LG Suppress TC++ 1.01 warnings (BC++ 3/4/5 not affected!) and MSC LIB prompt LG +++ portab.h18 Nov 2004 11:20:03 - 1.31.2.4 LG @@ -66,6 +66,14 @@ LG +#if __TURBOC__ 0x400 /* targeted to TC++ 1.0 which is 0x297 (3.1 is 0x410) */ LG +#pragma warn -pia /* possibly incorrect assignment */ LG +#pragma warn -sus /* suspicious pointer conversion */ LG +/* LG + * NOTE: The above enable TC++ to build the kernel, but it's not recommended LG + * for development. Use [Open]Watcom (the best!) or newer Borland compilers! LG + */ LG +#endif May I ask which places cause warnings, which are turned off here (I don't have TCPP1 to check this)? May be better to fix (for example, by adding castings) those places instead turning off warnings at all? --- This SF.Net email is sponsored by: InterSystems CACHE FREE OODBMS DOWNLOAD - A multidimensional database that combines robust object and relational technologies, making it a perfect match for Java, C++,COM, XML, ODBC and JDBC. www.intersystems.com/match8 ___ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel
[Freedos-kernel] Re: [Freedos-cvs] kernel/sys sys.c,1.41.2.7,1.41.2.8
Hi! 17--2004 18:01 [EMAIL PROTECTED] (Luchezar Georgiev) wrote to [EMAIL PROTECTED]: LG Bart enhanced EXEFLAT for smaller packed binary; now calls UPX itself LG +++ sys.c 17 Nov 2004 18:01:53 - 1.41.2.8 LG -#define MSDOS MSDOS.SYS LG +#define MS_DOS MSDOS.SYS LG - if (altkern == MS_OEMKERN) dosfn = MSDOS; LG + if (altkern == MS_OEMKERN) dosfn = MS_DOS; Hm. How this relates to exeflat/UPX and which rationale for patch? Subject of taste? --- This SF.Net email is sponsored by: InterSystems CACHE FREE OODBMS DOWNLOAD - A multidimensional database that combines robust object and relational technologies, making it a perfect match for Java, C++,COM, XML, ODBC and JDBC. www.intersystems.com/match8 ___ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel
[Freedos-kernel] Re: [Freedos-cvs] kernel/kernel makefile,1.19.2.3,1.19.2.4
Hi! 17--2004 18:01 [EMAIL PROTECTED] (Luchezar Georgiev) wrote to [EMAIL PROTECTED]: LG Bart enhanced EXEFLAT for smaller packed binary; now calls UPX itself LG +++ makefile17 Nov 2004 18:01:53 - 1.19.2.4 LG - $(XUPX) kernel.exe Don't forget, that XUPX variable also defined in generic.mak (if it not defined in config.bat). Also, if exeflat relies on XUPX variable itself, what to pass extra option -U to it? Just check if XUPX variable is present or not and remove all messinf with XUPX and UPXOPT in generic.mak. --- This SF.Net email is sponsored by: InterSystems CACHE FREE OODBMS DOWNLOAD - A multidimensional database that combines robust object and relational technologies, making it a perfect match for Java, C++,COM, XML, ODBC and JDBC. www.intersystems.com/match8 ___ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel
[Freedos-kernel] Re: [Freedos-cvs] kernel/utils exeflat.c,1.9.2.3,1.9.2.4
Hi! 17--2004 18:01 [EMAIL PROTECTED] (Luchezar Georgiev) wrote to [EMAIL PROTECTED]: LG +++ exeflat.c 17 Nov 2004 18:01:54 - 1.9.2.4 LG +int exeflat(int UPX, const char *srcfile, const char *dstfile, LG +const char *start, short *silentSegments, short silentcount) LG { LGif (fread(header, sizeof(header), 1, src) != 1) LG{ LG -printf(Error reading header from %s\n, argv[1]); LG +printf(Error reading header from %s\n, srcfile); LG fclose(src); LG -return 1; LG +exit(1); LG} Small optimization: because BC doesn't knows, that exit() doesn't returns, better to insert explicit return 0; after exit() or return error code through return (remaining error handling for main()). For BC, this allows to join common tails. LG + qsort(reloc, header.exRelocItems, sizeof(reloc[0]), compReloc); Why to spend extra time for sorting relocations? LG +for (j = 0; j silentcount; j++) LG + if (segment == silentSegments[j]) LG + { LG +silentdone++; LG +goto dontPrint; LG + } Never understand this option. (Though, don't try to study its meaning deeper). The more so, me always annoying tons of some information about some relocations, which garbaes output after exeflat. --- This SF.Net email is sponsored by: InterSystems CACHE FREE OODBMS DOWNLOAD - A multidimensional database that combines robust object and relational technologies, making it a perfect match for Java, C++,COM, XML, ODBC and JDBC. www.intersystems.com/match8 ___ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel
Re: [Freedos-kernel] Floppy boot config read broken in 2034/32+
Hi! 29--2004 17:36 [EMAIL PROTECTED] (tom ehlert) wrote to Eric Auer [EMAIL PROTECTED]: Hi, Steve reports that while things were fine in kernels 2030 ... 2033 (both with and without FAT32 support), kernel 2034 WITH FAT32 support and all 2035 kernels fail to read the (fd) config sys file when booting from floppy. te *ALL* kernels 2023..2035BTom boot from 1.44 floppy, and have no problem te reading config.sys, and never had. Same for all my patches. --- This SF.Net email is sponsored by: InterSystems CACHE FREE OODBMS DOWNLOAD - A multidimensional database that combines robust object and relational technologies, making it a perfect match for Java, C++,COM, XML, ODBC and JDBC. www.intersystems.com/match8 ___ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel
Re: [Freedos-kernel] CF and HOT SWAP
Hi! 16--2004 11:13 [EMAIL PROTECTED] (Fab) wrote to [EMAIL PROTECTED]: F I'm trying to use a compact flash under FreeDos as removable media. F The problem is that the compact flash *must* be present into the card reader F (interfaced onto the IDE bus) otherwise the BIOS POST do not recognize the F drive as hard disk and do not allow disk I/O functions to access to the card. Yes. Unfortunately, BIOS was not designed with supporting hot swap in mind. Same to DOS: for local drives (for which not used external drivers through network interface) recognizing performed only at DOS startup and can't be forced later. F I'm trying to do something that allow me to plug the card or change it at any F time. I tried to force the BIOS to recognize the card ... You can't - there is no such API. F I tried to tell to BIOS wich type of fixed disk (...) is connected modifing F the table pointer from INT46h (slave on first IDE channel)... Dangerous. F Finally, I tryed to read a sector using a direct function that read data F writing directly to the IDE controller and it run !!! Of course, because now you perform recognizing itself. F I found a function from TR-DOS that have the same parameters of the standard F INT13h function and it run well. F The problem is that we don't know the type of card inserted into the card F reader. F I will try to read the first sector and the boot sector where some F information are available but the problem will be that I must use this F function every time I need to get data from the compact flash Yes. For floppy drives, you have change line hardware and service, which allows to detect, when media was changed. For other swapping devices without such hardware detection, you should perform manual media detection and probing, for example, serial number from boot record is enoughly portable and safe method. F this means that I must write code to handle *all* !!! FAT, DIR, files. No, this (you should internally detect, when media is changed) _not_ mean, that you should also reimplement high-level file system(s) structures (especially because there may be unknown for you, new file systems). F etc etc etc both in read and write !!! F Does anyone have an idea how to inform the BIOS about the drive parameters F ?? You can't [reinform BIOS about current media parameters]. :( At least, I don't know official, portable, safe method to do this. F May this function is useful for other one the me ? F May be that this idea will be useful and available directly from FreeDOS F kernel or from a installable device driver ? --- This SF.Net email is sponsored by: InterSystems CACHE FREE OODBMS DOWNLOAD - A multidimensional database that combines robust object and relational technologies, making it a perfect match for Java, C++,COM, XML, ODBC and JDBC. www.intersystems.com/match8 ___ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel
Re: [Freedos-kernel] Linking Question
Hi! 9--2004 21:14 [EMAIL PROTECTED] (Karthigan Srinivasan) wrote to [EMAIL PROTECTED]: KS me with this question. Based on the kernel makefiles I wrote a simple C KS and asm file and tried linking them. There are no reasons to do this, because kernel memory model very specific. KS It warns that there is no stack and when I try to KS run the exe file, the dos window hangs. --- This SF.Net email is sponsored by: InterSystems CACHE FREE OODBMS DOWNLOAD - A multidimensional database that combines robust object and relational technologies, making it a perfect match for Java, C++,COM, XML, ODBC and JDBC. www.intersystems.com/match8 ___ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel
Re: [Freedos-kernel] Linking Question
Hi! 9--2004 21:14 [EMAIL PROTECTED] (Karthigan Srinivasan) wrote to [EMAIL PROTECTED]: KS me with this question. Based on the kernel makefiles I wrote a simple C KS and asm file and tried linking them. There are no reasons to do this, because kernel memory model very specific. KS It warns that there is no stack and when I try to KS run the exe file, the dos window hangs. --- This SF.Net email is sponsored by: Sybase ASE Linux Express Edition - download now for FREE LinuxWorld Reader's Choice Award Winner for best database on Linux. http://ads.osdn.com/?ad_idU88alloc_id065op=click ___ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel
Re: [Freedos-kernel] GCC Compiler
Hi! 10--2004 15:47 [EMAIL PROTECTED] (Allen D. Evans) wrote to [EMAIL PROTECTED]: ADE I enjoy frustration and would like to compile my own version of FreeDOS. ADE Does a DOS/Windows have a GCC compiler? Yes. There is a Win32 implementations of GCC and there is DOS version of GCC (DJGPP). Though, DOS version can't generate 16-bit target code, neither it support `far' keyword. ADE If so, where can I get it? AFAIR, www.delorie.com? ADE If not, what (inexpensive) options do I have. OpenWatcom. Free software and, thus, zero costs of compiler itself. --- This SF.Net email is sponsored by: Sybase ASE Linux Express Edition - download now for FREE LinuxWorld Reader's Choice Award Winner for best database on Linux. http://ads.osdn.com/?ad_idU88alloc_id065op=click ___ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel
Re: [Freedos-kernel] Fwd: FreeDOS kernel disk routines
Hi! 6--2004 16:13 [EMAIL PROTECTED] (tom ehlert) wrote to [EMAIL PROTECTED]: te From: Jose Antonio Senna te ===8==Original message text=== te Excuse me for sending this directly to you, but I am still unable to post te on Freedos lists. te I do not know who (if anyone) mantains the FreeDOS kernel disk routines. te If it is not you, please pass this mail to the appropriate person. te The problem I found is: te My computer BIOS INT 13 is able to access up to 4096 cylinders in a hard te disk, te by using bits 6 -7 of DH in INT 13 requests as bits 10-11 of cylinder te number. If so, then this is non-standard and this completely prohibits LBA (with up to 256/255 heads). te This BIOS variant is documented in Brown and Kyle interrupts list. Ralf Brown not documents such API deviation (or I miss something?). te However,FreeDOS hooks INT 13 and,in doing so,rolls over any cylinder te number modulo 1024, that is,if I make a request to access cylinder 1024,it te does not report any error,but I get cylinder 0, and so on. FreeDOS _doesn't_ hooks INT 13. See main.c:setup_int_vectors() for list of hooked vectors. te FreeDOS is not the only DOS to have this problem. May you quote code fragment, which works under other OSes (which?) and doesn't works under FD? te Is it too difficult to solve ? te ===8===End of original message text=== te my comment: te how are these disks/BIOS variants detected ? te I have a faint memory of these translating BIOS's, but can't find it te in RBIL. te IMO the kernel shouldn't touch partitions that are to big to handle (1024 cylinders), unless LBA is detected. --- This SF.Net email is sponsored by: Sybase ASE Linux Express Edition - download now for FREE LinuxWorld Reader's Choice Award Winner for best database on Linux. http://ads.osdn.com/?ad_idU88alloc_id065op=click ___ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel
Re: [Freedos-kernel] Fwd: FreeDOS kernel disk routines
Hi! 7--2004 09:24 [EMAIL PROTECTED] (Bart Oldeman) wrote to [EMAIL PROTECTED]: BO My 386 SX only had 80 MB hard disk space, which was far below the BO first problematic barrier of 1024*16*63*512=512MB 1024*16*63*512=504Mb (or 528 Mb, as this counted by disk manufacturers). --- This SF.Net email is sponsored by: Sybase ASE Linux Express Edition - download now for FREE LinuxWorld Reader's Choice Award Winner for best database on Linux. http://ads.osdn.com/?ad_idU88alloc_id065op=click ___ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel
[Freedos-kernel] Re: Your X-Comment-To: tom ehlert te@drivesnapshot.de
Hi! 7--2004 01:02 [EMAIL PROTECTED] (Jose Antonio Senna) wrote to Arkady V.Belousov [EMAIL PROTECTED]: JAS I am unable to post,but read user and devel lists. Just subscribe. :) JAS Here are some further explanations: te by using bits 6 -7 of DH in INT 13 requests as bits 10-11 of cylinder avb If so, then this is non-standard and this completely prohibits LBA avb (with up to 256/255 heads). [...] te This BIOS variant is documented in Brown and Kyle interrupts list. avb Ralf Brown not documents such API deviation (or I miss something?). JAS It does,not in DOS API,but under low-level disk I/O heading,at Of course, I also mean INT13. JAS least in the list version which copy I have. A mail to this list JAS by Bart Oldeman a few hours ago confirms it is documented. Yes, I was see this letter. Ok, there was such deviation te However,FreeDOS hooks INT 13 and,in doing so,rolls over any cylinder te number modulo 1024, that is,if I make a request to access cylinder 1024,it te does not report any error,but I get cylinder 0, and so on. avb FreeDOS _doesn't_ hooks INT 13. See main.c:setup_int_vectors() for list avb of hooked vectors. JAS I thought I did,for the vector in the Interrupt Vector Table clearly JAS points into DOS area. Ok, let clarify this. Unfortunately, neither my nor Bart's MEM shows interrupt vectors relation, so procedure slightly more complex: 1. Run my MEMA (prefered) with option(s) /DAT (without quotes) or run Bart's MEM with options /F/D/U (without quotes) and show me result. 2. In DEBUG execute d 0:0l100 ans show me results. Then get results into file (which you may insert into letter) you may use redirection. For example, make file (and call it, say, DBG.CMD) with next content: __O\_/_\_/O__ d 0:0l100 q _ O/~\ /~\O and run next commands: MEMA/DATRESULT1 DEBUGDBG.CMDRESULT2 Now you get results in files, which you may send us. JAS Maybe I did miss something, and there is some JAS installed device driver, instead, that hooks INT 13. --- This SF.Net email is sponsored by: Sybase ASE Linux Express Edition - download now for FREE LinuxWorld Reader's Choice Award Winner for best database on Linux. http://ads.osdn.com/?ad_idU88alloc_id065op=click ___ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel
[Freedos-kernel] Re: [Freedos-user] Unable to format harddisk partition after reboot
Hi! 13--2004 11:25 [EMAIL PROTECTED] (Christof Meerwald) wrote to [EMAIL PROTECTED]: CM I am unable to format a harddisk partition after a reboot (the problem CM occurrs in a Linux dosemu box and on real hardware), here is the version CM information of the FreeDOS kernel: CM FreeDOS kernel version 1.1.35w (Build 2035w-UNSTABLE, Sep 27 2004) A:\format c: /u /q CM Critical error encountered while using DOS disk driver CM DOS driver error (hex): 01 CMDescription: unknown unit for driver CM It seems that FreeDOS hasn't initialized some disk parameter block, CM because if I access the harddisk before trying to format it (i.e. dir CM c:), the format works: CM Does anyone have an idea? Yes. In last patches Lucho removes main.c:InitializeAllBPBs(), which does what you explain (initialize BPBs for utilities, which access disk directly). Probably, issue is in this removed function. Unfortunately, at given moment I don't have latest CVS kernel to try to return this function and see what happen. Kenneth, Lucho? May be someone of you? PS: Bart, tom: who was wrote comment for InitializeAllBPBs()? Can you explain, how to reproduce direct access through DE? _Probably_, there should be loaded empty environment and DE runned for browsing physical drive? --- This SF.net email is sponsored by: IT Product Guide on ITManagersJournal Use IT products in your business? Tell us what you think of them. Give us Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find out more http://productguide.itmanagersjournal.com/guidepromo.tmpl ___ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel
[Freedos-kernel] Re: [Freedos-cvs] kernel/kernel nls_hc.asm,1.4.2.2,1.4.2.3
Hi! 23--2004 13:08 [EMAIL PROTECTED] (Luchezar Georgiev) wrote to [EMAIL PROTECTED]: LG Divide hard-coded UCASE and FUCASE tables LG +++ nls_hc.asm 23 Sep 2004 13:08:23 - 1.4.2.3 Note: nls_hc.asm is inherited from nls\049-850.hc. Thus, as I understand, should be also updated all files in nls\ directory. --- This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170 Project Admins to receive an Apple iPod Mini FREE for your judgement on who ports your project to Linux PPC the best. Sponsored by IBM. Deadline: Sept. 24. Go here: http://sf.net/ppc_contest.php ___ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel
Re: [Freedos-kernel] config.c: bug?
Hi! 22--2004 11:11 Arkady V.Belousov wrote to [EMAIL PROTECTED]: AVB I may suggest next patch: Sorry, forget about undocumented COMMAND: __O\_/_\_/O__ diff -ruNp old/config.c new/config.c --- old/config.c2004-04-14 16:04:04.0 + +++ new/config.c2004-04-22 11:16:16.0 + @@ -125,6 +125,9 @@ static UBYTE ErrorAlreadyPrinted[128] BS char master_env[128] BSS_INIT({0}); static char *envp = master_env; +static char init[NAMEMAX] = command.com; +static char inittail[NAMEMAX] = /P /E:256\r\n; + struct config Config = { 0, NUMBUFF, @@ -132,8 +135,8 @@ struct config Config = { 0, NFCBS, 0, - command.com, - /P /E:256\r\n, + init, + inittail, NLAST, 0, NSTACKS, @@ -267,7 +270,6 @@ STATIC struct table commands[] = { {BREAK, 1, CfgBreak}, {BUFFERS, 1, Config_Buffers}, - {COMMAND, 1, InitPgm}, {COUNTRY, 1, Country}, {DOS, 1, Dosmem}, {DOSDATA, 1, DosData}, @@ -1237,12 +1239,6 @@ STATIC VOID InitPgmHigh(BYTE * pLine) STATIC VOID InitPgm(BYTE * pLine) { - static char init[NAMEMAX]; - static char inittail[NAMEMAX]; - - Config.cfgInit = init; - Config.cfgInitTail = inittail; - /* Get the string argument that represents the new init pgm */ pLine = GetStringArg(pLine, Config.cfgInit); _ O/~\ /~\O --- This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170 Project Admins to receive an Apple iPod Mini FREE for your judgement on who ports your project to Linux PPC the best. Sponsored by IBM. Deadline: Sept. 24. Go here: http://sf.net/ppc_contest.php ___ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel
[Freedos-kernel] Re:
Hi! 21--2004 00:47 [EMAIL PROTECTED] (Jose Antonio Senna) wrote to Arkady V.Belousov [EMAIL PROTECTED]: JAS I have been using your version of FreeDOS kernel,which I downloaded JAS from Luchezar Georgiev site. JAS So far,it behaved as well as the mainstream version.I would like to JAS report two problems,however: JAS One minor problem is that it returns an error in the line of my JAS fdconfig.sys file that sets JAS LASTDRIVE=F: JAS^ In LASTDRIVE statement you should use only letter, without following colon. Ie.: lastdrive=f JAS with the caret under the F as shown.At that time,there are actually JAS only A: to D: drives,but this should not be a problem.Anyway,it sets JAS correctly A: to F: drives. This is strange, because with wrong argument (F: instead F) statement should be ignored (my changes include rejecting any actions for statements with wrong arguments). JAS A somewhat worse problem did happen yesterday:I tried to move a file JAS from HD to floppy using FreeDOS move command: JAS move d:\pdfr\pdfs\akizcat.002 a:\ JAS (that file size was exactly the floppy size) JAS move reported a write problem in the floppy: JAS Error writing to drive A: DOS area:Data error (bad CRC) JAS (A)bort,(I)gnore,(R)etry,(F)ail ? JAS on my reply RCR,I got JAS PANIC:more than two new fnodes requested at same time! JAS System halted JAS and system really halted. JAS The floppy had a write problem,(perhaps some dust), JAS but failure to move a file,even on retry,should not crash the system. Hm. This is question for Bart Oldeman, who implements fnodes logic. Also, question to Lucho: is he includes patch from tom to kernel, which available from his site? Probably, there is problem, which mentioned by tom by tom and should be fixed by his patch (at least, here we also have Critical Error handler). --- This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170 Project Admins to receive an Apple iPod Mini FREE for your judgement on who ports your project to Linux PPC the best. Sponsored by IBM. Deadline: Sept. 24. Go here: http://sf.net/ppc_contest.php ___ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel
Re: [Freedos-kernel] Broken VERSION= in 2035 etc. - too many kernels
Hi! 18--2004 16:50 [EMAIL PROTECTED] (Eric Auer) wrote to [EMAIL PROTECTED]: EA Jeremy, please create a list of improvements / changes between 2035 EA and newest CVS kernel, and a way to download all patches separately EA (or in one big tgz/zip), along with short descriptions of them. All my patches (at least, which have seen effect, like changed MENU behavior) was described. and this list should be seen through history.txt. --- This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170 Project Admins to receive an Apple iPod Mini FREE for your judgement on who ports your project to Linux PPC the best. Sponsored by IBM. Deadline: Sept. 24. Go here: http://sf.net/ppc_contest.php ___ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel
Re: [Freedos-kernel] Broken VERSION= in 2035 etc. - too many kernels
Hi! 18--2004 20:32 [EMAIL PROTECTED] (tom ehlert) wrote to Eric Auer [EMAIL PROTECTED]: - Lucho / Arkady produced a big amount of patches which mainly contain optimizations (hopefully not too compiler specific), but also important bugfixes, te which ones ? See the subject for one fixed bug. BTW, this bugfix by itself is very easy, only two lines to change os_setver_m*or instead os_m*or. --- This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170 Project Admins to receive an Apple iPod Mini FREE for your judgement on who ports your project to Linux PPC the best. Sponsored by IBM. Deadline: Sept. 24. Go here: http://sf.net/ppc_contest.php ___ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel
Re: [Freedos-kernel] Broken VERSION= in 2035 etc. - too many kernels
Hi! 19--2004 02:34 Arkady V.Belousov wrote to [EMAIL PROTECTED]: - Lucho / Arkady produced a big amount of patches which mainly contain optimizations (hopefully not too compiler specific), but also important bugfixes, te which ones ? AVB See the subject for one fixed bug. I mean: one from many. AVB BTW, this bugfix by itself is very AVB easy, only two lines to change os_setver_m*or instead os_m*or. --- This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170 Project Admins to receive an Apple iPod Mini FREE for your judgement on who ports your project to Linux PPC the best. Sponsored by IBM. Deadline: Sept. 24. Go here: http://sf.net/ppc_contest.php ___ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel
Re: [Freedos-kernel] Re: test bootdisk
Hi! 15--2004 03:44 [EMAIL PROTECTED] (Bernd Blaauw) wrote to All: BB Bart, do you see the unnamed program, eating 48KB (probably just a BB viewing problem)? BB CTMOUSE 3,328(3K) 0(0K) 3,328(3K) BB 48,704 (48K) 0(0K) 48,704 (48K) BB Free 623,024 (608K)622,880 (608K)144(0K) Bernd, may you try: (1) MEM 1.6, (2) my MEM and (3) review complete lisintg (/F for Bart's MEM, /A in my)? --- This SF.Net email is sponsored by: thawte's Crypto Challenge Vl Crack the code and win a Sony DCRHC40 MiniDV Digital Handycam Camcorder. More prizes in the weekly Lunch Hour Challenge. Sign up NOW http://ad.doubleclick.net/clk;10740251;10262165;m ___ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel
Re: [Freedos-kernel] Re: test bootdisk
Hi! 15--2004 12:04 [EMAIL PROTECTED] (Bernd Blaauw) wrote to [EMAIL PROTECTED]: BB CTMOUSE 3,328(3K) 0(0K) 3,328(3K) BB 48,704 (48K) 0(0K) 48,704 (48K) BB Free 623,024 (608K)622,880 (608K)144(0K) Bernd, may you try: (1) MEM 1.6, (2) my MEM and (3) review complete lisintg (/F for Bart's MEM, /A in my)? BB I'll do that. Problem probably is in KEYB not loading completely successfull. ? --- This SF.Net email is sponsored by: thawte's Crypto Challenge Vl Crack the code and win a Sony DCRHC40 MiniDV Digital Handycam Camcorder. More prizes in the weekly Lunch Hour Challenge. Sign up NOW http://ad.doubleclick.net/clk;10740251;10262165;m ___ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel
Re: [Freedos-kernel] test bootdisk
Hi! 15--2004 13:45 [EMAIL PROTECTED] (Aitor Santamara Merino) wrote to [EMAIL PROTECTED]: 2) DISPLAY loads low (see MEM /C /P), while plenty of (UMB)memory is available, and being the FIRST driver loaded. very strange! 3) DISPLAY loads high and ATAPICDD/CDRCACHE load low, if removing the REM from MEM /C in the beginning of autoexec.bat ASM You are using DISPLAY.EXE, right? This is what is obtained from Arkady's ASM COM2EXE, so he might now if there is something strange about this. If I doubt. :) If DISPLAY loads high without MEM before it and low with MEM - this not relates to COM2EXE. --- This SF.Net email is sponsored by: thawte's Crypto Challenge Vl Crack the code and win a Sony DCRHC40 MiniDV Digital Handycam Camcorder. More prizes in the weekly Lunch Hour Challenge. Sign up NOW http://ad.doubleclick.net/clk;10740251;10262165;m ___ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel
Re: [Freedos-kernel] re: test bootdisk
Hi! 15--2004 19:31 [EMAIL PROTECTED] (Eric Auer) wrote to [EMAIL PROTECTED]: EA About DISPLAY: UPX first, COM2EXE next, produces smallest size. EA bad idea. COM2EXE cannot detect de-UPX-ed size! So the exe header This is unimportnat, because (my) COM2EXE doesn't detects size at all. It simply points in header, that should be allocated 64k. _If_ you run COM2EXE with option, which reduces requested size, then _you_ should know, how much of memory should be allocated at program run (after unpacking). EA NCACHE2 only works if max 31.x MB XMS are free? No. Not works only autodection for ext option (without argument), but you may not allocate all memory (omit ext option) or point allocated memory explictily, as argument of ext. EA Then in must be quite old, 1994. :) --- This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170 Project Admins to receive an Apple iPod Mini FREE for your judgement on who ports your project to Linux PPC the best. Sponsored by IBM. Deadline: Sept. 24. Go here: http://sf.net/ppc_contest.php ___ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel
Re: [Freedos-kernel] re: test bootdisk
Hi! 16--2004 01:19 [EMAIL PROTECTED] (Aitor Santamara Merino) wrote to [EMAIL PROTECTED]: bad idea. COM2EXE cannot detect de-UPX-ed size! So the exe header will tell how much space the compressed COM needs. But the whole idea of using COM2EXE was to let DOS know the de-UPX-ed size explicitly: ASM As far as I recall, the idea of using COM2EXE is that there is a bug in ASM kernel about loading high COM programs that resize their chunks (when No. Idea of using COM2EXE is that _MS-DOS_, when loads .COM file into UMB (with LH), not necessarilly allocates (more than) 64k, if there is no enoughly big block (for example, there remained only 30k free). _And_, if program doesn't check how much of memory it have (for example, by examining value of SP), then it may/will overwrite own stack and following memory in this case (of reduced block). On the other side, DOS doesn't know how much of memory .COM program _really_ need (it not necessarily need all 64k), so it allocates biggest UMB block. So, COM2EXE allows to simplify program (not need to check available memory) and optimize program loading (it will/may be loaded into best suited block, not into biggest). ASM there is no room, it aborts instead of loading low), and to avoid this ASM problem. The experiments by Bernd showed that under MS-DOS it works fine ASM (a growing COM file). --- This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170 Project Admins to receive an Apple iPod Mini FREE for your judgement on who ports your project to Linux PPC the best. Sponsored by IBM. Deadline: Sept. 24. Go here: http://sf.net/ppc_contest.php ___ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel
Re: [Freedos-kernel] Re: 2F-122F
Hi! 13--2004 04:19 [EMAIL PROTECTED] (Eric Auer) wrote to [EMAIL PROTECTED]: EA how to use it that way ;-). In addition, the MS-ish interface allows EA revert to real version number by passing a value of zero. The extra RBIL doesn't says this. EA few bytes are really VERY few bytes and they should be in HMA anyway. EA By having a set reported version number function in the kernel, EA programs like CALLVER / SETVER do not have to hook int 21 themselves and You already have INT21/33FC. Why to introduce _another_ FreeDOS specific function (which not present neither in MS-DOS 5-8, DR-DOS, ROM-DOS, etc)? PS: BTW, Eric, may you recall URL for your CALLVER? Unfortunately, I lost it, but it was need me sometime (because I need to run, say, MS-SYS6 under MS-DOS7). EA (SETVER is quite complex and changes the version number dynamically, It requres changes in config.sys, and it changes itself. :( --- This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170 Project Admins to receive an Apple iPod Mini FREE for your judgement on who ports your project to Linux PPC the best. Sponsored by IBM. Deadline: Sept. 13. Go here: http://sf.net/ppc_contest.php ___ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel
Re: [Freedos-kernel] Boot sector drive incompatibility with other boot sectors
Hi! 12--2004 14:30 [EMAIL PROTECTED] (tom ehlert) wrote to Luchezar Georgiev [EMAIL PROTECTED]: Only 0 and 80 are used by MS-DOS. All other values are FreeDOS extensions ;-) te are you SURE ? How strange. B-\ I receive this letter two minutes back, whereas I answer yesterday to Lucho's letter, where was answer to this letter. Somewhere works time machine? --- This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170 Project Admins to receive an Apple iPod Mini FREE for your judgement on who ports your project to Linux PPC the best. Sponsored by IBM. Deadline: Sept. 13. Go here: http://sf.net/ppc_contest.php ___ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel
Re: [Freedos-kernel] Re: kernel/kernel country.asm, inthndlr.c
Hi! 12--2004 14:28 [EMAIL PROTECTED] (tom ehlert) wrote to Luchezar Georgiev [EMAIL PROTECTED]: and removes (parts? of) tom's patch. As you wrote youself, it's better to have the whole patch than parts of it. And even better is to solve entirely the problem which this kludge solves partially. But we don't know the problem :-( te at least I know the problem - and described it when publishing the patch. tom, please, publish _diff-file_ with your patch, and I think, no one will complain to include your patch. Previously you publish only plain text with quotes. --- This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170 Project Admins to receive an Apple iPod Mini FREE for your judgement on who ports your project to Linux PPC the best. Sponsored by IBM. Deadline: Sept. 13. Go here: http://sf.net/ppc_contest.php ___ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel
Re: [Freedos-kernel] Re: 2F-122F
Hi! 13--2004 12:04 [EMAIL PROTECTED] (Luchezar Georgiev) wrote to [EMAIL PROTECTED]: In addition, the MS-ish interface allows revert to real version number by passing a value of zero. RBIL doesn't says this. LG It does say this. D-2F122F says: DX = DOS version number (h = return LG true DOS version). Hm, I miss this. Anyway, return is ambiguous in this context. :) LG RBIL also says this is supported by Matthias Paul's LG FREEVER.COM. Do you see now why I won't remove it? No, I don't see. _If_ freever.com supports only this function, then it useless in (all other versions of) MS-DOS. Why it should be useful in FreeDOS (especially because we have Eric's CALLVER, which (may) use INT21/33FC)? I don't think, that Matthias as author of FREEVER doesn't makes this interrupt more important for FreeDOS. --- This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170 Project Admins to receive an Apple iPod Mini FREE for your judgement on who ports your project to Linux PPC the best. Sponsored by IBM. Deadline: Sept. 13. Go here: http://sf.net/ppc_contest.php ___ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel
[Freedos-kernel] Re: [Freedos-cvs] kernel/kernel inthndlr.c,1.87.2.5,1.87.2.6
Hi! 13--2004 12:09 [EMAIL PROTECTED] (Luchezar Georgiev) wrote to [EMAIL PROTECTED]: LG +++ inthndlr.c 13 Sep 2004 12:09:37 - 1.87.2.6 LG + if (fnode[0].f_count != 0 || LG + fnode[1].f_count != 0 ) if (fnode[0].f_count | fnode[1].f_count) --- This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170 Project Admins to receive an Apple iPod Mini FREE for your judgement on who ports your project to Linux PPC the best. Sponsored by IBM. Deadline: Sept. 13. Go here: http://sf.net/ppc_contest.php ___ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel
Re: [Freedos-kernel] Boot sector drive incompatibility with other boot sectors
Hi! 13--2004 12:48 [EMAIL PROTECTED] (Luchezar Georgiev) wrote to [EMAIL PROTECTED]: My AwardBIOS here for example does have such a feature. However, when I look at the boot record of my second hard drive, I see again boot drive = 80. Do you try to boot from second drive with this boot record (which contains 80h)? And it boots fine (without accessing first disk)? LG Yes, of course. So, BIOS probably swaps LG Not probably - surely. Ie., second disk was enumerated as 80h (and, for example, partitions from it was labeled earlier, than from first disk)? Probably?! In this case it not need to pass to boot code information about boot drive! LG The BIOS Boot specification LG (http://www.phoenix.com/resources/specs-bbs101.pdf) warns that only 0 and LG 80h can be safely considered as boot devices, albeit it recommends (but LG doesn't require) that BIOS passes boot device in DL on Int 19h. The 0/80h LG limitation warn != limitation. This warning may be only because authors of tose spec may know about existance of buggy BIOSes. LG is due to the MS-DOS boot sectors, of course. So, whatever we LG decide, we should remove the FF kludge in any case. I already expressed my LG opinion - I agree with Jeremy and Eric that choice (2) is better for LG compatibility reasons. No, not better. For example: if you use boot manager, which supports loading boot record from second disk, then (your) boot code will not work in such configurations, if it will contain 80h. And vice versa: let suggest, that BIOS swaps disks numbers. In this cases you can't boot (your) boot record, if it will contain 81h. Will? Do you mean, that currend FD boot record (with FFh mask) doesn't work when loading FD from second disk?! LG It works until replaced by another boot sector that tries to boot off LG drive FF. ?! Lucho, please, reread your sentence! We don't discuss _some_ _buggy_ boot code, which by some strange reason uses FFh as boot drive # (how this relates to FD boot code?), we discuss, should _FD boot code_ expect drive# from BIOS or use fixed values. Hm. Or you mean, that _some_ (non-FD!) SYS, which writes own boot sector, by some strange/buggy reason will preserve FD's boot record _field_ drive number (offset 0x24) and then its boot code will reuse this field? How this alien buggy SYS relates to our boot code and dependence from BIOS info? --- This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170 Project Admins to receive an Apple iPod Mini FREE for your judgement on who ports your project to Linux PPC the best. Sponsored by IBM. Deadline: Sept. 13. Go here: http://sf.net/ppc_contest.php ___ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel
Re: [Freedos-kernel] Boot sector drive incompatibility with other boot sectors
Hi! 13--2004 19:55 [EMAIL PROTECTED] (Luchezar Georgiev) wrote to [EMAIL PROTECTED]: This warning may be only because authors of tose spec may know about existance of buggy BIOSes. LG No, they state several times that ONLY 0 AND 80 may be boot drives. Ok. What about boot managers? No, not better. For example: if you use boot manager, which supports LG For this, an option of SYS will revert back to DL = boot drive Hm. Your arguments sounds reasonable. But I continue to _feel_, that using BIOS info instead fixed value is better (except buggy BIOSes, which pass wrong drive#). Hm. Or you mean, that _some_ (non-FD!) SYS, which writes own boot sector, by some strange/buggy reason will preserve FD's boot record _field_ drive number (offset 0x24) and then its boot code will reuse this field? LG Yes. How this alien buggy SYS relates to our boot code and dependence from BIOS info? LG I already explained. If it overwrites our boot sector, it won't boot. You _suggest_, that _some_ SYS (may) remain untouched 24h field when it overwrite boot sector _and_ its boot code reuse this value? Or you know such _known and usable_ SYS with such (strange!) behavior? If first, then we shouldn't worry about this; if second, then, probably, we should force bugfixing of those SYS. --- This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170 Project Admins to receive an Apple iPod Mini FREE for your judgement on who ports your project to Linux PPC the best. Sponsored by IBM. Deadline: Sept. 13. Go here: http://sf.net/ppc_contest.php ___ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel
Re: [Freedos-kernel] Boot sector drive incompatibility with other boot sectors
Hi! 12--2004 14:08 [EMAIL PROTECTED] (Luchezar Georgiev) wrote to [EMAIL PROTECTED]: I don't understand this. SYS writes 0/FF only into its own images, builtin into SYS executables. And, if _after_ SYS someone will change boot loader, then 0/FF value also will be replaced. Where is trouble? LG The trouble is that most SYSes don't bother to set this value - they just LG copy the whole data area from the old boot sector and replace only the LG code and OEM ID. So the FF remains there. Verified. _And_ their boot code reuse this field? If not, then this in unimportant, what those SYSes remain in 24h field. I think, current behavior (use fixed drive# in case of A:/C: and BIOS value in other cases, including HDs), is good and flexible way. LG Currently, fixed drive number 0 is used for floppies, but for hard disks, LG FF is used, which is troublesome if FreeDOS is replaced by another DOS LG later. Well, right now I look at boot code of MS-SYS6, and found, that it not uses 24h offset itself, but pass value from there to kernel. I not check what SYS does with original 24h field, but image inside SYS contains 80h value, so I doubt that MS-SYS preserves this field. LG Now Jeremy added an option to set the boot drive to an arbitrary LG value, which solves the issue. But FF is still default for hard disks. --- This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170 Project Admins to receive an Apple iPod Mini FREE for your judgement on who ports your project to Linux PPC the best. Sponsored by IBM. Deadline: Sept. 13. Go here: http://sf.net/ppc_contest.php ___ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel
Re: [Freedos-kernel] Patch: COUNTRY.ASM
Hi! BTW, Lucho, if you wish, I may prepare for you macroses in TASM to ease writing more readable and safer country.asm. Probably, someone then may translate these macro to NASM? --- This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170 Project Admins to receive an Apple iPod Mini FREE for your judgement on who ports your project to Linux PPC the best. Sponsored by IBM. Deadline: Sept. 13. Go here: http://sf.net/ppc_contest.php ___ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel
Re: [Freedos-kernel] Patch: COUNTRY.ASM
Hi! 12--2004 14:23 [EMAIL PROTECTED] (Luchezar Georgiev) wrote to [EMAIL PROTECTED]: * There is no room for the LCASE table, so it won't be possible to load the ru/866 pair. BTW, in contary to RBIL (which says that INT21/6503 is present only in DOS 6.2+ COUNTRY.SYS and supports only CP866) MS-DOS with CP866 installed doesn't supports LCASE. B-\ --- This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170 Project Admins to receive an Apple iPod Mini FREE for your judgement on who ports your project to Linux PPC the best. Sponsored by IBM. Deadline: Sept. 13. Go here: http://sf.net/ppc_contest.php ___ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel
Re: [Freedos-kernel] Re: kernel/kernel country.asm, inthndlr.c
Hi! 12--2004 13:54 [EMAIL PROTECTED] (Luchezar Georgiev) wrote to [EMAIL PROTECTED]: Show this, please. LG See it in the CVS, along with the nice additions of Eduardo. CVS isn't accesible for me. Let me ask reverse question: why you add this _another FreeDOS specific function, which duplicates another specific function_, whereas only some version probably support this function (and RBIL is not very clear how!). LG It's not FreeDOS-specific. It's MS-DOS 4.0 specific. And some software LG uses it. Why then you not add other-DOSes-specific functions? For example, INT21/20: S/DOS 1.0+ PTS-DOS 6.51+ - GET OEM REVISION? Or INT21/92? Some software also use these functions. In case of INT2F/122F some software mean mythical Matthias' FREEVER, which noone of us seen it, and it even unknown if this function need for FREEVER at all. LG Don't ask me more. Lucho, you introduce change in interface. _Such_ actions necessarily _must_ be discussed and approved. So don't ask me more is not in given case. Now your patches mention GPL (which associated with GPL1) LG No, GPL means *current* version, and the URL points to it. URL is reduced for convenience, but for law clarity (for which you at all mention license) you should mention complate license name. Explicitly. --- This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170 Project Admins to receive an Apple iPod Mini FREE for your judgement on who ports your project to Linux PPC the best. Sponsored by IBM. Deadline: Sept. 13. Go here: http://sf.net/ppc_contest.php ___ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel
Re: [Freedos-kernel] 32RTM Bug Found, no good fix
Hi! 15--2004 21:59 [EMAIL PROTECTED] (Bart Oldeman) wrote to [EMAIL PROTECTED]: BO BC isn't a target for freedos optimizations; there's one and only one BO target to optimize for : WATCOM. BO so BC specific optimization is a waste of time (ours and yours) BO This just being tom's opinion but I still agree -- I agree too, but _small_ optimizations, like discussed joined write into lr.BX, _may_ be applied, because they (may) help for other compilers too. BO I even agree more than BO I did a couple months ago, that's why I rejected my own idea of using BO _seg * pointers. I played for a while again with Turbo C++ back then but BO in the end decided that the difference was just too big. After my playing with _seg (you may see its usage in unstable branch through MK_SEG_PTR()) I see the noticeable code reduction for Borland. Though, Borland contains bug also there, it related to conversion literal values to far pointers. :( --- This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170 Project Admins to receive an Apple iPod Mini FREE for your judgement on who ports your project to Linux PPC the best. Sponsored by IBM. Deadline: Sept. 13. Go here: http://sf.net/ppc_contest.php ___ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel
Re: [Freedos-kernel] 32RTM Bug Found, no good fix
Hi! 15--2004 20:24 [EMAIL PROTECTED] (Bart Oldeman) wrote to [EMAIL PROTECTED]: - lr.BH = OEM_ID; - lr.CH = REVISION_MAJOR; /* JPP */ - lr.CL = REVISION_MINOR; - lr.BL = REVISION_SEQ; + lr.BX = (OEM_ID 8) | REVISION_SEQ; + lr.CX = 0; /* serial number must be 0 or buggy 32RTM thrashes BO tabs?). There's also a pointless optimization, that the compiler can do BO for us as well. Can != to will and/or my. Yes, Watcom (but not, say, Borland) (sometime) may join adjacent memory writes into memory, but there writes into BX are interspersed. Also, to make more readable code, I add macro MK_UWORD(): lr.BX = MK_UWORD (OEM_ID, REVISION_SEQ);. --- This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170 Project Admins to receive an Apple iPod Mini FREE for your judgement on who ports your project to Linux PPC the best. Sponsored by IBM. Deadline: Sept. 13. Go here: http://sf.net/ppc_contest.php ___ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel
Re: [Freedos-kernel] Boot sector drive incompatibility with other boot sectors
Hi! 10--2004 20:05 [EMAIL PROTECTED] (Luchezar Georgiev) wrote to [EMAIL PROTECTED]: LG brain-dead BIOSes if the boot drive is A: (but not if it's C:), the FF LG value written to by SYS causes a compatibility problem. What happens if LG someone decides to overwrite our boot sector later with a boot sector from LG another DOS? The FF will remain there (I checked that with PC-DOS) and the LG new boot sector will try to boot off drive FF, which will fail. Being too LG smart sometimes hurts (if everyone else is dumb ;-) I don't understand this. SYS writes 0/FF only into its own images, builtin into SYS executables. And, if _after_ SYS someone will change boot loader, then 0/FF value also will be replaced. Where is trouble? Or, do you mean, that someone will _add_ own boot sector _into SYS_? But added boot sectors should follow some rules, including boot drive field (which, of course, internally may be ignored). LG So, I propose that SYS stores 0 if the drive is A: or B:, 80 if the drive LG is C: or D:, D:==second disk? Second disk is a 81h value. LG and FF in all other cases, and that we add a special boot LG drive option that can be used by advanced users to store whatever value LG they like. We could also just leave that value unchanged from the old boot LG sector as most other SYSes doo, For this, SYS should verify, that it knows old boot record andr that mask is placed at expected position. Too fuzzy and ambuguous. LG thus placing the responcibility on FORMAT LG ;-) Please express your opinions on this issue. Changing the SYS behaviour LG is easy, but taking the right decision isn't. I think, current behavior (use fixed drive# in case of A:/C: and BIOS value in other cases, including HDs), is good and flexible way. --- This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170 Project Admins to receive an Apple iPod Mini FREE for your judgement on who ports your project to Linux PPC the best. Sponsored by IBM. Deadline: Sept. 13. Go here: http://sf.net/ppc_contest.php ___ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel
Re: [Freedos-kernel] Re: kernel/kernel country.asm, inthndlr.c
Hi! 12--2004 14:28 Arkady V.Belousov wrote to [EMAIL PROTECTED]: And what about INT2F/122F? LG Although only MS-DOS 4.0 had it, I won't remove it AVB Let me ask reverse question: why you add this _another FreeDOS AVB specific AVB function, which duplicates another specific function_, whereas only some AVB version only some _MS-DOS_ versions AVB probably support this function (and RBIL is not very clear how!). And we even don't may prove this or check how those MS-DOS editions support this function. --- This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170 Project Admins to receive an Apple iPod Mini FREE for your judgement on who ports your project to Linux PPC the best. Sponsored by IBM. Deadline: Sept. 13. Go here: http://sf.net/ppc_contest.php ___ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel
Re: [Freedos-kernel] Kernel source zips Re:...
Hi! 8--2004 19:32 [EMAIL PROTECTED] (Kenneth J. Davis) wrote to [EMAIL PROTECTED]: Third (or 5th?) times of asking (without answer): where and how download latest (unstable) kernel sources? And, as I understand, there is KJD If sourceforge has cron working, tarballs are there still, additionally: KJD http://www.fdos.org/kernel/kernel.HEAD.zip for stable sources KJD http://www.fdos.org/kernel/kernel.UNSTABLE.zip for dev sources Fine. What is HEAD? Original 2035? UNSTABLE - is where you apply reviewed by you patches? But, as I understand, Lucho makes more patches, than you already apply. (BTW, Lucho, I note, you apply (most) of my code optimizations and cleanups. Thank you. :) KJD The fdos.org sources will be updated regularly and not change KJD (for a good while anyway). Fine. I wrote these pathes and review these archives. KJD I will be adding bilds to the kernel/ directory to, ? KJD just haven't had a chance to set it up. now 4 alternate trees: 2035, 2035-tom, 2035-Lucho and 2035-Jeremy? KJD No. There is the stable branch (which should be similar to Tom's, KJD though yes he has his own as others may?), and then the unstable/dev KJD branch, which is where Lucho changes and some stuff that I'm doing KJD that I haven't tested enough to be considered stable. You mean, you apply _all_ patches from Lucho? --- This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170 Project Admins to receive an Apple iPod Mini FREE for your judgement on who ports your project to Linux PPC the best. Sponsored by IBM. Deadline: Sept. 13. Go here: http://sf.net/ppc_contest.php ___ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel
[Freedos-kernel] Re: [Freedos-cvs] kernel/docs contrib.txt,1.6.2.1,1.6.2.2 history.txt,1.78.2.3,1.78.2.4
Hi! 3--2004 09:26 [EMAIL PROTECTED] (Luchezar Georgiev) wrote to [EMAIL PROTECTED]: +++ history.txt 3 Sep 2004 09:26:48 - 1.78.2.4 +- zero serial number of Int 21h/30h (else buggy 32RTM thrashed stack) zero _CX in_ serial # _after_ INT 21/30, else buggy _Borland's_ 32RTM trashe_s_ stack. +- added Int 2Fh/2Fh processing to set DOS version as per MS-DOS 4.0 I suggest, here mean INT 2F/122F? Wrong action, MS-DOS 7.10 not supports this function. In next letter I show this with help of DEBUG script. +* autoexec.bat now single-line for FreeCOM compatibility when EOL=LF ? +* config.sys: all commands removed as they were close to defaults ? + - (with Bart) LoL pointer made const (saves some size for Watcom) _by_ Bart + - revision sequence now initialised along with DOS version in LoL ? +* makefile: object files reordered to gain ~300B packed size gain ~300B == reduce 300 bytes of? --- This SF.Net email is sponsored by BEA Weblogic Workshop FREE Java Enterprise J2EE developer tools! Get your free copy of BEA WebLogic Workshop 8.1 today. http://ads.osdn.com/?ad_idP47alloc_id808op=click ___ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel
[Freedos-kernel] Re: [Freedos-cvs] kernel/boot oemboot.asm,NONE,1.1.2.1
Hi! 7--2004 19:17 [EMAIL PROTECTED] (Kenneth Davis) wrote to [EMAIL PROTECTED]: KD Update of /cvsroot/freedos/kernel/boot KD In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv28417/boot Third (or 5th?) times of asking (without answer): where and how download latest (unstable) kernel sources? And, as I understand, there is now 4 alternate trees: 2035, 2035-tom, 2035-Lucho and 2035-Jeremy? --- This SF.Net email is sponsored by BEA Weblogic Workshop FREE Java Enterprise J2EE developer tools! Get your free copy of BEA WebLogic Workshop 8.1 today. http://ads.osdn.com/?ad_idP47alloc_id808op=click ___ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel
[Freedos-kernel] Re: [Freedos-cvs] kernel/docs contrib.txt,1.6.2.1,1.6.2.2 history.txt,1.78.2.3,1.78.2.4
Hi! +++ history.txt 3 Sep 2004 09:26:48 - 1.78.2.4 +- added Int 2Fh/2Fh processing to set DOS version as per MS-DOS 4.0 -a 11CD:0100 mov dx,500 ^^^ 11CD:0103 mov ax,122f 11CD:0106 int2f 11CD:0108 mov ax,3000 11CD:010B int21 11CD:010D int3 11CD:010E -g=100 AX=0A07 BX=FF00 CX= DX=0500 SP=FFEE BP= SI= DI= -- DS=11CD ES=11CD SS=11CD CS=11CD IP=010D NV UP EI PL ZR NA PE NC 11CD:010D CCINT 3 -a 100 11CD:0100 mov ax,3306 11CD:0103 int21 11CD:0105 int3 11CD:0106 -g=100 AX=3306 BX=0A07 CX= DX=1000 SP=FFEE BP= SI= DI= --- DS=11CD ES=11CD SS=11CD CS=11CD IP=0105 NV UP EI PL ZR NA PE NC 11CD:0105 CCINT 3 -q --- This SF.Net email is sponsored by BEA Weblogic Workshop FREE Java Enterprise J2EE developer tools! Get your free copy of BEA WebLogic Workshop 8.1 today. http://ads.osdn.com/?ad_id=5047alloc_id=10808op=click ___ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel
[Freedos-kernel] Re: [Freedos-cvs] kernel/kernel country.asm,NONE,1.1.2.1 config.c,1.89.2.1,1.89.2.2 dosfns.c,1.70.2.1,1.70.2.2 dyninit.c,1.8,1.8.2.1 fattab.c,1.31,1.31.2.1 fcbfns.c,1.44,1.44.2.1 globals.h,1.45.2.1,1.45.2.2 init-mod.h,1.56.2.1,1.56.2.2 inthndlr.c,1.87.2.3,1.87.2.4 intr.asm,1.16.2.1,1.16.2.2 ioctl.c,1.33.2.2,1.33.2.3 main.c,1.81.2.3,1.81.2.4 makefile,1.19.2.2,1.19.2.3 nls.c,1.19.2.2,1.19.2.3 proto.h,1.75.2.2,1.75.2.3 task.c,1.44.2.2,1.44.2.3
Hi! 3--2004 09:26 [EMAIL PROTECTED] (Luchezar Georgiev) wrote to [EMAIL PROTECTED]: Update of /cvsroot/freedos/kernel/kernel In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15462/kernel/kernel Modified Files: Tag: UNSTABLE Log Message: COUNTRY.SYS NLSFUNC support added: Lucho, Eduardo. --- NEW FILE: country.asm --- dd ent ; first entry ent dw 35; number of entries - don't forget to update when adding a new country Here is possible to slightly enhance this point (no need for manual updating), because table below is regular (contain equal-size items): ; entries ; (size, country, codepage, reserved(2), offset) __us dw 12, 1,437,0,0 dd _us [...] __me dw 12,785,864,0,0 dd _me __il dw 12,972,862,0,0 dd _me (Bug? __il refers to _me instead _il). Thus, all quoted above my be replaced by: __O\_/_\_/O__ dd $+4 ; address of table (folows below) dw (LAST_ENTRY - FIRST_ENTRY) / ENTRY_SIZE ; entries (size, country, codepage, reserved(2), offset) FIRST_ENTRY label dw ENTRY_SIZE-2, 1,437,0,0 ; US dd _us ENTRY_SIZE = $ - FIRST_ENTRY [...] dw ENTRY_SIZE-2,785,864,0,0 ; Middle East dd _me dw ENTRY_SIZE-2,972,862,0,0 ; Israel dd _il LAST_ENTRY label _ O/~\ /~\O Or, even better, all data may be reordered to place related data adjacent: __O\_/_\_/O__ dd $+4 ; address of table (folows below) dw (LAST_ENTRY - FIRST_ENTRY) / ENTRY_SIZE FIRST_ENTRY label dw HEAD_SIZE HEAD_START label dw 1,437,0,0 ; US dd $+4 HEAD_SIZE = $ - HEAD_START dw 1,6,1 dd $+4 db 0FFh,CTYINFO dw DATA_SIZE DATA_START label dw 1,437,MDY db $,0,0,0,0 dw ,,.,-,: db 0,2,_12 DATA_SIZE = $ - DATA_START [...] dw HEAD_SIZE dw 785,864,0,0 ; Middle East dd $+4 dw 1,6,1 dd $+4 db 0FFh,CTYINFO dw DATA_SIZE dw 785,864,DMY db 0A4h,0,0,0,0 dw .,,,/,: db 3,3,_12 dw HEAD_SIZE dw 972,862,0,0 ; Israel dd $+4 dw 1,6,1 dd $+4 db 0FFh,CTYINFO dw DATA_SIZE dw 972,862,DMY db 99h,0,0,0,0 dw ,,., ,: db 2,2,_24; Israel LAST_ENTRY label _ O/~\ /~\O Of course, entry may be defined through macro. Someting like: __O\_/_\_/O__ dd $+4 ; address of table (folows below) dw (LAST_ENTRY - FIRST_ENTRY) / ENTRY_SIZE FIRST_ENTRY label ENTRY 1,437,MDY,$,0,0,0,0, ,,.,-,:,0,2,_12 ; US [...] ENTRY 785,864,DMY,0A4h,0,0,0,0,.,,,/,:,3,3,_12 ; Middle East ENTRY 972,862,DMY,99h,0,0,0,0, ,,., ,:,2,2,_24 ; Israel LAST_ENTRY label _ O/~\ /~\O +++ globals.h 3 Sep 2004 09:26:51 - 1.45.2.2 - (Build KERNEL_BUILD_STRING ) [ __DATE__ __TIME__ ]\n + (Build KERNEL_BUILD_STRING , __DATE__ )\n I like this. :) +++ main.c3 Sep 2004 09:26:51 - 1.81.2.4 static char copyright[] = -(C) Copyright 1995-2004 Pasquale J. Villani and The FreeDOS Project.\n +Copyright 1995-2004 Pasquale J. Villani and The FreeDOS Project.\n +This free software has ABSOLUTELY NO WARRANTY and is licensed under\n +the GNU General Public License (http://www.gnu.org/licenses/gpl.html)\n\n; And this too. :) Though, I think, here is mistake, because me use GPL2, not plain GPL. Thus, above should like something like: This free software has ABSOLUTELY NO WARRANTY and is licensed under the\n GNU General Public License v2 (http://www.gnu.org/licenses/gpl2.html)\n\n; +++ inthndlr.c3 Sep 2004 09:26:51 - 1.87.2.4 @@ -709,10 +698,8 @@ case 0x30: lr.AL = os_setver_major; lr.AH = os_setver_minor; + lr.BX = (OEM_ID 8) | REVISION_SEQ; lr.BX = MK_UWORD (OEM_ID, REVISION_SEQ); - [...] + if ((rc = _SftSeek(s, MK_ULONG(lr.CX, lr.DX), lr.AL)) = SUCCESS) --- [...] VOID ASMCFUNC int2F_12_handler(struct int2f12regs r) + COUNT rc; int rc; [...] +case 0x27: /* close file */ r.FLAGS = ~FLG_CARRY; - break; + CritErrCode = SUCCESS; + rc = DosClose(r.BX); + goto short_check; Better to place r.FLAGS = right before goto to make common tail for many branches. About CrtiErrCode = I unsure, if it valid to move after function. [...] +long_check: + if (lrc = SUCCESS)