Adaptation sur Thomson TO des jeux d'Inufuto

Cette catégorie traite de développements récents destinés à 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

Avatar de l’utilisateur
FabriceFABS
Messages : 341
Inscription : 14 sept. 2010 09:21
Localisation : LA TOUR DU PIN (38)
Contact :

Re: Adaptation sur Thomson TO des jeux d'Inufuto

Message par FabriceFABS »

Oliver, as-tu changé quelque-chose par rapport à la disquette initiale ?
Je n'ai plus trop suivi le sujet car j'ai pas mal ce taff.
J'ai fais quelques essais rapidos sur TO8D et TO7/70.
C'est vraiment sympa d'avoir porté ce genre de jeux, j'adore 🤪
Ils viennent de quelle plateforme déjà ?
Y-en aura-t'il d'autres ? 😊
Mais juste savoir si tu as changé les binaires entre-temps de toutes les réponses des intervenants.
Merci !😊
Pièces jointes
IMG_20230605_214817.jpg
IMG_20230605_214817.jpg (500.84 Kio) Consulté 2924 fois
IMG_20230614_141342.jpg
IMG_20230614_141342.jpg (577.58 Kio) Consulté 2924 fois
Et... Qu'est-ce qu'on fait maintenant ?
Image
Avatar de l’utilisateur
OlivierP
Messages : 711
Inscription : 21 sept. 2009 15:50
Localisation : IDF

Re: Adaptation sur Thomson TO des jeux d'Inufuto

Message par OlivierP »

Merci pour les test Brochiman, je n'arrive pas à reproduire les bugs sur dcmoto mais je vais essayer avec mame. J'aurais accès à un TO9 dans un mois ou deux, mais sans cartouche.
Pour neuras, c'est un jeu de memory / action : il faut que 2 cartes avec la même lettre se touchent.

Merci pour ton enthousiasme Fabrice, peux-tu voir si il y a les mêmes problèmes sur TO8 ? Comment as-tu chargé le jeu sur TO7, en K7 ou FD ?
Je n'ai pas changé le code, juste les adresses. Au début je faisais des binaires ROM et FD avec les mêmes adresses DSEG, et j'avais rajouté les K7 avec d'autres adresses pour être comptable TO7+16K. J'ai ensuite changé les adresses pour faire la disquette compatible TO7/Basic 1.0, avec les mêmes adresses K7 et FD.
Je suis parti des versions CoCo3, car c'est le même CPU. Il y a actuellement 8 jeux sur 13 d'adaptés aux TO. Les jeux manquants ont du scrolling, et les jeux d'Inufuto fonctionnement avec des blocs de 8 pixels, donc ils ne seront pas très fluides avec un portage à minima. Le jeu Mazy n'a pas de source CoCo3, il faudrait donc partir d'une autre machine pour le portage.
Brochiman
Messages : 3545
Inscription : 02 juin 2019 11:26
Localisation : Angers

Re: Adaptation sur Thomson TO des jeux d'Inufuto

Message par Brochiman »

As tu de quoi programmer des eprom/eeprom? Au quel cas je peux t'envoyer une MEMO7 universelle de @Daniel
Avatar de l’utilisateur
OlivierP
Messages : 711
Inscription : 21 sept. 2009 15:50
Localisation : IDF

Re: Adaptation sur Thomson TO des jeux d'Inufuto

Message par OlivierP »

Non, je n'ai pas de quoi :/
Je vais voir si la MégaROM T.2 est toujours disponible à l'achat.
Brochiman
Messages : 3545
Inscription : 02 juin 2019 11:26
Localisation : Angers

Re: Adaptation sur Thomson TO des jeux d'Inufuto

Message par Brochiman »

Elle est actuellement en liste d'attente de la prochaine production me semble t'il
Avatar de l’utilisateur
FabriceFABS
Messages : 341
Inscription : 14 sept. 2010 09:21
Localisation : LA TOUR DU PIN (38)
Contact :

Re: Adaptation sur Thomson TO des jeux d'Inufuto

Message par FabriceFABS »

OlivierP a écrit : 15 juin 2023 08:42[,..]Merci pour ton enthousiasme Fabrice[...]
Merci pour tes explications.
J'ai pas mal de différents Thomsons je ferais ce que tu demandes, les temps de chargement, le test au joystick et le timing.
Pour le peu que j'ai essayé avec un joy type arcade à microswitchs, il me semble que desfois ça répondait avec un petit retard...
Du coup dis moi faut que je re-télécharge à nouveau l'archive et que je génère moi-même les .wav ?
J'avais fais les précédents tests avec le SDDrive de Daniel.
À bientôt de te lire.
Et... Qu'est-ce qu'on fait maintenant ?
Image
Avatar de l’utilisateur
OlivierP
Messages : 711
Inscription : 21 sept. 2009 15:50
Localisation : IDF

Re: Adaptation sur Thomson TO des jeux d'Inufuto

Message par OlivierP »

Merci pour ton aide Fabrice.
Les memo7 étant testées sur T9000 et TO9, peux-tu tester la version disquette en priorité ?
Daniel
Messages : 17426
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: Adaptation sur Thomson TO des jeux d'Inufuto

Message par Daniel »

Si la version carte SD fonctionne, la version disquette fonctionne et réciproquement.
La seule machine où il est nécessaire de tester la disquette est le TO9, car il est incompatible avec SDDRIVE.
Daniel
L'obstacle augmente mon ardeur.
Avatar de l’utilisateur
OlivierP
Messages : 711
Inscription : 21 sept. 2009 15:50
Localisation : IDF

Re: Adaptation sur Thomson TO des jeux d'Inufuto

Message par OlivierP »

oui, sur TO9 en priorité car j'ai eu des pbs sur émulateur. Si pb, voir si ça fonctionne sur TO8. Idéalement vérifier que la disquette fonctionne bien sur TO7(-70) / BASIC 1.0.
Avatar de l’utilisateur
OlivierP
Messages : 711
Inscription : 21 sept. 2009 15:50
Localisation : IDF

Re: Adaptation sur Thomson TO des jeux d'Inufuto

Message par OlivierP »

Bonjour,

J’ai continué le portage des jeux Inufuto sur Thomson. J’ai adapté les 14 jeux existants, y compris donc le nouveau jeu qui est apparu entre temps. J’ai pu tester sur machine réelle TO8D et TO9, mais uniquement en version disquette physique (via DCtransfert). La version cassette ne devrait pas poser problème, par contre j’ai un soucis avec la version memo7 de ascend (mais pas en version disquette) qui m’a obligé à rajouter le code suivant dans ce jeu pour réactiver mon timer :

Code : Tout sélectionner

    lda STATUS
    ora #$20
    sta STATUS
J’ai inclus une disquette avec les memo7 en CHG mais je ne suis pas sûr que ce soit représentatif comme test. Et apparemment un crayon optique est indispensable pour lancer les CHG, qui doivent être obligatoirement en device 0.
Le clavier est disponible sur toutes les machines, avec l’appel moniteur GETC sauf pour le TO9 où le code de la touche est récupéré directement.
Une manette est indispensable pour hopman car il faut choisir une direction en même temps que le bouton action.
Voici le lien de téléchargement de ces versions de test : https://transfert.free.fr/VO8yQ2o
J'ai inclus les disquettes individuelles au cas où elles seraient utiles pour ceux qui utilisent un lanceur sur carte SD.
J'attends vos retours, est-ce que l'appel au moniteur est satisfaisant pour le son, ou faut-il envisager quelque chose de spécifique ?
Avatar de l’utilisateur
OlivierP
Messages : 711
Inscription : 21 sept. 2009 15:50
Localisation : IDF

Re: Adaptation sur Thomson TO des jeux d'Inufuto

Message par OlivierP »

J'ai trouvé la cause du problème avec la version MEMO7 de ascend !
J'ai modifié teo, dans la fonction void hardware_StoreByte(int addr, int val), pour tracer les modifications de $6019 qui désactivent l'interruption utilisateur :

Code : Tout sélectionner

        case 0x6: /* espace système non commutable */
        case 0x7:
        case 0x8:
        case 0x9:
            if ((addr == 0x6019) && ((val & 0x20) == 0))
            {
                struct MC6809_REGS regs;
                mc6809_GetRegs(&regs);
                printf("modif STATUS b5=0 (%02x) par %04x\n", val, regs.pc);
            }
            STORE_BYTE(addr, val);
résultat : des adresses de la MEMO7 :o
J'ai donc mis des points d'arrêts sur les adresses identifiées et je suis tombé sur le code suivant :
Capture d’écran_2023-10-25_00-34-49.png
Capture d’écran_2023-10-25_00-34-49.png (106.78 Kio) Consulté 1409 fois
Et là c'est le choc : le registre DP n'était pas initialisé ! :?
Neotenien
Messages : 354
Inscription : 23 oct. 2020 19:15
Localisation : Le Mans
Contact :

Re: Adaptation sur Thomson TO des jeux d'Inufuto

Message par Neotenien »

OlivierP a écrit : 04 juin 2023 08:46 Cela faisait un moment que je n'avais pas fait de dev sur Thomson, je m'y suis remis en adaptant sur toute la gamme TO les jeux d'Inufuto.
Ces jeux sont écrits en C (pas standard), avec le code spécifique à la machine en ASM. Je suis parti des versions CoCo3 pour les adapter au Thomson TO.
C'est une adaptation à minima à ce stade, il n'y a pas d'optimisation de code ou de données. J'ai adapté 8 des 13 jeux à ce jour.
Bonjour, c'est une drole de coïncidence justement parce que j'avais ajouté les jeux Inufuto (yen a 9 dans la liste des jeux que j'ai trouvé) mais sur TRS Coco MC10/Alice4k et pas sur Coco 3 (et je ne crois pas avoir vu dans la liste de tous les jeux Coco 3 spécifique que j'ai téléchargé à partir de ce site web sur Trias Vidéo Games en février 2023. J'ai mis récemment les vidéos de ces jeux sur les fiches... Et franchement, c'est pas mal pouir des Alice 4k/TRS DC10.

Avez vous un lien sur justement ces adaptation sur Coco 3 ?

Les versions Alice 4k/DC10 sont pour processeur 6802 je crois, donc assez proche du 6809.

En tous cas, je me tiens informé de l'avancé. Apparemment ça a pas mal avancé... Et pour le coup, je vais ajouter les Thomson MO5 dans la liste de ces jeux.
__sam__
Messages : 7989
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: Adaptation sur Thomson TO des jeux d'Inufuto

Message par __sam__ »

Les versions Alice 4k/DC10 sont pour processeur 6802 je crois, donc assez proche du 6809.
Nan pas exactement: le 6803 (car c'est celui là dont il s'agit) est un microcontrôleur. Il a sa propre ram, sa propre rom, 3 timers programmables intégrés, une interface de communication série et 29 pinoches d'e/s parallèles. Ca n'est pas du tout un CPU et il est architecturalement assez éloigné du 6809.

Au niveau logiciel il n'a ni registres Y ni registre U, ni la possibilité d'empiler logiciellement des ensembles de registres, d'échanger des registres (il en a très peu de toute façon), d'utiliser l'auto inc/dec/rémentation de registres d'index (x++, --x), de récupérer une adresse via un LEA, car de toute façon qu'il n'y a qu'un seul mode adressage indexé: "constante-8bits-non-signée,x". Il ne sait pas non plus comparer le registre D avec une constante 16 bits (mais il peut le faire avec X). En revanche ce micro contrôleur sait comparer/soustraire/additionner l'accumulateur A et l'accumulateur B en une seule instruction et faire des décalages logiques (mais pas arithmétique) sur le registre D (qui ne sert pas à grand chose, sauf charger et écrire les deux accus d'un coup). Sa programmation est quand même très différente de ce qu'on fait sur 6809.
Samuel.
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
Avatar de l’utilisateur
OlivierP
Messages : 711
Inscription : 21 sept. 2009 15:50
Localisation : IDF

Re: Adaptation sur Thomson TO des jeux d'Inufuto

Message par OlivierP »

Bonjour, j'ai pris les sources à la source si on peut dire :) Attention chaque page charge énormément de vidéos youtube, ce qui peut être très lent. Il y a tellement de versions de chaque jeu qu'il faut faire une recherche sur le texte "CoCo3" pour trouver le binaire et les sources.
Pour le MC10, il y a les sources de 5 jeux sur les 14 disponibles : Les outils d'Inufuto prennent en charge les processeurs suivants : Z80, 8080, 6800, 6502, 6809, μCOM87(μPD7800~7806), TMS9900, 8086.
D'après le makefile, il utilise son outil Asm68 (6800) avec le paramètre -6801 pour le MC10.
Sur Thomson j'utilise Asm09 (pour 6809), tout ce que j'ai fait est sur mon github (lien en signature). Pour le jeu mazy, je suis parti des sources fm77 car il n'existe pas sur CoCo3.
Mon portage n'est que sur Thomson TO car j'utilise le timer avec différentes valeurs selon les jeux.

Merci pour l'intérêt, la prochaine release permettra de quitter chaque jeu pour revenir à l'écran de sélection de jeu. Pour faire cela, j'ai utilisé la mémoire de la façon suivante :

Code : Tout sélectionner

+---------------------------+ $D8FF
|                           |
|                           |
|         CSEG JEU          |
|                           |
|                           |
+---------------------------+ $A000
|        CSEG LOADER        |
+---------------------------+ $9500
+---------------------------+ $9300
|                           |
|         DSEG JEU          |
|                           |
+---------------------------+ $8000
|      Stack jeu (2Ko)      |
+---------------------------+ $7800
|        DSEG LOADER        |
+---------------------------+ $7400
Avatar de l’utilisateur
OlivierP
Messages : 711
Inscription : 21 sept. 2009 15:50
Localisation : IDF

Re: Adaptation sur Thomson TO des jeux d'Inufuto

Message par OlivierP »

Bonsoir,

Je vais arrêter ici l’adaptation Thomson des jeux d’Inufuto. La v1.0 est disponible sur mon github.

J’ai amélioré le loader, avec des raccourcis clavier, le retour au menu de sélection avec le bouton STOP, un chargement dans les différentes banques mémoire pour un rechargement immédiat, et un chargement depuis la disquette optimisé. Avec un facteur d’entrelacement de 2, le chargement est plus de 2 fois plus rapide qu’avec l’entrelacement de 7 par défaut ! C’est aussi plus rapide, avec l’entrelacement de 2, que depuis un CS91-280 !

Voici les temps relevés pour le chargement d’Impetus, le jeu le plus volumineux :
  • avec une disquette en entrelacement de 2, ou l'image InufuTO.hfe fournie :
    14,4 secondes pour la commande « LOADM "IMPETUS",,R »
    2,9 secondes de chargement avec le loader
  • avec un CS91-280 (InufuTO.sd) :
    7,8 secondes pour la commande « LOADM "IMPETUS",,R »
    4,1 secondes de chargement avec le loader
J’ai testé uniquement sur TO9 et TO8. J’ai fait une page, en français, expliquant les différents moyens de jouer sur hardware.

Avis aux amateur de debugging : Il y a un petit bug uniquement sur TO9, y compris sur émulateur. Lorsque l’on boot avec le bootsector, alors la musique jouée avec NOTE ($E81E) est si lente que l’on croit que l’ordinateur est planté. Il n’y a pas ce problème sur TO7-70 et TO8. Pour contourner ce problème, j’ai mis le bootsector uniquement en BASIC 1, avec un AUTO.BAT pour BASIC 128 et 512. Vous pouvez donc reproduire ce problème avec le BASIC 1 sur le TO9.

Un nouveau jeu d’Inufuto est sorti : yewdow. Si ces adaptations intéressent quelques personnes, je l’adapterai dans une prochaine version.
Répondre