1

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.

2

Cool, il va falloir que je teste ça.
Je viens de supprimer la version 0.26, désormais dépassée, de mon site.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

3

Pourquoi n'y a-t'il pas de autosymb.exe dans ton ZIP?
En tout cas, pour compiler AutoSymb avec une version récente de GCC, il faut utiliser:
make CC='g++ -Os -s -include cstring'
(Le makefile veut utiliser gcc alors que c'est du C++, et les fonctions de chaînes de caractères ne sont déclarées nulle part dans list.cpp, d'où la nécessité de rajouter -include cstring. Ça serait bien de rajouter #include <string.h> ou #include <cstring> dans le code source.)

Argh, AutoSymb plante si on le compile avec GCC 3.1 pour Mingw32. sad Il va falloir que quelqu'un (toi? moi? quelqu'un d'autre?) le corrige.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

4

Je suis en train de corriger AutoSymb. (J'ai corrigé le bogue cité ci-dessus, mais je fais quelques autres petites corrections.) Je vais t'envoyer la version corrigée quand j'aurai fini.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

5

Voilà les corrections:
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

Je vais envoyer les sources entières et l'exécutable Win32 à hwti.

EDIT: Voilà, c'est parti.

Mais maintenant, il faudra tester DB92 lui-même.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

6

En regardant ce que tu as changé dans DB92, j'ai remarqué que KF_LoadSymb ne gère pas les informations symboliques _nostub. (C'est de ma faute.) Il faudra que tu rajoutes ça.

Et au fait: sommes nous les 2 seuls à être intéressés par DB92? Personne d'autre ne répond au topic. sad
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

7

Je suis très interessé ! J'utilise plus db92 que VTI en fait.
Si vous reprennez le projet, je peux poster ici les milliards de bugs à corriger ?

Je veux bien aussi donné un coup de main.

8

ExtendeD
a écrit : Si vous reprennez le projet, je peux poster ici les milliards de bugs à corriger ?

C'est surtout hwti qui reprend le projet. Moi, j'en ai un peu marre vu les "milliards" de bogues...
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

9

hwti: J´ai recu ton message.

10

Moi aussi je suis interesse par DB92 mais pour le moment je peux pas tester (j'ai ma ti, un ordi mais pas de cable sad )

11

nouvelle version http://membres.lycos.fr/hwti/db92-nostub-alpha-031.zip
nouveautés :
- sauvegarde/restauration de la pile d'expression (estack) maintenant on peut éxécuter plusieurs fois des programmes avec arguments sans quitter et relancer db92
- corrections dans autosymb (celles de Kevin Kofler plus quelques optimisations et un support des chemins d'accès comportant des '.')

12

ce que j'aimerai beaucoup moi c un db89 car c pas tres lisible sur une 89 sad
Plus tu pedale moins vite moins t'avance plus vite
Ma team CS

13

On ne peut pas faire beaucoup mieux que la version TI-89 de DB92. Il n'y a pas plus de place. Si des instructions sont coupées, tu peux les faire défiler.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

14

ouais mais si tu mettais les registres (toues d'un coup) en bas et non a droite ca serai peut etre mieux ou alors un syteme de page:
une page le code
une autre les registres

et surtout ca serais aussi cool que ce soit pas f6,f7,f8 les touches les plus importante car sur 89 c lourd de devoir faire 2nd f3 a chaque fois !

sinon appart le design et les touches rien a dire top
Plus tu pedale moins vite moins t'avance plus vite
Ma team CS

15

si personne n'y voit d'inconvénient je vais changer les touches pour la 89 (c'est vrai que F6,F7 et F8 c'est lourd)
je pense inverser avec F1,F2,F3, comme ça on aura sur F1,F2,F3,F4 et F5 les fonctions les plus utilisées

16

Je pense que F7 et F8 ont été choisies pour refléter le layout de touches du débogueur de VTI.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

17

Et pour F1=aide, c'est également une convention établie (même si TI ne la respecte pas dans leur interface).
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

18

Moi je propose de garder les touches de fonction telles quelles et de proposer HOME, MODE et CATALOG comme alternative à F6, F7 et F8.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

19

donc mettre des alias ? deux touches pour la même fonction ?
Je vais voir ça

20

Attention, dans DB92 il y a au moins 2 valeurs fausses pour le nombre de handles de AMS.

Dans db92.asm (2 fois):
move.w #2048-1,d2 ;number of handles

Dans KD_FindHandle (dans display.h):
cmp.w #$200,d0

La valeur correcte est 2000 ($7d0).
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

21

donc design tu ne vas rien changer sad
Plus tu pedale moins vite moins t'avance plus vite
Ma team CS

22

FluF > comme je l'ai dit plus haut, HOME, MODE et CATALOG seron des alternatives à F6,F7 et F8

23

hwti, voilà pour ton mini-msg :
Les bugs de scroll, de table de relogement pas alignée, du F5 avec les programmes qui détournent l'AI6 et de visualisation des fichiers ont été corrigés.
Il y a un petit bug graphique quand on fait backspace quand on tape ce qu'on veut rechercher, il faudrait que ce soit effacé, mais c'est pas très gênant.
Ca serait bien si on pouvait interrompre une recherche en faisant esc par ex.
Il y a un petit bug quand on fait search/byte puis on tape des caractères qui ne sont pas 0-9 ou A-F, si on fait enter ou esc on obtient une address error (et il faudrait mettre deux 'd' à address smile )
La protection du debug du trap #11 ne marche plus du tout, un step into provoque une address error.
Je crois qu'il y avait quelques movem qui étaient mal désassemblés, je sais plus lesquels, je sais pas si tu as corrigé ça.
Et j'avais pleins de problèmes avec l'émulation du mode superviseur, je les avais noté mais je ne les ai plus.
Par exemple on ne peut pas breaker avec esc+ON une interruption ou un trap, ca plantera au rte, et on ne peut pas mettre un breakpoint dans une interruption ou un trap (pourtant j'avais corrigé ces 2 problèmes avec Kevin).
Et la lecture de la pile utilisateur en mode superviseur renvoie n'importe quoi.
Et des instructions comme move.w (a7)+,sr font n'importe quoi (certains programmes et peut-être l'AMS utilisent cette instruction).
sad
J'en suis sûr qu'il y avait d'autres problèmes en mode superviseur, je ne m'en rappelle plus.
La meilleure chose à faire serait d'abandonner cette émulation, et de laisser le programme se mettre en superviseur comme il veut. Il suffirait juste de lui donner une pile superviseur où travailler, et de faire attention à bien redonner la bonne valeur à a7 quand on execute une ligne du programme ou on le lance, il ne devrait pas y avoir de problèmes.
Et je crois que les vecteurs des traps (et peut-être d'autres) ne sont pas remis à leure valeur initiale quand on quitte db92, ça peut-être génant si on le quitte au milieu d'un programme.

Si d'autres problèmes me reviennent, je les poste ici.

24

je vais tester tout ça
si on laisse le programme entrer en superviseur, il peut modifier sans contrôle le masque d'interruptions et donc désativer la touche ON, ou désactiver le trace
pour les vecteurs il me semble que tous ceux modifiés par DB92 sont remis à leur valeur initale, mais c'est vrai qu'il faudrait restaurer tous les vecteurs au cas où le programme les aurait modifiés

25

hwti
a écrit : FluF > comme je l'ai dit plus haut, HOME, MODE et CATALOG seron des alternatives à F6,F7 et F8

je parlais de ladisposition graphique des "windows"
Plus tu pedale moins vite moins t'avance plus vite
Ma team CS

26

si on laisse le programme entrer en superviseur, il peut modifier sans contrôle le masque d'interruptions et donc désativer la touche ON, ou désactiver le trace
Il n'y a que très peu de programmes qui touchent à SR en superviseur.

27

et si ils y touchent, db92 ne marcherait plus.

28

S'ils y touchent, c'est qu'ils n'ont pas besoin de db92 smile
Le problème est résolu!
Cours et tutos Asm: http://membres.lycos.fr/sirryl

29

Les programmes qui modifient SR à la main sont des programmes particuliers qui n'on't pas besoin d'être débuggés.

30

hwti: J'ai corrige reloc2 / preos