1

-

2

-

3

J'ai rien compris gol
avatar
Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 : www.ti-fr.com.
Quelques idées personnelles ici.

4

-

5

Ha oué quelle merde !
avatar
Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 : www.ti-fr.com.
Quelques idées personnelles ici.

6

-

7

C'est un système de plans. Ce n'est pas fondamentalement différent du codage des niveaux de gris sur TI-89/92+/V200. La différence est que c'est un système hybride: on n'a pas des plans totalement séparés, mais un word du plan 1, puis un word du plan 2, puis un word du plan 3, puis un word du plan 4, puis un word du plan 1, ...
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é

8

1:      move.l d1,d3          * Y'=Y
2:      lsl.w  #7,d1          * Y'*128
3:      lsl.w  #5,d3          * Y'*32
4:      add.l  d3,d1          * Y+=Y' (==Y*160)

Gaspillage de 4 octets. Utilise mulu.
7:      lsr.w  #4,d3          * /16
8:      lsl.w  #3,d3          * *2*4

Ça se simplifie en lsr.w #1,d3.
17:      move.w (a0),d3          * get word 1
18:      btst.l #0,d2          * if bit 0 armed
19:      beq.s  pass1
20:      bset.l d1,d3          * set the bit in shift
21: pass1:
22:      move.w d3,(a0)+          * replace val and ++ 
23:      move.w (a0),d3          * get word 2
24:      btst.l #1,d2          * if bit 1 armed
25:      beq.s  pass2
26:      bset.l d1,d3          * set the bit in shift
27: pass2:
28:      move.w d3,(a0)+          * replace val and ++ 
29:      move.w (a0),d3          * get word 3
30:      btst.l #2,d2          * if bit 2 armed
31:      beq.s  pass3
32:      bset.l d1,d3          * set the bit in shift
33: pass3:
34:      move.w d3,(a0)+          * replace val and ++ 
35:      move.w (a0),d3          * get word 4
36:      btst.l #3,d2          * if bit 3 armed
37:      beq.s  end
38:      bset.l d1,d3          * set the bit in shift
39:      move.w d3,(a0)+          * replace val and ++ 
40: end:

Moi, je propose:
 moveq.l #3,d0  * loop 4 times
loop:
 move.w (a0),d3  * get word
 lsr.w #1,d2  * test last bit and shift right to test the next bit next time
 bcc.s skip  * skip if bit not armed
 bset.l d1,d3  * set the bit in shift
skip:
 move.w d3,(a0)+
 dbra.w d0,loop
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

-

10

Orion_ a écrit :
Non, car je divise d'abord pour enlever la virgule et avoir un nombre entier.
Exemple: 200 / 16 = 12.5 : 12*2*4=96 alors que 200 / 2 = 100

Ah oui... Je pensais d'abord qu'il y avait un truc comme ça, puis je pensais que non, il n'y en avait pas, mais en fait si, il y en a. Garde donc tes 2 lignes. À moins que lsr.w #1,d3; moveq.l #-8,dn; and.w dn,d3 ne soit plus rapide. (Et je viens de vérifier, c'est le cas: 16 cycles contre 26. Mais 2 octets de plus. sad)
le dbra ne ralentit il pas la fonction ?

Si, il prend entre 10 et 14 cycles selon les conditions du moment. Si ça te dérange vraiment, tu peux dérouler la boucle, mais garde le lsr que j'ai mis, ça prend 2 octets et 2 cycles de moins que ton btst.
PS: je precise que l'optimisation en vitesse est bien plus important que la place
prise, car, pour la place, aucun probléme il existe d'excellent packer et on a 720Ko (voir 820 si on booste) de libre sur disquette et 1Mo de libre en mémoire

Mais ton programme ne sera pas forcément le seul sur la disquette, n'est-ce pas?
Par contre, la vitesse est trés importante car l'Atari ne tourne qu'a 8MHz sad (4 de moins que la TI HW2)

Et 2 de moins que la TI-89/92+ HW1. On voit difficilement la différence de vitesse entre HW1 et HW2, donc je suppose que la différence entre l'Atari et une HW1 n'est pas très visible non plus.
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é

11

-

12

Orion_ a écrit :
merci beaucoup pour cette optimisation, car j'avoue que j'y aurais jamais pensé smile

Plutôt cette pessimisation vu que ça prend 2 octets de plus. grin
Sa fait quand même 1/3 de puissance en moins (atari) par rapport au HW2, c'est pas négligeable.

Mais seulement 1/5 en moins par rapport aux HW1.
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é

13

Atari était vraiment pas très original...

C'est le même procédé à peu de choses près pour la lynx, j'ai l'impression...

Pourquoi tu codes pas en C ???
avatar
Webmaster du site Ti-FRv3 (et aussi de DevLynx)
Si moins de monde enculait le système, alors celui ci aurait plus de mal à nous sortir de si grosses merdes !
"L'erreur humaine est humaine"©Nil (2006) // topics/6238-moved-jamais-jaurais-pense-faire-ca

14

-

15

Tu peux utiliser GCC.
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é

16

-

17

Il y a déjà un portage de GCC pour Atari.
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

Regarde du coté de Jaguar ou Lynx, il existe le BJL et le BLL dev kit, qui contiennent l'essentiel pour pouvoir programmer en C...

Les libs sont dispos mais je dois reconnaître que les docs et autres exemples sont extrêmement rares...
avatar
Webmaster du site Ti-FRv3 (et aussi de DevLynx)
Si moins de monde enculait le système, alors celui ci aurait plus de mal à nous sortir de si grosses merdes !
"L'erreur humaine est humaine"©Nil (2006) // topics/6238-moved-jamais-jaurais-pense-faire-ca

19

-

20

arf, on fait mieux sur ti smile

21

-

22

oui smile

23

le CPU a lui tout seul ne fait pas tout smile
les composants autour peuvent compter pas...
par exemple, mon amstrad a un i8086 (donc, le concurrent du M68k) à 8MHz, mais il a 512ko de RAM, il me semble...
avatar
Tutorial C (TI-89/92+/v200) - Articles Développement Web (PHP, Javascript, ...)
« What is the sound of Perl? Is it not the sound of a wall that people have stopped banging their heads against? » - Larry Wall

24

-

25

et puis, les MHz, c pas toujours très indicatif...
l'architecture fait bcp...

si sur une machine a 10MHz, il faut 3 cycles pr faire une instruction,
et que pr la même instruciton, il faut que 1 cycle sur une machien à 4MHz, ....
avatar
Tutorial C (TI-89/92+/v200) - Articles Développement Web (PHP, Javascript, ...)
« What is the sound of Perl? Is it not the sound of a wall that people have stopped banging their heads against? » - Larry Wall

26

-

27

oops, pas fait gaffe que ct le même cpu
dsl
avatar
Tutorial C (TI-89/92+/v200) - Articles Développement Web (PHP, Javascript, ...)
« What is the sound of Perl? Is it not the sound of a wall that people have stopped banging their heads against? » - Larry Wall

28

Mais sur Atari il y a des fonctions hardware pour gérer la vidéo... donc rien de comparable, l'Atari est plus puissant que la TI grâce aux composants autour même si il a 4 Mhz de moins que la TI.
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.

29

oué, c ce que je voulais dire par "composants" en 22, sauf que je voulais pas trop m'avancer, ne sachant pas exactement comment est fait l'amstrad (dans mon cas, c amstrad)
avatar
Tutorial C (TI-89/92+/v200) - Articles Développement Web (PHP, Javascript, ...)
« What is the sound of Perl? Is it not the sound of a wall that people have stopped banging their heads against? » - Larry Wall

30

-