Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings
This repository was archived by the owner on Nov 6, 2018. It is now read-only.

Commit f6af5ff

Browse files
Import from 386gofer.zip 1999
0 parents commit f6af5ff

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

80 files changed

+13219
-0
lines changed

‎diffs‎

Lines changed: 332 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,332 @@
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

‎dogofer.exe‎

177 KB
Binary file not shown.

‎emu387‎

41.8 KB
Binary file not shown.

‎go32s/aout.h‎

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
/* This is file AOUT.H */
2+
/*
3+
** Copyright (C) 1991 DJ Delorie, 24 Kirsten Ave, Rochester NH 03867-2954
4+
**
5+
** This file is distributed under the terms listed in the document
6+
** "copying.dj", available from DJ Delorie at the address above.
7+
** A copy of "copying.dj" should accompany this file; if not, a copy
8+
** should be available from where this file was obtained. This file
9+
** may not be distributed without a verbatim copy of "copying.dj".
10+
**
11+
** This file is distributed WITHOUT ANY WARRANTY; without even the implied
12+
** warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
13+
*/
14+
15+
/* History:45,17 */
16+
#ifndef _A_OUT_H_
17+
#define _A_OUT_H_
18+
19+
typedef struct filehdr {
20+
unsigned short f_magic;
21+
unsigned short f_nscns;
22+
long f_timdat;
23+
long f_symptr;
24+
long f_nsyms;
25+
unsigned short f_opthdr;
26+
unsigned short f_flags;
27+
} FILEHDR;
28+
29+
typedef struct aouthdr {
30+
int magic;
31+
int vstamp;
32+
long tsize;
33+
long dsize;
34+
long bsize;
35+
long entry;
36+
long text_start;
37+
long data_start;
38+
} AOUTHDR;
39+
40+
typedef struct scnhdr {
41+
char s_name[8];
42+
long s_paddr;
43+
long s_vaddr;
44+
long s_size;
45+
long s_scnptr;
46+
long s_relptr;
47+
long s_lnnoptr;
48+
unsigned short s_nreloc;
49+
unsigned short nlnno;
50+
long s_flags;
51+
} SCNHDR;
52+
53+
54+
typedef struct gnu_aout {
55+
word32 info;
56+
word32 tsize;
57+
word32 dsize;
58+
word32 bsize;
59+
word32 symsize;
60+
word32 entry;
61+
word32 txrel;
62+
word32 dtrel;
63+
} GNU_AOUT;
64+
65+
#endif

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /