Improved GeOS version detection.
This commit is contained in:
58
samples/geos/geosver.c
Normal file
58
samples/geos/geosver.c
Normal file
@@ -0,0 +1,58 @@
|
||||
#include <geos.h>
|
||||
#include <conio.h>
|
||||
|
||||
// Let's define the window we're operating
|
||||
struct window wholeScreen = {0, SC_PIX_HEIGHT-1, 0, SC_PIX_WIDTH-1};
|
||||
|
||||
|
||||
void main (void)
|
||||
{
|
||||
unsigned char os = get_ostype();
|
||||
unsigned char *machine = NULL;
|
||||
unsigned char *version = NULL;
|
||||
unsigned char good = 1;
|
||||
|
||||
SetPattern(0);
|
||||
InitDrawWindow(&wholeScreen);
|
||||
Rectangle();
|
||||
gotoxy(0, 4);
|
||||
if (os == GEOS4) {
|
||||
machine = "plus4";
|
||||
version = "GeOS v3.5";
|
||||
} else {
|
||||
if ((os & GEOS128) == GEOS128) {
|
||||
machine = "c128";
|
||||
} else {
|
||||
machine = "c64";
|
||||
}
|
||||
os &= 0x7f;
|
||||
if (os == GEOS_V10) {
|
||||
version = "GeOS v1.0";
|
||||
} else if (os == GEOS_V11) {
|
||||
version = "GeOS v1.1";
|
||||
} else if (os == GEOS_V12) {
|
||||
version = "GeOS v1.2";
|
||||
} else if (os == GEOS_V20) {
|
||||
version = "GeOS v2.0";
|
||||
} else if (os == MEGAPATCH3) {
|
||||
version = "MegaPatch 3";
|
||||
} else if (os == GATEWAY) {
|
||||
version = "GateWay";
|
||||
} else if ((os & WHEELS) == WHEELS) {
|
||||
version = "Wheels";
|
||||
} else {
|
||||
version = "Unknown GeOS version";
|
||||
good = 0;
|
||||
}
|
||||
}
|
||||
|
||||
if (good) {
|
||||
cprintf("%s (%s)", version, machine);
|
||||
} else {
|
||||
cprintf("%s (%s) (%d)", version, machine, os);
|
||||
}
|
||||
|
||||
Sleep(10*50);
|
||||
|
||||
return;
|
||||
}
|
||||
8
samples/geos/geosverres.grc
Normal file
8
samples/geos/geosverres.grc
Normal file
@@ -0,0 +1,8 @@
|
||||
|
||||
; this is the resource file for geosver.c, a GEOS application example
|
||||
|
||||
HEADER APPLICATION "geosver" "GeOSver" "V1.0" {
|
||||
dostype USR
|
||||
author "Marco van den Heuvel"
|
||||
info "This is a C prog compiled with cc65 and GEOSLib."
|
||||
}
|
||||
Reference in New Issue
Block a user