Derniers sujets
» Fumons un peu...
Mer 26 Avr 2017 - 23:35 par Symoon

» CEO-MAG 324
Mer 26 Avr 2017 - 14:36 par Danynou

» Rions un peu....
Sam 22 Avr 2017 - 19:21 par kiwilevrai

» Bienvenue dans le Forum des Oriciens
Ven 14 Avr 2017 - 10:48 par Jede

» Organisation RAM vidéo
Jeu 13 Avr 2017 - 21:39 par Davros

» mode HIRES et mémoire perdue ?
Jeu 13 Avr 2017 - 8:44 par didierv

» MISE EN PLACE DE L'ENVIRONNEMENT C
Mer 12 Avr 2017 - 16:13 par Davros

» F83-Standard par Thierry Bestel
Mar 11 Avr 2017 - 16:33 par assinie

» AC 2017: écrans Hires
Lun 10 Avr 2017 - 21:11 par Symoon

» Interface Son Oric ?
Lun 10 Avr 2017 - 20:42 par Davros

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 116 membres enregistrés
L'utilisateur enregistré le plus récent est Davros

Nos membres ont posté un total de 5242 messages dans 371 sujets
Portail ORIC




maxiNoob apprend le C

Poster un nouveau sujet   Répondre au sujet

Page 2 sur 2 Précédent  1, 2

Voir le sujet précédent Voir le sujet suivant Aller en bas

Re: maxiNoob apprend le C

Message  Hialmar le Jeu 7 Jan 2016 - 13:52

J'ai utilisé OSDK sur Tyrann 3 et je n'ai pas eu de pb.
S'il y a des bugs il faut les faire remonter à Dbug.

Je n'ai vu que des remontées de bugs au niveau de XA (donc ASM) et on ne parle pas de ça ici.

Didier, à mon avis pour ce genre de truc il vaut mieux rester en ASM.

_________________
Hialmar
Membre du CEO et de Silicium.
avatar
Hialmar
Admin

Messages : 814
Date d'inscription : 03/03/2014
Age : 47
Localisation : Toulouse

Revenir en haut Aller en bas

Re: maxiNoob apprend le C

Message  Godzil le Jeu 7 Jan 2016 - 16:35

Didier: pas sur de comprendre le probleme
avatar
Godzil

Messages : 105
Date d'inscription : 20/01/2013
Age : 35
Localisation : Entre France et UK

Revenir en haut Aller en bas

Re: maxiNoob apprend le C

Message  Hialmar le Jeu 7 Jan 2016 - 17:00

Ce que veut Didier c'est pouvoir dépasser les limites des 64 Ko (ou 48 Ko si on garde la ROM) en faisant un programme qui se charge dynamiquement par partie.

On aurait par exemple un main et des données globales au démarrage.

Ensuite le main chargerait une bibliothèque de fonctions et les exécuterait.

Un peu plus tard il remplacerait cette biblio par une autre et continuerait son exécution.

On a fait un peu ça avec Tyrann 3 de la façon suivante :
- On démarre avec un premier programme qui s'exécute puis avant de passer la main à un second programme il passe en mode TEXT, planque des données dans la zone HIRES (pour nous les différents personnages et des variables importantes du jeu qui se trouvent dans la sauvegarde).
- On lance le second programme via Sédoric ;
- Le second programme récupère les données planquées en zone HIRES et continue son exécution.

Ca se trouve ici :
https://github.com/hialmar/tyrann3/blob/master/team.c#L269-L273
Et ici :
https://github.com/hialmar/tyrann3/blob/master/team.c#L57-L61

Tout est dans les tests "if (io_needed)" (soit je sauve/charge vraiment la zone HIRES sur/depuis le disque soit je travaille direct sur/avec des données planquées).

Voilà un exemple d'utilisation :
https://github.com/hialmar/tyrann3/blob/master/laby.c#L949-L956
et ensuite :
https://github.com/hialmar/tyrann3/blob/master/dialog.c#L284-L285

Pour la petite histoire, là où ça devient rigolo c'est que nous dans Tyrann 3 on switche parfois entre du C et du Basic Wink

Didier voudrait un truc automatique.


Dernière édition par Hialmar le Jeu 7 Jan 2016 - 17:05, édité 1 fois

_________________
Hialmar
Membre du CEO et de Silicium.
avatar
Hialmar
Admin

Messages : 814
Date d'inscription : 03/03/2014
Age : 47
Localisation : Toulouse

Revenir en haut Aller en bas

Re: maxiNoob apprend le C

Message  Godzil le Jeu 7 Jan 2016 - 17:05

Ca be rien de bien difficile il faut juste utiliser (correctement) des pointeurs de fonction
avatar
Godzil

Messages : 105
Date d'inscription : 20/01/2013
Age : 35
Localisation : Entre France et UK

Revenir en haut Aller en bas

Re: maxiNoob apprend le C

Message  Hialmar le Jeu 7 Jan 2016 - 17:10

Challenge accepted ?

Fais-nous un exemple avec le chargement dynamique et on en reparle.

Je sais faire ça sous Unix avec des .so ou sous Windows avec des DLL mais là on n'a rien de ça et donc il faut tout se peler à la mano et donc comme je le disais plus haut en ASM.

Mais bon on dévie pas mal du sujet de Maximus là donc je propose qu'on poste ça ailleurs.

_________________
Hialmar
Membre du CEO et de Silicium.
avatar
Hialmar
Admin

Messages : 814
Date d'inscription : 03/03/2014
Age : 47
Localisation : Toulouse

Revenir en haut Aller en bas

Re: maxiNoob apprend le C

Message  Godzil le Jeu 7 Jan 2016 - 17:15

Ça marche, en 100% C on est d'accord?
avatar
Godzil

Messages : 105
Date d'inscription : 20/01/2013
Age : 35
Localisation : Entre France et UK

Revenir en haut Aller en bas

Re: maxiNoob apprend le C

Message  Hialmar le Jeu 7 Jan 2016 - 17:27

Ca roule Smile

_________________
Hialmar
Membre du CEO et de Silicium.
avatar
Hialmar
Admin

Messages : 814
Date d'inscription : 03/03/2014
Age : 47
Localisation : Toulouse

Revenir en haut Aller en bas

Re: maxiNoob apprend le C

Message  maximus le Jeu 7 Jan 2016 - 17:30

ma kesce ke cé ke ce charabia ? Very Happy clown
avatar
maximus

Messages : 1079
Date d'inscription : 02/12/2012
Age : 56
Localisation : Nimes

http://cinema.forumactif.org/

Revenir en haut Aller en bas

Re: maxiNoob apprend le C

Message  didierv le Jeu 7 Jan 2016 - 22:54

Godzil a écrit:Ca be rien de bien difficile il faut juste utiliser (correctement) des pointeurs de fonction

Certainement Godzil, mais j'ai bien dit que je ne maitrisais pas le sujet.

Ma réflexion venait de la lecture du code source de Sorcellerie, en pascal, qui opere avec des segments.
J'ai retrouvé la page internet qui parlait d'un équivalent avec CC65 qui gere apparemment les overlays et les segments... je l'avais imprimée l'année dernière mais le site est apparemment mort Crying or Very sad
D'ou ma réflexion. Je n'avais pas envie de me lancer dans un projet 100% assembleur ou c'est clair que l'on peut le faire.

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

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

http://www.dmacoco.fr

Revenir en haut Aller en bas

Re: maxiNoob apprend le C

Message  assinie le Ven 8 Jan 2016 - 11:00

cc65 peut effectivement gérer des overlays mais cela n'a été implémenté que pour certaines machines (Apple, C64,...) pour lesquelles le support de l'OS est inclus.
Il y a même des exemples fournis avec les sources cc65.

Les compilateurs Pascal prenaient ça en charge (la série des Turbo Pascal, Pascal USCD, ...).
J'avais trouvé une page sur le Web qui expliquait les différentes méthodes utilisées, il faudrait que je la retrouve.

En gros, il s'agit d'edition de liens différée dynamique. L'appel à une fonction qui se trouve dans une librairie est remplacée par le nom de la librairie et un identifiant de la fonction dans cette librairie.
Lorsque le programme veut exécuter la fonction, il regarde si la librairie est chargée en mémoire et fait ensuite un saut vers la fonction.
La seule "difficultée" étant la gestion des librairies en mémoire.

Il doit être possible d'ajouter le support d'un OS pour l'Oric à cc65 ou à l'OSDK pour pouvoir le faire.
avatar
assinie

Messages : 168
Date d'inscription : 09/02/2014

Revenir en haut Aller en bas

Re: maxiNoob apprend le C

Message  Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Page 2 sur 2 Précédent  1, 2

Voir le sujet précédent Voir le sujet suivant Revenir en haut

- Sujets similaires

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