[Thomson] Recueil de jeux pour MO5SD

Cette catégorie traite de développements récents pour nos vieilles machines, applications, jeux ou démos... Amis programmeurs, c'est ici que vous pourrez enfin devenir célèbres!

Modérateurs : Papy.G, fneck, Carl

Daniel
Messages : 17316
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

[Thomson] Recueil de jeux pour MO5SD

Message par Daniel »

Suite à la mise au point du prototype MO5SD (interface MO5/Carte SD), j'ai développé un système permettant de charger des jeux en ram MO5 à partir d'un menu. Le principe est le suivant :
- On lance sur MO5 un petit programme de boot permettant d'initialiser la carte SD, de charger un secteur de 512 octets en mémoire vidéo et de lancer l'exécution. On donne à ce programme l'adresse physique du secteur de boot.
- Ce programme charge à son tour un Menu, permettant de choisir un jeu, de le charger en ram et de lancer l'exécution.

Image Image

Le recueil de jeux est fourni sous forme d'un fichier à copier sur une carte SD. Un éditeur de disque ou un petit utilitaire permettent de déterminer l'adresse physique du fichier, qu'il faut ensuite fournir au programme de boot. Le fichier peut être n'importe où sur la carte, la seule contrainte est de ne pas le fragmenter. Au menu on tape le numéro du jeu. Selon sa taille, il faut attendre entre 2 et 7 secondes pour qu'il démarre.

Image Image

La limitation du système est essentiellement l'accès à la cassette, impossible quand la carte SD est connectée. Encore que rien n'empêche de déconnecter le module MO5SD après chargement du jeu et de le remplacer par un lecteur de cassette, mais ce n'est pas pratique.

Image Image

Certains jeux écrasent les vecteurs ram du Basic et même du système, et peuvent être fragmentés un peu partout en ram. Les routines de chargement sont donc placées judicieusement en mémoire vidéo invisible, entre $1F40 et $1FFF. Ainsi ils ne sont pas ècrasés par le jeu qu'ils chargent. Pendant le chargement, la pile système est aussi placée en mémoire vidéo pour éviter sa destruction, puis remise à la place qu'elle a normalement pendant le jeu. Moyennant toutes ces précautions, le système fonctionne admirablement bien :D

Image Image

Pour certains jeux mélangeant le Basic et le langage machine, comme l'Aigle d'Or, la préparation est compliquée : après le chargement, il faut redonner la main au Basic et donc restaurer tout le contexte : vecteurs en ram, registres du 6809, etc. Dans un premier temps je n'ai pas eu le temps de le faire : je me suis limité aux jeux entièrement en langage machine.

Image Image

Si d'autres titres vous intéressent, et s'ils sont simples à charger et à lancer, je peux les ajouter.

J'ai aussi un nouveau projet en cours : mettre sur la carte SD des images de cartouches MEMO5 et écrire un programme pour les charger dans l'extension mémoire. Techniquement il y aura beaucoup moins de contraintes que pour les cassettes. Je peux déjà dire que toutes les MEMO5 jusqu'à 16 Ko fonctionneront immédiatement. Celles de plus de 16 Ko, comme ColorPaint, nécessitent une modification du système de commutation des pages, sauf Jane qui fonctionne déjà en extension mémoire (elle a le même système de commutation).
Daniel
L'obstacle augmente mon ardeur.
Avatar de l’utilisateur
6502man
Messages : 12286
Inscription : 12 avr. 2007 22:46
Localisation : VAR
Contact :

Re: [Thomson] Recueil de jeux pour MO5SD

Message par 6502man »

Superbe, je suis impatient de tester ca :D :roll:
Phil.

www.6502man.com

To bit or not to bit.
1 or 0.
Avatar de l’utilisateur
Carl
Modérateur
Messages : 13253
Inscription : 08 avr. 2007 13:21
Localisation : http://www.doledujura.fr
Contact :

Re: [Thomson] Recueil de jeux pour MO5SD

Message par Carl »

8)

carl
Avatar de l’utilisateur
Rhod
Messages : 12142
Inscription : 09 avr. 2007 09:54
Localisation : Orléans
Contact :

Re: [Thomson] Recueil de jeux pour MO5SD

Message par Rhod »

il y a déjà 3 des jeux qui m'intéresse :D
Androides, Pulsar II, eliminator, souvenirs souvenirs....

d'autres ? Les dieux du Stade, Mine aux Diamants, Bidul

merci pour le temps passé sur ce projet
Avatar de l’utilisateur
gilles
Messages : 2779
Inscription : 07 août 2008 13:44
Localisation : Nantes
Contact :

Re: [Thomson] Recueil de jeux pour MO5SD

Message par gilles »

5ieme axe
Sapiens.
3d fight.
Hacker.
L'aigle d'or.
L'Héritage 2.
Sortilège.

Idéalement trouver un moyen pour faire tourner Mandragore (mais cela risque d'être un autre projet à part entière).
Daniel
Messages : 17316
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: [Thomson] Recueil de jeux pour MO5SD

Message par Daniel »

J'ai bien noté vos titres, je les ajouterai en priorité :wink:
Pour les programmes mixtes (Basic + langage machine) dont l'intégralité réside en ram, comme l'Aigle d'Or, je vais chercher une solution et je suis confiant : c'est compliqué, mais je trouverai une méthode, comme je le fais déjà avec les fichiers .mrx de dcmoto.

Pour les jeux qui accèdent à la cassette, comme Mandragore, il y a deux solutions :
- soit émuler le lecteur de cassette et stocker un fichier .k7 sur la carte SD
- soit modifier le programme pour qu'il cherche les donjons directement dans des secteurs de la carte SD
Chaque solution a des avantages et des inconvénients, mais dans les deux cas il y a un gros développement à faire.

Mon projet de charger des images de cartouches dans l'extension mémoire est pratiquement terminé. Le programme est écrit, ce matin j'ai préparé une carte SD avec la MEMO5 de Blitz! et ça fonctionne à merveille. Chargement en moins de 4 secondes. Il ne reste plus qu'à rassembler les MEMO5 disponibles et dessiner le menu d'accueil (je le compose sur PC dans un fichier .bmp stocké ensuite sur la carte SD). Je pense avoir terminé ce soir un fichier de démonstration avec une douzaine de jeux.

Ensuite j'attaque un autre projet, ou plus exactement une démo, dont je vous reparlerai...
Daniel
L'obstacle augmente mon ardeur.
Daniel
Messages : 17316
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: [Thomson] Recueil de jeux pour MO5SD

Message par Daniel »

Programme de lancement des cartouches MEMO5 en extension mémoire terminé :
18 cartouches au menu, taille du fichier sur la carte SD : 304Ko

Image
Image
Image
Image

La cartouche chargée en extension mémoire masque le Basic, il faut donc réinitialiser le programme à chaque changement de cartouche. Le programme de boot se lance automatiquement à partir de la disquette avec un AUTO.BAT, pour moi ce n'est pas une contrainte. En revanche, pour celui qui voudra booter avec une cassette, c'est la galère : il faut déconnecter le module MO5SD, connecter le LEP, charger le programme de boot, remettre le module MO5SD. Ce n'est pas difficile mais assez contraignant. J'espère que les électroniciens vont nous proposer un programme de boot dans une eprom. Sa taille est d'un peu moins de 500 octets, et je le verrais bien dans la plage mémoire inutilisée par le MO5 de base, entre $B000 et $BFFF. Ce serait un bon service à rendre à la communauté. J'espère que l'appel sera entendu :wink:
Daniel
L'obstacle augmente mon ardeur.
Avatar de l’utilisateur
DataPro
Messages : 2790
Inscription : 07 févr. 2011 17:03
Localisation : France - Auvergne

Re: [Thomson] Recueil de jeux pour MO5SD

Message par DataPro »

Génial, Daniel tu es un maître! :D
Recherche: cartouches Mattel Intellivision Imagic (loose)
Star Jacker et Lode Runner sur Yeno/SEGA SC-3000
Daniel
Messages : 17316
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: [Thomson] Recueil de jeux pour MO5SD

Message par Daniel »

Daniel a écrit :Pour les programmes mixtes (Basic + langage machine) dont l'intégralité réside en ram, comme l'Aigle d'Or, je vais chercher une solution et je suis confiant
J'ai trouvé. L'Aigle d'Or et les autres programmes du même type fonctionnent bien avec MO5SD depuis cet après-midi.

La solution est radicale : sauvegarde de toute la ram utilisateur de $2000 à $9FFF et des registres du 6809. Pour lancer le jeu je restaure la ram puis les registres. C'est imparable, le système ne peut pas être pris en défaut et il n'y a pas de question à se poser sur la structure du jeu. Bien sûr c'est un peu plus long à charger (32Ko = 8 secondes), mais je trouve cette méthode très élégante par sa simplicité et son universalité. Elle est adoptée :D

Il ne reste plus qu'à trouver une solution pour les programmes avec accès cassette. N'hésitez pas à donner vos idées...
Daniel
L'obstacle augmente mon ardeur.
Avatar de l’utilisateur
jb_jb_fr
Messages : 391
Inscription : 29 mars 2010 10:36
Localisation : Essonne (91)
Contact :

Re: [Thomson] Recueil de jeux pour MO5SD

Message par jb_jb_fr »

Daniel a écrit : Sa taille est d'un peu moins de 500 octets, et je le verrais bien dans la plage mémoire inutilisée par le MO5 de base, entre $B000 et $BFFF. Ce serait un bon service à rendre à la communauté. J'espère que l'appel sera entendu :wink:
Non non, la plage de mémoire B000-BFFF est utilisé par les cartouches et par l'extension mémoire.
En effet, entre B000-EFFF vient s'insérer toutes les cartouches.

Donc je ne pense pas que ce soit envisageable.
De plus c'est masqué par la carte d'extension mémoire aussi.

Il y a bien la plage B000-BFFF qui est prévu dans les MO5E (peut-être sur d'autre model) ou on peut mettre une EPROM directement sur la carte mere. Mais ce n'est pas possible sur un MO5 classique.

J'en reviens donc à mon idée de départ (j'en démords pas).
Utiliser la ROM qu'il y a dans une extension disquette.
Tu ne met plus ton lecteur de disquette mais tu plug une extension qui ne contient que la ROM
Et en plus avec ca tu peux faire un systeme compatible lecteur de disquette. Tu boot directe sur ta carte est tu as des appel compatible disquette!

Jacques
Daniel
Messages : 17316
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: [Thomson] Recueil de jeux pour MO5SD

Message par Daniel »

D'accord, la plage $B000-$BFFF est masquée par les cartouches, mais avec l'extension mémoire c'est différent : $A7CB permet de commuter entre la mémoire interne et la mémoire de l'extension. Avec le système MO5SD il est préférable d'avoir l'extension mémoire plutôt que des cartouches, donc la solution $B000-$BFFF reste possible.

Utiliser la plage $A000-$A7CB est une très bonne idée. Et l'émulation disquette sur carte SD encore mieux :wink:
Si la taille mémoire est insuffisante pour loger tout le code, il est possible de mettre plusieurs banques dans cette plage d'adresses, comme dans le contrôleur CD90-351. L'émulation disquette avec la carte SD n'est pas plus compliquée que l'émulation disquette dans un émulateur : on peut conserver l'intégralité du code du contrôleur Thomson et détourner seulement 3 fonctions : formatage, lecture secteur, écriture secteur. C'est ce que je fais dans dcmoto et c'est suffisant. Je pense qu'on peut coder l'adaptation à la carte SD en quelques jours seulement. Reste à trouver l'électronicien pour créer le contrôleur, et, pourquoi pas, connecter l'adaptateur SD à ce contrôleur plutôt qu'au connecteur magnétophone ? Ainsi on a un module complet, compatible lecteur de disquette et aussi facile à utiliser. Et compatible avec toute la gamme Thomson. Le concept me plaît beaucoup :D
Daniel
L'obstacle augmente mon ardeur.
jester
Messages : 2328
Inscription : 01 janv. 2009 23:16
Localisation : Grenoble

Re: [Thomson] Recueil de jeux pour MO5SD

Message par jester »

ça sera plus simple de booter sur TO8D... une disquette de boot suffira. J'attends avec impatience la variante TO8 :wink:
Super travail... trop cool comme dirait mes étudiants !
Daniel
Messages : 17316
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: [Thomson] Recueil de jeux pour MO5SD

Message par Daniel »

jester a écrit :J'attends avec impatience la variante TO8 :wink:
Moi aussi ! Le prototype est prêt depuis une semaine et je n'ai pas encore trouvé le temps d'écrire le driver. Pourtant je ne compte pas mes heures, mais toutes les mises au point sont bien longues. Vers la mi-mai ça peut le faire, comme diraient tes étudiants :wink:
Daniel
L'obstacle augmente mon ardeur.
Avatar de l’utilisateur
OlivierP
Messages : 703
Inscription : 21 sept. 2009 15:50
Localisation : IDF

Re: [Thomson] Recueil de jeux pour MO5SD

Message par OlivierP »

Daniel a écrit :L'émulation disquette avec la carte SD n'est pas plus compliquée que l'émulation disquette dans un émulateur : on peut conserver l'intégralité du code du contrôleur Thomson et détourner seulement 3 fonctions : formatage, lecture secteur, écriture secteur. C'est ce que je fais dans dcmoto et c'est suffisant. Je pense qu'on peut coder l'adaptation à la carte SD en quelques jours seulement. Reste à trouver l'électronicien pour créer le contrôleur, et, pourquoi pas, connecter l'adaptateur SD à ce contrôleur plutôt qu'au connecteur magnétophone ? Ainsi on a un module complet, compatible lecteur de disquette et aussi facile à utiliser. Et compatible avec toute la gamme Thomson. Le concept me plaît beaucoup :D
Mon rêve !
A minima, est-ce qu'il serait possible de modifier un contrôleur disquette défectueux pour y loger le code de boot du MO5SD ?
Avatar de l’utilisateur
jb_jb_fr
Messages : 391
Inscription : 29 mars 2010 10:36
Localisation : Essonne (91)
Contact :

Re: [Thomson] Recueil de jeux pour MO5SD

Message par jb_jb_fr »

Daniel a écrit :Utiliser la plage $A000-$A7CB est une très bonne idée. Et l'émulation disquette sur carte SD encore mieux :wink:
Si la taille mémoire est insuffisante pour loger tout le code, il est possible de mettre plusieurs banques dans cette plage d'adresses, comme dans le contrôleur CD90-351. L'émulation disquette avec la carte SD n'est pas plus compliquée que l'émulation disquette dans un émulateur : on peut conserver l'intégralité du code du contrôleur Thomson et détourner seulement 3 fonctions : formatage, lecture secteur, écriture secteur. C'est ce que je fais dans dcmoto et c'est suffisant. Je pense qu'on peut coder l'adaptation à la carte SD en quelques jours seulement. Reste à trouver l'électronicien pour créer le contrôleur, et, pourquoi pas, connecter l'adaptateur SD à ce contrôleur plutôt qu'au connecteur magnétophone ? Ainsi on a un module complet, compatible lecteur de disquette et aussi facile à utiliser. Et compatible avec toute la gamme Thomson. Le concept me plaît beaucoup :D
Super Daniel je vois que l'on est sur la même longueur d'onde.
Et pour rien te cacher, c'est ce que j'ai l'intention de faire sur l'extension MO5.
Il y a la ROM pour le QuickDisque.
Je vais doubler cette ROM et commuter la mémoire avec un interrupteur. Pour l'instant je n'ai trouvé que cette solution simple.
Ensuite, je branche la carte SD sur le 6852 (Ca nonplus je n'en démord pas 8) )
Et après vive les transfert SD super rapide.

J'ai en plus une autre idée qui pourrait également être faite, mais il faut encore travailler le sujet car j'ai un petit soucis d'adresse mémoire.

L'idée de base est la suivante: Et si on utilisait un MO5 pour faire une tête de réseau NanoReseau?

Oui mais il faudrait un systeme qui pourrait utiliser la carte SD comme un disque !
Facile : Il y a OS9.
Donc dans mes milliers de projet, je voudrais: Faire un driver SD pour OS9 (Facile Daniel a presque tout fait), lire des trames Reseau grace a un controleur NanoReseau, être capable de répondre à une requete Réseau, et hop le tour est joué.

Voila une idée qui me trote dans la tete depuis un bout de temps, et en plus avec la carte SD ca pourrait peut-être devenir une réalité.

Grace a ca, en plus de ton recueil de jeux sur la carte SD, on pourrait y mettre le recueil des logiciel NanoReseau!

Mais il ne faut pas trop s'emballer.
Et c'est pour ca aussi que j'attends avec impatience les lecteurs de carte SD pour que je me mette au boulot.

Jacques
Répondre