]> 4ch.mooo.com Git - 16.git/commitdiff
16.exe serial print debug
authorsparky4 <sparky4@cock.li>
Sat, 30 Jul 2016 03:52:19 +0000 (22:52 -0500)
committersparky4 <sparky4@cock.li>
Sat, 30 Jul 2016 03:52:19 +0000 (22:52 -0500)
makefile
planrpcx.exe [new file with mode: 0755]
src/16.c
src/lib/16_head.h
src/lib/16_mm.h
src/lib/16_vrs.c
src/lib/16_vrs.h
src/lib/typdefst.h
src/lib/types.h
test2.exe [new file with mode: 0755]

index 2591d80f7fb00951bfee8e34c21f26b1f4f86832..92994fb8b2ff7ec074e7aa151e3807320c82e93e 100755 (executable)
--- a/makefile
+++ b/makefile
@@ -92,7 +92,8 @@ FLAGS=$(CFLAGS) $(OFLAGS) $(DFLAGS) $(ZFLAGS)
 VGMSNDOBJ = vgmSnd.$(OBJ) 16_snd.$(OBJ)
 DOSLIBOBJ = adlib.$(OBJ) 8254.$(OBJ) 8259.$(OBJ) dos.$(OBJ) cpu.$(OBJ)
 16LIBOBJS = 16_in.$(OBJ) 16_mm.$(OBJ) wcpu.$(OBJ) 16_head.$(OBJ) 16_ca.$(OBJ) 16_dbg.$(OBJ) kitten.$(OBJ) 16_hc.$(OBJ) 16_timer.$(OBJ)
-GFXLIBOBJS = modex16.$(OBJ) bitmap.$(OBJ) 16text.$(OBJ) bakapee.$(OBJ) scroll16.$(OBJ) 16render.$(OBJ) 16_vrs.$(OBJ) $(DOSLIBLIBS)
+GFXLIBOBJS = modex16.$(OBJ) bitmap.$(OBJ) 16text.$(OBJ) bakapee.$(OBJ) scroll16.$(OBJ) 16render.$(OBJ) $(DOSLIBLIBS)
+#16_vrs.$(OBJ)
 #planar.$(OBJ) 16planar.$(OBJ)
 DOSLIBLIBS=$(DOSLIBDIR)$(DIRSEP)hw$(DIRSEP)cpu$(DIRSEP)dos86h$(DIRSEP)cpu.lib $(DOSLIBDIR)$(DIRSEP)hw$(DIRSEP)dos$(DIRSEP)dos86h$(DIRSEP)dos.lib $(DOSLIBDIR)$(DIRSEP)hw$(DIRSEP)vga$(DIRSEP)dos86h$(DIRSEP)vga.lib
 
diff --git a/planrpcx.exe b/planrpcx.exe
new file mode 100755 (executable)
index 0000000..1462893
Binary files /dev/null and b/planrpcx.exe differ
index 5e5124224ff0722d4553fbfaeecb4536927b5646..6ad5334f03d1566a7554375400166e9ee337a7e0 100755 (executable)
--- a/src/16.c
+++ b/src/16.c
@@ -81,6 +81,7 @@ main(int argc, char *argv[])
                IN_ReadControl(0,&player);\r
                if(IN_KeyDown(sc_Escape)) engi_stat = ENGI_EXIT;\r
                shinku(&gvar);\r
+               _DEBUGF("Serial debug output printf test %u %u %u\n",1U,2U,3U);\r
        }\r
        switch(detectcpu())\r
        {\r
index 273cc60f4505948db27098a72006bc7336c85a1a..b7aab1bdebaf54bdb72b9ff1048da4037cd5cae9 100755 (executable)
@@ -167,13 +167,6 @@ extern     int                     profilehandle,debughandle;      //make it into game global
 typedef union REGPACK  regs_t;\r
 #endif\r
 \r
-#ifdef __WATCOMC__\r
-typedef void __based(__self) * memptr;\r
-#endif\r
-#ifdef __BORLANDC__\r
-typedef void _seg * memptr;\r
-#endif\r
-\r
 #define INPUT_STATUS_1         0x03da\r
 \r
 /* local function */\r
index de35b428b6197884a9ead179cce0d1e9c0e388ad..963eb3a45ef98129ccb46ea87890ca03cd5f5bfc 100755 (executable)
@@ -44,7 +44,8 @@
 
 #define        BUFFERSIZE              0x1000          // miscelanious, allways available buffer
 
-#define MAXBLOCKS              1024
+//moved to typdefst
+//#define MAXBLOCKS            1024
 
 
 
 
 //==========================================================================
 
-typedef struct
+//moved to typdefst
+/*typedef struct
 {
        dword   nearheap,farheap,EMSmem,XMSmem,mainmem;
-} mminfotype;
+} mminfotype;*/
 
 //==========================================================================
 
@@ -114,10 +116,12 @@ extern void               (* XMSaddr) (void);             // far pointer to XMS driver
 #define PURGEMASK      0xfffc
 #define BASEATTRIBUTES 0       // unlocked, non purgable
 
-#define MAXUMBS                12
+//moved to typedefst
+//#define MAXUMBS              12
 #define MAPPAGES               4//mm->EMSpagesmapped
 
-typedef struct mmblockstruct
+//moved to typdefst
+/*typedef struct mmblockstruct
 {
        word    start,length;
        //word  start;  dword length;
@@ -148,7 +152,7 @@ typedef struct
        //dword numUMBs,UMBbase[MAXUMBS];
        //huge mmblocktype      huge mmblocks[MAXBLOCKS],huge *mmhead,huge *mmfree,huge *mmrover,huge *mmnew;
        mmblocktype     far mmblocks[MAXBLOCKS],far *mmhead,far *mmfree,far *mmrover,far *mmnew;
-} mminfo_t;
+} mminfo_t;*/
 
 /*
 =============================================================================
index 054702f3fd84088313c5ee3bd4c14af3dcae64de..8cb41fa48cbf0a68b1d1771984a740a7b14f7147 100755 (executable)
  *
  */
 #include "src/lib/16_vrs.h"
-#include "src/lib/typedefst.h"
-
-extern global_game_variables_t gvar;
 
 // Read .vrs file into far memory
-int read_vrs(char *filename, struct vrs_container *vrs_cont){
+int read_vrs(global_game_variables_t *gvar, char *filename, struct vrs_container *vrs_cont){
        int fd;
        dword size;
        byte huge *buffer;
        // Open filename, get size of file,
        // populate the vrs_container if all tests pass
-       fd = open(filename, O_RDONLY|O_BINARY);
+       fd = open((filename), O_RDONLY|O_BINARY);
        size = filelength(fd);
        close(fd);
        // Insert sanity cheks later
-       CA_LoadFile(filename, buffer, gvar->mm, gvar->mmi);
+       CA_LoadFile(filename, buffer, &gvar->mm, &gvar->mmi);
        vrs_cont->size = size;
        vrs_cont->buffer = buffer;
        return 0;
 }
 
 // Seek and return a specified .vrl blob from .vrs blob in far memory
-struct vrl_container get_vrl_by_id(struct vrs_container huge *vrs_cont, uint16_t id){
+struct vrl_container get_vrl_by_id(struct vrs_container /*huge*/ *vrs_cont, uint16_t id){
        uint16_t huge *ids;
        uint32_t huge *vrl_list;
        struct vrl_container huge *vrl_cont;
@@ -53,7 +50,7 @@ struct vrl_container get_vrl_by_id(struct vrs_container huge *vrs_cont, uint16_t
                return 0;
        }
        // Get id list from .vrs blob (base + offset)
-       ids = (uint16_t huge*)vrs_cont->buffer + 
+       ids = (uint16_t huge*)vrs_cont->buffer +
                (dword)vrs_cont->vrs_hdr->offset_table[VRS_HEADER_OFFSET_SPRITE_ID_LIST];
        // Loop through the id list until we found the right one or hit the end of the list
        // Counter is keeping track of the offset(in ids/vrl blobs)
@@ -66,7 +63,7 @@ struct vrl_container get_vrl_by_id(struct vrs_container huge *vrs_cont, uint16_t
                return 0;
        }
        // Get vrl list from .vrs blob (base + offset)
-       vrl_list = (uint32_t huge *)(vrs_cont->buffer + 
+       vrl_list = (uint32_t huge *)(vrs_cont->buffer +
                                        vrs_cont->vrs_hdr->offset_table[VRS_HEADER_OFFSET_VRS_LIST]);
        // Allocate memory for vrl_cont
        vrl_cont = (struct vrl_container)malloc(sizeof(struct vrl_container));
index 8e489964add867b18d0bb3ad4a5749facf478bf4..8fb4ad12e188bf935aef11fa239a50f72c8c111f 100755 (executable)
@@ -58,7 +58,7 @@ struct vrl_container{
 // to load the file into
 // Out:
 // + int - 0 on succes, 1 on failure
-int read_vrs(char *filename, struct vrs_container *vrs_cont);
+int read_vrs(global_game_variables_t *gvar, char *filename, struct vrs_container *vrs_cont);
 
 // Seek and return a specified .vrl blob from .vrs blob in memory
 // In:
index 6dbfa213861e78809e075a8344042b58e863d7d1..76082c56a58fd26d009dff616d1c6bc3f0cfe49e 100755 (executable)
@@ -25,7 +25,6 @@
 \r
 #include "src/lib/types.h"\r
 \r
-\r
 #define AARED          "\x1b[41;31m"\r
 #define AABLUE         "\x1b[44;34m"\r
 #define AAGREEN        "\x1b[42;32m"\r
@@ -133,6 +132,52 @@ typedef struct
        //0000word startclk; float clk, tickclk;        //timer\r
 } video_t;\r
 \r
+typedef struct mmblockstruct\r
+{\r
+       word    start,length;\r
+       //word  start;  dword length;\r
+       word    blob;   //for data larger than 64k\r
+       unsigned        attributes;\r
+       memptr          *useptr;        // pointer to the segment start\r
+       //huge struct mmblockstruct huge *next;\r
+       struct mmblockstruct far *next;\r
+} mmblocktype;\r
+\r
+//from 16_mm\r
+//==========================================================================\r
+\r
+#define MAXBLOCKS              1024\r
+#define MAXUMBS                12\r
+\r
+typedef struct\r
+{\r
+       dword   nearheap,farheap,EMSmem,XMSmem,mainmem;\r
+} mminfotype;\r
+\r
+typedef struct\r
+{\r
+       memptr bufferseg;\r
+       boolean         mmstarted, bombonerror, mmerror;\r
+       //huge void huge        *farheap;\r
+       void far        *farheap;\r
+#ifdef __BORLANDC__\r
+       void    *nearheap;\r
+#endif\r
+#ifdef __WATCOMC__\r
+       void __near     *nearheap;\r
+#endif\r
+       //byte          EMS_status;\r
+       unsigned        totalEMSpages,freeEMSpages,EMSpageframe,EMSpagesmapped,EMShandle;\r
+       unsigned int EMSVer;\r
+       word numUMBs,UMBbase[MAXUMBS];\r
+       //dword numUMBs,UMBbase[MAXUMBS];\r
+       //huge mmblocktype      huge mmblocks[MAXBLOCKS],huge *mmhead,huge *mmfree,huge *mmrover,huge *mmnew;\r
+       mmblocktype     far mmblocks[MAXBLOCKS],far *mmhead,far *mmfree,far *mmrover,far *mmnew;\r
+} mminfo_t;\r
+\r
+//==========================================================================\r
+\r
+//actual global game varables!\r
 typedef struct\r
 {\r
        video_t video;  // video settings variable\r
index cf6b4e9e35f976316d2ffa2dbda3d5f49257be25..d5528daf8926b856a29d7f7b75d861fcb821672a 100755 (executable)
@@ -42,4 +42,11 @@ typedef signed long int sdiword;
 \r
 typedef        enum    {false,true}    boolean;\r
 \r
+#ifdef __WATCOMC__\r
+typedef void __based(__self) * memptr;\r
+#endif\r
+#ifdef __BORLANDC__\r
+typedef void _seg * memptr;\r
+#endif\r
+\r
 #endif/*_TYPE_H_*/\r
diff --git a/test2.exe b/test2.exe
new file mode 100755 (executable)
index 0000000..6d85c73
Binary files /dev/null and b/test2.exe differ