home *** CD-ROM | disk | FTP | other *** search
- FIX FOR OUT-OF-MEMORY PROBLEM WITH NSPLAY.EXE
-
- Pat & Greg Williams, 4-9-91
-
- IF YOU HAVE ACCESS TO A COMPILER, MODIFY INITPLAY.C
- AS SHOWN BELOW AND RECOMPILE; IF YOU DO NOT HAVE
- ACCESS TO A COMPILER, ADD OR REMOVE TSR'S UNTIL
- THE ORIGINAL VERSION WORKS. THE PROBLEM IS THAT
- TOO MUCH MEMORY MIGHT BE ALLOCATED TO ALLOW THE
- BORLAND GRAPHICS TO FIT IN MEMORY; THE ALLOCATION
- IS DONE IN BLOCKS, AND WHAT'S LEFT OVER COULD BE
- TOO SMALL FOR THE BGI DRIVER IF YOUR TOTAL MEMORY
- HAPPENS TO BE IN CERTAIN RANGES (WHICH CAN BE
- ALTERED BY ADDING OR REMOVING TERMINATE-BUT-STAY-
- RESIDENT PROGRAMS). YOU PROBABLY WON'T NEED TO
- ALTER THE MEMORY BY MORE THAN A FEW KB TO GET THE
- ORIGINAL NSPLAY.EXE TO WORK.
-
-
-
- ORIGINAL (BEGINNING OF) INITPLAY.C:
-
- #include "defn.h"
- #define EXTERN
- #include "playdata.c"
- #include "playproto.h"
-
- void main(int argc,char *argv[])
- { /* initialize playback */
-
- int i,j,k,step;
- enum asc_val asc;
- enum ext_val ext;
-
- if (argc < 2)
- {
- printf("Must include filename as command line parameter\n");
- exit(0);
- }
-
- /* allocate space for recorded data */
- for (nblk=0; nblk<MAXBLK; nblk++)
- {
- rp[nblk] = calloc(MAXREC,sizeof(struct recbug));
- if (rp[nblk] == NULL)
- {
- if (nblk == 0)
- {
- printf("Not enough memory\n");
- exit(0);
- }
- break;
- }
- }
-
- pause = 0; /* initialize pause to none */
- step = 0;
-
-
-
- MODIFIED (BEGINNING OF) INITPLAY.C:
-
- #include "defn.h"
- #define EXTERN
- #include "playdata.c"
- #include "playproto.h"
-
- void main(int argc,char *argv[])
- { /* initialize playback */
-
- int i,j,k,step;
- enum asc_val asc;
- enum ext_val ext;
-
- if (argc < 2)
- {
- printf("Must include filename as command line parameter\n");
- exit(0);
- }
-
- /* allocate space for recorded data */
- for (nblk=0; nblk<MAXBLK; nblk++)
- {
- rp[nblk] = calloc(MAXREC,sizeof(struct recbug));
- if (rp[nblk] == NULL)
- {
- if (nblk == 1)
- {
- printf("Not enough memory\n");
- exit(0);
- }
- else
- {
- nblk--;
- free(rp[nblk]);
- }
- break;
- }
- }
- if (nblk == MAXBLK)
- {
- nblk--;
- free(rp[nblk]);
- }
-
- pause = 0; /* initialize pause to none */
- step = 0;
-
-