Imre Leber escreveu: >> > It always amazes me how little sense I talk.
Sorry if I missunderstood you... But what I mean is that if you can test for dosemu, then you don't need to use #define and decide real time if defrag may work on not. I have also a very big test of OS version, it did take a lot of time to test on many many diferent versions. Just in case some part of it could be usefull, here it is: ( _bprintf is OW's version of vsnprintf) //-------------------------------------- char* DosGetName(void) // Le Nome do DOS { int OEMNumber; int DOSMajor30; int DOSMinor30; int DOSMajor33; int DOSMinor33; int DOSRevision; static char dosName[35]; union REGS regs; regs.w.ax=0x3000; // get DOS version int386(0x21,®s,®s); OEMNumber = regs.h.bh; // save version DOSMajor30 = regs.h.al; DOSMinor30 = regs.h.ah; if (DOSMajor30 == 0x00) DOSMajor30 = 0x01; // DOS 1.x regs.w.ax=0x3306; // get DOS TRUE (?) version regs.w.bx=0; regs.w.dx=0; int386(0x21,®s,®s); DOSMajor33 = regs.h.bl; DOSMinor33 = regs.h.bh; DOSRevision= regs.h.dl; switch (OEMNumber){ case 0xFD: _bprintf(dosName,sizeof(dosName),"%sFreeDOS, Ver=%d.%02d",isDosEmu?"DosEmu+":"",DOSMajor33,DOSMinor33); break; case 0xFF: if (DOSMajor30 <= 6) _bprintf(dosName,sizeof(dosName),"MSDOS, Ver=%d.%02d",DOSMajor33,DOSMinor33); else if (getenv("windir")) _bprintf(dosName,sizeof(dosName),"WINDOWS, Ver=%d.%02d",DOSMajor33,DOSMinor33); else _bprintf(dosName,sizeof(dosName),"MSDOS, Ver=%d.%02d",DOSMajor33,DOSMinor33); break; case 0x00: regs.w.ax = 0x4452; // get DR-DOS version int386(0x21,®s,®s); if (regs.w.cflag) // CY=1 if not DR-DOS _bprintf(dosName,sizeof(dosName),"PCDOS, Ver=%d.%02d",DOSMajor33,DOSMinor33); else switch(regs.w.ax&0xff){ case 0x65: _bprintf(dosName,sizeof(dosName),"DRDOS, Ver=5.0"); break; case 0x67: _bprintf(dosName,sizeof(dosName),"DRDOS, Ver=6.0"); break; case 0x71: case 0x72: case 0x73: _bprintf(dosName,sizeof(dosName),"DRDOS, Ver=%d.0%d",(regs.w.ax&0xf0)>>4,regs.w.ax&0xf); break; default: _bprintf(dosName,sizeof(dosName),"DRDOS, Ver=(%02X)",regs.w.ax&0xff); } break; case 0xEE: _bprintf(dosName,sizeof(dosName),"DRDOS, Ver=%d.%02d",DOSMajor33,DOSMinor33); break; case 0xEF: _bprintf(dosName,sizeof(dosName),"NWDOS, Ver=%d.%02d",DOSMajor33,DOSMinor33); break; case 0x66: _bprintf(dosName,sizeof(dosName),"PTSDOS, Ver=%d.%02d",DOSMajor33,DOSMinor33); break; case 0x5E: _bprintf(dosName,sizeof(dosName),"RXDOS, Ver=%d.%02d",DOSMajor33,DOSMinor33); break; default: _bprintf(dosName,sizeof(dosName),"UNKNOWN, Ver=%d.%02d",DOSMajor30,DOSMinor30); } return (dosName); } ------------------------------------------------------------------------- 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=lnk&kid=120709&bid=263057&dat=121642 _______________________________________________ Freedos-devel mailing list Freedos-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-devel