voici la nouvelle version de DB92 _nostub, la 0.30 alpha http://membres.lycos.fr/hwti/db92-nostub-alpha-030.zip
Il y a beaucoup de corrections.
Merci de tester et de rapporter les bugs.
diff -ur orig/AUTOSYMB.CPP new/AUTOSYMB.CPP --- orig/AUTOSYMB.CPP Tue Jul 31 22:10:50 2001 +++ new/AUTOSYMB.CPP Sat Jul 13 02:28:22 2002 @@ -1,6 +1,7 @@ /* This tool for db92 automatically generates a symbolic information file that you include in your program file. Copyright (C) 1997-1998 Guillaume Pothier + Copyright (C) 2002 Kevin Kofler This file is part of Db92 for TI68k. @@ -37,7 +38,7 @@ List FileList; int AlreadyRead; - printf ( "Automatic symbolic table builder for db92.n(c) Tleilax 08/1997.nr" ); + printf ( "Automatic symbolic table builder for db92.nCopyright (c) Tleilax 08/1997.nCopyright (c) Kevin Kofler 2002.nr" ); if (argc<2) { printf ( "You must specify a filenr" ); @@ -70,12 +71,14 @@ if(FileList.card() == 1) { strcpy(namesdb, dummy); - printf ( "Output file is %s.nrInclude it just before your program's entry point.n", dummy ); + printf ( "Output file is %s.nIf using kernel mode, include it just before your program's entry point.nIf using _nostub mode, put the following code at the beginning of your program:nnop: NOPn bra.w endsymbn dc.l 'DB92',endsymb-nopn include %snendsymb:n", dummy, dummy ); } - fputs ( ";db92 symbolic informationsn",f2 ); - fputs ( ";include JUST BEFORE your program's entry pointn;n",f2 ); - fputs ( ";File built by AUTOSYMBnnn",f2 ); + fputs ( ";db92 symbolic informationn",f2 ); + fputs ( ";if using kernel mode, include JUST BEFORE your program's entry pointn",f2 ); + fputs ( ";if using _nostub mode, include the following AT THE BEGINNING OF YOUR PROGRAM:n",f2 ); + fprintf ( f2,";nop: NOPn; bra.w endsymbn; dc.l 'DB92',endsymb-nopn; include %sn;endsymb:n",dummy ); + fputs ( ";n;File built by AUTOSYMBnnn",f2 ); fputs ( " include symb.incnn", f2 ); fputs ( " dbl_beginn", f2 ); @@ -181,6 +184,10 @@ Next = NULL; Next = FileList.GetNext(Next); + if (!Next) { + printf ( "ERROR: No file to handle.nr") + exit(1); + } strcpy(dummy, Next->Label); c=strchr ( dummy, '.' ); @@ -192,7 +199,7 @@ f1 = fopen ("12345678.sdb", "rt") if(!f1) { - printf("Erreur !n") + printf("Error !n") exit(1); } @@ -202,27 +209,27 @@ vars = fopen("vars", "wt") do { - c=fgets ( dummy, 512, f1 ); + c=fgets ( dummy3, 512, f1 ); s1=strtok ( c, " tn" ); - if(strcmp(s1, "dbl_begin")) continue; + if(!s1 || strcmp(s1, "dbl_begin")) continue; do { - c=fgets ( dummy, 512, f1 ); - strcpy(dummy2, dummy); + c=fgets ( dummy3, 512, f1 ); + strcpy(dummy2, dummy3); s1=strtok ( c, " tn" ); if(!strcmp(s1, "dbl_end")) break; fprintf(labs, "%s", dummy2); } while(1); - c=fgets ( dummy, 512, f1 ); // nl - c=fgets ( dummy, 512, f1 ); // dbv_begin + c=fgets ( dummy3, 512, f1 ); // nl + c=fgets ( dummy3, 512, f1 ); // dbv_begin do { - c=fgets ( dummy, 512, f1 ); - strcpy(dummy2, dummy); + c=fgets ( dummy3, 512, f1 ); + strcpy(dummy2, dummy3); s1=strtok ( c, " tn" ); if(!strcmp(s1, "dbv_end")) break; @@ -237,22 +244,24 @@ { break; } - strcpy(dummy, Next->Label); - c=strchr ( dummy, '.' ); - if (!c) c=strchr ( dummy, 0 ); + strcpy(dummy3, Next->Label); + c=strchr ( dummy3, '.' ); + if (!c) c=strchr ( dummy3, 0 ); strcpy ( c, ".sdb" ); - f1 = fopen(dummy, "rt") + f1 = fopen(dummy3, "rt") if(!f1) { - printf("Erreur !n") + printf("Error !n") exit(1); } - strcpy(namesdb, dummy); + strcpy(namesdb, dummy3); } while(1); - fputs ( ";db92 symbolic informationsn",f2 ); - fputs ( ";include JUST BEFORE your program's entry pointn;n",f2 ); - fputs ( ";File built by AUTOSYMBnnn",f2 ); + fputs ( ";db92 symbolic informationn",f2 ); + fputs ( ";if using kernel mode, include JUST BEFORE your program's entry pointn",f2 ); + fputs ( ";if using _nostub mode, include the following AT THE BEGINNING OF YOUR PROGRAM:n",f2 ); + fprintf ( f2,";nop: NOPn; bra.w endsymbn; dc.l 'DB92',endsymb-nopn; include %sn;endsymb:n",dummy ); + fputs ( ";n;File built by AUTOSYMBnnn",f2 ); fputs ( " include symb.incnn", f2 ); fputs ( " dbl_beginn", f2 ); @@ -287,4 +296,4 @@ remove("vars") return 0; -} No newline at end of file +} diff -ur orig/Makefile new/Makefile --- orig/Makefile Sat Aug 21 14:40:02 1999 +++ new/Makefile Sat Jul 13 01:46:38 2002 @@ -1,14 +1,16 @@ -CC=gcc +CFLAGS=-Os -s +CXX=g++ +CXXFLAGS=$(CFLAGS) OBJS=autosymb.o list.o HEADER=list.h all: autosymb autosymb: autosymb.o list.o - $(CC) -o autosymb $(OBJS) + $(CXX) $(CXXFLAGS) -o autosymb $(OBJS) autosymb.o: autosymb.cpp $(HEADERS) - $(CC) -c autosymb.cpp -o autosymb.o + $(CXX) $(CXXFLAGS) -c autosymb.cpp -o autosymb.o list.o: list.cpp $(HEADERS) - $(CC) -c list.cpp -o list.o + $(CXX) $(CXXFLAGS) -c list.cpp -o list.o Only in new: autosymb.exe Only in new: autosymb.o diff -ur orig/list.h new/list.h --- orig/list.h Tue Jul 31 22:16:14 2001 +++ new/list.h Sat Jul 13 01:43:32 2002 @@ -1,5 +1,6 @@ /* Copyright (C) 1997-1998 Guillaume POTHIER + Copyright (C) 2002 Kevin KOFLER This file is part of Db92 for TI68k. @@ -20,6 +21,7 @@ #include <stdlib.h> +#include <string.h> typedef struct sListItem tListItem; Only in new: list.o
ExtendeD
a écrit : Si vous reprennez le projet, je peux poster ici les milliards de bugs à corriger ?
hwti
a écrit : FluF > comme je l'ai dit plus haut, HOME, MODE et CATALOG seron des alternatives à F6,F7 et F8