30

Kevin Kofler a écrit :
Ce qui est une bonne raison de ne pas l'utiliser. smile

Ce qui montre l'avantage du kernel et la puissance des libs dynamiques : une mise a jour de genlib (depuis la sortie de la V200) a elimine cette source de bug sans recompiler tous les programmes genlib...

31

...
-pacHa

32

L'interruption qui a a fréquence la plus élévée est la n°5?
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.

33

-> c'est dans la doc de tigcc... roll
(et dans plein d'autres docs)

34

Je sais je l'ai lus plusieurs fois mais je voulais être sûr que l'interruption n°5 600 Hz était plus puissante que l'auto int n°1. 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.

35

Tu as du te tromper parce que l'AI5 n'est pas du tout à 600Hz, mais à 19Hz.
C'est l'AI2 qui est à 600Hz

36

l'IT2 n'est pas un timer, elle réagit au clavier. L'IT1 est la plus rapide (OSC2/2^11).

37

D'accord je voulais juste avoir vérification mais alors quelle est l'interruption la plus rapide qui permet de ne pas couper les niveaux de gris, je parle d'utiliser une autre interruption autre que la 1 mais très rapide pour gérer du son car pour l'instant j'ai utilisé la 5 et la qualitée est horrible mais les niveaux de gris fonctionne.
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.

38

La fréquence de l'IT5 peut être montée à des valeurs très grandes. J'avais fait un petit bout de source pour Squale92 un jour :
[URL]http://membres.lycos.fr/extended/download.php?do=popup&path=AI5Freq.zip[/URL]
Il te faudra la doc de Johan Eilert sur le lowlevel si tu l'as pas déja.

39

Euh... Sais-tu que tu peux installer ton handler dans le hook "ancien auto-int 1" des routines de niveaux de gris? Soit en l'installant avant les niveaux de gris tout simplement, soit en utilisant GraySetInt1Handler.
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é

40

Je le sais mais avec ça les niveaux de gris clignote et le résultat y est médiocre.
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.

41

Ca pourrait créer des clignottement peut-être un handler de son sur l'AI1.

42

croisé smile

43

En tout les cas je cherche et je sais qu'il est tout à fait possible de jouer du son avec les niveaux de gris.
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.

44

Pour cette fonction là pokeIO(0x600017, 0xFF); qui appel souvent l'int 5, sur HW1 la valeur FF convient parfaitement ou pas car j'ai entendu parlé de F3 pour HW1:
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.

45

Le 0xFF est la valeur utilisée pour réglée le fréquence, tu peux mettre la valeur que tu veux (cf j89hw.txt)

46

Je sais ça mais juste pour savoir si les HW1 support au delà de la valeur F9?
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.

47

Pourquoi pas ?

48

A propos de niveaux de gris, est-ce que le niveau de gris materiel est supporte sur les HW2 ? Moi g qu'une HW1 et je l'avais utilise pour un raycaster. Si vous ne voyez pas de quoi je parle c'est en rapport avec les port $600012, $600003 et $60001C. C'est tres mal documente mais j'ai un bout de doc la dessus, faut que je remette la main dessus si personne ne sait.

49

J'ai retrouve ce dont je parlais, alors pour ceux que ca interesse:

($600003):
$02 -> Switches to 4 graylevels (2 bitplanes) if you wrote $f0 at $600012
($600005):
$02 -> Freezes everything (graylevels, etc) until an event happens
(keyboard)
$04 -> idem
$08 -> idem
$10 -> disturbs graylevels
$20 -> cf $02
($600012):
$30 -> screen lines are now 32 bytes long
$10 -> 32 bytes lines + 4 graylevels (3 bitplanes following each other)
$f0 -> allows 2 bitplanes mode (cf $600003)
the lower 4 bits seem to be related with line size

($600015):
$00 -> Triggers Int 3
$01 -> turns the screen off and freezes
($60001c):
$f0 -> magnify the screen vertically (strange)
$30 -> idem
bit 3 seems to horizontally unmagnify the screen
$3c -> a line at the bottom of the screen
$3d -> idem
$3e -> idem at the top
$3f -> idem a bit lower

Interrupts must be disabled to use the graylevels.
The 3 bitplanes mode for 4 graylevels has a very good quality
The 2 bitplanes mode has a poor quality.
It is possible to obtain more graylevels (at least 6 bitplanes), but the
quality is really low.
It is probably possible to obtain a good quality with the 2 bitplanes mode,
but I don't know how yet.


En fait, ce doit etre la programmation directe des drivers du LCD.

50

Ben, J89hw.txt (la référence de nos jours) dit autre chose sur ces ports:
KTy a écrit :
($600003): $02 -> Switches to 4 graylevels (2 bitplanes) if you wrote $f0 at $600012

$600003 -W ($FF) Bus waitstates
	The TI89 hardware needs no waitstates.  AMS messes with this port on
	startup for compatibility with the TI92, but the battery checker
	will reset it to $FF within one second.
	:7	-
	:6-4	Wait states =(7-n) for non-RAM accesses
	:3	-
	:2-0	Wait states =(7-n) for RAM accesses

($600005):
$02 -> Freezes everything (graylevels, etc) until an event happens
(keyboard)
$04 -> idem
$08 -> idem
$10 -> disturbs graylevels $20 -> cf $02

J89hw.txt dit plus ou moins la même chose. C'est le port "idle". Freeze jusqu'à ce qu'une interruption survient. Chaque bit mis correspond à une interruption.
($600012):
$30 -> screen lines are now 32 bytes long
$10 -> 32 bytes lines + 4 graylevels (3 bitplanes following each other)
$f0 -> allows 2 bitplanes mode (cf $600003) the lower 4 bits seem to be related with line size

$600012 -W ($3180 => 240x128 screen)
	:15-14	-
	:13-8	LCD logical width =(64-n)*2 bytes =(64-n)*16 pixels
		The LCD controller DMA will send this many pixels to the
		screen for each line (= between each RS).

(Les 8 autres bits correspondent à $600013.)
($600015):
$00 -> Triggers Int 3 $01 -> turns the screen off and freezes

$600015 RW ($1B)
[....]
	:2	Trigger interrupt level 3 at OSC2/2^19  (~1 Hz on HW2)
	:1	OSC2 (and OSC3?) enable (bit clear means oscillator stopped!)
	:0	LCD controller DMA enable, LCD blank ("white") if =0
		This bit is only examined by the hardware at the start of
		each frame.
		HW1: The DMA steals ~10% of the CPU bus bandwidth.

($60001c):
$f0 -> magnify the screen vertically (strange)
$30 -> idem
bit 3 seems to horizontally unmagnify the screen
$3c -> a line at the bottom of the screen
$3d -> idem
$3e -> idem at the top $3f -> idem a bit lower

$60001C -W ($21 = 64 cycles/RS = 256 pixels/RS)
	:7-6	?-
	:5-2	LCD RS (row sync) frequency, OSC2/((16-n)*8)
		%1111 turns off the RS completely (used when LCD is off).
	:1-0	??? Used for sth? -- why otherwise set to %01?


Bref, ce que tu appelles "niveaux de gris matériels" me paraît être un gros abus des waitstates...
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é

51

Et il n'y aurait pas une moyen avec les ports de changer la tension du port i/o par exemple de 5V à 2V?
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.

52

Non, non, j'ai bien fait du niveau de gris materiel sur ma TI92 HW1! Il fallait avoir 3 plans memoires continue mais de 256 octets de largeur sur 128 de hauteur.
En fait, tout simplement, sur les HW2, ces ports ont disparu et ont ete remplace. C'etait pas mal car on pouvait virer les Ints et donc gagne un peu...
Le bon temps... smile


53

Mais alors ils ont déjà été remplacés dans les TI-89 HW1... J89hw.txt se rapporte aux 2 versions matérielles des TI-89.
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é

54

Biensur, je ne parle que des 92 HW1...

55

Donc, les 92+ HW1 seraient différentes de toutes les autres ?
Wow, si c'est le cas, TI a vraiment fait du beau boulot...
avatar
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Co-admin de TI-Planet.

56

Pourquoi ils auraient mis en place ça sans l'utiliser ?

57

Je suspecte fortement que ce n'est pas un effet voulu, mais une interaction bizarre entre les waitstates RAM et le DMA du LCD.
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é

58

Je pense plutot a une configuration des drivers de LCD Toshiba. Je vois pas bien ce qu'un abus de waitstates ferait que l'on ait du niveau de gris... Au mieux une vitesse de rafraissement superieure, mais pas du niveau de gris. Sauf si tu voulais dire que les drivers de LCD, abusés par le programmateur, crois avoir un ecran 256x384 et qu'a cause d'un decodage d'adresse modulo 128 pixels au niveau du DMA, le plans de 256x384 pixels s'affichent entierment en 256x128 et donc en 3 plans superposes.
Je pense surtout que le port $600003 n'a rien a voir entre les TI92HW1 et les autres (TI92HW2 et TI89 HW1 et HW2).
Concernant les versions de HW, je pense qu'a la conception de la 92, la version 89 n'etait pas envisage. C pour ca qu'ils ont fait une 92HW2, tres proches aux niveaux materiels des 89 HW1.

59

KTy : j'ai essayé sur une 92+ HW1, avec ça : [URL]http://membres.lycos.fr/extended/download.php?do=popup&path=grayhard.asm[/URL]
J'obtiens quelque chose qui ressemble à des niveaux de gris (3 couleurs pour ce test, et l'écran scintille un peu comme si on zappé entre des planes, mais plus que des niveaux gris softs).

Je ne comprends pas bien comment son organisés les planes : ils sont bien à la suite ? Pourquoi il y en a trois ? J'ai essayé aussi Blanc - Noir - Noir et Blanc - Blanc - Noir, j'obtiens toujours du noir... (enfin plutôt du bleu-vert, ça vaut pas un écran d'HW2 smile).

Sinon DB92 plante en quittant le debug sur 92+ HW1, j'ai encore droit à la calc 1 jour, je regarderai ce qui ne va pas (ou il l'aura pas pour le QCM des partiels smile)

60

Pour le problème de DB92 (v0.34) : l'espace alloué pour la pile superviseur utilisée par le debuggeur (DB92_ssp) est trop petit (512 octets). L'HeapSave est corrompu lorsqu'il se superpose avec la pile, et DB92 libère n'importe quoi en sortie.
Il faut au moins 2000 octets de pile superviseur.