1770

nan, ce que je veux dire c'est de mettre pour toutes les fonction snd_ en prefixe:
snd_install
snd_...etc
http://membres.lycos.fr/pingooz/
Un cafe et deux sucres

1771

Oui, c'est pas plus mal, c'est simple, et de toutes façons, c'est la seule lib son, donc...
avatar

1772

Et si je met psnd comme prefixe????

Du genre ça donne: psnd_SetFrequency_voice1
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

1773

A ce moment là, je préfère pSnd_SetFrequeny...
avatar

1774

Un petit vote là:
[sondage=13756]
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

1775

Ca va être difficile à choisir suivant le sondage. grin
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

1776

rotfl
avatar

1777

je pense ke PolySnd_... convient mieux. Pour programmer, du moment que les noms de fonctions sont explicites et faciles à retenir, ce n'est pas la peine qu'ils soient forcément courts.
donc g voté pr PolySnd_...
avatar

1778

Donc 2 pour PolySnd. Faible majoritée. grin
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

1779

Bon alors je prend polysnd.

Je pense que je vais faire plutôt polysnd2, pour pas avoir de confusions avec les versions anciennes? smile
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

1780

bah je crois pas que les versions anciennes ai été beaucoup utilisé, donc, Polysnd sera aussi bien.
J'ai voté pour pSnd car c'est à la fois satisfaisant pour désigner une fonction de la librairie et assez cours pour être tapé.
Car seuls les cons ne reconnaissent pas leurs erreurs.
=========================================
Avis aux newbies, avant de poster, essayez ça ->[http://databob.free.fr/IFAQ/FAQ]

Membre de la [V4pOR T34m]
EvaSDK's Homepage > et c'est reparti

1781

Ouai tu as raison, je met pas polysnd2.

J'ai pas voté mais je suis plus en faveur de pSnd aussi. smile
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

1782

Suivant le sondage+mon opinion je prend pSnd, je vais donc de ce pas changer les noms des fonctions mettre un peu à jours tout ça et réaliser des exemples, il ne restera plus qu'à traduire le documentation en anglais et je diffuse la librairie.

Quand à l'optmisation je trouve plus rien à optmiser, j'ai essayé ce que Pollux m'as donné mais ça fonctionne pas. Donc si des personnes veulent m'aider dans l'optmisation du code, qu'ils ce manifeste.

Après 60 pages de vapoware, PolySnd v2.0 va bientôt être diffusé.
Quand au débât son Game Boy ou pas, je vais essayer de vous faire un MP3 d'une musique de Kirby ou mario. wink
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

1783

> j'ai essayé ce que Pollux m'as donné mais ça fonctionne pas
Bien sûr roll Tu as vu que les var globales n'ont pas le même format? Montre-moi le diff entre ton code original et le code modifié que tu as essayé...

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

1784

Bien sûr. Tu as vu que les var globales n'ont pas le même format? Montre-moi le diff entre ton code original et le code modifié que tu as essayé...


J'ai regardé le code que tu m'as donné et j'ai vus que tu as changé le codage des modes, que tu as regroupé dans une même varaible state et playmode mais le problème majeure avec ça c'est qu'il est difficle de gérer ça dans les fonctions de PolySnd. Je sais bien que créer une varaible de 8 bits alors que 2 sont utilisé c'est du gaspiyage et une perte de vitesse mais c'est la meilleur solution pour que les évenements de PolySnd soit concordant et facile à modifier pour l'utilisateur.

J'ai passé la majeure partie de l'après midi est corriger des bugs de PolySnd, optmiser certaines choses et bien sûr à essayer ton code...

Quand à cette partie:

done_voice2:
64: ;Frequence int5 à 5000hz
65: ;frequence HW1/HW2
66: patch_hw1hw2_1
67: addi.w #1234,(a0)+ ; 20000 HW2, 14162 HW1
68: bpl.s execute_define_int5_handler

Je ne comprend pas comment tu peux gérer les 2 models de calculatrice et obtenir une fréquence de 5 KHz avec une fréquence d'origine de 8192 Hz OU 11639 Hz.

Mais vraiment je te remercie de ton aide, car malgré que je n'ai pas implanté ça dans PolySnd, ça me donne un bon moyen d'optimiser mes futurs code en ASM et oublier les var locale.
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

1785

Tu ne répond pas?

avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

1786

./1785> du calme, je ne suis pas connecté 24h/24...
J'ai regardé le code que tu m'as donné et j'ai vus que tu as changé le codage des modes, que tu as regroupé dans une même varaible state et playmode mais le problème majeure avec ça c'est qu'il est difficle de gérer ça dans les fonctions de PolySnd. Je sais bien que créer une varaible de 8 bits alors que 2 sont utilisé c'est du gaspiyage et une perte de vitesse mais c'est la meilleur solution pour que les évenements de PolySnd soit concordant et facile à modifier pour l'utilisateur.

Je ne crois pas qu'écrire le code pour mettre à jour les flags optimisés soit très compliqué, surtout que je t'ai donné les correspondances de bits... Si tu veux tu me re-minimsg le début du code que je t'avais envoyé et je t'écris le code de conversion roll Par contre je n'ai vraiment pas envie de le faire si je sais que ça ne sera pas utilisé et que tu refuses de l'implémenter dans PolySnd, donc si tu me demandes ça tu t'engages à faire un minimum d'effort pour voir ce qui ne va pas et/ou me demander si tu as des problèmes plutôt que de jeter ce que j'ai fait à la poubelle...
Quand à cette partie:

done_voice2:
64: ;Frequence int5 à 5000hz
65: ;frequence HW1/HW2
66: patch_hw1hw2_1
67: addi.w #1234,(a0)+ ; 20000 HW2, 14162 HW1
68: bpl.s execute_define_int5_handler
Je ne comprend pas comment tu peux gérer les 2 models de calculatrice et obtenir une fréquence de 5 KHz avec une fréquence d'origine de 8192 Hz OU 11639 Hz.


Tu le patches, i.e. au moment du chargement de ta lib :
  move.w #20000,patch_hw1hw2_1+2
  ... test hardware...
  branch_si_hardware2 \calc_hw2               ; est-ce une HW2 ou une HW1 ?
  move.w #14162,patch_hw1hw2_1+2        ; c'est une HW1, corriger en conséquence
\calc_hw2

Mais vraiment je te remercie de ton aide, car malgré que je n'ai pas implanté ça dans PolySnd, ça me donne un bon moyen d'optimiser mes futurs code en ASM et oublier les var locale.

Je t'oblige à implémenter ça devil
Non franchement c'est très simple à mettre en oeuvre et si tu ne le fais pas au moins une fois tu ne le feras jamais. Si tu as un pb, demande-moi.

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

1787

Tiens un bel exemple de SMC grin
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

1788

Je ne crois pas qu'écrire le code pour mettre à jour les flags optimisés soit très compliqué, surtout que je t'ai donné les correspondances de bits... Si tu veux tu me re-minimsg le début du code que je t'avais envoyé et je t'écris le code de conversion Par contre je n'ai vraiment pas envie de le faire si je sais que ça ne sera pas utilisé et que tu refuses de l'implémenter dans PolySnd, donc si tu me demandes ça tu t'engages à faire un minimum d'effort pour voir ce qui ne va pas et/ou me demander si tu as des problèmes plutôt que de jeter ce que j'ai fait à la poubelle...


Je n'ai pas dit que ça serait compliqué à implanter mais juste que ça serait difficle à gérer surtout pour l'utilisateur, bien sûr ton idée et vraiment optimal, mettre tout dans une variable mais ça implique des contraintes. sad
Je comprend que tu l'ai mal pris et que tu croit que j'ai pas pris compte de ce que tu as fait et dit, je ne jette pas ce que tu as fait à la poubelle, je dis juste que je ne peux pas reprendre à 100% de ce que tu as fait.

Tu le patches, i.e. au moment du chargement de ta lib :

move.w #20000,patch_hw1hw2_1+2
... test hardware...
branch_si_hardware2 \calc_hw2 ; est-ce une HW2 ou une HW1 ?
move.w #14162,patch_hw1hw2_1+2 ; c'est une HW1, corriger en conséquence \calc_hw2


Je vais faire ça. wink
Non franchement c'est très simple à mettre en oeuvre et si tu ne le fais pas au moins une fois tu ne le feras jamais. Si tu as un pb, demande-moi.


En effet c'est vraiment simple à mettre en oeuvre. J'ai déjà modifié de nombreuse fois cette librairie, passage d'arguments par registres au lieu de la pile, recodage complet de l'interruption à plusieurs reprise, optimisation assez complexe des fois pour des gains pas énorme, au totale cette librairie a été modifié 34 fois. 35 aujourd'hui en changeant les noms des fonctions, c'est simple à réaliser bien sûr mais très long surtout dans 4 headers, librairie statique et la doicumentation. Surtout que je me lasse de plus en plus à programmer cette librairie, j'ai vraiment envie de passer à autre chose, surtout le son sur TI, j'ai eux ma part de défis...

Voilà tout ça pour te dire que je trouve ton optmisation vraiment bien mais que de regrouper tout dans une variable ne donnera pas une optmisation conséquente et surtout me donnera beaucoup de travail pour pas grand chose, surtout que cette modification implique la modification de 20 fonctions (voir leur réécriture et 5 fonctions dans l'interruption).
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

1789

En appliquant le patch, je passe de 50% à 39% de ressources consommé par PolySnd en MIDI stéréo. C'est top
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

1790

Comme promis 2 musiques en MP3 avant de me coucher.
Si vous voulez la version On_calc, il suffit de demander.

Mario Underworld, taille 2 Ko
Conversion en mono donc sur un canal, le son pourrais être encore mieux si j'avais séparé les pistes par canal. Ici j'ai pris le MIDI d'origine sans retouche et je l'ai directement convertie.

Mario Castle, taille 5 Ko.
Conversion en mono aussi donc un canal, avec retocuhe au niveau des drums, jsute retiré 2 notes. Le son pourrais être encore mieux si j'avais séparé les pistes par canal.

Vous en pensez quoi? Ah oui est tant donné que ses musiques sont en mono, dans un jeux vous perderez que 15% des ressources CPU voir moins.

Au fait Pingoo je peux enfin convertir les MIDIS de Sam&Max, j'ai corrigé un bug qui faisait qu'il n'accepté pas les midis de Sam&Max.
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

1791

Ok, smile j'attend un exemple ou deux pour voir (moi aussi je vais assayer de mon coté)
http://membres.lycos.fr/pingooz/
Un cafe et deux sucres

1792

Je n'ai pas dit que ça serait compliqué à implanter mais juste que ça serait difficle à gérer surtout pour l'utilisateur, bien sûr ton idée et vraiment optimal, mettre tout dans une variable mais ça implique des contraintes.


Justement, c'est ce que tu n'as pas compris : CA N'IMPLIQUE AUCUNE CONTRAINTE! Renvoie-moi le code que je t'ai envoyé, et je t'écrirai le code de la fonction de conversion. Il n'y aura rien à modifier dans le reste de la lib.

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

1793

Ben j'avoue que mis à part le grous souffle, je suis assez bluffé par la qualité (surtout de Mario Castle).
avatar

1794

Justement, c'est ce que tu n'as pas compris : CA N'IMPLIQUE AUCUNE CONTRAINTE! Renvoie-moi le code que je t'ai envoyé, et je t'écrirai le code de la fonction de conversion. Il n'y aura rien à modifier dans le reste de la lib.


Pas de problème, là voici:
source.php?s=615

Ben j'avoue que mis à part le grous souffle, je suis assez bluffé par la qualité (surtout de Mario Castle).


Le souffle derrière je crois que c'est le son des ventillos de mon ordi amplifié, un truc de ce genre.

La qualité de mario castle est honorable car j'ai quand même combiné 6 voies sur un canal, on peut même entendre à un certain endroit une alternance de notes trop lente car trop de notes à gérer avec un faible tempo.
Donc pour améliorer le son dans ce cas sans perdre de ressoruces CPU, il suffit de faire monter le tempo et pour avoir encore une meilleur qualité, séparer les voies par canal.
Surtout que j'ai donné leurs taille à côté sasns compression et ça me paraît très résonnable, bien sûr je ne peux pas enregistrer 3 mins.
Je pense vraiment que sin on adopter une musique de ce style dans un jeu, ici mario, joué en boucle puis utiliser l'autre canal pour les petits bruitages avec la fonction PlayFX on peut faire des chose vraiment interessante. smile
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

1795

Faudrait arriver à faire rentrer un petit HP (un buzer de base, quoi) dans la TI
avatar

1796

Faudrait arriver à faire rentrer un petit HP (un buzer de base, quoi) dans la TI


J'ai déjà essayé avec un buzzer c'est inaudible. Le mieux c'est un HP vraiment petit comme on trouve dans les consoles portable..., mais pas de buzzer.
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

1797

Update_internals:
	moveq #0,d0
	tst.b playmode
	bne \no15
	or.w #0x8000,d0
\no15
	btst #0,state
	bne \no14
	or.w #0x4000,d0
\no14
	btst #2,mode
	bne \no13
	or.w #0x2000,d0
\no13
	btst #3,mode
	bne \no12
	or.w #0x1000,d0
\no12
	btst #1,mode
	bne \no11
	or.w #0x800,d0
\no11
	btst #0,mode
	bne \no10
	or.w #0x400,d0
\no10
	btst #1,state
	bne \no7
	or.w #0x80,d0
\no7
	btst #6,mode
	bne \no6
	or.w #0x40,d0
\no6
	btst #7,mode
	bne \no5
	or.w #0x20,d0
\no5
	btst #5,mode
	bne \no4
	or.w #0x10,d0
\no4
	btst #4,mode
	bne \no3
	or.w #0x8,d0
\no3
	move.w d0,state_and_mode
	rts


que tu appelles à la fin de ton gestionnaire de notes si tu as modifé qqch...

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

1798

OK, tu veut dire que j'appelle cette fonction, dès lors que je modifie un truc dans la librairie?

Je vais donc me lancer dans cette optmisation.
Mais a ton avis, au lieu de passer par cette routine, si je modifier que ce qui a été modifié?

Une dernière faveur mais qui me semble plus importante que l'interruption, tu verrais quoi à optimiser dans cette routine:

play_voice1:
	move.w	play_frequency(PC),d1
	move.w 	frequency_voice1(PC),d0
	add.w 	d0,_fcounter1
	lsr.w 	#1,d0
	neg.w 	d0
	add.w	d1,d0
	cmp.w 	_fcounter1(PC),d0
	bcc.s 	son_1
	tst.w 	frequency_voice1					
	beq.s 	son_1
 
	sub.w 	d1,_fcounter1
	;bchg.b 	#0,($60000E)
	eori.b	#1,($60000E)
	
	;mode MONO
	tst.b	playmode
	beq.s	_mono_
	
	;subq.w	#1,_ucounter1
 
son_1:
	subq.w 	#1,_ucounter1
	rts

_mono_:
	eori.b	#2,($60000E)
	bra.s	son_1


Voilà.

Et peux tu m'expliquer comment tu lis les WAV, en quelle qualité et avec quoi tu obtient les données (je parie avec wave2asm?).
Je te demande ça car je parie que tu as une meilleur solution que moi pour lire les WAVs et que ton algo donne de meilleur résultats que moi. smile

avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

1799

Euh encore une fois j'ai l'impression qu'on peut améliorer significativement l'algorithme en redéfinissant la variable _fcounter1 : tu fais une nouvelle variable _fcounter_extended1 qui vaut "_fcounter1 - play_frequency - (frequency_voice1)/2", et ensuite tu fais :

play:
  lea _fcounter_extended1(pc),a0
  move.w frequency_voice1(pc),d0
  bne.s son_1
  add.w (a0),d0
  bcc.s son_1
  sub.w play_frequency(pc),d0
patch_playmode_1
  eori.b #123,($60000E)    ; à patcher en 1 en stéréo, 3 en mono
son_1
  move.w d0,(a0)
  subq.w #1,_ucounter1  ; et tu peux l'améliorer en mettant _ucounter1 juste après _fcounter1
  rts


Tu peux faire une fonction de mise à jour de _fcounter_extended1 à chaque fois que tu joues une nouvelle note.

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

1800

Et bah, ça simplifie vraiment les choses, je vais faire ça demain sans hésiter, j'avais vraiment pas pensé à l'idée de faire des varaible qui patch tout ça, ça aide pas mal. smile
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.