Well you did put some work in this. And was thorough. Does anybody actually use RXDOS?
Might be interesting to keep on to this piece of code. Imre >-----Original Message----- >From: Alain M. [mailto:[EMAIL PROTECTED] >Sent: Wednesday, September 13, 2006 04:35 PM >To: freedos-devel@lists.sourceforge.net >Subject: Re: [Freedos-devel] [anounce] defrag 1.2 > > > >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 > > ------------------------------------------------------------------------- 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