diff --git a/Makefile b/Makefile index 54dff6defb5..aeaa47ae77a 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -CFLAGS=-g +CFLAGS=-g -DDEBUG_RESOURCE ###################################################################### # FILES: @@ -11,12 +11,15 @@ CFLAGS=-g DLL_LENGTH=256 BUILDOBJS=dll_kernel.o dll_user.o dll_gdi.o dll_unixlib.o \ - dll_kernel_tab.o dll_user_tab.o dll_gdi_tab.o dll_unixlib_tab.o + dll_win87em.o dll_shell.o \ + dll_kernel_tab.o dll_user_tab.o dll_gdi_tab.o dll_unixlib_tab.o \ + dll_win87em_tab.o dll_shell_tab.o MUST_BE_LINKED_FIRST=if1632.o $(BUILDOBJS) OBJS=$(MUST_BE_LINKED_FIRST) \ - dump.o heap.o ldt.o kernel.o relay.o selector.o user.o wine.o + dump.o heap.o ldt.o kernel.o relay.o resource.o \ + selector.o user.o wine.o TARGET=wine LIBS=-lldt @@ -47,3 +50,9 @@ dll_gdi.S dll_gdi_tab.c: build gdi.spec dll_unixlib.S dll_unixlib_tab.c: build unixlib.spec build unixlib.spec + +dll_win87em.S dll_win87em_tab.c: build win87em.spec + build win87em.spec + +dll_shell.S dll_shell_tab.c: build shell.spec + build shell.spec diff --git a/README b/README index 09eb3dee57f..3bcf6c87632 100644 --- a/README +++ b/README @@ -2,9 +2,19 @@ Copyright Robert J. Amstadt, 1993. All code is provided without warranty. It is my intent to cover this code with the Gnu Public License. -So here goes release 0.0.2 of the Windows loader. It will do some -relocations and then run the program. The program test.exe is a -Windows executable. Try the command "wine test.exe". +So here goes release 0.0.3 of the Windows loader. It will do some +relocations and then run the program. I have successfully loaded +the Windows solitaire game. Try it. It currently stops a call to +GetObject(). + +WHAT'S NEW with version 0.0.3: + - Fixed bug with sector sizes. + - Registers at program startup are now set correctly. + - Segment fixups for relocatable-segment internal entry points. + - Fixed bug in DOS PSP structure. + - Some resource loading is done. + - Added "return" ordinal type to build program. + - Added comment capability to build program. WHAT'S NEW with version 0.0.2: @@ -34,10 +44,12 @@ TODO: - Make changes to the kernel to allow more than 32 LDT entries. - Trap and handle DOS and DPMI calls. - Windows emulation library (connect to Peter MacDonald's library). - - Set registers correctly when starting Windows program. - Allowing loading of 16-bit DLLs for use with program. - - global memory allocation - - complete and improve local heap allocation + - global memory allocation. + - complete and improve local heap allocation. + - Handle self-loading applications. + - Deal with callback functions. + - Resource loading INSTALLATION: diff --git a/build b/build deleted file mode 100755 index d47f5423726..00000000000 Binary files a/build and /dev/null differ diff --git a/build-spec.txt b/build-spec.txt index 61937bf2b9c..25dfed69e6f 100644 --- a/build-spec.txt +++ b/build-spec.txt @@ -8,12 +8,18 @@ ORDINAL FUNCTYPE EXPORTNAME([ARGTYPE [ARGTYPE [...]]]) HANDLERNAME([ARGNUM [ARGNUM [...]]]) ORDINAL equate EXPORTNAME DATA + +ORDINAL return EXPORTNAME ARGLENGTH RETVALUE + +# COMMENT_TEXT + -------------------- General: "name", "id" and "length" fields are mandatory. Specific ordinal declarations are optional, but the default handler will print an -error message. +error message. Lines whose first character is a '#' will be ignored +as comments. Variable ordinals: diff --git a/build.c b/build.c index f7dd03d6c81..8905cc91331 100644 --- a/build.c +++ b/build.c @@ -1,6 +1,6 @@ -/* - * Copyright Robert J. Amstadt, 1993 - */ +static char RCSId[] = "$Id: build.c,v 1.2 1993/06/30 14:24:33 root Exp root $"; +static char Copyright[] = "Copyright Robert J. Amstadt, 1993"; + #include #include #include @@ -17,6 +17,7 @@ #define FUNCTYPE_REG 19 #define EQUATETYPE_ABS 18 +#define TYPE_RETURN 20 #define MAX_ORDINALS 1024 @@ -45,6 +46,12 @@ typedef struct ordinal_function_definition_s int arg_indices_32[16]; } ORDFUNCDEF; +typedef struct ordinal_return_definition_s +{ + int arg_size; + int ret_value; +} ORDRETDEF; + ORDDEF OrdinalDefinitions[MAX_ORDINALS]; char LowerDLLName[80]; @@ -146,16 +153,26 @@ GetToken(void) ParseBuffer = malloc(512); ParseNext = ParseBuffer; Line++; - if (fgets(ParseBuffer, 511, SpecFp) == NULL) - return NULL; + while (1) + { + if (fgets(ParseBuffer, 511, SpecFp) == NULL) + return NULL; + if (ParseBuffer[0] != '#') + break; + } } while ((token = GetTokenInLine()) == NULL) { ParseNext = ParseBuffer; Line++; - if (fgets(ParseBuffer, 511, SpecFp) == NULL) - return NULL; + while (1) + { + if (fgets(ParseBuffer, 511, SpecFp) == NULL) + return NULL; + if (ParseBuffer[0] != '#') + break; + } } return token; @@ -387,6 +404,50 @@ ParseEquate(int ordinal) return 0; } +int +ParseReturn(int ordinal) +{ + ORDDEF *odp; + ORDRETDEF *rdp; + char *token; + char *endptr; + int value; + + if (ordinal >= MAX_ORDINALS) + { + fprintf(stderr, "%d: Ordinal number too large\n", Line); + exit(1); + } + + rdp = malloc(sizeof(*rdp)); + + odp = &OrdinalDefinitions[ordinal]; + strcpy(odp->export_name, GetToken()); + odp->valid = 1; + odp->type = TYPE_RETURN; + odp->additional_data = rdp; + + token = GetToken(); + rdp->arg_size = strtol(token, &endptr, 0); + if (endptr == NULL || *endptr != '\0') + { + fprintf(stderr, "%d: Expected number value, got '%s'\n", Line, + token); + exit(1); + } + + token = GetToken(); + rdp->ret_value = strtol(token, &endptr, 0); + if (endptr == NULL || *endptr != '\0') + { + fprintf(stderr, "%d: Expected number value, got '%s'\n", Line, + token); + exit(1); + } + + return 0; +} + int ParseOrdinal(int ordinal) { @@ -415,6 +476,8 @@ ParseOrdinal(int ordinal) return ParseExportFunction(ordinal, FUNCTYPE_REG); else if (stricmp(token, "equate") == 0) return ParseEquate(ordinal); + else if (stricmp(token, "return") == 0) + return ParseReturn(ordinal); else { fprintf(stderr, @@ -509,6 +572,7 @@ main(int argc, char **argv) { ORDDEF *odp; ORDFUNCDEF *fdp; + ORDRETDEF *rdp; FILE *fp; char filename[80]; char buffer[80]; @@ -553,6 +617,7 @@ main(int argc, char **argv) else { fdp = odp->additional_data; + rdp = odp->additional_data; switch (odp->type) { @@ -573,6 +638,18 @@ main(int argc, char **argv) OutputVariableCode(fp, ".long", odp); break; + case TYPE_RETURN: + fprintf(fp, "_%s_Ordinal_%d:\n", UpperDLLName, i); + fprintf(fp, "\tmovw\t$%d,%%ax\n", rdp->ret_value & 0xffff); + fprintf(fp, "\tmovw\t$%d,%%dx\n", + (rdp->ret_value >> 16) & 0xffff); + fprintf(fp, "\t.byte\t0x66\n"); + if (rdp->arg_size != 0) + fprintf(fp, "\tlret\t$%d\n", rdp->arg_size); + else + fprintf(fp, "\tlret\n"); + break; + case FUNCTYPE_REG: fprintf(fp, "_%s_Ordinal_%d:\n", UpperDLLName, i); fprintf(fp, "\tpushw\t%%ax\n"); diff --git a/dlls.h b/dlls.h index a43a9e0cd53..87d3dc86dda 100644 --- a/dlls.h +++ b/dlls.h @@ -1,4 +1,4 @@ -/* $Id$ +/* $Id: dlls.h,v 1.1 1993/06/29 15:55:18 root Exp $ */ /* * Copyright Robert J. Amstadt, 1993 @@ -52,5 +52,7 @@ extern struct dll_table_entry_s KERNEL_table[]; extern struct dll_table_entry_s USER_table[]; extern struct dll_table_entry_s GDI_table[]; extern struct dll_table_entry_s UNIXLIB_table[]; +extern struct dll_table_entry_s WIN87EM_table[]; +extern struct dll_table_entry_s SHELL_table[]; #endif /* DLLS_H */ diff --git a/dump.c b/dump.c index 72edc7a9003..6c21f9ecabc 100644 --- a/dump.c +++ b/dump.c @@ -1,9 +1,6 @@ -/* $Id$ - */ +static char RCSId[] = "$Id: dump.c,v 1.1 1993/06/29 15:55:18 root Exp $"; +static char Copyright[] = "Copyright Robert J. Amstadt, 1993"; -/* - * Copyright Robert J. Amstadt, 1993 - */ #include #include #include diff --git a/gdi-ordinals b/gdi-ordinals new file mode 100644 index 00000000000..55fcf490d87 --- /dev/null +++ b/gdi-ordinals @@ -0,0 +1,283 @@ + 1 1 4e0c SETBKCOLOR exported, shared data + 2 1 4e22 SETBKMODE exported + 3 1 4b46 SETMAPMODE exported, shared data + 4 1 4e6b SETROP2 exported + 5 1 5218 SETRELABS exported + 6 1 4eb9 SETPOLYFILLMODE exported + 7 1 4e92 SETSTRETCHBLTMODE exported + 8 1 4a00 SETTEXTCHARACTEREXTRA exported, shared data + 9 1 4df8 SETTEXTCOLOR exported, shared data + 10 1 49ec SETTEXTJUSTIFICATION exported, shared data + 11 1 4ee0 SETWINDOWORG exported, shared data + 12 4 06c8 SETWINDOWEXT exported + 13 1 4f14 SETVIEWPORTORG exported, shared data + 14 4 06fc SETVIEWPORTEXT exported + 15 1 4b12 OFFSETWINDOWORG exported + 16 4 0764 SCALEWINDOWEXT exported + 17 1 4ade OFFSETVIEWPORTORG exported + 18 4 0730 SCALEVIEWPORTEXT exported + 19 21 0e96 LINETO exported, shared data + 20 21 0eaa MOVETO exported, shared data + 21 1 4c50 EXCLUDECLIPRECT exported + 22 1 4c84 INTERSECTCLIPRECT exported + 23 9 1030 ARC exported, shared data + 24 9 101c ELLIPSE exported, shared data + 25 15 08fc FLOODFILL exported, shared data + 26 9 1044 PIE exported, shared data + 27 25 0000 RECTANGLE exported, shared data + 28 9 106c ROUNDRECT exported, shared data + 29 1 4c14 PATBLT exported, shared data + 30 1 48cb SAVEDC exported, shared data + 31 23 0383 SETPIXEL exported, shared data + 32 1 4d3a OFFSETCLIPRGN exported, shared data + 33 1 4f95 TEXTOUT exported, shared data + 34 1 4bfa BITBLT exported, shared data + 35 1 4be0 STRETCHBLT exported, shared data + 36 24 0000 POLYGON exported, shared data + 37 21 0ede POLYLINE exported, shared data + 38 7 06d1 ESCAPE exported, shared data + 39 1 48b7 RESTOREDC exported, shared data + 40 26 0000 FILLRGN exported, shared data + 41 26 003a FRAMERGN exported, shared data + 42 1 4dbd INVERTRGN exported, shared data + 43 26 0020 PAINTRGN exported, shared data + 44 1 4c98 SELECTCLIPRGN exported, shared data + 45 1 4dd7 SELECTOBJECT exported, shared data + 46 1 79f4 __GP exported, shared data + 47 1 4d4e COMBINERGN exported, shared data + 48 1 4929 CREATEBITMAP exported, shared data + 49 1 4943 CREATEBITMAPINDIRECT exported, shared data + 50 4 05d7 CREATEBRUSHINDIRECT exported, shared data + 51 4 05f1 CREATECOMPATIBLEBITMAP exported + 52 1 47c4 CREATECOMPATIBLEDC exported, shared data + 53 1 480a CREATEDC exported + 54 9 020e CREATEELLIPTICRGN exported, shared data + 55 9 0f99 CREATEELLIPTICRGNINDIRECT exported, shared data + 56 3 1589 CREATEFONT exported, shared data + 57 3 15b1 CREATEFONTINDIRECT exported, shared data + 58 4 05a7 CREATEHATCHBRUSH exported, shared data + 59 1 1ec0 WEP exported, shared data + 60 4 05c3 CREATEPATTERNBRUSH exported, shared data + 61 1 48f3 CREATEPEN exported, shared data + 62 1 490f CREATEPENINDIRECT exported, shared data + 63 9 0fb3 CREATEPOLYGONRGN exported, shared data + 64 1 59cd CREATERECTRGN exported, shared data + 65 1 4cb2 CREATERECTRGNINDIRECT exported, shared data + 66 4 017a CREATESOLIDBRUSH exported, shared data + 67 1 4a14 DPTOLP exported + 68 1 4897 DELETEDC exported, shared data + 69 1 48df DELETEOBJECT exported, shared data + 70 5 05a7 ENUMFONTS exported, shared data + 71 4 0678 ENUMOBJECTS exported, shared data + 72 1 4ccc EQUALRGN exported, shared data + 73 1 16a5 EXCLUDEVISRECT exported + 74 1 4a76 GETBITMAPBITS exported + 75 1 515d GETBKCOLOR exported, shared data + 76 1 5142 GETBKMODE exported + 77 1 4c64 GETCLIPBOX exported, shared data + 78 1 5157 GETCURRENTPOSITION exported + 79 1 5154 GETDCORG exported + 80 1 4a96 GETDEVICECAPS exported, shared data + 81 1 513f GETMAPMODE exported + 82 4 06a8 GETOBJECT exported, shared data + 83 23 036f GETPIXEL exported, shared data + 84 1 5139 GETPOLYFILLMODE exported + 85 1 5133 GETROP2 exported + 86 1 5145 GETRELABS exported + 87 1 4a5a GETSTOCKOBJECT exported, shared data + 88 1 513c GETSTRETCHBLTMODE exported + 89 16 0c63 GETTEXTCHARACTEREXTRA exported, shared data + 90 1 5160 GETTEXTCOLOR exported, shared data + 91 1 4b8d GETTEXTEXTENT exported, shared data + 92 3 166a GETTEXTFACE exported, shared data + 93 3 169a GETTEXTMETRICS exported, shared data + 94 1 5151 GETVIEWPORTEXT exported + 95 1 514b GETVIEWPORTORG exported + 96 1 514e GETWINDOWEXT exported + 97 1 5148 GETWINDOWORG exported + 98 1 16a2 INTERSECTVISRECT exported + 99 1 4a37 LPTODP exported +100 23 039b LINEDDA exported, shared data +101 1 4d26 OFFSETRGN exported, shared data +102 1 2929 OFFSETVISRGN exported, shared data +103 1 4da9 PTVISIBLE exported, shared data +104 1 4d06 RECTVISIBLE exported, shared data +105 1 1635 SELECTVISRGN exported, shared data +106 1 4aaa SETBITMAPBITS exported +117 1 1118 SETDCORG exported, shared data +119 2 0e25 ADDFONTRESOURCE exported, shared data +121 1 2067 DEATH exported, shared data +122 1 208e RESURRECTION exported, shared data +123 19 1603 PLAYMETAFILE exported, shared data +124 19 1624 GETMETAFILE exported, shared data +125 20 248b CREATEMETAFILE exported, shared data +126 20 24a5 CLOSEMETAFILE exported, shared data +127 19 15ef DELETEMETAFILE exported, shared data +128 1 41b0 MULDIV exported, shared data +129 1 076c SAVEVISRGN exported, shared data +130 1 07b2 RESTOREVISRGN exported, shared data +131 1 200a INQUIREVISRGN exported, shared data +132 7 073d SETENVIRONMENT exported, shared data +133 7 0707 GETENVIRONMENT exported, shared data +134 1 4b6d GETRGNBOX exported, shared data +135 15 087f SCANLR exported, shared data +136 6 0507 REMOVEFONTRESOURCE exported, shared data +148 1 4c28 SETBRUSHORG exported, shared data +149 1 515a GETBRUSHORG exported +150 1 4c3c UNREALIZEOBJECT exported, shared data +151 20 246b COPYMETAFILE exported, shared data +153 1 47d8 CREATEIC exported +154 1 4aca GETNEARESTCOLOR exported, shared data +155 7 052d QUERYABORT exported, shared data +156 4 0605 CREATEDISCARDABLEBITMAP exported +159 20 24b9 GETMETAFILEBITS exported, shared data +160 20 24cd SETMETAFILEBITS exported, shared data +161 1 4d95 PTINREGION exported, shared data +162 1 49b8 GETBITMAPDIMENSION exported, shared data +163 1 4984 SETBITMAPDIMENSION exported, shared data +169 1 4352 ISDCDIRTY exported, shared data +170 1 439b SETDCSTATUS exported, shared data +172 1 4d81 SETRECTRGN exported, shared data +173 1 5130 GETCLIPRGN exported, shared data +175 19 166a ENUMMETAFILE exported, shared data +176 19 163e PLAYMETAFILERECORD exported, shared data +179 1 0601 GETDCSTATE exported, shared data +180 1 0615 SETDCSTATE exported, shared data +181 1 4ce6 RECTINREGION exported, shared data +190 31 04ec SETDCHOOK exported, shared data +191 31 04b5 GETDCHOOK exported, shared data +192 1 76b0 SETHOOKFLAGS exported, shared data +193 31 0526 SETBOUNDSRECT exported, shared data +194 1 76e4 GETBOUNDSRECT exported, shared data +195 1 1ac6 SELECTBITMAP exported, shared data +196 20 24e1 SETMETAFILEBITSBETTER exported, shared data +201 13 014a DMBITBLT exported +202 13 014f DMCOLORINFO exported +206 13 0163 DMENUMDFONTS exported +207 13 0169 DMENUMOBJ exported +208 13 0159 DMOUTPUT exported +209 13 0154 DMPIXEL exported +210 13 015e DMREALIZEOBJECT exported +211 13 00df DMSTRBLT exported, shared data +212 13 016e DMSCANLR exported +213 13 0171 BRUTE exported, shared data +214 13 0000 DMEXTTEXTOUT exported, shared data +215 13 0130 DMGETCHARWIDTH exported, shared data +216 13 0136 DMSTRETCHBLT exported, shared data +217 13 013b DMDIBBITS exported, shared data +218 13 0140 DMSTRETCHDIBITS exported, shared data +219 13 0145 DMSETDIBTODEV exported, shared data +220 13 024d DMTRANSPOSE exported, shared data +230 27 0000 CREATEPQ exported +231 27 00fb MINPQ exported +232 27 00fe EXTRACTPQ exported +233 27 0045 INSERTPQ exported +234 27 01dc SIZEPQ exported +235 27 01cb DELETEPQ exported +240 28 01c3 OPENJOB exported, shared data +241 28 08eb WRITESPOOL exported, shared data +242 28 0e82 WRITEDIALOG exported, shared data +243 28 1292 CLOSEJOB exported, shared data +244 28 13e0 DELETEJOB exported, shared data +245 28 1802 GETSPOOLJOB exported, shared data +246 28 06a1 STARTSPOOLPAGE exported, shared data +247 28 1112 ENDSPOOLPAGE exported, shared data +248 28 18e4 QUERYJOB exported, shared data +250 28 0000 COPY exported, shared data +253 28 0ff3 DELETESPOOLPAGE exported, shared data +254 28 156f SPOOLFILE exported, shared data +300 5 093c ENGINEENUMERATEFONT exported, shared data +301 6 0560 ENGINEDELETEFONT exported, shared data +302 3 2b2d ENGINEREALIZEFONT exported, shared data +303 3 2c8a ENGINEGETCHARWIDTH exported, shared data +304 5 0993 ENGINESETFONTCONTEXT exported, shared data +305 7 09e9 ENGINEGETGLYPHBMP exported, shared data +306 7 1184 ENGINEMAKEFONTDIR exported, shared data +307 7 083d GETCHARABCWIDTHS exported, shared data +308 7 0876 GETOUTLINETEXTMETRICS exported, shared data +309 7 0795 GETGLYPHOUTLINE exported, shared data +310 7 0763 CREATESCALABLEFONTRESOURCE exported, shared data +311 7 07fc GETFONTDATA exported, shared data +312 7 0d8a CONVERTOUTLINEFONTFILE exported, shared data +313 7 0d36 GETRASTERIZERCAPS exported, shared data +314 1 669a ENGINEEXTTEXTOUT exported, shared data +330 5 05d7 ENUMFONTFAMILIES exported, shared data +332 7 0896 GETKERNINGPAIRS exported, shared data +345 1 5136 GETTEXTALIGN exported, shared data +346 1 4e49 SETTEXTALIGN exported, shared data +348 9 1058 CHORD exported, shared data +349 3 163f SETMAPPERFLAGS exported, shared data +350 3 15cb GETCHARWIDTH exported, shared data +351 1 4f48 EXTTEXTOUT exported, shared data +352 1 0a2e GETPHYSICALFONTHANDLE exported, shared data +353 3 160b GETASPECTRATIOFILTER exported, shared data +354 1 1fdf SHRINKGDIHEAP exported, shared data +355 48 02ef FTRAPPING0 exported, shared data +360 22 0023 CREATEPALETTE exported, shared data +361 22 0271 GDISELECTPALETTE exported, shared data +362 22 1088 GDIREALIZEPALETTE exported, shared data +363 22 0050 GETPALETTEENTRIES exported, shared data +364 22 00d2 SETPALETTEENTRIES exported, shared data +365 22 101d REALIZEDEFAULTPALETTE exported, shared data +366 22 0109 UPDATECOLORS exported, shared data +367 22 0000 ANIMATEPALETTE exported, shared data +368 22 00be RESIZEPALETTE exported, shared data +370 22 0073 GETNEARESTPALETTEINDEX exported, shared data +372 15 0910 EXTFLOODFILL exported, shared data +373 22 00f5 SETSYSTEMPALETTEUSE exported, shared data +374 22 00aa GETSYSTEMPALETTEUSE exported, shared data +375 22 0087 GETSYSTEMPALETTEENTRIES exported, shared data +376 31 009c RESETDC exported, shared data +377 31 0045 STARTDOC exported, shared data +378 31 002e ENDDOC exported, shared data +379 31 0068 STARTPAGE exported, shared data +380 31 0017 ENDPAGE exported, shared data +381 31 007c SETABORTPROC exported, shared data +382 31 0000 ABORTDOC exported, shared data +400 1 420e FASTWINDOWFRAME exported, shared data +401 2 0403 GDIMOVEBITMAP exported, shared data +403 2 042a GDIINIT2 exported, shared data +405 2 012e FINALGDIINIT exported, shared data +407 1 0ec1 CREATEUSERBITMAP exported +409 4 0200 CREATEUSERDISCARDABLEBITMAP exported +410 19 1490 ISVALIDMETAFILE exported, shared data +411 1 511a GETCURLOGFONT exported, shared data +412 22 0b0c ISDCCURRENTPALETTE exported, shared data +439 11 0202 STRETCHDIBITS exported, shared data +440 11 0000 SETDIBITS exported, shared data +441 11 0196 GETDIBITS exported, shared data +442 11 006c CREATEDIBITMAP exported, shared data +443 11 010a SETDIBITSTODEVICE exported, shared data +444 9 01be CREATEROUNDRECTRGN exported, shared data +445 4 0619 CREATEDIBPATTERNBRUSH exported, shared data +449 11 1015 DEVICECOLORMATCH exported, shared data +450 24 0023 POLYPOLYGON exported, shared data +451 9 0fe3 CREATEPOLYPOLYGONRGN exported, shared data +452 21 19a0 GDISEEGDIDO exported, shared data +460 1 7690 GDITASKTERMINATION exported, shared data +461 1 76a2 SETOBJECTOWNER exported, shared data +462 1 1ec6 ISGDIOBJECT exported, shared data +463 1 0e68 MAKEOBJECTPRIVATE exported, shared data +464 19 1862 FIXUPBOGUSPUBLISHERMETAFILE exported, shared data +465 1 29b7 RECTVISIBLE_EHH exported, shared data +466 1 2aab RECTINREGION_EHH exported, shared data +467 1 56a3 UNICODETOANSI exported, shared data +468 1 49cc GETBITMAPDIMENSIONEX exported, shared data +469 1 5eb5 GETBRUSHORGEX exported +470 1 5ed8 GETCURRENTPOSITIONEX exported +471 1 4bb4 GETTEXTEXTENTPOINT exported, shared data +472 1 5f27 GETVIEWPORTEXTEX exported +473 1 5f4a GETVIEWPORTORGEX exported +474 1 5f6d GETWINDOWEXTEX exported +475 1 5f90 GETWINDOWORGEX exported +476 1 4af2 OFFSETVIEWPORTORGEX exported +477 1 4b26 OFFSETWINDOWORGEX exported +478 1 4998 SETBITMAPDIMENSIONEX exported, shared data +479 4 0710 SETVIEWPORTEXTEX exported +480 1 4f28 SETVIEWPORTORGEX exported, shared data +481 4 06dc SETWINDOWEXTEX exported +482 1 4ef4 SETWINDOWORGEX exported, shared data +483 21 0ebe MOVETOEX exported, shared data +484 4 0744 SCALEVIEWPORTEXTEX exported +485 4 0778 SCALEWINDOWEXTEX exported +486 3 161f GETASPECTRATIOFILTEREX exported, shared data diff --git a/gdi.spec b/gdi.spec index 9f87b181f52..3537537e85f 100644 --- a/gdi.spec +++ b/gdi.spec @@ -1,3 +1,5 @@ +# $Id: gdi.spec,v 1.2 1993/06/30 14:24:33 root Exp root $ +# name gdi id 3 -length 256 +length 490 diff --git a/heap.c b/heap.c index 156e9c83c27..b6e7f9c3739 100644 --- a/heap.c +++ b/heap.c @@ -1,4 +1,4 @@ -static char RCSId[] = "$Id$"; +static char RCSId[] = "$Id: heap.c,v 1.1 1993/06/29 15:55:18 root Exp $"; static char Copyright[] = "Copyright Robert J. Amstadt, 1993"; #include @@ -34,7 +34,7 @@ HEAP_LocalAlloc(int flags, int bytes) MDESC *m, *m_new; #ifdef HEAP_DEBUG - fprintf(stderr, "LocalAlloc: flags %x, bytes %d, ", flags, bytes); + printf("LocalAlloc: flags %x, bytes %d, ", flags, bytes); #endif /* @@ -63,7 +63,7 @@ HEAP_LocalAlloc(int flags, int bytes) m->length -= (m_new->length + sizeof(MDESC)); #ifdef HEAP_DEBUG - fprintf(stderr, "Returning %x\n", (int) (m + 1)); + printf("Returning %x\n", (int) (m + 1)); #endif return (void *) (m + 1); } @@ -80,13 +80,13 @@ HEAP_LocalAlloc(int flags, int bytes) m->next->prev = m->prev; #ifdef HEAP_DEBUG - fprintf(stderr, "Returning %x\n", (int) (m + 1)); + printf("Returning %x\n", (int) (m + 1)); #endif return (void *) (m + 1); } #ifdef HEAP_DEBUG - fprintf(stderr, "Returning 0\n"); + printf("Returning 0\n"); #endif return 0; } diff --git a/if1632.S b/if1632.S index 7d2bbed2960..807d32ed752 100644 --- a/if1632.S +++ b/if1632.S @@ -36,7 +36,7 @@ offset: .text /********************************************************************** - * int CallTo16(unsigned long csip, unsigned long sssp, + * int CallToInit16(unsigned long csip, unsigned long sssp, * unsigned short ds) * * Stack: 0 ebp @@ -48,8 +48,8 @@ offset: * 16 target ds */ .align 4 - .globl _CallTo16 -_CallTo16: + .globl _CallToInit16 +_CallToInit16: pushl %ebp movl %esp,%ebp @@ -76,13 +76,17 @@ _CallTo16: movl %ebp,saved_ebp /* - * Load ds, es, sp, ss & bp + * Load initial registers */ - movl $0,%eax + movw _WIN_StackSize,%bx + movw _WIN_HeapSize,%cx + movl $0,%esi + xorl %eax,%eax movw _PSPSelector,%ax movw %ax,%es movw 16(%ebp),%ax movw %ax,%ds + movl %eax,%edi xorl %eax,%eax movw 12(%ebp),%ax movl %eax,%esp @@ -257,6 +261,8 @@ _KERNEL_InitTask: popl saved_16esp popw %es +/* movw _PSPSelector,%ax + movw %ax,%es */ popw %ds .align 2,0x90 @@ -283,12 +289,11 @@ noargs_2: /* * Last, we need to load the return values. */ + movl $0,%esi movw $1,%ax movw %gs:_WIN_StackSize,%cx movw $1,%dx movw 0x80,%bx - movl $0,%esi - movl $1,%edi .byte 0x66 lret diff --git a/kernel-ordinals b/kernel-ordinals new file mode 100644 index 00000000000..f3ad91d7431 --- /dev/null +++ b/kernel-ordinals @@ -0,0 +1,233 @@ + 1 1 93ce FATALEXIT exported, shared data + 2 1 9d6f EXITKERNEL exported + 3 3 07c6 GETVERSION exported + 4 2 28b7 LOCALINIT exported + 5 1 0543 LOCALALLOC exported + 6 1 0587 LOCALREALLOC exported + 7 1 055f LOCALFREE exported + 8 1 0573 LOCALLOCK exported + 9 1 05bd LOCALUNLOCK exported + 10 1 05a9 LOCALSIZE exported + 11 1 8d6a LOCALHANDLE exported + 12 1 05d1 LOCALFLAGS exported + 13 1 8d85 LOCALCOMPACT exported + 14 2 0278 LOCALNOTIFY exported + 15 1 022b GLOBALALLOC exported + 16 1 028c GLOBALREALLOC exported + 17 1 0247 GLOBALFREE exported + 18 1 0278 GLOBALLOCK exported + 19 1 02cb GLOBALUNLOCK exported + 20 1 02b7 GLOBALSIZE exported + 21 1 0264 GLOBALHANDLE exported + 22 1 02e8 GLOBALFLAGS exported + 23 1 03b3 LOCKSEGMENT exported + 24 1 03c7 UNLOCKSEGMENT exported + 25 1 1105 GLOBALCOMPACT exported + 26 1 0e39 GLOBALFREEALL exported + 28 1 1190 GLOBALMASTERHANDLE exported + 29 1 7d21 YIELD exported + 30 1 7ca8 WAITEVENT exported + 31 1 7d92 POSTEVENT exported + 32 1 7df0 SETPRIORITY exported + 33 1 81e5 LOCKCURRENTTASK exported + 34 1 7de3 SETTASKQUEUE exported + 35 1 7d9d GETTASKQUEUE exported + 36 1 842c GETCURRENTTASK exported + 37 3 024e GETCURRENTPDB exported + 38 1 7dc5 SETTASKSIGNALPROC exported + 41 1 9c8e ENABLEDOS exported + 42 1 9c8f DISABLEDOS exported + 45 2 0244 LOADMODULE exported + 46 2 0176 FREEMODULE exported + 47 2 01bb GETMODULEHANDLE exported + 48 2 01d2 GETMODULEUSAGE exported + 49 2 01e6 GETMODULEFILENAME exported + 50 2 019e GETPROCADDRESS exported + 51 3 00a8 MAKEPROCINSTANCE exported + 52 3 00c5 FREEPROCINSTANCE exported + 53 1 4927 CALLPROCINSTANCE exported + 54 2 0219 GETINSTANCEDATA exported + 55 3 08ee CATCH exported + 56 3 0928 THROW exported + 57 1 0663 GETPROFILEINT exported, shared data + 58 1 0689 GETPROFILESTRING exported, shared data + 59 1 0763 WRITEPROFILESTRING exported, shared data + 60 3 0008 FINDRESOURCE exported + 61 1 0126 LOADRESOURCE exported + 62 1 018b LOCKRESOURCE exported + 63 1 0177 FREERESOURCE exported + 64 1 0140 ACCESSRESOURCE exported + 65 1 019f SIZEOFRESOURCE exported + 66 1 015d ALLOCRESOURCE exported + 67 3 002e SETRESOURCEHANDLER exported + 68 3 041a INITATOMTABLE exported + 69 1 4942 FINDATOM exported + 70 1 493f ADDATOM exported + 71 1 01b9 DELETEATOM exported + 72 1 01cd GETATOMNAME exported + 73 1 01fd GETATOMHANDLE exported + 74 1 05e5 OPENFILE exported + 75 3 04be OPENPATHNAME exported + 76 3 04b6 DELETEPATHNAME exported + 77 1 83cd RESERVED1 exported + 78 1 83ca RESERVED2 exported + 79 1 83c4 RESERVED3 exported + 80 1 83c7 RESERVED4 exported + 81 1 046e _LCLOSE exported + 82 1 04e6 _LREAD exported + 83 1 048d _LCREAT exported + 84 1 04b8 _LLSEEK exported + 85 1 0443 _LOPEN exported + 86 1 0516 _LWRITE exported + 87 1 838e RESERVED5 exported + 88 1 836f LSTRCPY exported + 89 1 837f LSTRCAT exported + 90 1 82f6 LSTRLEN exported + 91 2 268d INITTASK exported + 92 3 0508 GETTEMPDRIVE exported + 93 1 48fa GETCODEHANDLE exported + 94 3 03ce DEFINEHANDLETABLE exported + 95 2 022d LOADLIBRARY exported + 96 2 018a FREELIBRARY exported + 97 3 00dc GETTEMPFILENAME exported + 98 1 5c17 GETLASTDISKCHANGE exported + 99 1 0bc5 GETLPERRMODE exported +100 2 2ab7 VALIDATECODESEGMENTS exported +101 1 1d92 NOHOOKDOSCALL exported +102 1 1d98 DOS3CALL exported +103 1 9e19 NETBIOSCALL exported +104 1 03db GETCODEINFO exported +105 3 07d9 GETEXEVERSION exported +106 1 2ede SETSWAPAREASIZE exported +107 3 0132 SETERRORMODE exported +108 1 11c6 SWITCHSTACKTO exported +109 1 123c SWITCHSTACKBACK exported +110 1 7bac PATCHCODEHANDLE exported +111 1 02fc GLOBALWIRE exported +112 1 0310 GLOBALUNWIRE exported +113 254 0003 __AHSHIFT exported +114 254 0008 __AHINCR exported +115 1 999b OUTPUTDEBUGSTRING exported +116 2 2797 INITLIB exported +117 1 7d3e OLDYIELD exported +118 1 7da7 GETTASKQUEUEDS exported +119 1 7db5 GETTASKQUEUEES exported +120 1 72d4 UNDEFDYNLINK exported +121 1 8db0 LOCALSHRINK exported +122 1 81ff ISTASKLOCKED exported +123 1 4638 KBDRST exported +124 1 9c90 ENABLEKERNEL exported +125 1 9c91 DISABLEKERNEL exported +126 1 2ea7 MEMORYFREED exported +127 1 06d7 GETPRIVATEPROFILEINT exported, shared data +128 1 0709 GETPRIVATEPROFILESTRING exported, shared data +129 1 0795 WRITEPRIVATEPROFILESTRING exported, shared data +130 3 0888 FILECDR exported +131 3 08ce GETDOSENVIRONMENT exported +132 3 07ab GETWINFLAGS exported +133 1 4e78 GETEXEPTR exported +134 3 0054 GETWINDOWSDIRECTORY exported +135 3 007e GETSYSTEMDIRECTORY exported +136 3 0675 GETDRIVETYPE exported +137 1 0211 FATALAPPEXIT exported +138 2 1e4d GETHEAPSPACES exported +139 1 612c DOSIGNAL exported +140 3 068c SETSIGHANDLER exported +141 1 8014 INITTASK1 exported +150 1 7cff DIRECTEDYIELD exported +151 3 07e6 WINOLDAPCALL exported +152 3 08e2 GETNUMTASKS exported +154 1 034c GLOBALNOTIFY exported +155 1 119f GETTASKDS exported +156 1 4632 LIMITEMSPAGES exported +157 1 4639 GETCURPID exported +158 1 7e3e ISWINOLDAPTASK exported +159 1 0ec5 GLOBALHANDLENORIP exported +160 1 a940 EMSCOPY exported +161 2 29c9 LOCALCOUNTFREE exported +162 2 2a01 LOCALHEAPSIZE exported +163 1 0338 GLOBALLRUOLDEST exported +164 1 0324 GLOBALLRUNEWEST exported +165 1 9e0c A20PROC exported +166 2 028f WINEXEC exported +167 1 4f02 GETEXPWINVER exported +168 1 84b8 DIRECTRESALLOC exported +169 1 0404 GETFREESPACE exported +170 1 00d0 ALLOCCSTODSALIAS exported +171 1 00e4 ALLOCDSTOCSALIAS exported +172 1 21fb ALLOCALIAS exported +173 254 f000 __ROMBIOS exported +174 254 a000 __A000H exported +175 1 1d9e ALLOCSELECTOR exported +176 1 00f8 FREESELECTOR exported +177 1 010c PRESTOCHANGOSELECTOR exported +178 254 0001 __WINFLAGS exported +179 254 d000 __D000H exported +180 1 26b9 LONGPTRADD exported +181 254 b000 __B000H exported +182 254 b800 __B800H exported +183 254 0000 __0000H exported +184 1 139a GLOBALDOSALLOC exported +185 1 13d4 GLOBALDOSFREE exported +186 1 2252 GETSELECTORBASE exported +187 1 2725 SETSELECTORBASE exported +188 1 2755 GETSELECTORLIMIT exported +189 1 276d SETSELECTORLIMIT exported +190 254 e000 __E000H exported +191 1 0363 GLOBALPAGELOCK exported +192 1 0377 GLOBALPAGEUNLOCK exported +193 254 0040 __0040H exported +194 254 f000 __F000H exported +195 254 c000 __C000H exported +196 1 279b SELECTORACCESSRIGHTS exported +197 1 038b GLOBALFIX exported +198 1 039f GLOBALUNFIX exported +199 1 0647 SETHANDLECOUNT exported +200 1 3e4e VALIDATEFREESPACES exported +201 1 9ada REPLACEINST exported +202 3 081d REGISTERPTRACE exported +203 1 946e DEBUGBREAK exported +204 3 014e SWAPRECORDING exported +205 1 97e0 CVWBREAK exported +206 1 1df5 ALLOCSELECTORARRAY exported +207 1 8425 ISDBCSLEADBYTE exported +310 2 2a0c LOCALHANDLEDELTA exported +311 1 9eaf GETSETKERNELDOSPROC exported +314 1 9835 DEBUGDEFINESEGMENT exported +315 1 708b WRITEOUTPROFILES exported, shared data +316 1 127e GETFREEMEMINFO exported +318 1 9ecf FATALEXITHOOK exported +319 1 52fc FLUSHCACHEDFILEHANDLE exported +320 1 7e50 ISTASK exported +323 2 1e9b ISROMMODULE exported +324 1 94cf LOGERROR exported, shared data +325 1 94f2 LOGPARAMERROR exported, shared data +326 2 1ea0 ISROMFILE exported +327 1 949b K327 exported +328 1 94ce _DEBUGOUTPUT exported +329 1 94c5 K329 exported +332 4 0218 THHOOK exported +334 1 4b62 ISBADREADPTR exported +335 1 4b83 ISBADWRITEPTR exported +336 1 4c28 ISBADCODEPTR exported +337 1 4c4e ISBADSTRINGPTR exported +338 1 4c72 HASGPHANDLER exported +339 1 a70e DIAGQUERY exported +340 1 a71d DIAGOUTPUT exported +341 3 084c TOOLHELPHOOK exported +342 1 a820 __GP exported, shared data +343 2 0689 REGISTERWINOLDAPHOOK exported +344 2 06f3 GETWINOLDAPHOOKS exported +345 1 4d39 ISSHAREDSELECTOR exported +346 1 4ba5 ISBADHUGEREADPTR exported +347 1 4be5 ISBADHUGEWRITEPTR exported +348 1 4d5c HMEMCPY exported +349 1 4dec _HREAD exported +350 1 4df1 _HWRITE exported +351 1 5e92 BUNNY_351 exported +353 1 831f LSTRCPYN exported +354 1 9eeb GETAPPCOMPATFLAGS exported +355 1 9f2a GETWINDEBUGINFO exported, shared data +356 1 9f36 SETWINDEBUGINFO exported, shared data +403 1 29f1 K403 exported +404 1 29ae K404 exported diff --git a/kernel.c b/kernel.c index 4c570065290..cf23a445d2b 100644 --- a/kernel.c +++ b/kernel.c @@ -1,4 +1,4 @@ -static char RCSId[] = "$Id$"; +static char RCSId[] = "$Id: kernel.c,v 1.1 1993/06/29 15:55:18 root Exp $"; static char Copyright[] = "Copyright Robert J. Amstadt, 1993"; #include @@ -28,7 +28,7 @@ KERNEL_LockSegment(int segment) segment = *(Stack16Frame + 6); #ifdef RELAY_DEBUG - fprintf(stderr, "LockSegment: segment %x\n", segment); + printf("LockSegment: segment %x\n", segment); #endif return segment; @@ -44,7 +44,7 @@ KERNEL_UnlockSegment(int segment) segment = *(Stack16Frame + 6); #ifdef RELAY_DEBUG - fprintf(stderr, "UnlockSegment: segment %x\n", segment); + printf("UnlockSegment: segment %x\n", segment); #endif return segment; @@ -57,7 +57,7 @@ int KERNEL_WaitEvent(int task) { #ifdef RELAY_DEBUG - fprintf(stderr, "WaitEvent: task %d\n", task); + printf("WaitEvent: task %d\n", task); #endif return 0; } @@ -68,7 +68,7 @@ int KERNEL_GetModuleFileName(int module, char *filename, int bytes) { #ifdef RELAY_DEBUG - fprintf(stderr, "GetModuleFileName: module %d, filename %x, bytes %d\n", + printf("GetModuleFileName: module %d, filename %x, bytes %d\n", module, filename, bytes); #endif diff --git a/kernel.spec b/kernel.spec index 58a0f0aeacd..127fabeebd2 100644 --- a/kernel.spec +++ b/kernel.spec @@ -1,8 +1,10 @@ +# $Id: kernel.spec,v 1.2 1993/06/30 14:24:33 root Exp root $ +# name kernel id 1 -length 256 +length 410 -3 pascal GetVersion() KERNEL_GetVersion() +3 return GetVersion 0 0x301 5 pascal LocalAlloc(word word) HEAP_LocalAlloc(1 2) 23 pascal LockSegment(s_word) KERNEL_LockSegment(1) 24 pascal UnlockSegment(s_word) KERNEL_UnlockSegment(1) diff --git a/ldt.c b/ldt.c index facad912f24..7ab12dfbc4c 100644 --- a/ldt.c +++ b/ldt.c @@ -1,8 +1,6 @@ -/* $Id$ - */ -/* - * Copyright Robert J. Amstadt, 1993 - */ +static char RCSId[] = "$Id: ldt.c,v 1.1 1993/06/29 15:55:18 root Exp $"; +static char Copyright[] = "Copyright Robert J. Amstadt, 1993"; + #include #include #include diff --git a/ldtlib.c b/ldtlib.c index 137130dade1..cfd2e25a9c9 100644 --- a/ldtlib.c +++ b/ldtlib.c @@ -1,8 +1,6 @@ -/* $Id$ - */ -/* - * Copyright Robert J. Amstadt, 1993 - */ +static char RCSId[] = "$Id: ldtlib.c,v 1.1 1993/06/29 15:55:18 root Exp $"; +static char Copyright[] = "Copyright Robert J. Amstadt, 1993"; + #include #include #include diff --git a/neexe.h b/neexe.h index d92b4a6a0c7..c1b0070c72c 100644 --- a/neexe.h +++ b/neexe.h @@ -1,4 +1,4 @@ -/* $Id: neexe.h,v 1.1 1993/06/09 03:28:10 root Exp root $ +/* $Id: neexe.h,v 1.3 1993/06/30 14:24:33 root Exp root $ */ /* * Copyright Robert J. Amstadt, 1993 @@ -143,9 +143,9 @@ struct dos_psp_s unsigned short pspNextParagraph; unsigned char pspReserved1; unsigned char pspDispatcher[5]; - unsigned long pspTerminateVector; - unsigned long pspControlCVector; - unsigned long pspCritErrorVector; + unsigned short pspTerminateVector[2]; + unsigned short pspControlCVector[2]; + unsigned short pspCritErrorVector[2]; unsigned short pspReserved2[11]; unsigned short pspEnvironment; unsigned short pspReserved3[23]; @@ -155,4 +155,63 @@ struct dos_psp_s unsigned char pspCommandTail[128]; }; +/* + * Entry table structures. + */ +struct entry_tab_header_s +{ + unsigned char n_entries; + unsigned char seg_number; +}; + +struct entry_tab_movable_s +{ + unsigned char flags; + unsigned char int3f[2]; + unsigned char seg_number; + unsigned short offset; +}; + +struct entry_tab_fixed_s +{ + unsigned char flags; + unsigned char offset[2]; +}; + +/* + * Resource table structures. + */ +struct resource_nameinfo_s +{ + unsigned short offset; + unsigned short length; + unsigned short flags; + unsigned short id; + unsigned short handle; + unsigned short usage; +}; + +struct resource_typeinfo_s +{ + unsigned short type_id; /* Type identifier */ + unsigned short count; /* Number of resources of this type */ + unsigned long reserved; + /* + * Name info array. + */ +}; + +#define NE_RSCTYPE_ACCELERATOR 0x8009 +#define NE_RSCTYPE_BITMAP 0x8002 +#define NE_RSCTYPE_CURSOR 0x8001 +#define NE_RSCTYPE_DIALOG 0x8005 +#define NE_RSCTYPE_FONT 0x8008 +#define NE_RSCTYPE_FONTDIR 0x8007 +#define NE_RSCTYPE_GROUP_CURSOR 0x800c +#define NE_RSCTYPE_GROUP_ICON 0x800e +#define NE_RSCTYPE_ICON 0x8003 +#define NE_RSCTYPE_MENU 0x8004 +#define NE_RSCTYPE_RCDATA 0x800a +#define NE_RSCTYPE_STRING 0x8006 + #endif /* NEEXE_H */ diff --git a/prototypes.h b/prototypes.h index 0b6b8edd510..526079fc7c9 100644 --- a/prototypes.h +++ b/prototypes.h @@ -1,4 +1,4 @@ -/* $Id$ +/* $Id: prototypes.h,v 1.1 1993/06/29 15:55:18 root Exp $ */ /* * Copyright Robert J. Amstadt, 1993 @@ -26,7 +26,14 @@ extern int FixupSegment(int fd, struct mz_header_s * mz_header, struct segment_descriptor_s *selecetor_table, int segment_num); extern struct dll_table_entry_s *FindDLLTable(char *dll_name); +extern unsigned int GetEntryPointFromOrdinal(int fd, + struct mz_header_s *mz_header, + struct ne_header_s *ne_header, + int ordinal); extern char WIN_CommandLine[]; +extern struct mz_header_s *CurrentMZHeader; +extern struct ne_header_s *CurrentNEHeader; +extern int CurrentNEFile; #endif /* PROTOTYPES_H */ diff --git a/relay.c b/relay.c index 067d0ab3dc8..0dc6d493936 100644 --- a/relay.c +++ b/relay.c @@ -1,8 +1,5 @@ -/* $Id$ - */ -/* - * Copyright Robert J. Amstadt, 1993 - */ +static char RCSId[] = "$Id: relay.c,v 1.1 1993/06/29 15:55:18 root Exp $"; +static char Copyright[] = "Copyright Robert J. Amstadt, 1993"; #include #include @@ -20,12 +17,16 @@ #include "prototypes.h" #include "dlls.h" -struct dll_name_table_entry_s dll_builtin_table[4] = +#define N_BUILTINS 6 + +struct dll_name_table_entry_s dll_builtin_table[N_BUILTINS] = { - { "KERNEL", KERNEL_table, 256, 1 }, - { "USER", USER_table, 256, 2 }, - { "GDI", GDI_table, 256, 3 }, - { "UNIXLIB", UNIXLIB_table, 256, 4 }, + { "KERNEL", KERNEL_table, 410, 1 }, + { "USER", USER_table, 540, 2 }, + { "GDI", GDI_table, 490, 3 }, + { "UNIXLIB", UNIXLIB_table, 10, 4 }, + { "WIN87EM", WIN87EM_table, 10, 5 }, + { "SHELL", SHELL_table, 256, 6 }, }; unsigned short *Stack16Frame; @@ -170,7 +171,7 @@ FindDLLTable(char *dll_name) { int i; - for (i = 0; i < 4; i++) + for (i = 0; i < N_BUILTINS; i++) if (strcmp(dll_builtin_table[i].dll_name, dll_name) == 0) return dll_builtin_table[i].dll_table; @@ -185,11 +186,11 @@ FindOrdinalFromName(struct dll_table_entry_s *dll_table, char *func_name) { int i, limit; - for (i = 0; i < 4; i++) + for (i = 0; i < N_BUILTINS; i++) if (dll_table == dll_builtin_table[i].dll_table) break; - if (i == 4) + if (i == N_BUILTINS) return 0; limit = dll_builtin_table[i].dll_table_length; diff --git a/resource.c b/resource.c new file mode 100644 index 00000000000..7d674bc5819 --- /dev/null +++ b/resource.c @@ -0,0 +1,242 @@ +static char RCSId[] = "$Id: resource.c,v 1.3 1993/06/30 14:24:33 root Exp root $"; +static char Copyright[] = "Copyright Robert J. Amstadt, 1993"; + +#include +#include +#include "prototypes.h" +#include "neexe.h" + +#define MIN(a,b) ((a) < (b) ? (a) : (b)) + +typedef struct resource_data_s +{ + int resource_type; + void *resource_data; +} RSCD; + +RSCD *Resources; +int ResourceArraySize; + +/********************************************************************** + * AddResource + */ +int +AddResource(int type, void *data) +{ + RSCD *r; + int i; + int j; + + /* + * Find free resource id. + */ + r = Resources; + for (i = 0; i < ResourceArraySize; i++, r++) + if (r->resource_type == 0) + break; + + /* + * Do we need to add more resource slots? + */ + if (i == ResourceArraySize) + { + if (ResourceArraySize > 0) + r = realloc(Resources, (ResourceArraySize + 32) * sizeof(RSCD)); + else + r = malloc(32 * sizeof(RSCD)); + if (r == NULL) + return 0; + + for (j = ResourceArraySize; j < ResourceArraySize + 32; j++) + r[j].resource_type = 0; + + ResourceArraySize += 32; + Resources = r; + r = &Resources[i]; + } + + /* + * Add new resource to list. + */ + r->resource_type = type; + r->resource_data = data; + + /* + * Return a unique handle. + */ + return i + 1; +} + +/********************************************************************** + * FindResourceByNumber + */ +int +FindResourceByNumber(struct resource_nameinfo_s *result_p, + int type_id, int resource_id) +{ + struct resource_typeinfo_s typeinfo; + struct resource_nameinfo_s nameinfo; + unsigned short size_shift; + int i; + + /* + * Move to beginning of resource table. + */ + lseek(CurrentNEFile, (CurrentMZHeader->ne_offset + + CurrentNEHeader->resource_tab_offset), SEEK_SET); + + /* + * Read block size. + */ + if (read(CurrentNEFile, &size_shift, sizeof(size_shift)) != + sizeof(size_shift)) + { + return -1; + } + + /* + * Find resource. + */ + typeinfo.type_id = 0xffff; + while (typeinfo.type_id != 0) + { + if (read(CurrentNEFile, &typeinfo, sizeof(typeinfo)) != + sizeof(typeinfo)) + { + return -1; + } + if (typeinfo.type_id != 0) + { + for (i = 0; i < typeinfo.count; i++) + { + if (read(CurrentNEFile, &nameinfo, sizeof(nameinfo)) != + sizeof(nameinfo)) + { + return -1; + } + +#if defined(DEBUG_RESOURCE) && defined(VERBOSE_DEBUG) + if (type_id == typeinfo.type_id) + { + printf("FindResource: type id = %d, resource id = %x\n", + type_id, nameinfo.id); + } +#endif + if ((type_id == -1 || typeinfo.type_id == type_id) && + nameinfo.id == resource_id) + { + memcpy(result_p, &nameinfo, sizeof(nameinfo)); + return size_shift; + } + } + } + } + + return -1; +} + +/********************************************************************** + * RSC_LoadString + */ +int +RSC_LoadString(int instance, int resource_id, char *buffer, int buflen) +{ + struct resource_nameinfo_s nameinfo; + unsigned short target_id; + unsigned char string_length; + int size_shift; + int string_num; + int i; + +#ifdef DEBUG_RESOURCE + printf("LoadString: instance = %04x, id = %d, " + "buffer = %08x, length = %d\n", + instance, resource_id, buffer, buflen); +#endif + + /* + * Find string entry. + */ + target_id = (resource_id >> 4) + 0x8001; + string_num = resource_id & 0x000f; + + size_shift = FindResourceByNumber(&nameinfo, NE_RSCTYPE_STRING, target_id); + if (size_shift == -1) + return 0; + + lseek(CurrentNEFile, (int) nameinfo.offset << size_shift, SEEK_SET); + + for (i = 0; i < string_num; i++) + { + read(CurrentNEFile, &string_length, 1); + lseek(CurrentNEFile, string_length, SEEK_CUR); + } + + read(CurrentNEFile, &string_length, 1); + i = MIN(string_length, buflen - 1); + read(CurrentNEFile, buffer, i); + buffer[i] = '\0'; +#ifdef DEBUG_RESOURCE + printf(" '%s'\n", buffer); +#endif + return i; +} + +/********************************************************************** + * RSC_LoadBitmap + */ +int +RSC_LoadBitmap(int instance, char *bmp_name) +{ + struct resource_nameinfo_s nameinfo; + void *image; + int image_size; + int size_shift; + +#ifdef DEBUG_RESOURCE + printf("LoadBitmap: instance = %04x, name = %08x\n", + instance, bmp_name); +#endif + /* + * Built-in bitmaps + */ + if (instance == 0) + { + return 0; + } + /* + * Get bitmap by ordinal + */ + else if (((int) bmp_name & 0xffff0000) == 0) + { + size_shift = FindResourceByNumber(&nameinfo, NE_RSCTYPE_BITMAP, + (int) bmp_name | 0x8000); + } + /* + * Get bitmap by name + */ + else + { + size_shift = -1; + } + if (size_shift == -1) + return 0; + + /* + * Read bitmap. + */ + lseek(CurrentNEFile, ((int) nameinfo.offset << size_shift), SEEK_SET); + + image_size = nameinfo.length << size_shift; + image = malloc(image_size); + if (image == NULL || read(CurrentNEFile, image, image_size) != image_size) + { + free(image); + return 0; + } + + /* + * Add to resource list. + */ + return AddResource(NE_RSCTYPE_BITMAP, image); +} diff --git a/segmem.h b/segmem.h index 39a02255eb7..3495c8f80ff 100644 --- a/segmem.h +++ b/segmem.h @@ -1,4 +1,4 @@ -/* $Id$ +/* $Id: segmem.h,v 1.1 1993/06/29 15:55:18 root Exp $ */ /* * Copyright Robert J. Amstadt, 1993 diff --git a/selector.c b/selector.c index 449e9ba3884..ba3a654db0a 100644 --- a/selector.c +++ b/selector.c @@ -1,8 +1,5 @@ -/* $Id: exedump.c,v 1.1 1993/06/09 03:28:10 root Exp root $ - */ -/* - * Copyright Robert J. Amstadt, 1993 - */ +static char RCSId[] = "$Id: selector.c,v 1.1 1993/06/29 15:55:18 root Exp $"; +static char Copyright[] = "Copyright Robert J. Amstadt, 1993"; #include #include @@ -29,6 +26,78 @@ unsigned short PSPSelector; extern void KERNEL_Ordinal_102(); extern void UNIXLIB_Ordinal_0(); +/********************************************************************** + * GetEntryPointFromOrdinal + */ +unsigned int +GetEntryPointFromOrdinal(int fd, struct mz_header_s *mz_header, + struct ne_header_s *ne_header, int ordinal) +{ + struct entry_tab_header_s eth; + struct entry_tab_movable_s etm; + struct entry_tab_fixed_s etf; + int current_ordinal; + int i; + + /* + * Move to the beginning of the entry table. + */ + lseek(fd, mz_header->ne_offset + ne_header->entry_tab_offset, SEEK_SET); + + /* + * Let's walk through the table until we get to our entry. + */ + current_ordinal = 1; + while (1) + { + /* + * Read header for this bundle. + */ + if (read(fd, ð, sizeof(eth)) != sizeof(eth)) + myerror("Error reading entry table"); + + if (eth.n_entries == 0) + return 0; + + if (eth.seg_number == 0) + { + current_ordinal++; + continue; + } + + /* + * Read each of the bundle entries. + */ + for (i = 0; i < eth.n_entries; i++, current_ordinal++) + { + if (eth.seg_number >= 0xfe) + { + if (read(fd, &etm, sizeof(etm)) != sizeof(etm)) + myerror("Error reading entry table"); + + if (current_ordinal == ordinal) + { + return ((unsigned int) + (SelectorTable[etm.seg_number - 1].base_addr + + etm.offset)); + } + } + else + { + if (read(fd, &etf, sizeof(etf)) != sizeof(etf)) + myerror("Error reading entry table"); + + if (current_ordinal == ordinal) + { + return ((unsigned int) + (SelectorTable[eth.seg_number - 1].base_addr + + (int) etf.offset[0] + + ((int) etf.offset[1] << 8))); + } + } + } + } +} /********************************************************************** * GetDOSEnvironment @@ -113,9 +182,12 @@ CreatePSP(int sel_idx, struct segment_descriptor_s *s, FILE *zfile) usp = (unsigned short *) &psp->pspDispatcher[1]; *usp = (unsigned short) KERNEL_Ordinal_102; *(usp + 1) = 0x23; - psp->pspTerminateVector = 0x00230000 | ((int) UNIXLIB_Ordinal_0 & 0xffff); - psp->pspControlCVector = 0x00230000 | ((int) UNIXLIB_Ordinal_0 & 0xffff); - psp->pspCritErrorVector = 0x00230000 | ((int) UNIXLIB_Ordinal_0 & 0xffff); + psp->pspTerminateVector[0] = (unsigned short) UNIXLIB_Ordinal_0; + psp->pspTerminateVector[1] = 0x0023; + psp->pspControlCVector[0] = (unsigned short) UNIXLIB_Ordinal_0; + psp->pspControlCVector[1] = 0x0023; + psp->pspCritErrorVector[0] = (unsigned short) UNIXLIB_Ordinal_0; + psp->pspCritErrorVector[1] = 0x0023; psp->pspEnvironment = SelectorTable[EnvironmentSelectorIdx].selector; psp->pspCommandTailCount = 1; strcpy(psp->pspCommandTail, "\r"); @@ -161,6 +233,14 @@ CreateSelectors(int fd, struct ne_segment_table_entry_s *seg_table, zfile = fopen("/dev/zero","r"); for (i = 0; i < ne_header->n_segment_tab; i++, s++) { +#ifdef DEBUG_SEGMENT + printf(" %2d: OFFSET %04.4x, LENGTH %04.4x, ", + i + 1, seg_table[i].seg_data_offset, + seg_table[i].seg_data_length); + printf("FLAGS %04.4x, MIN ALLOC %04.4x\n", + seg_table[i].seg_flags, seg_table[i].min_alloc); +#endif + /* * Store the flags in our table. */ @@ -231,9 +311,10 @@ CreateSelectors(int fd, struct ne_segment_table_entry_s *seg_table, /* * Image in file. */ - status = lseek(fd, seg_table[i].seg_data_offset * 512, SEEK_SET); + status = lseek(fd, seg_table[i].seg_data_offset * + (1 << ne_header->align_shift_count), SEEK_SET); if(read(fd, s->base_addr, old_length) != old_length) - myerror("Unable to read segment from file"); + myerror("Unable to read segment from file"); } /* * Create entry in LDT for this segment. diff --git a/shell.spec b/shell.spec new file mode 100644 index 00000000000..79f46d992be --- /dev/null +++ b/shell.spec @@ -0,0 +1,5 @@ +# $Id: shell.spec,v 1.2 1993/06/30 14:24:33 root Exp root $ +# +name shell +id 5 +length 256 diff --git a/test.exe b/test.exe deleted file mode 100755 index 3a75f7cb100..00000000000 Binary files a/test.exe and /dev/null differ diff --git a/unixlib.spec b/unixlib.spec index 7b5b9dd0608..e24d02f0291 100644 --- a/unixlib.spec +++ b/unixlib.spec @@ -1,5 +1,7 @@ +# $Id: unixlib.spec,v 1.2 1993/06/30 14:24:33 root Exp root $ +# name unixlib id 4 -length 256 +length 10 -1 c _DebugPrintString(ptr) DebugPrintString(1) \ No newline at end of file +1 c _DebugPrintString(ptr) DebugPrintString(1) diff --git a/user-ordinals b/user-ordinals new file mode 100644 index 00000000000..6df81baac63 --- /dev/null +++ b/user-ordinals @@ -0,0 +1,413 @@ + 1 1 ab5d MESSAGEBOX exported, shared data + 2 3 0059 OLDEXITWINDOWS exported, shared data + 3 5 0165 ENABLEOEMLAYER exported, shared data + 4 5 01a2 DISABLEOEMLAYER exported, shared data + 5 5 03a2 INITAPP exported, shared data + 6 1 81d4 POSTQUITMESSAGE exported, shared data + 7 5 0303 EXITWINDOWS exported, shared data + 8 3 0232 WEP exported, shared data + 10 1 a8e8 SETTIMER exported, shared data + 11 1 744c BEAR11 exported, shared data + 12 1 a905 KILLTIMER exported, shared data + 13 1 729f GETTICKCOUNT exported, shared data + 14 1 7439 GETTIMERRESOLUTION exported + 15 1 729f GETCURRENTTIME exported, shared data + 16 1 abc5 CLIPCURSOR exported, shared data + 17 1 abab GETCURSORPOS exported, shared data + 18 1 a8d4 SETCAPTURE exported, shared data + 19 1 28bd RELEASECAPTURE exported, shared data + 20 1 8161 SETDOUBLECLICKTIME exported, shared data + 21 1 8171 GETDOUBLECLICKTIME exported, shared data + 22 1 a875 SETFOCUS exported, shared data + 23 1 8183 GETFOCUS exported, shared data + 24 13 24e7 REMOVEPROP exported, shared data + 25 1 1c95 GETPROP exported, shared data + 26 13 24ca SETPROP exported, shared data + 27 13 2504 ENUMPROPS exported, shared data + 28 1 1874 CLIENTTOSCREEN exported, shared data + 29 1 189e SCREENTOCLIENT exported, shared data + 30 1 713c WINDOWFROMPOINT exported, shared data + 31 1 192d ISICONIC exported, shared data + 32 1 1825 GETWINDOWRECT exported, shared data + 33 1 1828 GETCLIENTRECT exported, shared data + 34 1 a919 ENABLEWINDOW exported, shared data + 35 1 1912 ISWINDOWENABLED exported, shared data + 36 1 ab25 GETWINDOWTEXT exported, shared data + 37 1 ab05 SETWINDOWTEXT exported, shared data + 38 1 ab49 GETWINDOWTEXTLENGTH exported, shared data + 39 1 a971 BEGINPAINT exported, shared data + 40 1 a991 ENDPAINT exported, shared data + 41 8 0f1b CREATEWINDOW exported, shared data + 42 14 103e SHOWWINDOW exported, shared data + 43 14 1088 CLOSEWINDOW exported, shared data + 44 14 1074 OPENICON exported, shared data + 45 7 1836 BRINGWINDOWTOTOP exported, shared data + 46 2 0dde GETPARENT exported, shared data + 47 1 1802 ISWINDOW exported, shared data + 48 1 1bd3 ISCHILD exported, shared data + 49 1 1c28 ISWINDOWVISIBLE exported, shared data + 50 6 1f72 FINDWINDOW exported, shared data + 51 1 1a6c BEAR51 exported, shared data + 52 14 03f0 ANYPOPUP exported, shared data + 53 8 0faa DESTROYWINDOW exported, shared data + 54 1 ad20 ENUMWINDOWS exported, shared data + 55 1 ad03 ENUMCHILDWINDOWS exported, shared data + 56 7 17a6 MOVEWINDOW exported, shared data + 57 8 0e7c REGISTERCLASS exported, shared data + 58 8 0eeb GETCLASSNAME exported, shared data + 59 1 a949 SETACTIVEWINDOW exported, shared data + 60 1 818d GETACTIVEWINDOW exported, shared data + 61 13 23dd SCROLLWINDOW exported, shared data + 62 18 1a00 SETSCROLLPOS exported, shared data + 63 18 1a22 GETSCROLLPOS exported, shared data + 64 18 1a44 SETSCROLLRANGE exported, shared data + 65 18 1a66 GETSCROLLRANGE exported, shared data + 66 1 a60b GETDC exported, shared data + 67 1 a5f7 GETWINDOWDC exported, shared data + 68 1 a61f RELEASEDC exported, shared data + 69 1 ab97 SETCURSOR exported, shared data + 70 1 822c SETCURSORPOS exported, shared data + 71 1 150c SHOWCURSOR exported, shared data + 72 1 1d3d SETRECT exported, shared data + 73 1 1d64 SETRECTEMPTY exported, shared data + 74 1 1d7d COPYRECT exported, shared data + 75 1 1d9a ISRECTEMPTY exported, shared data + 76 1 1dc0 PTINRECT exported, shared data + 77 1 1df4 OFFSETRECT exported, shared data + 78 1 1e19 INFLATERECT exported, shared data + 79 1 1e3e INTERSECTRECT exported, shared data + 80 1 1ea6 UNIONRECT exported, shared data + 81 1 ac40 FILLRECT exported, shared data + 82 1 acd0 INVERTRECT exported, shared data + 83 1 ac88 FRAMERECT exported, shared data + 84 13 239c DRAWICON exported, shared data + 85 6 1e91 DRAWTEXT exported, shared data + 86 13 0229 BEAR86 exported, shared data + 87 25 263b DIALOGBOX exported, shared data + 88 25 26e5 ENDDIALOG exported, shared data + 89 24 09ce CREATEDIALOG exported, shared data + 90 25 2804 ISDIALOGMESSAGE exported, shared data + 91 25 26f9 GETDLGITEM exported, shared data + 92 25 2741 SETDLGITEMTEXT exported, shared data + 93 25 2761 GETDLGITEMTEXT exported, shared data + 94 25 270d SETDLGITEMINT exported, shared data + 95 25 2721 GETDLGITEMINT exported, shared data + 96 25 2789 CHECKRADIOBUTTON exported, shared data + 97 25 2775 CHECKDLGBUTTON exported, shared data + 98 25 279d ISDLGBUTTONCHECKED exported, shared data + 99 37 0fdf DLGDIRSELECT exported, shared data +100 37 0fb1 DLGDIRLIST exported, shared data +101 25 27b1 SENDDLGITEMMESSAGE exported, shared data +102 2 0cd2 ADJUSTWINDOWRECT exported, shared data +103 25 2853 MAPDIALOGRECT exported, shared data +104 1 1bab MESSAGEBEEP exported, shared data +105 6 1f5e FLASHWINDOW exported, shared data +106 1 4f46 GETKEYSTATE exported, shared data +107 1 a7fc DEFWINDOWPROC exported, shared data +108 1 a68f GETMESSAGE exported, shared data +109 1 a744 PEEKMESSAGE exported, shared data +110 1 a7b7 POSTMESSAGE exported, shared data +111 1 a786 SENDMESSAGE exported, shared data +112 1 3dc4 WAITMESSAGE exported, shared data +113 1 a6b2 TRANSLATEMESSAGE exported, shared data +114 1 a6fb DISPATCHMESSAGE exported, shared data +115 1 3c37 REPLYMESSAGE exported, shared data +116 1 a7e8 POSTAPPMESSAGE exported, shared data +118 1 8214 REGISTERWINDOWMESSAGE exported, shared data +119 1 81ae GETMESSAGEPOS exported, shared data +120 1 81a1 GETMESSAGETIME exported, shared data +121 1 ad68 SETWINDOWSHOOK exported, shared data +122 1 a827 CALLWINDOWPROC exported, shared data +123 1 a85b CALLMSGFILTER exported, shared data +124 1 a95d UPDATEWINDOW exported, shared data +125 1 aa27 INVALIDATERECT exported, shared data +126 1 aa67 INVALIDATERGN exported, shared data +127 1 aa47 VALIDATERECT exported, shared data +128 1 aa93 VALIDATERGN exported, shared data +129 2 0d8e GETCLASSWORD exported, shared data +130 2 0da2 SETCLASSWORD exported, shared data +131 2 0db6 GETCLASSLONG exported, shared data +132 2 0dca SETCLASSLONG exported, shared data +133 2 0d06 GETWINDOWWORD exported, shared data +134 2 0d1a SETWINDOWWORD exported, shared data +135 2 0d3a GETWINDOWLONG exported, shared data +136 2 0d4e SETWINDOWLONG exported, shared data +137 39 0710 OPENCLIPBOARD exported, shared data +138 39 0643 CLOSECLIPBOARD exported, shared data +139 39 0261 EMPTYCLIPBOARD exported, shared data +140 39 00ee GETCLIPBOARDOWNER exported, shared data +141 39 02f4 SETCLIPBOARDDATA exported, shared data +142 39 0425 GETCLIPBOARDDATA exported, shared data +143 39 0075 COUNTCLIPBOARDFORMATS exported, shared data +144 39 06bb ENUMCLIPBOARDFORMATS exported, shared data +145 1 8214 REGISTERCLIPBOARDFORMAT exported, shared data +146 39 0752 GETCLIPBOARDFORMATNAME exported, shared data +147 39 0724 SETCLIPBOARDVIEWER exported, shared data +148 39 00f9 GETCLIPBOARDVIEWER exported, shared data +149 39 0738 CHANGECLIPBOARDCHAIN exported, shared data +150 9 1076 LOADMENU exported, shared data +151 9 0806 CREATEMENU exported, shared data +152 9 118e DESTROYMENU exported, shared data +153 9 10db CHANGEMENU exported, shared data +154 9 11a2 CHECKMENUITEM exported, shared data +155 9 11c7 ENABLEMENUITEM exported, shared data +156 9 1160 GETSYSTEMMENU exported, shared data +157 9 10ad GETMENU exported, shared data +158 9 10c1 SETMENU exported, shared data +159 9 11ec GETSUBMENU exported, shared data +160 10 30c3 DRAWMENUBAR exported, shared data +161 9 10fd GETMENUSTRING exported, shared data +162 19 0b49 HILITEMENUITEM exported, shared data +163 13 2521 CREATECARET exported, shared data +164 13 0bfa DESTROYCARET exported, shared data +165 13 0db8 SETCARETPOS exported, shared data +166 13 254f HIDECARET exported, shared data +167 13 2563 SHOWCARET exported, shared data +168 3 24fd SETCARETBLINKTIME exported, shared data +169 13 0d8f GETCARETBLINKTIME exported, shared data +170 4 04c0 ARRANGEICONICWINDOWS exported, shared data +171 2 0e3c WINHELP exported, shared data +172 23 0ceb SWITCHTOTHISWINDOW exported, shared data +173 12 169b LOADCURSOR exported, shared data +174 12 1712 LOADICON exported, shared data +175 12 167e LOADBITMAP exported, shared data +176 12 17af LOADSTRING exported, shared data +177 12 1661 LOADACCELERATORS exported, shared data +178 19 0af4 TRANSLATEACCELERATOR exported, shared data +179 1 a92d GETSYSTEMMETRICS exported, shared data +180 1 8135 GETSYSCOLOR exported, shared data +181 41 186f SETSYSCOLORS exported, shared data +182 1 74f4 BEAR182 exported, shared data +183 13 0d9a GETCARETPOS exported, shared data +184 1 490e QUERYSENDMESSAGE exported, shared data +185 10 30d7 GRAYSTRING exported, shared data +186 1 1cee SWAPMOUSEBUTTON exported +187 9 00fe ENDMENU exported, shared data +188 1 a772 SETSYSMODALWINDOW exported, shared data +189 1 19d4 GETSYSMODALWINDOW exported, shared data +190 1 a9b1 GETUPDATERECT exported, shared data +191 1 abf9 CHILDWINDOWFROMPOINT exported, shared data +192 1 3dba INSENDMESSAGE exported, shared data +193 39 0030 ISCLIPBOARDFORMATAVAILABLE exported, shared data +194 37 104d DLGDIRSELECTCOMBOBOX exported, shared data +195 37 101f DLGDIRLISTCOMBOBOX exported, shared data +196 6 1f1d TABBEDTEXTOUT exported, shared data +197 6 1edc GETTABBEDTEXTEXTENT exported, shared data +198 15 0875 CASCADECHILDWINDOWS exported, shared data +199 15 0956 TILECHILDWINDOWS exported, shared data +200 40 09d9 OPENCOMM exported, shared data +201 40 09f6 SETCOMMSTATE exported, shared data +202 40 0a13 GETCOMMSTATE exported, shared data +203 40 0acd GETCOMMERROR exported, shared data +204 40 0a3d READCOMM exported, shared data +205 40 0a85 WRITECOMM exported, shared data +206 40 0b1d TRANSMITCOMMCHAR exported, shared data +207 40 0aaf CLOSECOMM exported, shared data +208 40 0b3b SETCOMMEVENTMASK exported, shared data +209 40 0b64 GETCOMMEVENTMASK exported, shared data +210 40 0b8d SETCOMMBREAK exported, shared data +211 40 0bab CLEARCOMMBREAK exported, shared data +212 40 0a67 UNGETCOMMCHAR exported, shared data +213 40 0af4 BUILDCOMMDCB exported, shared data +214 40 0be7 ESCAPECOMMFUNCTION exported, shared data +215 40 0bc9 FLUSHCOMM exported, shared data +216 41 181e USERSEEUSERDO exported, shared data +217 9 0163 LOOKUPMENUHANDLE exported, shared data +218 25 2667 DIALOGBOXINDIRECT exported, shared data +219 24 09fa CREATEDIALOGINDIRECT exported, shared data +220 9 1093 LOADMENUINDIRECT exported, shared data +221 13 2409 SCROLLDC exported, shared data +222 1 a889 GETKEYBOARDSTATE exported, shared data +223 1 a8a3 SETKEYBOARDSTATE exported, shared data +224 1 ad54 GETWINDOWTASK exported, shared data +225 1 ad37 ENUMTASKWINDOWS exported, shared data +226 1 4983 LOCKINPUT exported, shared data +227 19 0ac0 GETNEXTDLGGROUPITEM exported, shared data +228 19 0ada GETNEXTDLGTABITEM exported, shared data +229 2 0df2 GETTOPWINDOW exported, shared data +230 2 08f2 GETNEXTWINDOW exported, shared data +231 1 4afb GETSYSTEMDEBUGSTATE exported, shared data +232 7 17ba SETWINDOWPOS exported, shared data +233 14 109c SETPARENT exported, shared data +234 1 ad9a UNHOOKWINDOWSHOOK exported, shared data +235 1 adc4 DEFHOOKPROC exported, shared data +236 1 8197 GETCAPTURE exported, shared data +237 1 a9d1 GETUPDATERGN exported, shared data +238 1 a9fa EXCLUDEUPDATERGN exported, shared data +239 25 2690 DIALOGBOXPARAM exported, shared data +240 25 26bc DIALOGBOXINDIRECTPARAM exported, shared data +241 24 0a29 CREATEDIALOGPARAM exported, shared data +242 24 0a55 CREATEDIALOGINDIRECTPARAM exported, shared data +243 25 0aa3 GETDIALOGBASEUNITS exported, shared data +244 1 2094 EQUALRECT exported, shared data +245 40 0c06 ENABLECOMMNOTIFICATION exported, shared data +246 5 05de EXITWINDOWSEXEC exported, shared data +247 1 14ca GETCURSOR exported, shared data +248 39 0600 GETOPENCLIPBOARDWINDOW exported, shared data +249 1 4f59 GETASYNCKEYSTATE exported, shared data +250 9 113b GETMENUSTATE exported, shared data +251 2 0e5c SENDDRIVERMESSAGE exported, shared data +252 41 18cb OPENDRIVER exported, shared data +253 41 18f1 CLOSEDRIVER exported, shared data +254 41 1905 GETDRIVERMODULEHANDLE exported, shared data +255 2 0e70 DEFDRIVERPROC exported, shared data +256 2 0eaf GETDRIVERINFO exported, shared data +257 2 0e84 GETNEXTDRIVER exported, shared data +258 1 18c8 MAPWINDOWPOINTS exported, shared data +259 7 00b5 BEGINDEFERWINDOWPOS exported, shared data +260 7 17eb DEFERWINDOWPOS exported, shared data +261 7 1822 ENDDEFERWINDOWPOS exported, shared data +262 2 0e1a GETWINDOW exported, shared data +263 9 1217 GETMENUITEMCOUNT exported, shared data +264 9 1200 GETMENUITEMID exported, shared data +265 14 1060 SHOWOWNEDPOPUPS exported, shared data +266 1 56b0 SETMESSAGEQUEUE exported, shared data +267 18 1aa0 SHOWSCROLLBAR exported, shared data +268 1 21cd GLOBALADDATOM exported, shared data +269 1 2236 GLOBALDELETEATOM exported, shared data +270 1 2251 GLOBALFINDATOM exported, shared data +271 1 226f GLOBALGETATOMNAME exported, shared data +272 1 1930 ISZOOMED exported, shared data +273 41 1716 CONTROLPANELINFO exported, shared data +274 23 0d8e GETNEXTQUEUEWINDOW exported, shared data +275 1 77a7 REPAINTSCREEN exported, shared data +276 1 6eea LOCKMYTASK exported, shared data +277 25 27c5 GETDLGCTRLID exported, shared data +278 1 19ca GETDESKTOPHWND exported, shared data +279 41 0a51 OLDSETDESKPATTERN exported, shared data +280 9 1174 SETSYSTEMMENU exported, shared data +282 6 1f95 SELECTPALETTE exported, shared data +283 6 1fd1 REALIZEPALETTE exported, shared data +284 41 1740 GETFREESYSTEMRESOURCES exported, shared data +285 41 1736 BEAR285 exported, shared data +286 1 19ca GETDESKTOPWINDOW exported, shared data +287 2 0e06 GETLASTACTIVEPOPUP exported, shared data +288 1 81bb GETMESSAGEEXTRAINFO exported, shared data +289 1 4b59 KEYBD_EVENT exported, shared data +290 1 aabf REDRAWWINDOW exported, shared data +291 1 adde SETWINDOWSHOOKEX exported, shared data +292 1 ae14 UNHOOKWINDOWSHOOKEX exported, shared data +293 1 ae35 CALLNEXTHOOKEX exported, shared data +294 13 23c9 LOCKWINDOWUPDATE exported, shared data +299 1 507a MOUSE_EVENT exported, shared data +301 26 0000 BOZOSLIVEHERE exported, shared data +306 10 1587 BEAR306 exported, shared data +308 25 27d9 DEFDLGPROC exported, shared data +309 1 abdf GETCLIPCURSOR exported, shared data +314 1 09bc SIGNALPROC exported, shared data +319 13 246c SCROLLWINDOWEX exported, shared data +320 1 9325 SYSERRORBOX exported, shared data +321 1 a8bd SETEVENTHOOK exported, shared data +322 41 0e6e WINOLDAPPHACKOMATIC exported, shared data +323 1 244f GETMESSAGE2 exported, shared data +324 1 7766 FILLWINDOW exported, shared data +325 1 76eb PAINTRECT exported, shared data +326 6 02d2 GETCONTROLBRUSH exported, shared data +331 1 4f36 ENABLEHARDWAREINPUT exported +332 1 3df2 USERYIELD exported, shared data +333 1 334e ISUSERIDLE exported, shared data +334 1 4fed GETQUEUESTATUS exported, shared data +335 1 501c GETINPUTSTATE exported, shared data +336 12 0deb LOADCURSORICONHANDLER exported, shared data +337 1 530a GETMOUSEEVENTPROC exported, shared data +341 1 1798 _FFFE_FARFRAME exported, shared data +343 1 9c7c GETFILEPORTNAME exported, shared data +356 12 0ff1 LOADDIBCURSORHANDLER exported, shared data +357 12 100d LOADDIBICONHANDLER exported, shared data +358 9 0fa0 ISMENU exported, shared data +359 1 a64c GETDCEX exported, shared data +362 1 8a00 DCHOOK exported, shared data +368 12 176f COPYICON exported, shared data +369 12 16f8 COPYCURSOR exported, shared data +370 14 0fde GETWINDOWPLACEMENT exported, shared data +371 14 100e SETWINDOWPLACEMENT exported, shared data +372 12 1789 GETINTERNALICONHEADER exported, shared data +373 1 20b8 SUBTRACTRECT exported, shared data +400 3 2570 FINALUSERINIT exported, shared data +402 39 077c GETPRIORITYCLIPBOARDFORMAT exported, shared data +403 8 0ea5 UNREGISTERCLASS exported, shared data +404 8 0ec2 GETCLASSINFO exported, shared data +406 12 16b8 CREATECURSOR exported, shared data +407 12 172f CREATEICON exported, shared data +408 12 0000 CREATECURSORICONINDIRECT exported, shared data +410 9 122e INSERTMENU exported, shared data +411 9 1250 APPENDMENU exported, shared data +412 9 1294 REMOVEMENU exported, shared data +413 9 12b6 DELETEMENU exported, shared data +414 9 1272 MODIFYMENU exported, shared data +415 9 0813 CREATEPOPUPMENU exported, shared data +416 9 132a TRACKPOPUPMENU exported, shared data +417 9 07ab GETMENUCHECKMARKDIMENSIONS exported, shared data +418 9 12d8 SETMENUITEMBITMAPS exported, shared data +420 16 055a _WSPRINTF exported, shared data +421 16 0518 WVSPRINTF exported, shared data +422 37 0fff DLGDIRSELECTEX exported, shared data +423 37 106d DLGDIRSELECTCOMBOBOXEX exported, shared data +430 11 0359 LSTRCMP exported, shared data +431 11 0365 ANSIUPPER exported, shared data +432 11 0381 ANSILOWER exported, shared data +433 11 0203 ISCHARALPHA exported, shared data +434 11 0208 ISCHARALPHANUMERIC exported, shared data +435 11 020d ISCHARUPPER exported, shared data +436 11 0212 ISCHARLOWER exported, shared data +437 11 039d ANSIUPPERBUFF exported, shared data +438 11 03b7 ANSILOWERBUFF exported, shared data +445 15 1a6e DEFFRAMEPROC exported, shared data +447 15 1a82 DEFMDICHILDPROC exported, shared data +451 15 1aad TRANSLATEMDISYSACCEL exported, shared data +452 8 0f57 CREATEWINDOWEX exported, shared data +454 2 0cec ADJUSTWINDOWRECTEX exported, shared data +455 12 052b GETICONID exported, shared data +456 12 0328 LOADICONHANDLER exported, shared data +457 12 175b DESTROYICON exported, shared data +458 12 16e4 DESTROYCURSOR exported, shared data +459 12 01bb DUMPICON exported, shared data +460 14 0a85 GETINTERNALWINDOWPOS exported, shared data +461 14 0aef SETINTERNALWINDOWPOS exported, shared data +462 15 0276 CALCCHILDSCROLL exported, shared data +463 15 053f SCROLLCHILDREN exported, shared data +464 14 0fbe DRAGOBJECT exported, shared data +465 14 035e DRAGDETECT exported, shared data +466 1 ac0d DRAWFOCUSRECT exported, shared data +470 11 02e7 STRINGFUNC exported, shared data +471 11 035f LSTRCMPI exported, shared data +472 11 03d1 ANSINEXT exported, shared data +473 11 03eb ANSIPREV exported, shared data +480 1 1d38 GETUSERLOCALOBJTYPE exported, shared data +481 1 4d6c HARDWARE_EVENT exported, shared data +482 18 1ac2 ENABLESCROLLBAR exported, shared data +483 41 1895 SYSTEMPARAMETERSINFO exported, shared data +484 1 b664 __GP exported, shared data +499 22 005c WNETERRORTEXT exported, shared data +501 22 0a68 WNETOPENJOB exported, shared data +502 22 0a9d WNETCLOSEJOB exported, shared data +503 22 0b40 WNETABORTJOB exported, shared data +504 22 0acc WNETHOLDJOB exported, shared data +505 22 0ae9 WNETRELEASEJOB exported, shared data +506 22 0b06 WNETCANCELJOB exported, shared data +507 22 0b23 WNETSETJOBCOPIES exported, shared data +508 22 09ca WNETWATCHQUEUE exported, shared data +509 22 09f9 WNETUNWATCHQUEUE exported, shared data +510 22 0a16 WNETLOCKQUEUEDATA exported, shared data +511 22 0a4b WNETUNLOCKQUEUEDATA exported, shared data +512 22 0992 WNETGETCONNECTION exported, shared data +513 22 08a6 WNETGETCAPS exported, shared data +514 22 08c7 WNETDEVICEMODE exported, shared data +515 22 08de WNETBROWSEDIALOG exported, shared data +516 22 0914 WNETGETUSER exported, shared data +517 22 0940 WNETADDCONNECTION exported, shared data +518 22 0975 WNETCANCELCONNECTION exported, shared data +519 22 0b63 WNETGETERROR exported, shared data +520 22 0b80 WNETGETERRORTEXT exported, shared data +521 22 0847 WNETENABLE exported, shared data +522 22 084e WNETDISABLE exported, shared data +523 22 0478 WNETRESTORECONNECTION exported, shared data +524 22 0855 WNETWRITEJOB exported, shared data +525 22 085e WNETCONNECTDIALOG exported, shared data +526 22 0867 WNETDISCONNECTDIALOG exported, shared data +527 22 0870 WNETCONNECTIONDIALOG exported, shared data +528 22 0879 WNETVIEWQUEUEDIALOG exported, shared data +529 22 088b WNETPROPERTYDIALOG exported, shared data +530 22 0894 WNETGETDIRECTORYTYPE exported, shared data +531 22 089d WNETDIRECTORYNOTIFY exported, shared data +532 22 0882 WNETGETPROPERTYTEXT exported, shared data diff --git a/user.c b/user.c index 7b3ceed060a..8f7ac821830 100644 --- a/user.c +++ b/user.c @@ -1,4 +1,4 @@ -static char RCSId[] = "$Id$"; +static char RCSId[] = "$Id: user.c,v 1.1 1993/06/29 15:55:18 root Exp $"; static char Copyright[] = "Copyright Robert J. Amstadt, 1993"; #include diff --git a/user.spec b/user.spec index 152ef1838bb..1bc3a9a9a90 100644 --- a/user.spec +++ b/user.spec @@ -1,5 +1,9 @@ +# $Id: user.spec,v 1.2 1993/06/30 14:24:33 root Exp root $ +# name user id 2 -length 256 +length 540 -5 pascal InitApp(word) USER_InitApp(1) \ No newline at end of file +5 pascal InitApp(word) USER_InitApp(1) +175 pascal LoadBitmap(word ptr) RSC_LoadBitmap(1 2) +176 pascal LoadString(word word ptr s_word) RSC_LoadString(1 2 3 4) diff --git a/win87em.spec b/win87em.spec new file mode 100644 index 00000000000..5044d2d0fda --- /dev/null +++ b/win87em.spec @@ -0,0 +1,5 @@ +# $Id: win87em.spec,v 1.2 1993/06/30 14:24:33 root Exp root $ +# +name win87em +id 5 +length 10 diff --git a/windows.h b/windows.h new file mode 100644 index 00000000000..7d89f6681a9 --- /dev/null +++ b/windows.h @@ -0,0 +1,27 @@ +#ifndef WINDOWS_H +#define WINDOWS_H + +typedef struct tagRGBQUAD +{ + unsigned char rgbBlue; + unsigned char rgbGreen; + unsigned char rgbRed; + unsigned char rgbReserved; +}; + +typedef struct tagBITMAPINFOHEADER +{ + unsigned long biSize; + unsigned long biWidth; + unsigned long biHeight; + unsigned short biPlanes; + unsigned short biBitCount; + unsigned long biCompression; + unsigned long biSizeImage; + unsigned long biXPelsPerMeter; + unsigned long biYPelsPerMeter; + unsigned long biClrUsed; + unsigned long biClrImportant; +} BITMAPINFOHEADER; + +#endif diff --git a/wine b/wine deleted file mode 100755 index 57d7234508c..00000000000 Binary files a/wine and /dev/null differ diff --git a/wine.c b/wine.c index 85d3844070b..3e53965f976 100644 --- a/wine.c +++ b/wine.c @@ -1,8 +1,5 @@ -/* $Id: exedump.c,v 1.1 1993/06/09 03:28:10 root Exp root $ - */ -/* - * Copyright Robert J. Amstadt, 1993 - */ +static char RCSId[] = "$Id: wine.c,v 1.1 1993/06/29 15:55:18 root Exp $"; +static char Copyright[] = "Copyright Robert J. Amstadt, 1993"; #include #include @@ -20,13 +17,18 @@ #include "prototypes.h" #include "dlls.h" -extern int CallTo16(unsigned long csip, unsigned long sssp, unsigned short ds); +extern int CallToInit16(unsigned long csip, unsigned long sssp, + unsigned short ds); extern void CallTo32(); unsigned short WIN_StackSize; +unsigned short WIN_HeapSize; char **Argv; int Argc; +struct mz_header_s *CurrentMZHeader; +struct ne_header_s *CurrentNEHeader; +int CurrentNEFile; /********************************************************************** * DebugPrintString @@ -34,7 +36,7 @@ int Argc; int DebugPrintString(char *str) { - fprintf(stderr, "%s", str); + printf("%s", str); return 0; } @@ -119,8 +121,12 @@ main(int argc, char **argv) if (ne_header->header_type[0] != 'N' || ne_header->header_type[1] != 'E') myerror("This is not a Windows program"); + CurrentMZHeader = mz_header; + CurrentNEHeader = ne_header; + CurrentNEFile = fd; + WIN_StackSize = ne_header->stack_length; - + WIN_HeapSize = ne_header->local_heap_length; /* * Create segment selectors. @@ -146,7 +152,6 @@ main(int argc, char **argv) } } - close(fd); /* * Fixup stack and jump to start. */ @@ -156,7 +161,7 @@ main(int argc, char **argv) ss_reg = selector_table[ne_header->ss-1].selector; sp_reg = ne_header->sp; - rv = CallTo16(cs_reg << 16 | ip_reg, ss_reg << 16 | sp_reg, ds_reg); + rv = CallToInit16(cs_reg << 16 | ip_reg, ss_reg << 16 | sp_reg, ds_reg); printf ("rv = %x\n", rv); } @@ -244,7 +249,8 @@ FixupSegment(int fd, struct mz_header_s * mz_header, if (i == 0) i = 0x10000; - status = lseek(fd, seg->seg_data_offset * 512 + i, SEEK_SET); + status = lseek(fd, seg->seg_data_offset * + (1 << ne_header->align_shift_count) + i, SEEK_SET); n_entries = 0; read(fd, &n_entries, sizeof(short int)); rep = (struct relocation_entry_s *) @@ -273,6 +279,15 @@ FixupSegment(int fd, struct mz_header_s * mz_header, } dll_table = FindDLLTable(dll_name); + if (dll_table == NULL) + { + char s[80]; + + sprintf(s, "Bad DLL name '%s'", dll_name); + myerror(s); + return -1; + } + ordinal = rep->target2; selector = dll_table[ordinal].selector; address = (unsigned int) dll_table[ordinal].address; @@ -289,6 +304,14 @@ FixupSegment(int fd, struct mz_header_s * mz_header, return -1; } dll_table = FindDLLTable(dll_name); + if (dll_table == NULL) + { + char s[80]; + + sprintf(s, "Bad DLL name '%s'", dll_name); + myerror(s); + return -1; + } if (GetImportedName(fd, mz_header, ne_header, rep->target2, func_name) == NULL) @@ -305,7 +328,48 @@ FixupSegment(int fd, struct mz_header_s * mz_header, break; case NE_RELTYPE_INTERNAL: + if (rep->target1 == 0x00ff) + { + address = GetEntryPointFromOrdinal(fd, mz_header, ne_header, + rep->target2); + selector = (address >> 16) & 0xffff; + address &= 0xffff; + } + else + { + selector = selector_table[rep->target1-1].selector; + address = rep->target2; + } + +#ifdef DEBUG_FIXUP + printf("%d: %04.4x:%04.4x\n", i + 1, selector, address); +#endif + break; + + case 7: + /* Relocation type 7: + * + * These appear to be used as fixups for the Windows + * floating point emulator. Let's just ignore them and + * try to use the hardware floating point. Linux should + * successfully emulate the coprocessor if it doesn't + * exist. + */ +#ifdef DEBUG_FIXUP + printf("%d: ADDR TYPE %d, TYPE %d, OFFSET %04.4x, ", + i + 1, rep->address_type, rep->relocation_type, + rep->offset); + printf("TARGET %04.4x %04.4x\n", rep->target1, rep->target2); +#endif + continue; + default: +#ifdef DEBUG_FIXUP + printf("%d: ADDR TYPE %d, TYPE %d, OFFSET %04.4x, ", + i + 1, rep->address_type, rep->relocation_type, + rep->offset); + printf("TARGET %04.4x %04.4x\n", rep->target1, rep->target2); +#endif free(rep1); return -1; } @@ -337,7 +401,23 @@ FixupSegment(int fd, struct mz_header_s * mz_header, break; + case NE_RADDR_SELECTOR: + do { + next_addr = *sp; + *sp = (unsigned short) selector; + sp = (unsigned short *) ((char *) sel->base_addr + next_addr); + } + while (next_addr != 0xffff); + + break; + default: +#ifdef DEBUG_FIXUP + printf("%d: ADDR TYPE %d, TYPE %d, OFFSET %04.4x, ", + i + 1, rep->address_type, rep->relocation_type, + rep->offset); + printf("TARGET %04.4x %04.4x\n", rep->target1, rep->target2); +#endif free(rep1); return -1; } diff --git a/winetest/main.c b/winetest/main.c deleted file mode 100755 index de7d73839d7..00000000000 --- a/winetest/main.c +++ /dev/null @@ -1,101 +0,0 @@ -/* MAIN.C - * - * PURPOSE: - * - * FUNCTIONS: - * WinMain() - Initializes app, calls all other functions. - */ - -#include -#include -#include -#include - -/* - * Globals - */ -char szAppName[] = "WineTest"; - -extern long FAR PASCAL WineTestWndProc(HWND hwnd, unsigned message, - WORD wParam, LONG lParam); -/* extern void FAR __cdecl DebugPrintString(const char FAR *str); */ - -/* WinMain - */ -int PASCAL -WinMain(HANDLE hInstance, HANDLE hPrevInstance, LPSTR lpszCmdLine, int cmdShow) -{ - DebugPrintString("Hello\n"); - - return 0; -#if 0 - HWND hwnd; - MSG msg; - WNDCLASS wndclass; - - if (hPrevInstance) - { - MessageBox(NULL, "This application is already running.", szAppName, - MB_OK | MB_ICONEXCLAMATION | MB_SYSTEMMODAL); - return NULL; - } - - wndclass.style = CS_HREDRAW | CS_VREDRAW; - wndclass.lpfnWndProc = WineTestWndProc; - wndclass.cbClsExtra = 0; - wndclass.cbWndExtra = 0; - wndclass.hInstance = hInstance; - wndclass.hIcon = LoadIcon(NULL, IDI_APPLICATION); - wndclass.hCursor = LoadCursor(NULL, IDC_ARROW); - wndclass.hbrBackground = GetStockObject(WHITE_BRUSH); - wndclass.lpszMenuName = "MainMenu"; - wndclass.lpszClassName = szAppName; - - RegisterClass(&wndclass); - - hwnd = CreateWindow(szAppName, "Wine Tester", - WS_OVERLAPPEDWINDOW, - CW_USEDEFAULT, - CW_USEDEFAULT, - CW_USEDEFAULT, - CW_USEDEFAULT, - NULL, - NULL, - hInstance, - NULL); - ShowWindow(hwnd, cmdShow); - UpdateWindow(hwnd); - - while (GetMessage(&msg, NULL, NULL, NULL)) - { - TranslateMessage((LPMSG) &msg); - DispatchMessage((LPMSG) &msg); - } - - return msg.wParam; -#endif /* 0 */ -} - - -/* WineTestWndProc - */ -long FAR PASCAL -WineTestWndProc(HWND hwnd, unsigned message, WORD wParam, LONG lParam) -{ - static HANDLE hInstance; - FARPROC DlgProcInst; - LONG parm; - - switch (message) - { - case WM_CREATE: - hInstance = ((LPCREATESTRUCT) lParam)->hInstance; - return 0; - - case WM_DESTROY: - PostQuitMessage(0); - return 0; - } - - return DefWindowProc(hwnd, message, wParam, lParam); -} diff --git a/winetest/makefile b/winetest/makefile deleted file mode 100755 index 5f111ddd453..00000000000 --- a/winetest/makefile +++ /dev/null @@ -1,47 +0,0 @@ -#################################################################### -# -# PPI standard windows makefile -# -#################################################################### - -#################################################################### -# -# Compiler options -# -AFLAGS=/ML /LA -CFLAGS=-AM -Ozaxb2 -Gr -G2 -Zpei -W3 -DWINVER=0x0301 -LFLAGS=/CO - -#################################################################### -# -# Object files and target -# -OBJS=main.obj -DIALOGS= -TARGET=winetest - -#################################################################### -# -# Standard rules -# -ROOTS=$(OBJS:.obj=) - -all: $(TARGET).exe - -version: - coall -r$(RELEASE) - $(MAKE) all - -$(TARGET).res: $(TARGET).rc $(TARGET).h $(DIALOGS) - rc -r $(TARGET).rc - -$(TARGET).exe: $(TARGET).res $(TARGET).def $(TARGET).h $(OBJS) - link @<< -$(ROOTS) /NOD $(LFLAGS) -$@ -$(TARGET) /MAP:FULL -libw slibcewn oldnames -$(TARGET).def -<< - rc -30 $(TARGET).res - diff --git a/winetest/winetest.def b/winetest/winetest.def deleted file mode 100755 index bd9dbcc9ba5..00000000000 --- a/winetest/winetest.def +++ /dev/null @@ -1,11 +0,0 @@ -NAME WINETEST - -DESCRIPTION 'Wine Tester' -EXETYPE WINDOWS -STUB 'WINSTUB.EXE' -CODE PRELOAD MOVEABLE DISCARDABLE -DATA PRELOAD MOVEABLE SINGLE -HEAPSIZE 8192 -STACKSIZE 8192 -EXPORTS WineTestWndProc -IMPORTS UNIXLIB._DebugPrintString diff --git a/winetest/winetest.h b/winetest/winetest.h deleted file mode 100755 index c2804128f8a..00000000000 --- a/winetest/winetest.h +++ /dev/null @@ -1,2 +0,0 @@ -/* $Id$ - */ diff --git a/winetest/winetest.rc b/winetest/winetest.rc deleted file mode 100755 index af8228ee98b..00000000000 --- a/winetest/winetest.rc +++ /dev/null @@ -1,11 +0,0 @@ -#include - -MainMenu MENU -BEGIN - POPUP "&File" - BEGIN - MENUITEM "E&xit", 100 - MENUITEM SEPARATOR - MENUITEM "&About...", 101 - END -END