60

c quoi cette conversion d'img pourrie ? sicksick
vous montrerai une des miennes ac fargray tongue

61

En ce qui concerne les librairies "read-only", je trouve cette idée assez mauvaise. Le système des librairies n'est vraiment pas fait pour ça. Il y a les ROM_CALLs de vat.h pour les fichiers de données externes.
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é

62

Comme PpHd est d'accord, je vais poster ici le patch (diff de sources) à appliquer à PreOs pour qu'il lance tictex avec SHIFT+ON.

Malheureusement, il reste des problèmes en testant (barre noire en quittant tictex dans certains cas avec h220xtsr), et j'ai donc (encore) retiré le patch jusqu'à ce que je puisse trouver d'où vient le problème. Mais vous pouvez maintenant me contacter si vraiment vous voulez le tester.
[edit]Edité par Kevin Kofler le 17-02-2002 à 00:10:54[/edit]
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é

63

Bon, le bogue qui faisait planter était le bogue de TI-Chess 3.30 qui détruisait la pile superviseur (j'avais lancé tichess à partir de tictex). Je vais quand-même réessayer avec TI-Chess 3.60 avant de dire que ça marche. Et je vais aussi essayer de nettoyer quelques saletés qui font que ça ne marche pas à tous les coups (par exemple, si on lance tictex de la ligne de commande, et puis une deuxième fois à partir de SHIFT+ON sans avoir quitté tictex avant, ça rendra SHIFT+ON inutilisable jusqu'au prochain reset).
[edit]Edité par Kevin Kofler le 17-02-2002 à 00:59:10[/edit]
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é

64

PpHd > vi pour les libs, j'ai vue ça hier smile c fort pratique smile et c'était le seul truc qui me génait un peu dans PreOS, maintenant c bon grin
Site en décomposition :( www.graphiti.fr.fm

65

>En ce qui concerne les librairies "read-only", je trouve cette idée assez mauvaise. Le système des librairies n'est vraiment pas fait pour ça. Il y a les
>ROM_CALLs de vat.h pour les fichiers de données externes.
Je sais. Et je faisais comme ca avant. Mais je trouve plus simple de faire une librarie.
ET surtout, le linkeur pourrait le faire ... automatiquement grin

Mais il faut dire que Tictex a ete fait a coup de gros bricolages. C'est assez dur de le lancer autrement que par la ligne de commande.
Pour le coup de rendre SHIFT+On reutilisable, je ne sais pas comment faire.

66

Moi non plus, je n'ai pas encore trouvé une bonne solution jusqu'à présent, mais en cherchant bien dans la VAT, on doit trouver (tictex se cache dans la VAT quand il s'exécute, et la variable cachée doit être trouvable - le problème est que juste la copie archivée est cachée et pas le twin).
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é

67

Kevin, il faut que tu en parles à Thomas, je crois qu'il a entrepris une nouvelle version (mais je ne suis pas sûr)...
avatar
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Co-admin de TI-Planet.

68

J'ai déjà résolu le problème.
En fait, ce n'est pas du tout la détection du fait que TICTEX est déjà exécuté ou non qui pose problème, mais le fait que TICTEX met son propre vecteur Line1111, qui ne comprend pas les ROM_CALLs à la AMS 2.05 utilisés par PreOs. (Bon, en fait il faudrait quand-même que Thomas corrige cela, pour les programmes qui utilisent ça. Je vais le lui signaler. Voire même lui donner un vecteur Line1111 qui le fait - celui que j'ai écrit pour DB92.) J'ai résolu le problème en mettant le vecteur Line1111 de PreOs pendant la durée pendant laquelle la routine qui traîte le SHIFT+ON s'exécute.
Donc mon patch pour utiliser TICTEX comme l'explorateur par défaut de PreOs est pratiquement prêt.
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é

69

tr dc.b "TIHOME",0 EVEN
Bon, voilà le patch promis: 
--- ../ints.asm	Tue Feb 29 20:31:52 2000
+++ ints.asm	Mon Feb 18 11:38:26 2002
@@ -166,38 +166,81 @@
 	trap	#0			; Call the original trap #0
 	move.w	#$0000,SR		; User Mode
 	movem.l	d0-d7/a0-a6,-(a7)	; Push all registers
-	pea	($0F00).w		; Push SCREEN size
+	move.l	$2C,-(a7)		; Save Line1111 vector
+	lea	new1111(Pc),a0		; Get the address of the PreOs Line1111 vector
+	move.l	a0,$4002C		; Replace the Line1111 vector
+	clr.w	-(a7)			; Get rid of SHIFT indicator NOW (else the
+	ROM_THROW ST_modKey		; auto-int 1 will do it, but too late)
+	addq.w	#2,a7
+	pea	($0F00+60).w		; Push SCREEN size + 60 bytes for supervisor stack saving
 	ROM_THROW HeapAllocPtr		; Allocate a block to save the screen
 	move.l	a0,(a7)			; Save a0 and test if a0 == NULL
-	beq.s	\end2
-		lea	(LCD_MEM).w,a1	; Copy the LCD_MEM into the buffer
-		move.w	#$0F00/4-1,d0	; Buffer size / 4 (Longword copy)
+	beq	\end2
+		lea	(LCD_MEM-60).w,a1	; Copy the LCD_MEM - 60 bytes into the buffer
+		move.w	#($0F00+60)/4-1,d0	; Buffer size / 4 (Longword copy)
 \loop			move.l	(a1)+,(a0)+
 			dbf	d0,\loop
-		ROM_THROW FontGetSys	; Save current Font System
+		ROM_THROW FontGetSys		; Save current Font System
 		move.w	d0,-(a7)
-		lea	doors_str(Pc),a0	
-		bsr	find_lib		; Find File 'doors'
-		move.l	a0,d0
+		clr.w	-(a7)
+		pea.l	tictex_str(Pc)
+		ROM_THROW SymFindPtr		; Find File 'tictex'
+		move.w	12(a0),(a7)
+		move.w	(a7),2(a7)
+		ROM_THROW HeapDeref
+		addq.l	#2,a7
+		cmp.l	#$200000,a0
+		bcc.s	\notlocked
+			ROM_THROW HeapGetLock
+			tst.w	d0
+			beq.s	\notlocked
+				addq.l	#4,a7
+				bra.s	\end
+\notlocked	clr.l	(a7)
+		pea.l	tictex_str(Pc)
+		ROM_THROW EM_twinSymFromExtMem	; Find File 'tictex'
+		addq.l	#8,a7
+		tst.l	d0
 		beq.s	\end
-			HW2TSR_PATCH a0,d0	; Patch the file
+			move.l	d0,-(a7)
+			ROM_THROW DerefSym
+			move.w	12(a0),-(a7)
+			move.w	(a7),4(a7)
+			ROM_THROW HLock
+			HW2TSR_PATCH a0,d0	; Patch the address
+			lea.l	2(a0),a1
+			move.l	a1,(a7)
+			moveq.l	#0,d0
+			move.w	(a0),d0
+			pea.l	1(a0,d0.l)
+			pea.l	(a1)
+			ROM_THROW EX_patch	; Patch the file
+			addq.l	#8,a7
+			move.l	(a7)+,a0
 			jsr	(a0)		; Execute
+			nop			; Ignore RETURN_VALUE
+			nop
+			nop
+			ROM_THROW HeapUnlock
+			addq.l #2,a7
 \end		ROM_THROW FontSetSys	; Restore current Font System
 		addq.l	#2,a7
 		move.l	(a7),a0
-		lea	(LCD_MEM).w,a1	; Restore the LCD_MEM
-		move.w	#$0F00/4-1,d0	; Buffer size / 4 (Longword copy)
+		lea	(LCD_MEM-60).w,a1	; Restore the LCD_MEM and 60 bytes supervisor stack
+		move.w	#($0F00+60)/4-1,d0	; Buffer size / 4 (Longword copy)
 \loop2			move.l	(a0)+,(a1)+
 			dbf	d0,\loop2
 		ROM_THROW HeapFreePtr
 \end2	addq.l	#4,a7
 	ROM_THROW OSClearBreak
+	move.l	(a7)+,$4002c		; Restore the Line1111 vector
 	movem.l	(a7)+,d0-d7/a0-a6	; restore all registers
 	trap	#12			; Supervisor mode
 	clr.l	($4004C)		; Efface la copie (On peut reutiliser le SHIFT+ON)
 	rte
 
-doors_str	dc.b	"doors",0
+		dc.b	0,"main\tictex"
+tictex_str	dc.b	0
 ;TiHomeS

.
À appliquer soit manuellement, soit avec GNU patch. Mais comme je suis un peu paresseux (grin), je ne distribue pas de version compilée. À vous de le compiler avec:
tigcc -WA,-vhw2tsr preos.asm hw2tsrh220xtsr.a
ou si vous avez une HW1 (ou une HW2 avec le HW2Patch de JM):
tigcc preos.asm
attention J'ai testé le patch sur VTI et sur ma TI-92+ HW2, mais je ne garantis pas qu'il marche sans aucun problème potentiel. Utilisez ce patch à vos risques et périls. En aucun cas ne pourrais-je être tenu responsable de tous dégats résultants à votre calculatrice ou aux données qu'elles contient qu'ils résultent ou non de l'usage de ce patch!

Il y a:
- changement du nom du shell par défaut (évidemment grin)
- appel d'un shell _nostub
- 3 nops pour éviter qu'un malin fasse tout planter en rajoutant un RETURN_VALUE à TICTEX
- détection du fait que tictex soit déjà lancé
- tentative de workaround contre le bogue de TI-Chess 3.30 qui détruit la pile superviseur. Mais mettez quand-même à jour TI-Chess, parce qu'il peut toujours y avoir des plantages dans certains cas (appel d'un programme kernel après TI-Chess 3.30 dans la même session de TICTEX).
- remise du vecteur Line1111 de PreOs pendant le temps d'exécution tu trap 0, pour éviter qu'une tentative de SHIFT+ON à l'intérieur de TICTEX fasse tout planter à cause du Line1111 de TICTEX qui ne comprend pas les ROM_THROW

Ce patch n'a pas été facile à écrire...

Et dernière chose: ne distribuez pas de version compilée avec ce patch sans mon accord et celui de PpHd! Surtout parce qu'il faut que ça soit clair que c'est une version adaptée.
[edit]Edité par Kevin Kofler le 18-02-2002 à 11:47:28[/edit]
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é

70

C'est vraiment complique ce patch. C'est pour ca que je ne faisais appeller que les programmes kernels. Le code etait bien plus court et simple.
Si vous etes VRAIMENT interresses, je pourrais le mettre dans la version officielle. Mais ca m'a l'air lourd, et pas assez sur.

71

Oui, c'est vraiment lourd, je l'avoue. sad
Je pense que le mieux est que, si tu veux le mettre dans la distribution officielle, tu fasses une version spéciale. Même si le nombre de versions se retrouverait encore multiplié par 2. Ou alors que tu fasses carrément une distribution séparée. (Juan Corral, le webmaster du site de TeOS avait fait ça: il a carrément compilé 3 versions de TeOS pour 3 explorateurs différents, et a fait un ZIP pour chaque version. Mais dans ce cas, ça se limitait à changer le nom, ce n'était pas un gros patch comme celui-ci.)

D'ailleurs, je me demande s'il ne serait pas intelligent de supprimer la sauvegarde de l'écran. TICTEX sauve l'écran lui-même normalement, et ça éviterait que, quand on appuie sur [ENTER] sur un programme BASIC dans TICTEX, le nom du programme est là, mais invisible. Le problème est que TICTEX dessinera le nom du programme aussi si on n'est pas dans HOME (et qu'il ne devrait donc pas être visible dans ce cas)... Donc la question reste ouverte.
[edit]Edité par Kevin Kofler le 18-02-2002 à 12:12:04[/edit]
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é

72

Est-ce que Tictex sauvegarde l'ecran ou le redessine ? Il y a un enorme diff. (Je vais telecharger les sources).
Je n'ai pas compris ton histoire de programme basic invisible qui devient visible...

J'aimerais laisser des routines non critiques dans preos archive, et non pas installe en tant que TSR. Cela permettrait de baisser la taille du programme.
Pour l'idee de plusieurs versions, evidemment c'est possible. Et de toute facon, avec la compilation conditionnelle, cela ne posera aucun probleme. en plus.

73

>Est-ce que Tictex sauvegarde l'ecran ou le redessine ? Il y a un enorme diff. (Je vais telecharger les sources).

Euh, télécharge plutôt la 1.10 bêta sur le forum de la TICT que la 1.00.
Et dans la 1.00, on voyait clairement que c'était sauvegardé, pas redessiné (c'est beaucoup plus rapide). (Pour la 1.10 bêta, je n'ai pas encore regardé.)

>Je n'ai pas compris ton histoire de programme basic invisible qui devient visible...

Quand on veut exécuter un programme BASIC dans TICTEX, il ne l'exécute pas directement, mais il copie son nom vers l'écran HOME (pour des raisons de compatibilité avec les programmes BASIC qui appellent de l'assembleur sur HW2 sans HW2Patch ni h220xTSR, et pour permettre le passage d'arguments). Seulement, d'après ce que je vois (je n'ai pas vérifié dans les sources), pour que le nom s'affiche, TICTEX a l'air de le dessiner avec un simple DrawStr, qu'on soit dans l'écran HOME ou pas. Donc le nom du programme sélectionné peut se retrouver au plein milieu de l'écran GRAPH, par exemple. Mais avec la sauvegarde de l'écran de PreOs, même dans l'écran HOME, le nom ne s'affiche pas (alors qu'il est présent dans la ligne d'entrée).

Je me demande si justement redessiner l'écran actuel ne serait pas la meilleure solution... Mais je ne sais pas comment réagira par exemple l'écran GRAPH à un CM_PAINT en plein traçage de courbe.
[edit]Edité par Kevin Kofler le 19-02-2002 à 08:30:39[/edit]
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é

74

J'ai implemente l'appel de 'tictex' avec shift+on. Legerement plus court que ton implementation, et sans autres bugs je pense.
Et j'ai l'impression que c'est un bug d'implementation de TicTex. C'est vraiment bizarre comme truc. Et si on appellait tictex dans un programme basic, il se passerait quoi ?
[edit]Edité par PpHd le 12-04-2002 à 12:14:26[/edit]

75

Aucune idée.
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é

76

j'ai oublie de tester hier.

77

ce qui serait bien c de faire un visionneur d'images 7 niv de gris intégré ....

78

Il faudra d'abord que j'adapte notre routine de niveaux de gris pour 7 ou 8 niveaux de gris. Après, on peut modifier TICTEXPV de manière à l'utiliser.
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é

79

Kevin : j'ai essayé de porter la version originale de Picture Viewer, mais ça rend pas super. C'est assez bizarre, ca fait de drôles de couleurs, qui changent quand on scroll. J'ai la même chose avec TiGrayImage. Pourtant grey7 de doorsos marche parfaitement.
([URL=http://www.multimania.com/extended/ti_files/pv_hw2.zip]PV pour 92+ HW2[/URL]).

80

et les TI89 sad
avatar

81

keevin tu veux le faire ???

82

mais arrètez de demander tout a Kevin! Le pauvre il doit plus avoir une minute a lui a force d'aider les nb
avatar

83

s'il n'était pas la connaissance infuse on ne lui demanderai rien !
c ça la rançon du succès smile
*** Ne sous-estimez pas la puissance de la Marmotte ***
© Marmotte Team : LaMarmotte, sBibi, Vark & sabrina

84

oui mais un simple portage sur TI89 ne demande pas forcément un génie
avatar

85

alors fais-le toi grin
*** Ne sous-estimez pas la puissance de la Marmotte ***
© Marmotte Team : LaMarmotte, sBibi, Vark & sabrina

86

je veux bien mais je ne programme que'en C sad et j'ai pas mal d'autres projets en ce moment
avatar

87

Je ne me suis pas ennuyé à porter la version pour 89 puisque l'affichage buggait.
Là, multimania est fermé jusqu'à demain, et mon compte chez kilio à sauté, alors faudra attendre un peu.

88

ben y'a image'in..smile

89

Imag'in déconne de la même façon que PV sur ma calc.

[URL=http://www.multimania.com/extended/ti_files/pv_hw2.zip]PV pour 89 & 92+ AMS 2.0x.[/URL]
Dites moi si ma calc est damnée.

90

PreOS supporte TictEx, mais est-ce qu'il supporte mon explorer ? (Nostub Explorer dispo sur ma page ?)
Site personnel
Site professionnel

msn / mail : racine.f(at)free.fr