]> git.sur5r.net Git - cc65/commitdiff
test program for get_ostype() function
authorcpg <cpg@b7a2c559-68d2-44c3-8de9-860c34a00d81>
Mon, 17 Jul 2000 00:35:12 +0000 (00:35 +0000)
committercpg <cpg@b7a2c559-68d2-44c3-8de9-860c34a00d81>
Mon, 17 Jul 2000 00:35:12 +0000 (00:35 +0000)
git-svn-id: svn://svn.cc65.org/cc65/trunk@163 b7a2c559-68d2-44c3-8de9-860c34a00d81

testcode/lib/atari/ostype.c [new file with mode: 0644]

diff --git a/testcode/lib/atari/ostype.c b/testcode/lib/atari/ostype.c
new file mode 100644 (file)
index 0000000..33f23f0
--- /dev/null
@@ -0,0 +1,44 @@
+/*
+ * testprogram for get_ostype() function
+ *
+ * 17-Jul-2000, cpg@aladdin.de
+ */
+
+#include <stdio.h>
+#include <atari.h>
+
+int main(void)
+{
+    unsigned int t;
+    unsigned char palntsc;
+    unsigned char *rev;
+    unsigned char minor;
+    unsigned char c;
+
+    t = get_ostype();    /* get computer type */
+
+    palntsc = (t & AT_OS_PALNTSC) >> 3;
+    minor = (t & AT_OS_TYPE_MINOR) >> 5;
+    if (palntsc != AT_OS_PAL) palntsc = 0; /* 1 - PAL; 0 - NTSC */
+    switch(t & AT_OS_TYPE_MAIN) {
+        case AT_OS_UNKNOWN:
+        default:
+            printf("unknown system type !!\n");
+            break;
+        case AT_OS_400800:
+            if (minor == 1) rev = "A";
+            else rev = "B";
+            printf("it's a 400/800, %s, Rev. %s\n",palntsc ? "PAL" : "NTSC",rev);
+            break;
+        case AT_OS_1200XL:
+            if (minor == 1) rev = "10";
+            else rev = "11";
+            printf("it's a 1200XL, %s, Rev. %s\n",palntsc ? "PAL" : "NTSC",rev);
+            break;
+        case AT_OS_XLXE:
+            printf("is'a a XL/XE, %s, Rev. %d\n",palntsc ? "PAL" : "NTSC",minor);
+            break;
+    }
+    printf("hit <RETURN> to continure...\n");
+    c = getchar();
+}