Forum Oric
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Derniers sujets
» besoin cable coleur et interface de lecture sd card
Besoin d'aide pour la gestion du temps ... EmptySam 18 Juil 2020 - 16:29 par kenneth

» le forum fourre tout
Besoin d'aide pour la gestion du temps ... EmptyMar 30 Juin 2020 - 13:11 par Admin

» I had a dream .. glOric
Besoin d'aide pour la gestion du temps ... EmptySam 6 Juin 2020 - 14:18 par jbperin

» Multi soluces...
Besoin d'aide pour la gestion du temps ... EmptyMar 19 Mai 2020 - 12:41 par soft-bug

» Des nouvelles de BAS_ORIC
Besoin d'aide pour la gestion du temps ... EmptyMer 6 Mai 2020 - 16:08 par goyo

» 3D walkthrough template en moins de 600 lignes de C
Besoin d'aide pour la gestion du temps ... EmptyMer 29 Avr 2020 - 20:43 par Star42

» CB2 micro
Besoin d'aide pour la gestion du temps ... EmptySam 11 Avr 2020 - 19:29 par jbperin

» Le bonjour de codeur
Besoin d'aide pour la gestion du temps ... EmptyMer 1 Avr 2020 - 15:18 par Invité

» [résolu] Format des fichiers Hyperbasic...
Besoin d'aide pour la gestion du temps ... EmptySam 28 Mar 2020 - 19:50 par damien

» [résolu] Récupération contenu disquettes 3 pouces...
Besoin d'aide pour la gestion du temps ... EmptyVen 27 Mar 2020 - 15:06 par damien

» Echange de jeux/logiciels
Besoin d'aide pour la gestion du temps ... EmptyLun 23 Mar 2020 - 20:15 par Star42

» Ordi Portable Sony VAIO
Besoin d'aide pour la gestion du temps ... EmptyDim 22 Mar 2020 - 16:17 par froggy

» une atan2 pour vos lib math
Besoin d'aide pour la gestion du temps ... EmptyDim 22 Mar 2020 - 11:30 par drpsy

» nouveau site
Besoin d'aide pour la gestion du temps ... EmptyJeu 19 Mar 2020 - 20:02 par Star42

» CEO Mag Spéciaux disponibles
Besoin d'aide pour la gestion du temps ... EmptyJeu 19 Mar 2020 - 9:33 par musepat

Qui est en ligne ?
Il y a en tout 1 utilisateur en ligne :: 0 Enregistré, 0 Invisible et 1 Invité

Aucun

Le record du nombre d'utilisateurs en ligne est de 29 le Mer 25 Fév 2015 - 14:01
Connexion

Récupérer mon mot de passe

Statistiques
Nous avons 208 membres enregistrés
L'utilisateur enregistré le plus récent est darq

Nos membres ont posté un total de 8575 messages dans 746 sujets
Portail ORIC



-50%
Le deal à ne pas rater :
Lot de 2 Oreillers à mémoire de forme matelassés 60×60 cm
12.60 € 24.99 €
Voir le deal

Besoin d'aide pour la gestion du temps ...

Aller en bas

Besoin d'aide pour la gestion du temps ... Empty Besoin d'aide pour la gestion du temps ...

Message par TotoShampoin le Jeu 11 Oct 2018 - 15:46

Salut les oriciens!

Alors... Je bosse en ce moment sur le portage d'un jeu sur Oric (j'enverrai une bêta en temps voulu Wink)... Et je fais face à un problème de taille.

Dans ce jeu, la gestion du temps est indispensable : Sans ça, on ne peut juste pas jouer :/


Le problème, c'est que la commande deek(0x304) n'est d'aucune utilité, car cette zone mémoire ne semble être active que lorsque le programme est en Basic.
Ce qui veut dire qu'en C, il faut autre chose.


J'ai pensé à faire une variable et de lui ajouter +1 à chaque cycle de la boucle dans laquelle on joue...
Mais il faudrait alors que chaque cycle ait une durée constante, et je suis sûr que ça ne pourra pas être le cas.


Y'aurait-il un moyen, SVP?

_________________
Bonjour c:
TotoShampoin
TotoShampoin

Messages : 76
Date d'inscription : 16/08/2017
Age : 20
Localisation : Lagny Sur Marne

Revenir en haut Aller en bas

Besoin d'aide pour la gestion du temps ... Empty Re: Besoin d'aide pour la gestion du temps ...

Message par kenneth le Jeu 11 Oct 2018 - 18:26

Le 6522 est utilisé comme timer et envoie une interruption tout les centièmes de seconde, on peut modifier la duree en changeant la consigne du timer. Si on detourne le vecteur d interruption on peut faire des trucs precis, comme la musique qui continue toute seule quand le programme de demo oric est stoppé.

_________________
Archives d'ORICGAMES
Lecteur de cartouches Omose
Projet lecteur SD Erebus
kenneth
kenneth
Modérateur

Messages : 804
Date d'inscription : 13/01/2013
Age : 53
Localisation : 972

Revenir en haut Aller en bas

Besoin d'aide pour la gestion du temps ... Empty Re: Besoin d'aide pour la gestion du temps ...

Message par TotoShampoin le Jeu 11 Oct 2018 - 19:10

kenneth a écrit:Le 6522 est utilisé comme timer et envoie une interruption tout les centièmes de seconde, on peut modifier la duree en changeant la consigne du timer. Si on detourne le vecteur d interruption on peut faire des trucs precis, comme la musique qui continue toute seule quand le programme de demo oric est stoppé.

Ah ouai, c'est chouette ça :o

Et est-ce qu'il y aurait la doc de la manipulation du timer quelque part? ^-^


Ah! J'ai déjà pu trouver deek(0x276) pour avoir la valeur du timer! Chouette! ^o^

_________________
Bonjour c:
TotoShampoin
TotoShampoin

Messages : 76
Date d'inscription : 16/08/2017
Age : 20
Localisation : Lagny Sur Marne

Revenir en haut Aller en bas

Besoin d'aide pour la gestion du temps ... Empty Re: Besoin d'aide pour la gestion du temps ...

Message par Jede le Jeu 11 Oct 2018 - 21:29

TotoShampoin a écrit:
kenneth a écrit:Le 6522 est utilisé comme timer et envoie une interruption tout les centièmes de seconde, on peut modifier la duree en changeant la consigne du timer. Si on detourne le vecteur d interruption on peut faire des trucs precis, comme la musique qui continue toute seule quand le programme de demo oric est stoppé.

Ah ouai, c'est chouette ça :o

Et est-ce qu'il y aurait la doc de la manipulation du timer quelque part? ^-^


Ah! J'ai déjà pu trouver deek(0x276) pour avoir la valeur du timer! Chouette! ^o^

Il faut faire attention à la manipulation du timer et du vecteur d'IRQ qui jouent sur le fonctionnement du clavier.

Pour la manipulation des timers, il faut lire la datasheet du 6522 sur le site de WDC pour voir comment marchent ces timers. C'est en anglais mais c'est au moins, c'est complet. Ensuite, il y a les livres Oric où parfois il faut jouer aux devinettes pour comprendre ce que cela fait.
Jede
Jede

Messages : 305
Date d'inscription : 20/04/2016
Localisation : Var

Revenir en haut Aller en bas

Besoin d'aide pour la gestion du temps ... Empty Re: Besoin d'aide pour la gestion du temps ...

Message par Ladywasky le Jeu 11 Oct 2018 - 23:28

As tu jeté un oeil à mon Oric Kong en C ? J'ai été confrontée à la même problématique.

Les Timers de l'Oric peut être initialisé à 65535 dès le début du programme, il est décrémenté tous les 100ème de seconde, ce qui fait que le timer peut courir pendant 10 minutes avant de boucler à 0.
Il vaut mieux laisser les timer 1 et 2 tranquilles qui s'occupent du clavier et du curseur et jouer avec le timer 3 (#0276). Les infos, tu les trouve dans le manuel de l'atmos, au milieu du bouquin et en annexe là où il y a les adresses de la ROM)
Mais là, attention, chaque appel à la routine wait du Basic le remettra à 0, du coup :

En début de programme, juste avant de lancer la partie jeu et après les écrans de présentation qui n'en ont pas besoin, tu initialises le timer :
Code:

#define INITTIMER 65535
void main()
{
presentation();
doke(0x0276,INITTIMER);
ingame();
}

Dans OricKong, je l'initialise à chaque début de niveau, et comme un tableau se termine en moins de 3 minutes, je n'ai pas de soucis pour voir mon timer passer à 0 puis de reboucler à 65535 (ça peut être douloureux pour gérer un delta de temps...)


Pour déclencher un évènement tous les nn centièmes de seconde, j'initialise mes timers à moi avec une variable drapeau :
Code:

timer1=INITTIMER; timer2=TEMPO;
anim_event=1;
bonus_event=1;
...
bonus_temps_restant=100;
//boucle de jeu
timerg=deek(0x0276); //on récupère la valeur du timer3
 if (timer1>=timerg)
 {
 anim_event=1;            //flag utiliser pour activer les animations
 timer1=timerg-timer2; //mise à jour des timers
 } else anim_event=0;
 
 
 if ((timerbonus>=timerg) && (bonus_event==1))
 {
 //hide bonus
 plot(33,13,0);
 plot(33,14,0);
 bonus_event=0;
 }

     déplacement bonhomme :
        -ramasse un objet qui déclenche affichage bonus
          plot(33,13,A_FWCYAN);
 plot(33,14,A_FWCYAN);
 score+=1;
 timerbonus=timerg-TEMPOBONUS;
 bonus_event=1;

     if(anim_event==1)
     {
        déplace des sprites, etc...
        
        affichage_bonus_temps_restant()
     }
affichage_bonus_temps_restant()
{
bonus_temps_restant-=1;
printf(bonus_temps_restant)
}
//fin boucle



et pour le wait (pour jouer de la musique par exemple), tu le codes toi même. Au moins, le timer n'est pas remis à 0 comme si tu avais appelé la routine de l'Oric :
Code:
void wait(unsigned int wait_cs)
 {
 unsigned int start=deek(0x0276);
 unsigned int tw=start-wait_cs;
 while (tw<start) {start=deek(0x0276);};
}

voilà comment je m'en suis sortie. J'espère que ça te sera utile.
Ladywasky
Ladywasky

Messages : 240
Date d'inscription : 25/08/2018
Age : 50

Revenir en haut Aller en bas

Besoin d'aide pour la gestion du temps ... Empty Re: Besoin d'aide pour la gestion du temps ...

Message par TotoShampoin le Ven 12 Oct 2018 - 17:31

Je savais même pas qu'il y avait plusieurs timers :o

Et merci ^u^

_________________
Bonjour c:
TotoShampoin
TotoShampoin

Messages : 76
Date d'inscription : 16/08/2017
Age : 20
Localisation : Lagny Sur Marne

Revenir en haut Aller en bas

Besoin d'aide pour la gestion du temps ... Empty Re: Besoin d'aide pour la gestion du temps ...

Message par didierv le Sam 13 Oct 2018 - 7:09

Waoh, on a une prof de musique sur Oric.

_________________
DidierV - CEO Mag
alias coco.oric sur Defence-Force
didierv
didierv

Messages : 806
Date d'inscription : 19/01/2014
Age : 57
Localisation : Nord de la France

http://www.dmacoco.fr

Revenir en haut Aller en bas

Besoin d'aide pour la gestion du temps ... Empty Re: Besoin d'aide pour la gestion du temps ...

Message par Ladywasky le Sam 13 Oct 2018 - 12:08

didierv a écrit:Waoh, on a une prof de musique sur Oric.
Non, seulement DJ : je pique la musique des autres pour la transformer et en faire quelque chose d'horrible !
Je suis une sorte de sorcière musicale donc Laughing
Ladywasky
Ladywasky

Messages : 240
Date d'inscription : 25/08/2018
Age : 50

Revenir en haut Aller en bas

Besoin d'aide pour la gestion du temps ... Empty Re: Besoin d'aide pour la gestion du temps ...

Message par Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum