1

qq1 pourrait m'expliquer en 2 mots comment utiliser proprement ce mode ?

je sais deja qu'on peut allumer un pixel de la couleur color (=n° de la couleur ds la palette ) comme ceci :
void putpixel(x, y, color)
 unsigned short x, y, color ;
{
	_AH = 0xC ;									//plot pixel
	_AL = color ;
	_BH = 0 ;
	_CX = x ;									//column number
	_DX = y ;									//row number
	geninterrupt(0x10) ;								//appelle l'int.
}



mais je voudrais l'allumer à la main, dans le genre de ceci :
void putpixel(x, y)
 unsigned short x, y ;
{
	screenptr[ 640/8 * y + x/8 ] |= 128>>(x%8) ;				//screenptr = 0xA0000000L ;)
}


Cette derniere methode fonctionne, mais je ne sais que faire pour choisir ma couleur sad
Z'av une pitite idée ou url ?
[edit]Edité par Pen^2 le 25-01-2002 à 23:24:12[/edit]

2

screenptr[ 640/8 * y + x/8 ] = Couleur;
Tout simplement non ?
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.

3

ba non sad
ça, ça marche en mode 13h, mais pas en 12h sad

G beau chercher, je trouve pas de doc potable là dessus !
y'a pas de doc officielle ou quoi ?
mournmourn

4

alors, si je me rappelle bien y'a une difference entre 13h et les autres: le probleme de memoire il me semble .. (enfait, y'a qq trucs a changer, c tt)

PS: j'ai pas retrouvé ma doc, c pr ca que g été aussi vague

5

c bon g trouvé, merci. (j'y aurrai passé du temps.. sick)

6

dis comment il faut faire ... ca nous evietra de chercher aussi wink

Sinon j'aurais dis que chaque pixel de l'ecran etait code sur 4 bits (car le mode 12h ne supporte que 16 couleurs par pixel) donc k'il fallait mettre avec des ET et des OU la valeur de la couleurs que tu voulais utiliser dans les 4 bits correspondants au pixel que tu veux modifier !
g bon ?
avatar
pwet

7

bon, et comment on fait en 13h???
avec Bill-Bob et yAro on a essayé pas mal de trucs et rien ne marche
on fait:

void SetMode()
{
    __asm
    {
        mov ax,0x13
        int 0x10
    }
}
void main()
{
    SetMode()
}


visual compile bien le programme, mais à l'exécution, il y a une erreur:

"unhandled exception in test.exe: 0xC0000005: Access violation"

et le débugger indique la ligne du int 10h
comment faire??
qqun a eu ce pbl??
est-ce que mon code est faux?? y a-t-il des options à rajouter pour la compilation??
bref, qu'est-ce qui va pas???
[edit]Edité par sBibi le 31-01-2002 à 15:59:42[/edit]
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

8

tain personne ne sait??
pen² tu fé comment?? (Bill-Bob a du t'envoyer un mini-msg)
pour faire du 13h?
tu utilise koi comme compilo qui MARCHE
(gcc c de la merde y comprend rien)
avec gcc on est limité à dosmemput() ki est une vraie merde, on peut même pas utiliser memcpy() et on pe pas non plus écrire directemet en mem vidéo...
en+ gcc comprend pas l'asm inline sad ou du moins on sait pas comment lui faire comprendre!

enfin bon, si qqun peut nous aider, ça serait bien sympa sad
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

9

>(gcc c de la merde y comprend rien)

rage Comment oses-tu insulter le compilateur C?

>avec gcc on est limité à dosmemput() ki est une vraie merde, on peut même pas utiliser memcpy() et on pe pas non plus écrire directemet en mem vidéo...

Bizarre. Tu utilises quelle version de GCC? DJGPP?

>en+ gcc comprend pas l'asm inline ou du moins on sait pas comment lui faire comprendre!

asm("mov ax,0x13;int 0x10")
ou peut-être asm("mov %ax,0x13;int 0x10")
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é

10

>gcc c de la merde y comprend rien
avec gcc on est limité à dosmemput() ki est une vraie merde, on peut même pas utiliser memcpy() et on pe pas non plus écrire directemet en mem vidéo...
en+ gcc comprend pas l'asm inline ou du moins on sait pas comment lui faire comprendre


Ah la la, qu'il est facile de critiquer le compilateur pour cacher son ignorance et son incapacité à faire une recherche sur Google.

Je connais la réponse mais j'ai pas envie de te répondre, ça t'apprendra devil
So much code to write, so little time.

11

Nitro> ben comme tu veux...
j'ai jamais voulu cacher mon ignorance, au contraire, je suis un pur niewbee là dedans, c pour ça ke je pose la question... ça m'apprendra, bah pas vraiment si je c pas comment faire

Kevin>oui, c djgpp et ta syntaxe, j'ai déjà essayé ça marche pas.
et je n'ai pas voulu critiquer gcc, juste la distribution djgpp, dsl g pas précisé...
recherche google?
bah ué pkoi pas? mais je peux te dire qu'avant de poster ici, on a cherché pdt de nombreuses heures, alors ne dit pas qu'on n'a pas cherché, tu n'en sais rien.

tu connais la réponse nitro? ben tant mieux pour toi...
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

12

Nitro> tu pourrais me le dire à moi alors ? pske moi je cherche aussi la solution sans y arriver ...
pas moyen de lancer le mode 13h sous visual c++ 6 .....
plize smile
avatar
Webmaster et développeur du site. Pour tout probleme ou question envoyez un mini message ou mail.

Suivez l'actualité de tous vos site préférés sur yAronews : http://ns.yaronet.com =)

13

Q'est ce que vous compter faire avec un VGA mode 12? c'est plustôt dépassé ca non?
avatar

14

Sous Visual à mon avis c'est impossible parce qu'on ne peut pas faire d'exe DOS, et que Windows t'empeche d'acceder au hardware (d'où l'access violation).
Si tu utilises DJGPP, j'ai fait une lib graphique mode 13h il y a qq années quand je débutais, si ça t'interesse ...
Sinon sous Visual utilise plutot SDL.
So much code to write, so little time.

15

Kevin : GCC n'acceptera jamais la syntaxe que tu donnes, il lui faut de l'ASM AT&T qui est totalement différent et incroyablement merdique.
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.

16

pour l'asm inline avec djgpp c effectivement asm("") et pas __asm {} comme sous visual !

Mais il n'empeche que gcc n'accepte pas :
asm("mov %ax,0x13 ; int 0x10") ... il acccepte pas le int 0x10 : Error: suffix or operands invalid for `int'
alors j'ai essayer : int $0x10 ... qui est accepté mais je sais meme pas si c la bonne syntax :P en tout cas ca ne marche pas

Du coup le mode 13 (bien que tres simple a comprendre) reste encore un mystere vu qu'on arrive pas a l'activer ! ... on a bien trouvé une methode pour activer le mode 13h sous gcc mais ensuite il est impossible de pouvoir ecrire dans la memoire video comme le font toutes les personnes qui font des tutoriaux sur le net ! Donc ceux qui y arrivent pourraient gentillement nous aider ... promis on a deja chercher beacoup alors par pitié evitez les : 'chercher avec google' tongue
avatar
pwet

17

Ah ces djeunz... ma lib graphique
So much code to write, so little time.

18

J'ai loupé quelquechose? s'est quoi ces libs graphique en mode 12?
avatar

19

>s'est quoi ces libs graphique en mode 12?

Des antiquités... le bon vieux temps grin
So much code to write, so little time.

20

Non je sais ce que c'est la question c'est, ca va vous servir a quoi?
avatar

21

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é

22

ça sert à koi de programer sur ti??
quand tu commences? tu commences par quoi? qu'est-ce que c'est que le premier truc que tu voudrais savoir faire? afficher un truc à l'écran? ben c ce qu'on veut faire sur pc smile y a un début à tout nan? comme premier prog sur pc, tu vas pas faire un jeu 3d en 1600*1280 non? bon, ba il me semble que le mode graphique le plus intéressant et le plus simple pour commencer est le mode 13h smile si je me trompe, que qqun corrige wink

(au fait nitro, si j'ai dit que gcc ct de la merde, c parceque c'est vraiment l'impression que l'on a eue... c'est le vrai bordel à utiliser, ça te compile un prog de 10 ligne qui affiche un pixel en un .exe de 120 Ko, bref à première vue ct pas super koi...)
o fait qqun sait pourquoi le programme compilé par gcc est si gros???confus il mets toutes les libs dans le prog ou quoi? même les trucs non utilisés? il fé des libs statiques?? bref pkoi c si énoooorrme ??
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

23

argh, toi aussi tu utilises dosmemput nitro??
void UpdateScreen(void)
{
WaitVBL();
dosmemput(Screen, 320*200, 0xA0000);
}

y a pas un moyen d'utiliser memcpy()??
pke on a essayé ça:

unsigned char * buffer = malloc(64000);
char * ecran = (char *)(0xA0000);

et dans la boucle d'affichage:
memcpy(ecran,buffer,64000);

ça compile, pas d'erreur à l'exécution, mais rien ne se passe... là encore on a cherché pendant un moment, mais rien à faire...

alors qu'avec le dosmemput(buffer,64000,0xA0000); ça marche, mais c leeennnnnnnttt
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

24

Kevin>Moi en tout cas je preferre le mode 12h: moins de coluleur mais une resolution corecte pour un écran PC.
avatar

25

Je n'ai jamais dit que je préférais quel mode que ce soit!
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é

26

ba le 13h c ultra simple => allez voir les cours de Franck Bauquier, pour le mode 13h c "cdoschap3.zip"

et j'utilise borland c++

27

Passe à DJGPP wink
Si tu n'as pas de quoi le télécharger (il fait quand même 20 Mo), je peux te le graver !
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.

28

PS : si les l'asm inline déconne chez vous, je vous signale que vous pouvez utiliser :
	//swap to mode 13h yééééé :)
	_AH = 0 ;		//Fonction 0 de l'int 0x10 du bios qui permet de changer de mode d'affichage.
	_AL = 0x13 ;	//On choisit le mode 13h huhu :)
	geninterrupt(0x10) ;	//appelle l'int.


PPS je sais que c debile de faire le mov ah, 0, mais c plus clair qd on debute wink

29

modem 56 k => pas la peine pour moi, mais je connais qq1 qui a l'adsl, je peux m'arranger, merci bcp qd meme smile
c vraiment mieux ?

30

PPPS
pour le 12h ça marche, mais g pas suffisemment testé pour etre sûr de ce que je dis.

et PPPPS :
>Uther Lightbringer
>Q'est ce que vous compter faire avec un VGA mode 12? c'est plustôt dépassé ca non?
un editeur pour un jeu que je fais smile