Last version.
This commit is contained in:
40
int21h.c
40
int21h.c
@@ -1,12 +1,12 @@
|
||||
/************************************************************************
|
||||
T h e O p e n W i n d o w s P r o j e c t
|
||||
Claunia.com
|
||||
------------------------------------------------------------------------
|
||||
|
||||
Filename : int21h.c
|
||||
Version : 0.04
|
||||
Version : 0.07
|
||||
Author(s) : Natalia Portillo
|
||||
|
||||
Component : OWP DOS subsystem - VER command
|
||||
Component : UNAME for DOS
|
||||
|
||||
--[ Description ]-------------------------------------------------------
|
||||
|
||||
@@ -39,6 +39,16 @@
|
||||
Implemented detection of the Windows version.
|
||||
Implemented detection of OS/2.
|
||||
Implemented detection of Windows Millenium (tested with beta 3).
|
||||
0.05: Corrected an error with minor versions of OS/2 2.x and 1.x
|
||||
Implemented SoftICE debugger detection. But not tested.
|
||||
Translated to spanish and french.
|
||||
Corrected an error with DOS versions prior to 5.x when testing
|
||||
the true DOS version
|
||||
0.06: Implemented detection of Windows XP.
|
||||
Corrected an error with OS/2 2.x versions.
|
||||
0.07: Implemented a workaround so OS/2 3.x and upper versions can be
|
||||
easily detected, without exact knowledge of the versions by
|
||||
this program.
|
||||
|
||||
--[ How to compile ]----------------------------------------------------
|
||||
|
||||
@@ -47,7 +57,7 @@
|
||||
|
||||
--[ Where to get help/information ]-------------------------------------
|
||||
|
||||
This archaic and abandoned software is opensource with no warranty
|
||||
This archaic and abandoned software is opensource with no warranty
|
||||
or help of any kind.
|
||||
For inquiries contact claunia@claunia.com.
|
||||
|
||||
@@ -68,12 +78,12 @@
|
||||
Foundation,Inc.,59 Temple Place - Suite 330,Boston,MA 02111-1307,USA.
|
||||
|
||||
------------------------------------------------------------------------
|
||||
Copyright (c) 2000 The Open Windows Project
|
||||
Copyright (c) 2001 Claunia.com
|
||||
*************************************************************************/
|
||||
|
||||
#include <dos.h>
|
||||
|
||||
void getdosver (int *DOS_FLAVOR, int *major, int *minor, int *sim_major, int *sim_minor, int *dos_oem, int *desq_ma, int *desq_mi, int *_4dos_ma, int *_4dos_mi, int *ndos_ma, int *ndos_mi, int *win_ma, int *win_mi, int *win_mode)
|
||||
void getdosver (int *DOS_FLAVOR, int *major, int *minor, int *sim_major, int *sim_minor, int *dos_oem, int *desq_ma, int *desq_mi, int *_4dos_ma, int *_4dos_mi, int *ndos_ma, int *ndos_mi, int *win_ma, int *win_mi, int *win_mode, int *softice_ma, int *softice_mi)
|
||||
{
|
||||
union REGS regs;
|
||||
int dos_temp, nt_flag;
|
||||
@@ -111,8 +121,8 @@ void getdosver (int *DOS_FLAVOR, int *major, int *minor, int *sim_major, int *si
|
||||
dos_temp = regs.h.bh; /* Set DOS type */
|
||||
*major = regs.h.al; /* Set the simulated major version */
|
||||
*minor = regs.h.ah; /* Set the simulated minor version */
|
||||
*sim_major = 0;
|
||||
*sim_minor = 0;
|
||||
*sim_major = *major;
|
||||
*sim_minor = *minor;
|
||||
}
|
||||
|
||||
/* Set DOS to DOS type */
|
||||
@@ -332,4 +342,18 @@ void getdosver (int *DOS_FLAVOR, int *major, int *minor, int *sim_major, int *si
|
||||
else
|
||||
*win_ma=*win_mi=0;
|
||||
}
|
||||
regs.x.ax = 0x0000; /* SoftICE detection function */
|
||||
regs.x.si = 0x4647; /* SoftICE detection function */
|
||||
regs.x.di = 0x4A4D; /* SoftICE detection function */
|
||||
int86(0x03,®s,®s); /* Call INT 03h */
|
||||
if(regs.x.si != 0x4647)
|
||||
{
|
||||
*softice_ma=1; // SoftICE version detection not yet implemented
|
||||
*softice_mi=1; // SoftICE version detection not yet implemented
|
||||
}
|
||||
else
|
||||
{
|
||||
*softice_ma=0; // SoftICE not detected
|
||||
*softice_mi=0; // SoftICE not detected
|
||||
}
|
||||
}
|
||||
|
||||
182
language.h
Normal file
182
language.h
Normal file
@@ -0,0 +1,182 @@
|
||||
/************************************************************************
|
||||
Claunia.com
|
||||
------------------------------------------------------------------------
|
||||
|
||||
Filename : language.h
|
||||
Version : 0.07
|
||||
Author(s) : Natalia Portillo
|
||||
Oliver Dick (translation to German)
|
||||
|
||||
Component : UNAME for DOS
|
||||
|
||||
--[ Description ]-------------------------------------------------------
|
||||
|
||||
Says the DOS type and version.
|
||||
|
||||
--[ History ] ----------------------------------------------------------
|
||||
|
||||
0.00: Original file by Natalia Portillo. No DOS type.
|
||||
0.01: Tested with following DOSes obtaining:
|
||||
DOS DOS Version DOS OEM Code
|
||||
DR-DOS 7.03 6.0 0x00
|
||||
FreeDOS Beta 4 6.22 0xFD
|
||||
MS-DOS 3.20 3.20 0x00
|
||||
MS-DOS 3.30 3.30 0x00
|
||||
MS-DOS 4.01 4.0 0xFF
|
||||
MS-DOS 5.00 5.0 0xFF
|
||||
PC-DOS 3.30 3.30 0x00
|
||||
Windows 98 S.E. 7.10 0xFF
|
||||
Windows 2000 5.0 0xFF
|
||||
0.02: Tested with the following DOSes obtaining:
|
||||
DOS DOS Version DOS OEM Code
|
||||
PTS-DOS 2000 6.22 0x66
|
||||
RxDOS 7.1.5 7.0 0x5E
|
||||
0.03: Almost remade from zero.
|
||||
Now uses four functions of INT-21h to get almost all
|
||||
DOS version information.
|
||||
All detect stuff moved to int21h.c.
|
||||
All defines moved to ver.h
|
||||
0.04: Implemented detection of DESQview, 4DOS and NDOS.
|
||||
Implemented detection of the Windows version.
|
||||
Implemented detection of OS/2.
|
||||
Implemented detection of Windows Millenium (tested with beta 3).
|
||||
0.05: Corrected an error with minor versions of OS/2 2.x and 1.x
|
||||
Implemented SoftICE debugger detection. But not tested.
|
||||
Translated to spanish and french.
|
||||
Corrected an error with DOS versions prior to 5.x when testing
|
||||
the true DOS version
|
||||
0.06: Implemented detection of Windows XP.
|
||||
Corrected an error with OS/2 2.x versions.
|
||||
0.07: Implemented a workaround so OS/2 3.x and upper versions can be
|
||||
easily detected, without exact knowledge of the versions by
|
||||
this program.
|
||||
|
||||
--[ How to compile ]----------------------------------------------------
|
||||
|
||||
Recommended compiler Borland Turbo C++ 1.01
|
||||
http://community.borland.com/museum
|
||||
|
||||
--[ Where to get help/information ]-------------------------------------
|
||||
|
||||
This archaic and abandoned software is opensource with no warranty
|
||||
or help of any kind.
|
||||
For inquiries contact claunia@claunia.com.
|
||||
|
||||
--[ License ] ----------------------------------------------------------
|
||||
|
||||
This program is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License
|
||||
as published by the Free Software Foundation; either version 2
|
||||
of the License,or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not,write to the Free Software
|
||||
Foundation,Inc.,59 Temple Place - Suite 330,Boston,MA 02111-1307,USA.
|
||||
|
||||
------------------------------------------------------------------------
|
||||
Copyright (c) 2001 Claunia.com
|
||||
*************************************************************************/
|
||||
|
||||
/* Language definitions */
|
||||
|
||||
// No language defined, so english
|
||||
#define szVersion "version"
|
||||
#define szSimulating "simulating DOS version"
|
||||
#define szOr "or"
|
||||
#define szUnknownVer "unknown version"
|
||||
#define szOrUpper "or upper"
|
||||
#define szRunUnder "Running under"
|
||||
#define szEnhMode "in enhanced mode"
|
||||
#define szStdMode "in standard mode"
|
||||
#define szSoftIce "SoftICE debugger"
|
||||
#define szUnkDOS "Unknown DOS version"
|
||||
#define szThatSim "that is simulating DOS"
|
||||
#define szOEM "DOS OEM code"
|
||||
#define szInfo "Please send this info and the operating system name and version to"
|
||||
|
||||
#ifdef __OWP__ENGLISH__ //English -- Natalia Portillo
|
||||
#define szVersion "version"
|
||||
#define szSimulating "simulating DOS version"
|
||||
#define szOr "or"
|
||||
#define szUnknownVer "unknown version"
|
||||
#define szOrUpper "or upper"
|
||||
#define szRunUnder "Running under"
|
||||
#define szEnhMode "in enhanced mode"
|
||||
#define szStdMode "in standard mode"
|
||||
#define szSoftIce "SoftICE debugger"
|
||||
#define szUnkDOS "Unknown DOS version"
|
||||
#define szThatSim "that is simulating DOS version"
|
||||
#define szOEM "DOS OEM code"
|
||||
#define szInfo "Please send this info and the operating system name and version to"
|
||||
#endif //End English
|
||||
|
||||
#ifdef __OWP__SPANISH__ //Spanish -- Natalia Portillo
|
||||
#define szVersion "versi<73>n"
|
||||
#define szSimulating "simulando DOS versi<73>n"
|
||||
#define szOr "o"
|
||||
#define szUnknownVer "versi<73>n desconocida"
|
||||
#define szOrUpper "o superior"
|
||||
#define szRunUnder "Ejecut<75>ndose bajo"
|
||||
#define szEnhMode "en modo mejorado"
|
||||
#define szStdMode "en modo est<73>ndar"
|
||||
#define szSoftIce "el depurador SoftICE"
|
||||
#define szUnkDOS "DOS desconocido versi<73>n"
|
||||
#define szThatSim "que est<73> simulando DOS versi<73>n"
|
||||
#define szOEM "C<>digo OEM del DOS"
|
||||
#define szInfo "Por favor env<6E>e esta informaci<63>n y el nombre y versi<73>n del sistema operativo a"
|
||||
#endif //End Spanish
|
||||
|
||||
#ifdef __OWP__FRENCH__ //French -- Natalia Portillo
|
||||
#define szVersion "version"
|
||||
#define szSimulating "simulant DOS version"
|
||||
#define szOr "ou"
|
||||
#define szUnknownVer "version inconnu"
|
||||
#define szOrUpper "ou sup<75>rieur"
|
||||
#define szRunUnder "se ex<65>cutant vil"
|
||||
#define szEnhMode "en mode am<61>liorant"
|
||||
#define szStdMode "en mode standard"
|
||||
#define szSoftIce "l'<27>purateur SoftICE"
|
||||
#define szUnkDOS "Inconnu DOS version"
|
||||
#define szThatSim "qui est simulant DOS"
|
||||
#define szOEM "Code OEM du DOS"
|
||||
#define szInfo "S'il vous pla<6C>t envoye este information et le nom et version du syst<73>me op<6F>rationel a"
|
||||
#endif //End French
|
||||
|
||||
#ifdef __OWP__GERMAN__ //German -- Oliver Dick
|
||||
#define szVersion "Version"
|
||||
#define szSimulating "simuliert DOS-Version"
|
||||
#define szOr "oder"
|
||||
#define szUnknownVer "unbekannte Version"
|
||||
//#define szOrUpper "oder hoeher" //Without any accent
|
||||
#define szOrUpper "oder h<>her"
|
||||
//#define szRunUnder "Laeuft unter" //Without any accent
|
||||
#define szRunUnder "L<>uft unter"
|
||||
#define szEnhMode "im erweiterten Modus"
|
||||
#define szStdMode "im Standard Modus"
|
||||
#define szSoftIce "SoftICE debugger"
|
||||
#define szUnkDOS "unbekannte DOS-Version"
|
||||
#define szThatSim "simuliert DOS"
|
||||
#define szOEM "DOS OEM code"
|
||||
#define szInfo "Bitte senden Sie diese Informationen, sowie Name und Version ihres Betriebssystems an"
|
||||
#endif //End German
|
||||
|
||||
#ifdef __OWP__BABLE__ //Bable -- Javier Prieto Garamendi
|
||||
#define szVersion "version"
|
||||
#define szSimulating "ximulando DOS versi<73>n"
|
||||
#define szOr "o"
|
||||
#define szUnknownVer "version desconoxia"
|
||||
#define szOrUpper "o superior"
|
||||
#define szRunUnder "Executandose baxo"
|
||||
#define szEnhMode "en modu mexorau"
|
||||
#define szStdMode "en modu estandar"
|
||||
#define szSoftIce "el depurador SoftICE"
|
||||
#define szUnkDOS "DOS desconoxia version"
|
||||
#define szThatSim "que esta simulando DOS version"
|
||||
#define szOEM "Codigu OEM del DOS"
|
||||
#define szInfo "Por favor envie nesta informaxion y el nome y version del sistema operativu a"
|
||||
#endif //End Bable
|
||||
130
ver.c
130
ver.c
@@ -1,12 +1,12 @@
|
||||
/************************************************************************
|
||||
T h e O p e n W i n d o w s P r o j e c t
|
||||
Claunia.com
|
||||
------------------------------------------------------------------------
|
||||
|
||||
Filename : ver.c
|
||||
Version : 0.04
|
||||
Version : 0.07
|
||||
Author(s) : Natalia Portillo
|
||||
|
||||
Component : OWP DOS subsystem - VER command
|
||||
Component : UNAME for DOS
|
||||
|
||||
--[ Description ]-------------------------------------------------------
|
||||
|
||||
@@ -39,6 +39,17 @@
|
||||
Implemented detection of the Windows version.
|
||||
Implemented detection of OS/2.
|
||||
Implemented detection of Windows Millenium (tested with beta 3).
|
||||
0.05: Corrected an error with minor versions of OS/2 2.x and 1.x
|
||||
Implemented SoftICE debugger detection. But not tested.
|
||||
All text strings moved to language.h
|
||||
Translated to spanish and french.
|
||||
Corrected an error with DOS versions prior to 5.x when testing
|
||||
the true DOS version
|
||||
0.06: Implemented detection of Windows XP.
|
||||
Corrected an error with OS/2 2.x versions.
|
||||
0.07: Implemented a workaround so OS/2 3.x and upper versions can be
|
||||
easily detected, without exact knowledge of the versions by
|
||||
this program.
|
||||
|
||||
--[ How to compile ]----------------------------------------------------
|
||||
|
||||
@@ -47,7 +58,7 @@
|
||||
|
||||
--[ Where to get help/information ]-------------------------------------
|
||||
|
||||
This archaic and abandoned software is opensource with no warranty
|
||||
This archaic and abandoned software is opensource with no warranty
|
||||
or help of any kind.
|
||||
For inquiries contact claunia@claunia.com.
|
||||
|
||||
@@ -68,75 +79,69 @@
|
||||
Foundation,Inc.,59 Temple Place - Suite 330,Boston,MA 02111-1307,USA.
|
||||
|
||||
------------------------------------------------------------------------
|
||||
Copyright (c) 2000 The Open Windows Project
|
||||
Copyright (c) 2001 Claunia.com
|
||||
*************************************************************************/
|
||||
|
||||
#include <stdio.h>
|
||||
#include "ver.h" /* Include definitions */
|
||||
#include "language.h" /* Language definitions */
|
||||
|
||||
int main()
|
||||
{
|
||||
/* Declare variables */
|
||||
int dos_major,dos_minor,dostype,dos_sim_major,dos_sim_minor,dos_oem,desq_ma,desq_mi,_4dos_ma,_4dos_mi,ndos_ma,ndos_mi,win_ma,win_mi,win_mode;
|
||||
int dos_major,dos_minor,dostype,dos_sim_major,dos_sim_minor,dos_oem,desq_ma,desq_mi,_4dos_ma,_4dos_mi,ndos_ma,ndos_mi,win_ma,win_mi,win_mode,softice_ma,softice_mi;
|
||||
|
||||
/* Put copyright info */
|
||||
printf("%s %s %d.%s%s",SYSTEM,PROGRAM,MAJOR_VERSION,MINOR_VERSION_STRING,SUB_VERSION_STRING);
|
||||
printf("\nCopyright (c) %s\n\n",COPYRIGHT);
|
||||
|
||||
/* Get DOS version stuff */
|
||||
getdosver(&dostype, &dos_major, &dos_minor, &dos_sim_major, &dos_sim_minor, &dos_oem, &desq_ma, &desq_mi, &_4dos_ma, &_4dos_mi, &ndos_ma, &ndos_mi, &win_ma, &win_mi, &win_mode);
|
||||
getdosver(&dostype, &dos_major, &dos_minor, &dos_sim_major, &dos_sim_minor, &dos_oem, &desq_ma, &desq_mi, &_4dos_ma, &_4dos_mi, &ndos_ma, &ndos_mi, &win_ma, &win_mi, &win_mode, &softice_ma, &softice_mi);
|
||||
|
||||
/* Put version info */
|
||||
if(dostype == 0)
|
||||
{
|
||||
printf("\nUnknown DOS version %d.%d, that is simulating DOS %d.%d",dos_major,dos_minor,dos_sim_major,dos_sim_minor);
|
||||
printf("\nDOS OEM code %x",dos_oem);
|
||||
printf("\nPlease send this info and the O.S. name and version to\niosglpgc@teleline.es");
|
||||
return(1);
|
||||
}
|
||||
if(dostype == 1)
|
||||
{
|
||||
printf("\nMS-DOS version %d.%d\n",dos_major,dos_minor);
|
||||
printf("\nMS-DOS %s %d.%d\n",szVersion,dos_major,dos_minor);
|
||||
if(dos_major != dos_sim_major || dos_minor != dos_sim_minor)
|
||||
{
|
||||
printf(" simulating DOS version %d.%d\n",dos_sim_major,dos_sim_minor);
|
||||
printf("%s %d.%d\n",szSimulating,dos_sim_major,dos_sim_minor);
|
||||
}
|
||||
}
|
||||
if(dostype == 2)
|
||||
{
|
||||
printf("\nPC-DOS version %d.%d\n",dos_major,dos_minor);
|
||||
printf("\nPC-DOS %s %d.%d\n",szVersion,dos_major,dos_minor);
|
||||
if(dos_major != dos_sim_major || dos_minor != dos_sim_minor)
|
||||
{
|
||||
printf("simulating DOS version %d.%d\n",dos_sim_major,dos_sim_minor);
|
||||
printf("%s %d.%d\n",szSimulating,dos_sim_major,dos_sim_minor);
|
||||
}
|
||||
}
|
||||
if(dostype == 3)
|
||||
{
|
||||
printf("\nDR-DOS version %d.%d\n",dos_major,dos_minor);
|
||||
printf("\nDR-DOS %s %d.%d\n",szVersion,dos_major,dos_minor);
|
||||
if(dos_major != dos_sim_major || dos_minor != dos_sim_minor)
|
||||
{
|
||||
printf("simulating DOS version %d.%d\n",dos_sim_major,dos_sim_minor);
|
||||
printf("%s %d.%d\n",szSimulating,dos_sim_major,dos_sim_minor);
|
||||
}
|
||||
}
|
||||
if(dostype == 4)
|
||||
{
|
||||
printf("\nFreeDOS version 1.1.%d\n",dos_major);
|
||||
printf(" simulating DOS version %d.%d\n",dos_sim_major,dos_sim_minor);
|
||||
printf("\nFreeDOS %s 1.1.%d\n",szVersion,dos_major);
|
||||
printf(" %s %d.%d\n",szSimulating,dos_sim_major,dos_sim_minor);
|
||||
}
|
||||
if(dostype == 5)
|
||||
{
|
||||
printf("\nWindows 95\n",dos_major,dos_minor);
|
||||
if(dos_major != dos_sim_major || dos_minor != dos_sim_minor)
|
||||
{
|
||||
printf("simulating DOS version %d.%d\n",dos_sim_major,dos_sim_minor);
|
||||
printf("%s %d.%d\n",szSimulating,dos_sim_major,dos_sim_minor);
|
||||
}
|
||||
}
|
||||
if(dostype == 6)
|
||||
{
|
||||
printf("\nWindows NT or Windows 2000\n",dos_major,dos_minor);
|
||||
printf("\nWindows NT, Windows 2000 %s Windows XP\n",szOr);
|
||||
if(dos_major != dos_sim_major || dos_minor != dos_sim_minor)
|
||||
{
|
||||
printf("simulating DOS version %d.%d\n",dos_sim_major,dos_sim_minor);
|
||||
printf("%s %d.%d\n",szSimulating,dos_sim_major,dos_sim_minor);
|
||||
}
|
||||
}
|
||||
if(dostype == 7)
|
||||
@@ -144,76 +149,72 @@ int main()
|
||||
printf("\nOS/2 ");
|
||||
if(dos_major == 10)
|
||||
{
|
||||
printf("1.0\n");
|
||||
printf("1.%d\n",dos_minor);
|
||||
}
|
||||
else if(dos_major == 20 && dos_minor < 30)
|
||||
{
|
||||
printf("2.0\n");
|
||||
printf("2.%d\n",dos_minor);
|
||||
}
|
||||
else if(dos_major == 20 && dos_minor == 30)
|
||||
else if(dos_major == 20 && dos_minor >= 30)
|
||||
{
|
||||
printf("Warp 3\n");
|
||||
printf("Warp %1.2d\n",(dos_minor/10));
|
||||
}
|
||||
else if(dos_major == 20 && dos_minor == 40)
|
||||
{
|
||||
printf("Warp 4\n");
|
||||
}
|
||||
else{printf("unknown version\n");}
|
||||
else{printf("%s\n",szUnknownVer);}
|
||||
if(dos_major != dos_sim_major || dos_minor != dos_sim_minor)
|
||||
{
|
||||
printf("simulating DOS version %d.%d\n",dos_sim_major,dos_sim_minor);
|
||||
printf("%s %d.%d\n",szSimulating,dos_sim_major,dos_sim_minor);
|
||||
}
|
||||
}
|
||||
if(dostype == 8)
|
||||
{
|
||||
printf("\nPTS-DOS, unknown version\n");
|
||||
printf("simulating DOS version %d.%d\n",dos_sim_major,dos_sim_minor);
|
||||
printf("\nPTS-DOS, %s\n",szUnknownVer);
|
||||
printf("%s %d.%d\n",szSimulating,dos_sim_major,dos_sim_minor);
|
||||
}
|
||||
if(dostype == 9)
|
||||
{
|
||||
printf("\nRxDOS version %d.%d\n",dos_major,dos_minor);
|
||||
printf("\nRxDOS %s %d.%d\n",szVersion,dos_major,dos_minor);
|
||||
if(dos_major != dos_sim_major || dos_minor != dos_sim_minor)
|
||||
{
|
||||
printf("simulating DOS version %d.%d\n",dos_sim_major,dos_sim_minor);
|
||||
printf("%s %d.%d\n",szSimulating,dos_sim_major,dos_sim_minor);
|
||||
}
|
||||
}
|
||||
if(dostype == 10)
|
||||
{
|
||||
printf("\nConcurrent DOS version %d.%d\n",dos_major,dos_minor);
|
||||
printf("\nConcurrent DOS %s %d.%d\n",szVersion,dos_major,dos_minor);
|
||||
if(dos_major != dos_sim_major || dos_minor != dos_sim_minor)
|
||||
{
|
||||
printf("simulating DOS version %d.%d\n",dos_sim_major,dos_sim_minor);
|
||||
printf("%s %d.%d\n",szSimulating,dos_sim_major,dos_sim_minor);
|
||||
}
|
||||
}
|
||||
if(dostype == 11)
|
||||
{
|
||||
printf("\nNovell DOS version %d.%d\n",dos_major,dos_minor);
|
||||
printf("\nNovell DOS %s %d.%d\n",szVersion,dos_major,dos_minor);
|
||||
if(dos_major != dos_sim_major || dos_minor != dos_sim_minor)
|
||||
{
|
||||
printf("simulating DOS version %d.%d\n",dos_sim_major,dos_sim_minor);
|
||||
printf("%s %d.%d\n",szSimulating,dos_sim_major,dos_sim_minor);
|
||||
}
|
||||
}
|
||||
if(dostype == 12)
|
||||
{
|
||||
printf("\nMS-DOS / PC-DOS version %d.%d\n",dos_major,dos_minor);
|
||||
printf("\nMS-DOS / PC-DOS %s %d.%d\n",szVersion,dos_major,dos_minor);
|
||||
}
|
||||
if(dostype == 13)
|
||||
{
|
||||
if(win_mi < 10)
|
||||
{
|
||||
printf("\nWindows 95 OSR 2 or OSR 3\n");
|
||||
printf("\nWindows 95 OSR 2 %s OSR 3\n",szOr);
|
||||
}
|
||||
else if(win_mi >= 10)
|
||||
{
|
||||
printf("\nWindows 98 or 98 S.E.\n");
|
||||
printf("\nWindows 98 %s 98 S.E.\n",szOr);
|
||||
}
|
||||
else
|
||||
{
|
||||
printf("\nWindows 95 OSR 2 or upper\n");
|
||||
printf("\nWindows 95 OSR 2 %s\n",szOrUpper);
|
||||
}
|
||||
if(dos_major!=dos_sim_major || dos_minor!=dos_sim_minor)
|
||||
{
|
||||
printf("simulating DOS version %d.%d\n",dos_sim_major,dos_sim_minor);
|
||||
printf("%s %d.%d\n",szSimulating,dos_sim_major,dos_sim_minor);
|
||||
}
|
||||
}
|
||||
if(dostype == 14)
|
||||
@@ -221,46 +222,57 @@ int main()
|
||||
printf("\nWindows Millenium\n",dos_major,dos_minor);
|
||||
if(dos_major != dos_sim_major || dos_minor != dos_sim_minor)
|
||||
{
|
||||
printf("simulating DOS version %d.%d\n",dos_sim_major,dos_sim_minor);
|
||||
printf("%s %d.%d\n",szSimulating,dos_sim_major,dos_sim_minor);
|
||||
}
|
||||
}
|
||||
if(desq_ma >= 2)
|
||||
{
|
||||
printf("Running under DESQview %d.%d\n",desq_ma,desq_mi);
|
||||
printf("%s DESQview %d.%d\n",szRunUnder,desq_ma,desq_mi);
|
||||
}
|
||||
if(_4dos_ma >= 2)
|
||||
{
|
||||
if(_4dos_mi < 10)
|
||||
printf("Running under 4DOS %d.0%d\n",_4dos_ma,_4dos_mi);
|
||||
printf("%s 4DOS %d.0%d\n",szRunUnder,_4dos_ma,_4dos_mi);
|
||||
else
|
||||
printf("Running under 4DOS %d.%d\n",_4dos_ma,_4dos_mi);
|
||||
printf("%s 4DOS %d.%d\n",szRunUnder,_4dos_ma,_4dos_mi);
|
||||
}
|
||||
if(ndos_ma > 0)
|
||||
{
|
||||
printf("Running under NDOS %d.%d\n",ndos_ma,ndos_mi);
|
||||
printf("%s NDOS %d.%d\n",szRunUnder,ndos_ma,ndos_mi);
|
||||
}
|
||||
if(win_ma == 3 && win_mi < 10 && win_mode == 3)
|
||||
{
|
||||
printf("Running under Windows %d.%d in enhanced mode\n",win_ma,win_mi);
|
||||
printf("%s Windows %d.%d %s\n",szRunUnder,win_ma,win_mi,szEnhMode);
|
||||
}
|
||||
if(win_ma == 3 && win_mi >= 10)
|
||||
{
|
||||
if(win_mode == 2)
|
||||
{
|
||||
printf("Running under Windows %d.%d in standard mode\n",win_ma,win_mi);
|
||||
printf("%s Windows %d.%d %s\n",szRunUnder,win_ma,win_mi,szStdMode);
|
||||
}
|
||||
else if(win_mode == 3)
|
||||
{
|
||||
printf("Running under Windows %d.%d in enhanced mode\n",win_ma,win_mi);
|
||||
printf("%s Windows %d.%d %s\n",szRunUnder,win_ma,win_mi,szEnhMode);
|
||||
}
|
||||
else
|
||||
{
|
||||
printf("Running under Windows %d.%d\n",win_ma,win_mi);
|
||||
printf("%s Windows %d.%d\n",szRunUnder,win_ma,win_mi);
|
||||
}
|
||||
}
|
||||
if(win_ma == 2 && win_mode == 3)
|
||||
{
|
||||
printf("Running under Windows/386 %d.%d\n",win_ma,win_mi);
|
||||
printf("%s Windows/386 %d.%d\n",szRunUnder,win_ma,win_mi);
|
||||
}
|
||||
return(0);
|
||||
if(softice_ma != 0 && softice_mi == 3)
|
||||
{
|
||||
printf("%s %s\n",szRunUnder,szSoftIce); //Version detection no yet implemented
|
||||
}
|
||||
if(dostype == 0)
|
||||
{
|
||||
printf("\n%s %d.%d, %s %d.%d",szUnkDOS,dos_major,dos_minor,szThatSim,dos_sim_major,dos_sim_minor);
|
||||
printf("\n%s %x",szOEM,dos_oem);
|
||||
printf("\n%s\niosglpgc@teleline.es",szInfo);
|
||||
return(1);
|
||||
}
|
||||
else {return(0);}
|
||||
}
|
||||
|
||||
28
ver.h
28
ver.h
@@ -1,12 +1,12 @@
|
||||
/************************************************************************
|
||||
T h e O p e n W i n d o w s P r o j e c t
|
||||
Claunia.com
|
||||
------------------------------------------------------------------------
|
||||
|
||||
Filename : ver.h
|
||||
Version : 0.04
|
||||
Version : 0.06
|
||||
Author(s) : Natalia Portillo
|
||||
|
||||
Component : OWP DOS subsystem - VER command
|
||||
Component : UNAME for DOS
|
||||
|
||||
--[ Description ]-------------------------------------------------------
|
||||
|
||||
@@ -39,6 +39,13 @@
|
||||
Implemented detection of the Windows version.
|
||||
Implemented detection of OS/2.
|
||||
Implemented detection of Windows Millenium (tested with beta 3).
|
||||
0.05: Corrected an error with minor versions of OS/2 2.x and 1.x
|
||||
Implemented SoftICE debugger detection. But not tested.
|
||||
Translated to spanish and french.
|
||||
Corrected an error with DOS versions prior to 5.x when testing
|
||||
the true DOS version
|
||||
0.06: Implemented detection of Windows XP.
|
||||
Corrected an error with OS/2 2.x versions.
|
||||
|
||||
--[ How to compile ]----------------------------------------------------
|
||||
|
||||
@@ -47,7 +54,7 @@
|
||||
|
||||
--[ Where to get help/information ]-------------------------------------
|
||||
|
||||
This archaic and abandoned software is opensource with no warranty
|
||||
This archaic and abandoned software is opensource with no warranty
|
||||
or help of any kind.
|
||||
For inquiries contact claunia@claunia.com.
|
||||
|
||||
@@ -68,7 +75,7 @@
|
||||
Foundation,Inc.,59 Temple Place - Suite 330,Boston,MA 02111-1307,USA.
|
||||
|
||||
------------------------------------------------------------------------
|
||||
Copyright (c) 2000 The Open Windows Project
|
||||
Copyright (c) 2001 Claunia.com
|
||||
*************************************************************************/
|
||||
|
||||
/* OWP DOS Subsystem general definition */
|
||||
@@ -77,12 +84,12 @@
|
||||
#endif
|
||||
|
||||
/* Program general definitions */
|
||||
#define SYSTEM "OWP"
|
||||
#define PROGRAM "VER"
|
||||
#define SYSTEM "DOS"
|
||||
#define PROGRAM "UNAME"
|
||||
#define MAJOR_VERSION 0
|
||||
#define MINOR_VERSION_STRING "04"
|
||||
#define MINOR_VERSION_STRING "07"
|
||||
#define SUB_VERSION_STRING ""
|
||||
#define COPYRIGHT "2000 Open Windows Project"
|
||||
#define COPYRIGHT "2002 Claunia.com"
|
||||
|
||||
/* DOS types definition */
|
||||
#define UNKNOWN 0
|
||||
@@ -91,7 +98,7 @@
|
||||
#define DR_DOS 3
|
||||
#define FreeDOS 4
|
||||
#define Win95 5
|
||||
#define WinNT 6
|
||||
#define WinNT 6 /* Any NTVDM, from Windows NT 3, 4 or Windows 2k or XP */
|
||||
#define OS2 7
|
||||
#define PTS_DOS 8
|
||||
#define RxDOS 9
|
||||
@@ -100,4 +107,5 @@
|
||||
#define OLD 12
|
||||
#define Win98 13 /* Or Windows 95 OSR 2 or upper */
|
||||
#define WinMe 14
|
||||
#define S_DOS 15 /* S/DOS (Source DOS), not tested yet, so not implemented */
|
||||
#define ERROR 255
|
||||
|
||||
Reference in New Issue
Block a user