Forum Graph100

Forum Graph100

Vous n'êtes pas identifié.

Annonce

Bonjour et bienvenue sur le nouveau Forum Graph100 !
L'intégralité des données a été transférée sur un forum PunBB et tout les comptes sont fonctionnels avec le même nom d'utilisateur et mot de passe.
Un wiki est aussi disponible avec le même compte ! N'oubliez pas de remettre votre avatar, bon surf !
Pour plus d'informations, consultez ce post.

#1 03 Mar 2002 07:11:48

Superna
Ex-Trouvetou G100
Lieu: Sous Linux ^^
Date d'inscription: 01 Feb 2002
Messages: 2275
Site web

Aide Interruptions

Voila, je me suis aidé du tuto de Whyp poir desactiver l'Int 9 qui ecrit dans le buffer touche pour accelerer Space Invaders, voila ça meche pour remplcer l'int mais pour le remettre, ça plante
Donc voila mon code :

Code:

int isint9on=1;
void interrupt int9off();    //prototype int9 modifiÈ
void interrupt (*oldint)();  //pointeur int9 normal
void desactint9(void){isint9on=0;
                oldint = _dos_getvect(0x9);
                _dos_setvect(0x9,int9off);}
void actint9(void){isint9on=1;setvect(0x9,oldint);}
void interrupt int9off(void){if(isint9on==1) oldint();};//Ici devrait remplir le buffer

Merci de m'aider, c urgent pour l'evenir de Space Invaders
Note : Le tir ne s'arrete plus !!!

Hors ligne

 

#2 03 Mar 2002 12:33:01

Whyp
Programmeur Graph100
Date d'inscription: 05 Feb 2002
Messages: 319
Site web

Re: Aide Interruptions

Le probleme c que je comprend pas tout a fais ce que tu veut reussir a faire, mais voici ce que je pense que tu devrai faire :
tu crée un proto qui fais rien :
void interrupt nope(void)
    {
    }

un pointeur vers l'int9 d'origine:
void interrupt (*int9)(void);

une routine qui remplace l'int9 par la notre qui fais rien

void setvector9(void)
{
int9=_dos_getvect(0x9);
_dos_setvect(0x9,nope);
}

Pour la quitter, tu n'as plus qu'a faire ceci :
setvect(9,int9);

Et ça ça marche.
@+


http://shine.sourceforge.net tout programmer votre graph100 smile

Hors ligne

 

#3 04 Mar 2002 06:35:26

Superna
Ex-Trouvetou G100
Lieu: Sous Linux ^^
Date d'inscription: 01 Feb 2002
Messages: 2275
Site web

Re: Aide Interruptions

Ouias merci mais c exactement ce que j'ai fait, c que j'avais essayé de le corriger, a la compilation, il me met "Nonportable Pointer Conversion"
Je pense que ça viens de la, voila mon code d'origine :

Code:

void interrupt int9off();    //prototype int9 modifiÈ 
void interrupt (*oldint)();  //pointeur int9 normal 

void desactint9(void){
                oldint = _dos_getvect(0x9); 
                _dos_setvect(0x9,int9off);} 

void actint9(void){setvect(0x9,oldint);} 

void interrupt int9off(void){ };//Fonction qui fait rien

Hors ligne

 

#4 04 Mar 2002 08:40:11

Whyp
Programmeur Graph100
Date d'inscription: 05 Feb 2002
Messages: 319
Site web

Re: Aide Interruptions

Essaie de mettre _dos_setvect au lieu de setvect, sinon si cette erreur n'est qu'n warning, oublie là.
@+


http://shine.sourceforge.net tout programmer votre graph100 smile

Hors ligne

 

#5 04 Mar 2002 08:42:14

Superna
Ex-Trouvetou G100
Lieu: Sous Linux ^^
Date d'inscription: 01 Feb 2002
Messages: 2275
Site web

Re: Aide Interruptions

m^me si c un warning, c un warning, mais bon, je vais essayer
merci beaucoup whyp, sinon, je suis en train de faire un noueau Sysxpl Receiver, il faudra que tu me dise le protocole de la prochaine version
Sinon, je crois faire un lib communication
commlib.h
(tu pourra m'aider ?)

Hors ligne

 

#6 04 Mar 2002 09:55:13

Whyp
Programmeur Graph100
Date d'inscription: 05 Feb 2002
Messages: 319
Site web

Re: Aide Interruptions

Voila, t'as qu'as faire ça :

    xor ax,ax
    mov es,ax
    mov ax,[es:0x26]
    mov [OldInt9Seg],ax
    mov ax,[es:0x24]
    mov [OldInt9Off],ax

    mov ax,[es:0x03FE]
    mov [es:0x26],ax
    mov ax,[es:0x03FC]
    mov [es:0x24],ax

Ca sauvegarde dans deux vairiables que tu crée (OldInt9Seg et Off, mais la c pour nasm, ne met pas les crochets), puis pour remettre dans l'etat initial :

    xor ax,ax
    mov es,ax
    mov ax,[OldInt9Seg]
    mov [es:0x26],ax
    mov ax,[OldInt9Off]
    mov [es:0x24],ax


http://shine.sourceforge.net tout programmer votre graph100 smile

Hors ligne

 

#7 05 Mar 2002 07:13:40

Superna
Ex-Trouvetou G100
Lieu: Sous Linux ^^
Date d'inscription: 01 Feb 2002
Messages: 2275
Site web

Re: Aide Interruptions

Merci beaucoup Whyp !!

Hors ligne

 

#8 09 Mar 2002 05:39:16

Superna
Ex-Trouvetou G100
Lieu: Sous Linux ^^
Date d'inscription: 01 Feb 2002
Messages: 2275
Site web

Re: Aide Interruptions

YOUPIIII ça martche, merci whyp t mon sauveur !!!

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr