]> 4ch.mooo.com Git - 16.git/commitdiff
p16 is being worked on a bunch by me wwww [16_ca needs huge amounts of work and I...
authorsparky4 <sparky4@cock.li>
Wed, 19 Apr 2017 16:43:37 +0000 (11:43 -0500)
committersparky4 <sparky4@cock.li>
Wed, 19 Apr 2017 16:43:37 +0000 (11:43 -0500)
src/exmmtest.c
src/imfplay.c
src/lib/16_mm.c
src/lib/16_sd.c
src/lib/16_sd.h
src/lib/16_tail.c
src/lib/16_tail.h
src/lib/vgmsnd/vgmSnd.c
src/vgmtest.c
src/xcroll.c

index 010bb6eacf7c302eb515600c87a6449369d5da55..d668c2db7cdbffe4d7c96343ae063ee8f767c1c9 100755 (executable)
@@ -193,8 +193,8 @@ main(int argc, char *argv[])
        // save the palette\r
        modexPalSave(&gvar.video.dpal); modexFadeOff(4, &gvar.video.dpal); //modexPalBlack();\r
                                                                #else //NOVID\r
-       //printf("main()=%Fp    start MM\n", *argv[0]);\r
-       MM_Startup(&gvar);\r
+       StartupCAMMPM(&gvar);\r
+/*     MM_Startup(&gvar);\r
                                                                #ifdef __16_PM__\r
                                                                #ifdef __DEBUG_PM__\r
                                                                        if(dbg_debugpm>0)\r
@@ -206,9 +206,8 @@ main(int argc, char *argv[])
                                                                        }\r
                                                                #endif //__DEBUG_PM__\r
                                                                #endif //__16_PM__\r
+       CA_Startup(&gvar);*/\r
                                                                #endif //elsed NOVID\r
-\r
-       CA_Startup(&gvar);\r
                                                                #ifdef PRINTBBDUMP\r
                                                                //0000\r
 PRINTBB; KEYP\r
@@ -308,14 +307,15 @@ PRINTBB; KEYP
                                                                #ifndef NOVID\r
        Shutdown16(&gvar);\r
                                                                #else //novid\r
-                                                               #ifdef __16_PM__\r
+       ShutdownCAMMPM(&gvar);\r
+/*                                                             #ifdef __16_PM__\r
                                                                #ifdef __DEBUG_PM__\r
                                                                        if(dbg_debugpm>0)\r
                                                                #endif //__DEBUG_PM__\r
        PM_Shutdown(&gvar);\r
                                                                #endif //__16_PM__\r
        CA_Shutdown(&gvar);\r
-       MM_Shutdown(&gvar);\r
+       MM_Shutdown(&gvar);*/\r
                                                                #endif //NOVID\r
        IN_Shutdown(&gvar);\r
        printf("========================================\n");\r
index 169ff8b5fa68e2a1696e8e80376afdec974a8045..697b6d3611e7f3d7940223948a5f91b58b0756a4 100755 (executable)
@@ -110,8 +110,7 @@ int imf_load_music(const char *path, global_game_variables_t *gvar) {
        PRINTBB;
        return 1;
 }
-*/
-#ifndef LIBIRQ0
+
 // WARNING: subroutine call in interrupt handler. make sure you compile with -zu flag for large/compact memory models
 void interrupt irq0()
 {
@@ -124,8 +123,7 @@ void interrupt irq0()
                p8259_OCW2(0,P8259_OCW2_NON_SPECIFIC_EOI);
        }
 }
-#endif
-/*
+
 void imf_tick() {
        if (imf_delay_countdown == 0) {
                do {
@@ -190,8 +188,7 @@ void adlib_shut_up() {
 
 void main(int argc,char **argv) {
        static global_game_variables_t gvar;
-       unsigned long tickrate = 700;
-       unsigned long ptick;
+       unsigned long ptick, tickrate = 700;
        int c;
 #ifdef __DEBUG_CA__
        dbg_debugca=1;
@@ -200,24 +197,22 @@ void main(int argc,char **argv) {
        dbg_debugmm=1;
 #endif
        ggvv=&gvar;
-       MM_Startup(&gvar);
-       PM_Startup(&gvar); PM_CheckMainMem(&gvar); PM_UnlockMainMem(&gvar);
-       CA_Startup(&gvar);
+       StartupCAMMPM(&gvar);
        printf("ADLIB FM test program IMFPLAY\n");
        if (argc < 2) {
                printf("You must specify an IMF file to play\n");
-               return;
+//             return;
        }
 
        SD_Initimf(&gvar);
 
        if (!SD_imf_load_music(argv[1], &gvar)) {
                printf("Failed to load IMF Music\n");
-               return;
+//             return;
        }
 
        write_8254_system_timer(T8254_REF_CLOCK_HZ / tickrate);
-       old_irq0 = _dos_getvect(8);/*IRQ0*/
+       old_irq0 = _dos_getvect(8);     /*IRQ0*/
        _dos_setvect(8,irq0);
 
        _cli();
@@ -253,8 +248,6 @@ void main(int argc,char **argv) {
        SD_adlib_shut_up();
        shutdown_adlib();
        _dos_setvect(8,old_irq0);
-       write_8254_system_timer(0);/* back to normal 18.2Hz */
-       PM_Shutdown(&gvar);
-       CA_Shutdown(&gvar);
-       MM_Shutdown(&gvar);
+       write_8254_system_timer(0);     /* back to normal 18.2Hz */
+       ShutdownCAMMPM(&gvar);
 }
index 566006852f7fe54059f190aefb921eae5a6d567f..ee484c1a39fd7f64057a02aa5aa94a3488554107 100755 (executable)
@@ -74,8 +74,10 @@ void         (* XMSaddr) (void);             // far pointer to XMS driver
 =============================================================================\r
 */\r
 #ifndef __16_PM__\r
+#if 0\r
 static char *ParmStringsexmm[] = {"noems","noxms",""};\r
 #endif\r
+#endif\r
 /*\r
 ======================\r
 =\r
@@ -172,6 +174,7 @@ boolean MML_CheckForEMS(void)
 }\r
 \r
 #ifndef __16_PM__\r
+#if 0\r
 /*\r
 ======================\r
 =\r
@@ -456,6 +459,7 @@ byte MM_MapXEMS(global_game_variables_t *gvar)
        return 0;\r
 }\r
 #endif\r
+#endif\r
 //==========================================================================\r
 \r
 /*\r
@@ -491,6 +495,7 @@ boolean MML_CheckForXMS(void)
 }\r
 \r
 #ifndef __16_PM__\r
+#if 0\r
 /*\r
 ======================\r
 =\r
@@ -578,6 +583,7 @@ void MML_ShutdownXMS(global_game_variables_t *gvar)
        }\r
 }\r
 #endif\r
+#endif\r
 //==========================================================================\r
 \r
 /*\r
@@ -815,6 +821,7 @@ void MM_Startup(global_game_variables_t *gvar)
        gvar->mmi.mainmem = gvar->mmi.nearheap + gvar->mmi.farheap;\r
 \r
 #if !defined(__16_PM__)// && defined(__WATCOMC__)\r
+#if 0\r
        if(!dbg_debugpm) {\r
 //\r
 // detect EMS and allocate up to 64K at page frame\r
@@ -856,6 +863,7 @@ goto xmsskip;//0000
        }\r
 xmsskip:\r
 #endif\r
+#endif\r
 //\r
 // allocate the misc buffer\r
 //\r
@@ -889,6 +897,7 @@ void MM_Shutdown(global_game_variables_t *gvar)
        free(gvar->mm.nearheap);//      printf("                near freed\n");\r
 #endif\r
 #ifndef __16_PM__\r
+#if 0\r
 #ifdef __DEBUG__\r
        if(!dbg_debugpm) {\r
 #endif\r
@@ -898,6 +907,7 @@ void MM_Shutdown(global_game_variables_t *gvar)
        }\r
 #endif\r
 #endif\r
+#endif\r
 }\r
 \r
 //==========================================================================\r
@@ -1526,7 +1536,7 @@ dword MM_TotalFree (global_game_variables_t *gvar)
 =====================\r
 */\r
 \r
-void MM_Report_(global_game_variables_t *gvar)\r
+void MM_Report_ (global_game_variables_t *gvar)\r
 {\r
        printf("========================================\n");\r
        printf("                MM_Report_\n");\r
@@ -1537,7 +1547,7 @@ void MM_Report_(global_game_variables_t *gvar)
                printf("        %c%cEMM v%x.%x available\n", 0xC7, 0xC4, gvar->pm.emm.EMSVer>>4,gvar->pm.emm.EMSVer&0x0F);\r
                printf("        %c%ctotalEMSpages:      %u      ", 0xC7, 0xC4, gvar->pm.emm.totalEMSpages); printf("freeEMSpages:       %u\n", gvar->pm.emm.freeEMSpages);\r
                printf("        %c%cEMSPageFrame:       %04x\n", 0xC7, 0xC4, gvar->pm.emm.EMSPageFrame);\r
-               printf("        %c%cEMSmem:     %lu or %luk\n", 0xD3, 0xC4, gvar->mmi.EMSmem, gvar->mmi.EMSmem/1204);\r
+               printf("        %c%cEMSmem:     %lu\n", 0xD3, 0xC4, gvar->mmi.EMSmem);\r
        }\r
        if(MML_CheckForXMS())\r
        {\r
@@ -1545,7 +1555,7 @@ void MM_Report_(global_game_variables_t *gvar)
                printf("        %c%cXMS v%x.%x available\n", 0xC7, 0xC4, XMSVer>>8,XMSVer&0x0F);\r
                printf("        %c%cXMSDriver:  %Fp\n", 0xC7, 0xC4, XMSDriver);\r
                printf("        %c%cXMSHandle:  %04x\n", 0xC7, 0xC4, gvar->pm.xmm.XMSHandle);\r
-               printf("        %c%cXMSmem:     %lu or %lukb\n", 0xD3, 0xC4, gvar->mmi.XMSmem, gvar->mmi.XMSmem/1024);\r
+               printf("        %c%cXMSmem:     %lu\n", 0xD3, 0xC4, gvar->mmi.XMSmem);\r
        }\r
        printf("        %cConv. %u\n", 0xC9, gvar->pm.mm.MainPresent); DebugMemory_(gvar, 0);\r
        //printf("mainmem:      %lu\n", gvar->mmi.mainmem);\r
index 7e16839a3dd430ecb6c84ff40d4bbfc33d8e4ae5..b82ff3e8b1658b028c6a5e93f0e0934c1e07667a 100755 (executable)
@@ -270,7 +270,6 @@ int SD_imf_load_music(const char *path, global_game_variables_t *gvar)
        return 1;\r
 }\r
 \r
-#ifdef LIBIRQ0\r
 struct glob_game_vars  *ggvv;\r
 // WARNING: subroutine call in interrupt handler. make sure you compile with -zu flag for large/compact memory models\r
 void interrupt irq0()\r
@@ -284,7 +283,6 @@ void interrupt irq0()
                p8259_OCW2(0,P8259_OCW2_NON_SPECIFIC_EOI);\r
        }\r
 }\r
-#endif\r
 \r
 void SD_imf_tick(global_game_variables_t *gvar)\r
 {\r
index 3690fe36e88d56c1569dea5d46b1fa73a57be3f1..a9711b70f668c7610e0f0a74a71eeb70871759b6 100755 (executable)
@@ -34,7 +34,6 @@
 #define MAX_REGISTER                   0xF5\r
 #define ADLIB_FM_ADDRESS       0x388   /* adlib address/status register */\r
 #define ADLIB_FM_DATA          0x389   /* adlib data register           */\r
-#define LIBIRQ0\r
 \r
 /*\r
 * FM Instrument definition for .SBI files - SoundBlaster instrument\r
index 6b08e0fb9180cd4e7fac221625cc7aba8ecf455b..742e113289140267c3ddb5d2562b46a02556d7bb 100755 (executable)
 ==========================\r
 */\r
 \r
-void Startup16(global_game_variables_t *gvar)\r
+void Startup16 (global_game_variables_t *gvar)\r
 {\r
        gvar->video.VL_Started=0;\r
        TL_VidInit(gvar);\r
        gvar->mm.mmstarted=0;\r
        gvar->pm.PMStarted=0;\r
-       MM_Startup(gvar);\r
+       StartupCAMMPM(gvar);\r
 #ifdef __WATCOMC__\r
 #ifdef __DEBUG_InputMgr__\r
        if(!dbg_nointest)\r
 #endif\r
        IN_Startup(gvar);\r
 #endif\r
-#ifdef __16_PM__\r
-       PM_Startup(gvar);\r
-       PM_CheckMainMem(gvar);\r
-       PM_UnlockMainMem(gvar);\r
-#endif\r
-       CA_Startup(gvar);\r
 }\r
 \r
 //===========================================================================\r
@@ -69,19 +63,15 @@ void Startup16(global_game_variables_t *gvar)
 ==========================\r
 */\r
 \r
-void Shutdown16(global_game_variables_t *gvar)\r
+void Shutdown16 (global_game_variables_t *gvar)\r
 {\r
-#ifdef __16_PM__\r
-       PM_Shutdown(gvar);\r
-#endif\r
 #ifdef __WATCOMC__\r
 #ifdef __DEBUG_InputMgr__\r
        if(!dbg_nointest)\r
 #endif\r
        IN_Shutdown(gvar);\r
 #endif\r
-       CA_Shutdown(gvar);\r
-       MM_Shutdown(gvar);\r
+       ShutdownCAMMPM(gvar);\r
 #ifdef __WATCOMC__\r
        if(gvar->video.VL_Started)\r
                VL_Shutdown (gvar);//VGAmodeX(0, 1, gvar);\r
@@ -90,6 +80,68 @@ void Shutdown16(global_game_variables_t *gvar)
 \r
 //===========================================================================\r
 \r
+/*\r
+==========================\r
+=\r
+= StartupCAMMPM\r
+=\r
+==========================\r
+*/\r
+\r
+void StartupCAMMPM (global_game_variables_t *gvar)\r
+{\r
+/*\r
+       MM_Startup ();                  // so the signon screen can be freed\r
+\r
+       SignonScreen ();\r
+\r
+       VW_Startup ();\r
+       IN_Startup ();\r
+       PM_Startup ();\r
+       PM_UnlockMainMem ();\r
+       SD_Startup ();\r
+       CA_Startup ();\r
+       US_Startup ();\r
+*/\r
+       MM_Startup(gvar);\r
+#ifdef __16_PM__\r
+       PM_Startup(gvar);\r
+//???? PM_CheckMainMem(gvar);\r
+       PM_UnlockMainMem(gvar);\r
+#endif\r
+       CA_Startup(gvar);\r
+}\r
+\r
+//===========================================================================\r
+\r
+/*\r
+==========================\r
+=\r
+= ShutdownCAMMPM\r
+=\r
+==========================\r
+*/\r
+\r
+void ShutdownCAMMPM (global_game_variables_t *gvar)\r
+{\r
+/*\r
+       US_Shutdown ();\r
+       SD_Shutdown ();\r
+       PM_Shutdown ();\r
+       IN_Shutdown ();\r
+       VW_Shutdown ();\r
+       CA_Shutdown ();\r
+       MM_Shutdown ()\r
+*/\r
+#ifdef __16_PM__\r
+       PM_Shutdown(gvar);\r
+#endif\r
+       CA_Shutdown(gvar);\r
+       MM_Shutdown(gvar);\r
+}\r
+\r
+//===========================================================================\r
+\r
 /*\r
 ====================\r
 =\r
index cfb100a4aa44a85c66bbecd6a049e4b0ee1d6584..93022c261b8c47492ba9a79f4ce25243538c6467 100755 (executable)
 word modexPalOverscan(word col);\r
 #endif\r
 \r
-void Shutdown16(global_game_variables_t *gvar);\r
-void Startup16(global_game_variables_t *gvar);\r
+void   Shutdown16(global_game_variables_t *gvar),\r
+       Startup16(global_game_variables_t *gvar),\r
+       StartupCAMMPM (global_game_variables_t *gvar),\r
+       ShutdownCAMMPM (global_game_variables_t *gvar);\r
 void TL_DosLibStartup(global_game_variables_t *gvar);\r
 void TL_VidInit(global_game_variables_t *gvar);\r
 boolean FizzleFade (unsigned source, unsigned dest, unsigned width, unsigned height, unsigned frames, boolean abortable, global_game_variables_t *gvar);\r
index d41f2abea3a0a9381e4f4e34c5e75d00b2a4e4ce..30d3a383faa19d8e559deb2ec80abcf9aaf5b688 100755 (executable)
@@ -217,11 +217,11 @@ UINT8 OpenVGMFile(const char* FileName, VGM_FILE* vgmFile, global_game_variables
 void FreeVGMFile(VGM_FILE* vgmFile, global_game_variables_t *gvar)\r
 {\r
        //if(vgmFile->data){ free(vgmFile->data);       vgmFile->data = NULL; }\r
-//     if(vgmFile->data) free(vgmFile->data);\r
        MM_FreePtr(MEMPTR gvar->ca.audiosegs[0], gvar);\r
+       if(vgmFile->data) free(vgmFile->data);\r
        vgmFile->dataLen = 0;\r
 \r
-       return;\r
+//     return;\r
 }\r
 \r
 \r
index ef8d242d743a8d57acc747286da42f38a2dd28d1..6a53d65b587243033c6e9cd3acbb979f31c3a8ba 100755 (executable)
@@ -26,7 +26,6 @@
 #include "src/lib/vgmsnd/vgmSnd.h"\r
 #include "src/lib/16_sd.h"\r
 //#include "src/lib/doslib/adlib.h"\r
-#include "src/lib/16_in.h"\r
 #include "src/lib/16_tail.h"\r
 #include "src/lib/16_pm.h"\r
 #include "src/lib/16_ca.h"\r
@@ -61,22 +60,18 @@ main(int argc, char *argv[])
        if(argv[1]) strcpy(bakapee, argv[1]);\r
 \r
        MM_Startup(&gvar);\r
-//     PM_Startup(&gvar); PM_CheckMainMem(&gvar); PM_UnlockMainMem(&gvar);\r
+//     PM_Startup(&gvar); PM_UnlockMainMem(&gvar);\r
 //     CA_Startup(&gvar);\r
        printf("%x\n", OpenVGMFile(bakapee, &pee[0], &gvar));\r
-//     IN_Startup(); IN_Default(0,&gvar.player[0],ctrl_Keyboard1);\r
        InitEngine();\r
        PlayMusic(&pee[0]);\r
-//     while(!IN_KeyDown(sc_Escape))\r
        while(!kbhit())\r
        {\r
-//             IN_ReadControl(0,&gvar.player);\r
                UpdateSoundEngine();\r
        }\r
        StopMusic();\r
-       FreeVGMFile(&pee[0], &gvar);\r
+       FreeVGMFile(&pee[0], &gvar); printf("ok\n");\r
        DeinitEngine();\r
-       //IN_Shutdown();\r
 //     PM_Shutdown(&gvar);\r
 //     CA_Shutdown(&gvar);\r
        MM_Shutdown(&gvar);\r
index 542301c18ef91e8f7fbe5c3fdbfdb6c046aa441a..d32cb9d771ca44d416c8dc96a4845b8081471e35 100755 (executable)
@@ -53,28 +53,14 @@ void main(int argc, char *argv[])
 {\r
        static global_game_variables_t gvar;\r
        struct glob_game_vars *ggvv;\r
-//     sword bakapee;\r
-//     if(argv[1]) bakapee = atoi(argv[1]);\r
-//     else bakapee = 1;\r
-       //char *bakapee1,*bakapee1p;\r
        char bakapee1[64] = FILENAME_1;\r
        char bakapee1p[64] = FILENAME_1P;\r
 \r
        Startup16(&gvar);\r
 \r
-//     bakapee1=mALLoc(64);\r
-//     bakapee1p=mALLoc(64);\r
        ggvv=&gvar;\r
 \r
        if (argc >= 2) {\r
-/*     if (argc < 2) {\r
-               //fprintf(stderr,"drawvrl <VRL file> <palette file>\n palette file optional\n");\r
-               bakapee1 =              FILENAME_1;\r
-               bakapee1p =     FILENAME_1P;\r
-\r
-       }else{\r
-               if(argv[1]) bakapee1 = argv[1];\r
-               if(argv[2]) bakapee1p = argv[2];*/\r
                if(argv[1]){ strcpy(bakapee1, argv[1]);\r
                if(argv[2]) strcpy(bakapee1p, argv[2]); }\r
        }\r