30

je sais Bill-Bob!

Apparement qqchose m'echappe mais koi je ne vois pas!je vais recommençé!Si ça ne marche pas j'arrêtte l'ASM sad
LinuX Powa (:

31

Sur HW1, les niveaux de gris sont gérés par le port $600010. Va voir J89hw.txt sur http://alh.dhs.org/ti89/ pour plus de détails.

Il faut que tu:
* alloues un 2ème plan de 3840 octets, soit dans le programme, soit sur la pile, soit avec les fonctions HeapAlloc*
* modifies régulièrement $600010: mets $980(=$4c00/8) à 2 passages de l'auto-interruption n°1 et le huitième de l'adresse du 2ème plan au 3ème passage
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é

32

Kevin Kofler>il faut que tu ....

Oui pour la 1ere proposition mais non pour la deuxieme car je vois pas trop l'interrait de ce truc! (j'ai testé et j'ai vu aucun changement smile)

ben sinon j'ai fini mon prgm j'ai l'impression k'il marche mais pas sur VTI!

vous pourriez le testé pour moi et me dire comment vs le trouvé?
LinuX Powa (:

33

Zut! j'ai pas de compresseur ZIP j'ai WINRAR je peux pas vous proposé le dl mais laissez votre nom et je vous l'envoi ! wink
LinuX Powa (:

34

voilà c'est là : http://www.respublica.fr/zelca/click.zip
wink
[edit]Edité par ParadiZe le 02-07-2001 à 07:21:26[/edit]
LinuX Powa (:

35

Personne n'en veut! sad
LinuX Powa (:

36

Vous avez raison il est buggé!

je fais pointé l'auo_int 1 faire cet adresse:

movem.l d0-d2/a0-a2,-(a7)
move.l #$4c00,a0
move.w #959,d0
add.w #1,var
cmp.w #2,var
bne suite
clr.w var
move.l #plane1,a2
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
udapte_Screen:
move.l (a2)+,(a0)+
dbf d0,udapte_Screen
suite:
movem.l (a7)+,d0-d2/a0-a2
rte



Je vois ppas trop ou est le blem mais ça bug mauvaise! sad
LinuX Powa (:

37

Ça ne va pas du tout:

1. Tu n'exécutes la boucle qu'une fois sur 3.
2. Tu recopies le tout à chaque fois. Non seulement ça rend mal sur HW1, mais surtout il te faudrait alors allouer 2 plans et copier 2 fois sur 3 le 1er en $4c00, et 1 fois sur 3 le 2ème.

La logique à suivre sur HW1 est (en pseudo-code):
A. Au début:
1. plane0=$4c00
2. plane1=HeapAllocPtr(3846) ;6 octets de plus pour permettre l'alignement à 8 octets près. (Pas 7 car l'adresse d'un handle est toujours paire.)
3. ioport0=$4c00/8 ;$600010 veut le huitième de l'adresse
4. ioport1=intDiv(plane1+7,8) ;division par 8 par excès (Il faut être à l'intérieur du bloc!) On peut aussi mettre 6 plutôt que 7 car on sait que plane1 est pair.
5. installer l'interruption
B. Dans l'interruption:
1. addq.b #1,var
2. If var.b=3:clr.b var ;var doit appartenir à {0,1,2}.
3. If var.b/=0 Then move.w ioport0,$600010 Else move.w ioport1,$600010 ;pour 2 phases (1 et 2), active le plan 0, pour 1 phase (0), active le plan 1
C. À la fin:
1. remettre l'interruption d'origine
2. move.w ioport0,$600010 ;remet la valeur d'origine du port
3. HeapFreePtr(plane1) ;désalloue le plan 1

Attention, sur HW2, c'est beaucoup plus compliqué que cela.
[edit]Edité par Kevin Kofler le 02-07-2001 à 14:58:05[/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é

38

Pourkoi les grays clignote avec graphlib ?
LinuX Powa (:

39

et aussi à koi sert le port $600010 sBibi me l'avait expliké mais j'ai pas tout noté !
LinuX Powa (:

40

ce port contient l'adresse de l'espace memoire qui servira de memoire video sur HW1 !

attention quand meme il y a une petite singularite : $600010 contient l'adresse decrite ci-dessus / 8 !
avatar
pwet

41

tt à fait d'accord wink
In many respects the Yoshi is like a beautiful woman. A man can come so enamoured that he bestows on her all his time, his energy and his fortune.
- Fred whipple, 1960

*** Ne sous-estimez pas la puissance de la Marmotte ***
© Marmotte Team : LaMarmotte, sBibi, Vark & Sabrina

42

Merci !
LinuX Powa (:

43

bon alors pour que mes NDGS fonctionne impeccablement il me faut divisé l'adresse de mon ecran virtuel par 8

soit :
;;;;;;;;;;;;;;;;;;;;;;;
e_virtuel dc.l 960 ;3840 octets
;;;;;;;;;;;;;;;;;;;;;;;

lea e_virtuel(pc),a0
move.l a0,d0
lsr.w #3,d0
LinuX Powa (:

44

bon alors pour que mes NDGS fonctionne impeccablement il me faut divisé l'adresse de mon ecran virtuel par 8

soit :
;;;;;;;;;;;;;;;;;;;;;;;
e_virtuel dc.l 960 ;3840 octets
;;;;;;;;;;;;;;;;;;;;;;;

lea e_virtuel(pc),a0
move.l a0,d0 ;On peut pasfaire lsr.w #3,a0
lsr.w #3,d0 ;J'ai pas testé dc je suis pas sur !
move.l d0,($600010)

et ainsi aprés ça ce qui est contenue ds mon ecran viruel sera affiché exact?

J'ai la flemme de testé tt ça smile


LinuX Powa (:

45

Je voulais vous demander un truc :
Quel est la vrai limite des gray sur HWII ???
J'avais lu au max 4 niveau de gris mais je ne vois pas trop pourquoi

46

Et sur HW2 Kevin Kofler dit qu'il s'en bas les couilles de ce port donc je suis obligé de faire ma propre routine d'affichage alors? smile

LinuX Powa (:

47

alors quoi?

48

>El Isard: Quel est la vrai limite des gray sur HWII ???

La vraie limite est 2^51 (192*1024/3840 plans), mais bonne chance pour le clignotement... wink

Ceci pour dire qu'on peut afficher pratiquement autant de niveaux de gris qu'on veut sur HW2, mais que plus on en affiche, plus ça clignote.
[edit]Edité par Kevin Kofler le 08-07-2001 à 16:53:23[/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é

49

et si on synchro l'aff. des plans avec le refresh de l'écran, ça marche pas?
In many respects the Yoshi is like a beautiful woman. A man can come so enamoured that he bestows on her all his time, his energy and his fortune.
- Fred whipple, 1960

*** Ne sous-estimez pas la puissance de la Marmotte ***
© Marmotte Team : LaMarmotte, sBibi, Vark & Sabrina

50

>ParadiZe: Et sur HW2 Kevin Kofler dit qu'il s'en bas les couilles de ce port donc je suis obligé de faire ma propre routine d'affichage alors? smile

Oui. Il faut recopier les plans, et en plus maintenir la synchronisation en utilisant le port $7001D, sinon ça clignote.
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

C'est bo tout ça !!!

52

>sBibi: et si on synchro l'aff. des plans avec le refresh de l'écran, ça marche pas?

Tu crois qu'ils font quoi JM (graphlib de Universal OS), PpHd (genlib), FlashZ (TI-Pang, BomberMaze), Thomas Nussbaumer (gray.s de TIGCCLIB), ...?
Ça sert dans une certaine mesure, mais l'effet pratique n'est pas aussi parfait que la théorie.
[edit]Edité par Kevin Kofler le 08-07-2001 à 16:59:09[/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é

53

Font iéch c'est putain de port de putain de couilles à la tête de couilles suivi d'un cafard en bikini grin grin

tu dis $70001D alors c'est de ça que FlashZ parlait !

ben c'est pas gagné sur HW2 alors !
LinuX Powa (:

54

gray4:
add.w #1,compteur
cmp.w #3,compteur
bne suite
clr.w compteur
bra aff_plan0
suite:
move.l plane1,d0
lsr.l #3,d0 ;je divise par 8
move.l d0,($600010)
move.l $64,-(sp) ;on exécute l'auto_int 1 comùe ça pas de blem avec le système
rts
aff_plan0:
move.l #$980,($600010)
move.l $64,-(sp) ;on exécute l'auto_int 1 comùe ça pas de blem avec le système
rts
LinuX Powa (:

55

Eh ben il me semble que j'avais compris mais planté jça ne marche pas c'est encore pire !
LinuX Powa (:

56

Ben oui j'avais compris cet une erreur de ma part ben voici la routine poutr HW1 j'èspère que cela pourra aider beaucoups de monde smile

gray4:
add.w #1,compteur
cmp.w #3,compteur
bne suite
clr.w compteur
bra aff_plan0
suite:
lea plane1(pc),a0
move.l a0,d0 ;On peut pasfaire lsr.w #3,a0
lsr.w #3,d0 ;J'ai pas testé dc je suis pas sur !
move.l d0,($600010)
move.l $64,-(sp) ;on exécute l'auto_int 1 comùe ça pas de blem avec le système
rts
aff_plan0:
move.l #$980,($600010)
move.l $64,-(sp) ;on exécute l'auto_int 1 comùe ça pas de blem avec le système
rts
LinuX Powa (:

57

1) l'interet> ben il sert à rien c'était juste pour testé qqchose ! smile j'ai déjà réglé tt ça t'inkiet !

2)ben parceque ça ne sert à rien pour l'instant smile

3)??? pour faire koi?

4)je n'installe rien du tout je le fais juste pointé sur l'auto int mais je ne sauvegarde rien du tout si tu parles de <"move.l $64,-(a7)">
LinuX Powa (:

58

2) tu sais lire ?"Pour l'instant !" grin
Moi je sais pas écrire le français aba le français vive le créole et l'anglais! smile

3)Merci !

4)Oui!Merci ! =]
LinuX Powa (:

59

t'es sur je testerais MERCI smile
LinuX Powa (:

60

ben j'ai testé et résultat t'as tout faut!ben je voulais juste dire que j'ai enfin réussi mes routines pour 4 NDGs HW2 & HW1 qui fonctionne impeccable:

résultat test sur VTI:
clignotement :
HW1 = 0 HW2 = 0

problème rencontré:
ben il y a un déplacement de l'écran sans que je le veuille d'environ 30 picels ça dépend je pense que cela est due au port $600010 !

qqun pourrait m'éclairé un peu plus sur ce port !


LinuX Powa (: