removed clang-format and clang_complete files from the repo
[dosdemo] / src / dos / main.c
index b415bb4..7f67e85 100644 (file)
@@ -8,8 +8,10 @@
 #include "logger.h"
 #include "cdpmi.h"
 #include "audio.h"
+#include "mouse.h"
 #include "sball.h"
 #include "vmath.h"
+#include "cpuid.h"
 
 static int handle_sball_event(sball_event *ev);
 static void recalc_sball_matrix(float *xform);
@@ -40,6 +42,16 @@ int main(int argc, char **argv)
 
        init_logger("demo.log");
 
+#ifdef __WATCOMC__
+       printf("watcom build\n");
+#elif defined(__DJGPP__)
+       printf("djgpp build\n");
+#endif
+
+       if(read_cpuid(&cpuid) == 0) {
+               print_cpuid(&cpuid);
+       }
+
        /* au_init needs to be called early, before init_timer, and also before
         * we enter graphics mode, to use the midas configuration tool if necessary
         */
@@ -50,11 +62,15 @@ int main(int argc, char **argv)
        init_timer(100);
        kb_init(32);
 
+       if(init_pci() != -1) {
+               /* TODO detect and initialize S3 virge */
+       }
+
        if(init_video() == -1) {
                return 1;
        }
 
-       if((vmidx = match_video_mode(640, 480, 16)) == -1) {
+       if((vmidx = match_video_mode(FB_WIDTH, FB_HEIGHT, FB_BPP)) == -1) {
                return 1;
        }
        if(!(vmem = set_video_mode(vmidx, 1))) {
@@ -119,6 +135,15 @@ void demo_quit(void)
        quit = 1;
 }
 
+void demo_abort(void)
+{
+       set_text_mode();
+       stop_logger();
+       printf("demo_abort called. see demo.log for details. Last lines:\n\n");
+       print_tail("demo.log");
+       abort();
+}
+
 #define TX(ev) ((ev)->motion.motion[0])
 #define TY(ev) ((ev)->motion.motion[1])
 #define TZ(ev) ((ev)->motion.motion[2])