|  | 
|  | 1 | +Only in go32s: changelo | 
|  | 2 | +diff go32s/control.c \djgpp\go32/control.c | 
|  | 3 | +160,167d159 | 
|  | 4 | +< #ifdef GO32_STAT | 
|  | 5 | +< //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ | 
|  | 6 | +< FILE *pstrmStat; | 
|  | 7 | +< long alStat[256]; | 
|  | 8 | +< long alStat21[256]; | 
|  | 9 | +< long alStatTurboAssist[256]; | 
|  | 10 | +< #endif | 
|  | 11 | +<  | 
|  | 12 | +183,206d174 | 
|  | 13 | +<  | 
|  | 14 | +< #ifdef GO32_STAT | 
|  | 15 | +< //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ | 
|  | 16 | +< { | 
|  | 17 | +< register int i; | 
|  | 18 | +<  | 
|  | 19 | +< for (i = 0; i < 256; i++) { | 
|  | 20 | +< if (alStat[i] != 0) | 
|  | 21 | +< fprintf(pstrmStat, "\ni = %3.3d - %2.2x - Count = %6.6lu", i, i, alStat[i]); | 
|  | 22 | +< } | 
|  | 23 | +<  | 
|  | 24 | +< fprintf(pstrmStat, "\n\nINT 0x21 calls ----------------------"); | 
|  | 25 | +< for (i = 0; i < 256; i++) { | 
|  | 26 | +< if (alStat21[i] != 0) | 
|  | 27 | +< fprintf(pstrmStat, "\ni = %3.3d - %2.2x - Count = %6.6lu", i, i, alStat21[i]); | 
|  | 28 | +< } | 
|  | 29 | +<  | 
|  | 30 | +< fprintf(pstrmStat, "\n\nTurbo Assist calls ----------------------"); | 
|  | 31 | +< for (i = 0; i < 256; i++) { | 
|  | 32 | +< if (alStatTurboAssist[i] != 0) | 
|  | 33 | +< fprintf(pstrmStat, "\ni = %3.3d - %2.2x - Count = %6.6lu", i, i, alStatTurboAssist[i]); | 
|  | 34 | +< } | 
|  | 35 | +< } | 
|  | 36 | +< #endif | 
|  | 37 | +210,212c178 | 
|  | 38 | +< int ctrlbrk_func(); | 
|  | 39 | +< //111111111111111111111111111111111111111111111111111111111111111111111111111 | 
|  | 40 | +< /* moved to exphdlr.c ********* | 
|  | 41 | +--- | 
|  | 42 | +>  | 
|  | 43 | +221,222d186 | 
|  | 44 | +< *************/ | 
|  | 45 | +< //111111111111111111111111111111111111111111111111111111111111111111111111111 | 
|  | 46 | +233,236c197 | 
|  | 47 | +< //111111111111111111111111111111111111111111111111111111111111111111111111111 | 
|  | 48 | +< word32 push32(void *ptr, int len); | 
|  | 49 | +< //111111111111111111111111111111111111111111111111111111111111111111111111111 | 
|  | 50 | +< // static word32 push32(void *ptr, int len); | 
|  | 51 | +--- | 
|  | 52 | +> static word32 push32(void *ptr, int len); | 
|  | 53 | +279,287d239 | 
|  | 54 | +< #ifdef GO32_STAT | 
|  | 55 | +< //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ | 
|  | 56 | +< printf("Statistics version\n"); | 
|  | 57 | +< pstrmStat = fopen(GO32_STAT, "w"); | 
|  | 58 | +< memset(alStat, 0, 256); | 
|  | 59 | +< memset(alStat21, 0, 256); | 
|  | 60 | +< memset(alStatTurboAssist, 0, 256); | 
|  | 61 | +< #endif | 
|  | 62 | +<  | 
|  | 63 | +623,626c575 | 
|  | 64 | +< //111111111111111111111111111111111111111111111111111111111111111111111111111 | 
|  | 65 | +< word32 push32(void *ptr, int len) | 
|  | 66 | +< //111111111111111111111111111111111111111111111111111111111111111111111111111 | 
|  | 67 | +< // static word32 push32(void *ptr, int len) | 
|  | 68 | +--- | 
|  | 69 | +> static word32 push32(void *ptr, int len) | 
|  | 70 | +diff go32s/exphdlr.c \djgpp\go32/exphdlr.c | 
|  | 71 | +37,39d36 | 
|  | 72 | +< //111111111111111111111111111111111111111111111111111111111111111111111111111 | 
|  | 73 | +< #include "go32sig.h" | 
|  | 74 | +< //111111111111111111111111111111111111111111111111111111111111111111111111111 | 
|  | 75 | +94,96c91 | 
|  | 76 | +< #ifdef DEBUG_PIC | 
|  | 77 | +< printf("Empty = %x\n", try[i]); | 
|  | 78 | +< #endif | 
|  | 79 | +--- | 
|  | 80 | +> /* printf("Empty = %d\n", try[i]); */ | 
|  | 81 | +111,113c106 | 
|  | 82 | +< #ifdef DEBUG_PIC | 
|  | 83 | +< printf("VCPI pics were m=%x s=%x\n", old_master_lo, hard_slave_lo); | 
|  | 84 | +< #endif | 
|  | 85 | +--- | 
|  | 86 | +> /* printf("VCPI pics were m=%d s=%d\n", old_master_lo, hard_slave_lo); */ | 
|  | 87 | +141,151d133 | 
|  | 88 | +<  | 
|  | 89 | +< #ifdef DEBUG_PIC | 
|  | 90 | +< printf("\nIn init controllers :" | 
|  | 91 | +< "\nhard_master_lo = %x" | 
|  | 92 | +< "\nhard_slave_lo = %x" | 
|  | 93 | +< "\nhard_slave_hi = %x" | 
|  | 94 | +< "\nold_master_lo = %x" | 
|  | 95 | +< , (int)hard_master_lo, (int)hard_slave_lo, (int)hard_slave_hi | 
|  | 96 | +< , (int)old_master_lo | 
|  | 97 | +< ); | 
|  | 98 | +< #endif | 
|  | 99 | +169,176d150 | 
|  | 100 | +< #ifdef GO32_STAT | 
|  | 101 | +< //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ | 
|  | 102 | +< extern FILE *pstrmStat; | 
|  | 103 | +< extern long alStat[256]; | 
|  | 104 | +< extern long alStat21[256]; | 
|  | 105 | +< extern long alStatTurboAssist[256]; | 
|  | 106 | +< #endif | 
|  | 107 | +<  | 
|  | 108 | +192c166 | 
|  | 109 | +< && (i != hard_slave_hi + 5) && (i != 0x75)) | 
|  | 110 | +--- | 
|  | 111 | +> && (i != hard_slave_hi + 5)) | 
|  | 112 | +205,212c179 | 
|  | 113 | +<  | 
|  | 114 | +< //111111111111111111111111111111111111111111111111111111111111111111 | 
|  | 115 | +< 	 // here is where you land when you do an interrupt  | 
|  | 116 | +< 	 // during a tight loop | 
|  | 117 | +< 	 ctrlbrk_func(); | 
|  | 118 | +< 	 return 0; | 
|  | 119 | +< // ctrl_c_flag = 1; | 
|  | 120 | +< //111111111111111111111111111111111111111111111111111111111111111111 | 
|  | 121 | +--- | 
|  | 122 | +> ctrl_c_flag = 1; | 
|  | 123 | +223,229d189 | 
|  | 124 | +<  | 
|  | 125 | +< #ifdef GO32_STAT | 
|  | 126 | +< //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ | 
|  | 127 | +< // fprintf(pstrmStat, "\ni = %3.3d - %2.2x - AX = %4.4x", i, i, (unsigned short)tss_ptr->tss_eax); | 
|  | 128 | +< alStat[i]++; | 
|  | 129 | +< #endif | 
|  | 130 | +<  | 
|  | 131 | +250,256c210 | 
|  | 132 | +< //111111111111111111111111111111111111111111111111111111111111111111 | 
|  | 133 | +< #ifdef DEBUG_PIC | 
|  | 134 | +< printf("\nIn interrupt 0x75"); | 
|  | 135 | +< #endif | 
|  | 136 | +< return fpe_func();	/* floating point exception */ | 
|  | 137 | +< /* return 1; */ | 
|  | 138 | +< //111111111111111111111111111111111111111111111111111111111111111111 | 
|  | 139 | +--- | 
|  | 140 | +> return 1; | 
|  | 141 | +278,286d231 | 
|  | 142 | +<  | 
|  | 143 | +< //11111111111111111111111111111111111111111111111111111111111111111111111 | 
|  | 144 | +< case 0xfa : /* New interface between user program and go32 (see i_Interface()) */ | 
|  | 145 | +< #ifdef DEBUG_SIG | 
|  | 146 | +< printf("\nCalling i_Interface now"); | 
|  | 147 | +< #endif | 
|  | 148 | +< return i_Interface(); | 
|  | 149 | +< //11111111111111111111111111111111111111111111111111111111111111111111111 | 
|  | 150 | +<  | 
|  | 151 | +458,463d402 | 
|  | 152 | +<  | 
|  | 153 | +< #ifdef GO32_STAT | 
|  | 154 | +< //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ | 
|  | 155 | +< alStat21[ah]++; | 
|  | 156 | +< #endif | 
|  | 157 | +<  | 
|  | 158 | +599,614d537 | 
|  | 159 | +< //111111111111111111111111111111111111111111111111111111111111111111111 | 
|  | 160 | +< // Are we reading from stdin | 
|  | 161 | +< if (r.r_bx == 0) // stdin | 
|  | 162 | +< fInRead = 2; | 
|  | 163 | +< else  | 
|  | 164 | +< fInRead = 1; | 
|  | 165 | +<  | 
|  | 166 | +< #ifdef DBG_READ | 
|  | 167 | +< { | 
|  | 168 | +< char buf[20]; | 
|  | 169 | +< sprintf(buf, " In Read %2.2d, #=%3.3ld ", ++cRead, tss_ptr->tss_ecx); | 
|  | 170 | +< for (i=0; buf[i]; i++) | 
|  | 171 | +< poke(screen_seg, i*2+110+2400, buf[i] | 0x0700); | 
|  | 172 | +< } | 
|  | 173 | +< #endif | 
|  | 174 | +< //111111111111111111111111111111111111111111111111111111111111111111111 | 
|  | 175 | +628,630d550 | 
|  | 176 | +< //111111111111111111111111111111111111111111111111111111111111111111111 | 
|  | 177 | +< goto handle_interrupt; | 
|  | 178 | +< //111111111111111111111111111111111111111111111111111111111111111111111 | 
|  | 179 | +662,690d581 | 
|  | 180 | +<  | 
|  | 181 | +< //111111111111111111111111111111111111111111111111111111111111111111111 | 
|  | 182 | +< handle_interrupt: | 
|  | 183 | +<  | 
|  | 184 | +< #ifdef DBG_READ | 
|  | 185 | +< { | 
|  | 186 | +< char buf[20]; | 
|  | 187 | +< int j; | 
|  | 188 | +< sprintf(buf, " Read Done %2.2d, #=%3.3d ", cRead--, trans_total); | 
|  | 189 | +< for (j=0; buf[j]; j++) | 
|  | 190 | +< poke(screen_seg, j*2+110+2560, buf[j] | 0x0800); | 
|  | 191 | +< // Extensive debugging. Reprints the last typed line. | 
|  | 192 | +< //	 for (j=0;j<i;j++) | 
|  | 193 | +< //	 poke(screen_seg, j*2+2720, transfer_buffer[j] | 0x0600); | 
|  | 194 | +< } | 
|  | 195 | +< #endif | 
|  | 196 | +< fInRead = 0; // Read finished so reset flag | 
|  | 197 | +<  | 
|  | 198 | +< // If had keyboard interrupt during the read, then call | 
|  | 199 | +< // SIGINT handler | 
|  | 200 | +< if (fHadInterrupt) { | 
|  | 201 | +< #ifdef DBG_READ | 
|  | 202 | +< printf("\n\t\tCalling Interrupt handler from read\n"); | 
|  | 203 | +< #endif | 
|  | 204 | +< fHadInterrupt = 0; | 
|  | 205 | +< ctrlbrk_func(); | 
|  | 206 | +< } | 
|  | 207 | +< //111111111111111111111111111111111111111111111111111111111111111111111 | 
|  | 208 | +<  | 
|  | 209 | +907,912d797 | 
|  | 210 | +<  | 
|  | 211 | +< #ifdef GO32_STAT | 
|  | 212 | +< //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ | 
|  | 213 | +< alStatTurboAssist[(tss_ptr->tss_eax & 0xff)]++; | 
|  | 214 | +< #endif | 
|  | 215 | +<  | 
|  | 216 | +diff go32s/go32.lnk \djgpp\go32/go32.lnk | 
|  | 217 | +1c1 | 
|  | 218 | +< \borlandc\lib\c0s+ | 
|  | 219 | +--- | 
|  | 220 | +> c:\usr\lib\c0s+ | 
|  | 221 | +24,25c24 | 
|  | 222 | +< vcpi+ | 
|  | 223 | +< go32sig.obj | 
|  | 224 | +--- | 
|  | 225 | +> vcpi | 
|  | 226 | +28,30c27,29 | 
|  | 227 | +< \borlandc\lib\maths+ | 
|  | 228 | +< \borlandc\lib\emu+ | 
|  | 229 | +< \borlandc\lib\cs | 
|  | 230 | +--- | 
|  | 231 | +> udi\udi+c:\usr\lib\maths+ | 
|  | 232 | +> c:\usr\lib\emu+ | 
|  | 233 | +> c:\usr\lib\cs | 
|  | 234 | +Only in go32s: go32sig.c | 
|  | 235 | +Only in go32s: go32sig.h | 
|  | 236 | +diff go32s/makefile \djgpp\go32/makefile | 
|  | 237 | +5,8c5 | 
|  | 238 | +< CFLAGS = -ms -M -I\borlandc\include -L\borlandc\lib | 
|  | 239 | +< # -DDEBUG_PIC : debug interrrupt controller picture | 
|  | 240 | +< # -DGO32_STAT="f:\\go32_stat" : generate a statistics file about interrupt calls | 
|  | 241 | +< # -DDEBUG_SIGFPE -DDEBUG_SIG | 
|  | 242 | +--- | 
|  | 243 | +> CFLAGS = -ms -M | 
|  | 244 | +11,13c8,10 | 
|  | 245 | +< #	bcc $(CFLAGS) -DDEBUGGER=1 -DTOPLINEINFO=1 -DSOURCE_LIST -c $*.c | 
|  | 246 | +< #	-mv $*.obj d$*.obj | 
|  | 247 | +< 	bcc $(CFLAGS) -DDEBUGGER=0 -DTOPLINEINFO=0 -c $*.c | 
|  | 248 | +--- | 
|  | 249 | +> 	tcc $(CFLAGS) -DDEBUGGER=1 -DTOPLINEINFO=1 -DSOURCE_LIST -c $* | 
|  | 250 | +> 	mv $*.obj d$*.obj | 
|  | 251 | +> 	tcc $(CFLAGS) -DDEBUGGER=0 -DTOPLINEINFO=0 -c $* | 
|  | 252 | +16,17c13,14 | 
|  | 253 | +< #	tasm $(AFLAGS) /DDEBUGGER=1 /DTOPLINEINFO=1 $*; | 
|  | 254 | +< #	-mv $*.obj d$*.obj | 
|  | 255 | +--- | 
|  | 256 | +> 	tasm $(AFLAGS) /DDEBUGGER=1 /DTOPLINEINFO=1 $*; | 
|  | 257 | +> 	mv $*.obj d$*.obj | 
|  | 258 | +43,44c40 | 
|  | 259 | +< 	vcpi.obj\ | 
|  | 260 | +< 	go32sig.obj | 
|  | 261 | +--- | 
|  | 262 | +> 	vcpi.obj | 
|  | 263 | +49c45 | 
|  | 264 | +< 	bcc $(CFLAGS) stub.c | 
|  | 265 | +--- | 
|  | 266 | +> 	tcc stub.c | 
|  | 267 | +52,55d47 | 
|  | 268 | +< # no debugging information | 
|  | 269 | +< NOV: | 
|  | 270 | +< 	tlink /3 /c @go32.lnk | 
|  | 271 | +<  | 
|  | 272 | +58,60c50,51 | 
|  | 273 | +< 	tlink /3 /c /v @go32.lnk | 
|  | 274 | +< #	tlink /3 /l /c /v /s /m @go32.lnk | 
|  | 275 | +< #	tlink /3 /l /c /v /s /m @debug32.lnk | 
|  | 276 | +--- | 
|  | 277 | +> 	tlink /l /c /v /s /m @go32.lnk | 
|  | 278 | +> 	tlink /l /c /v /s /m @debug32.lnk | 
|  | 279 | +63c54 | 
|  | 280 | +< 	bcc $(CFLAGS) bin2byte.c | 
|  | 281 | +--- | 
|  | 282 | +> 	tcc bin2byte.c | 
|  | 283 | +70c61 | 
|  | 284 | +< 	bcc $(CFLAGS) aout2exe.c | 
|  | 285 | +--- | 
|  | 286 | +> 	tcc aout2exe | 
|  | 287 | +74c65 | 
|  | 288 | +< 	bcc $(CFLAGS) exe2aout.c | 
|  | 289 | +--- | 
|  | 290 | +> 	tcc exe2aout | 
|  | 291 | +diff go32s/mono.c \djgpp\go32/mono.c | 
|  | 292 | +3d2 | 
|  | 293 | +< #include <stdarg.h> | 
|  | 294 | +70c69 | 
|  | 295 | +< int n = vsprintf(buf, fmt, (void _ss *) _va_ptr); | 
|  | 296 | +--- | 
|  | 297 | +> int n = vsprintf(buf, fmt, &...); | 
|  | 298 | +Only in go32s: sigman.s | 
|  | 299 | +Only in go32s: signal.c | 
|  | 300 | +Only in go32s: signal.h | 
|  | 301 | +diff go32s/stub.c \djgpp\go32/stub.c | 
|  | 302 | +34c34 | 
|  | 303 | +< char emsg[] = "Cannot exec go32t.exe\r\n"; | 
|  | 304 | +--- | 
|  | 305 | +> char emsg[] = "Cannot exec go32.exe\r\n"; | 
|  | 306 | +43,44c43,44 | 
|  | 307 | +< /* must wait, as go32t reads argv/argc from our memory space */ | 
|  | 308 | +< r = spawnlp(P_WAIT, "go32t", "go32t", "!proxy", s_argc, s_seg, s_argv, 0); | 
|  | 309 | +--- | 
|  | 310 | +> /* must wait, as go32 reads argv/argc from our memory space */ | 
|  | 311 | +> r = spawnlp(P_WAIT, "go32", "go32", "!proxy", s_argc, s_seg, s_argv, 0); | 
|  | 312 | +46c46 | 
|  | 313 | +< /* if (r == -1) perror("Cannot exec go32t"); */ | 
|  | 314 | +--- | 
|  | 315 | +> /* if (r == -1) perror("Cannot exec go32"); */ | 
|  | 316 | +Only in go32s: stubbyte.h | 
|  | 317 | +Only in go32s: tdconfig.td | 
|  | 318 | +diff go32s/turboc.cfg \djgpp\go32/turboc.cfg | 
|  | 319 | +5c5 | 
|  | 320 | +< -O2 | 
|  | 321 | +--- | 
|  | 322 | +> -O | 
|  | 323 | +8c8 | 
|  | 324 | +< -2 | 
|  | 325 | +--- | 
|  | 326 | +> -1 | 
|  | 327 | +11,12c11,12 | 
|  | 328 | +< -ID:\LANG\BC\INCLUDE | 
|  | 329 | +< -LD:\LANG\BC\LIB | 
|  | 330 | +--- | 
|  | 331 | +> -IC:\USR\INCLUDE | 
|  | 332 | +> -LC:\USR\LIB | 
0 commit comments