[SDMOTO] Utilisation

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 : Carl, Papy.G, fneck

Daniel
Messages : 10792
Enregistré le : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: [SDMOTO] Utilisation

Message par Daniel » 08 juin 2014 22:04

J'ai commencé à mettre des fichiers .sd dans les pages Programmes du site dcmoto, mais c'est beaucoup de travail et je ne sais pas si j'aurai le courage de continuer.

L'application SDLOADM6 fonctionne bien avec le programme de lancement sur cassette ou sur disquette. On peut aussi le mettre dans le fichier .sd de démarrage (mo6_demarrage.sd), et le lancer à partir de la carte .sd. Je n'ai pas encore essayé mais il est pratiquement certain que ça marchera. En passant par un fichier .mrx (fichier de sauvegarde de l'état de l'ordinateur), on peut en théorie charger tous les programmes MO6, qu'ils soient sur cassette ou sur disquette. En pratique il y a quelques exceptions, dues à la structure particulière de certains programmes.

La conversion des jeux de cassette à disquette est un autre challenge, dont nous avons déjà parlé dans d'autres fils de discussion. C'est facile pour certains, plus difficile (voire même extrêmement difficile) pour d'autres. Il y a plusieurs exemples, en particulier Mandragore converti sur disquette par Prehisto, et Jeux TO7 adaptés par DIMENSION.

Lancer les programmes par menu est facile. Lorsqu'on a préparé le programme de lancement de chaque jeu, sur le modèle de MANDRA.BAS, on écrit un programme Basic qui affiche une liste de jeux numérotés : 1, 2, 3... , n. L'utilisateur tape le numéro de son choix et le programme lance le programme correspondant. Par exemple RUN"MANDRA" pour lancer Mandragore.
Daniel
L'obstacle augmente mon ardeur.

Daniel
Messages : 10792
Enregistré le : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: [SDMOTO] Utilisation

Message par Daniel » 09 juin 2014 11:48

Suite des explications sur l'utilisation de SDMOTO :

Ajout de fichiers dans une image de disquette au format .sd

Jusqu'à présent, nous avons ajoutés des programmes à la disquette de démarrage mo6_demarrage.sd en les tapant au clavier et en les enregistrant avec la commande SAVE. Si nous voulons ajouter à cette disquette des programmes ou des fichiers existants, par exemple un programme de jeu, nous n'allons pas, évidemment, les taper à nouveau au clavier. Il faut un moyen simple et fiable pour ajouter des fichiers.

Il y a deux solutions : dcmoto ou dcfdutil (en téléchargement sur le site dcmoto, section "Emulateur").
Dans les deux cas l'opération se déroule en trois temps :
1) conversion du format .sd au format .fd avec SD2FD.EXE
2) modification du fichier .fd
3) conversion du format .fd au format .sd avec FD2SD.EXE

La modification du fichier .fd avec dcmoto sort du cadre de ce fil de discussion : voir la documentation de l'émulateur et la documentation Thomson sur l'utilisation des disquettes. Je vais décrire seulement l'ajout d'un ou plusieurs fichiers avec dcfdutil.

Exemple : ajout des fichiers ANDROIDE.BAS et ANDROIDE.BIN
androide.zip
(6.5 Kio) Téléchargé 38 fois
- dans le dossier mo6sd du disque dur du PC, copier mo6_demarrage.sd, DCFDUTIL.EXE, FD2SD.EXE, SD2FD.EXE
- avec SD2FD.EXE créer mo6_demarrage.fd
- dans le sous-dossier androide, copier les fichiers ANDROIDE.BAS et ANDROIDE.BIN contenus dans l'archive androide.zip
- lancer dcfdutil, avec "Parcourir" sélectionner le fichier mo6_demarrage.fd, cocher la fonction "Importer" et cliquer sur "Exécuter la fonction"
- sélectionner le sous-dossier androide et cliquer sur OK. Les deux fichiers sont copiés dans l'image de disquette
importation_androide.png
importation_androide.png (31.4 Kio) Vu 1720 fois
- avec FD2SD.EXE créer mo6_demarrage.sd à partir de mo6_démarrage.fd
- copier mo6_demarrage.sd sur la carte SD

Sur le MO6, un DIR montre que les deux nouveaux fichiers sont présents dans l'image de la disquette de démarrage. En exécutant ANDROIDE.BAS (RUN"ANDROIDE) on lance le jeu Androïdes.
Daniel
L'obstacle augmente mon ardeur.

Daniel
Messages : 10792
Enregistré le : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: [SDMOTO] Utilisation

Message par Daniel » 10 juin 2014 18:35

Lu sur internet à propos de SDMOTO :
il faut accéder à la SD mais pour cela il faut charger un (assez long) programme... depuis la disquette ?
...
Au début on faisait appel à la carde SD du module à partir d'un interminable programme à enregistrer sur k7
C'est faux :twisted:
Avec le contrôleur CS91-280 il n'y a rien à charger.
Sans le contrôleur CS91-280 il faut charger le programme SDBOOT.BAS (moins d'une seconde avec une disquette et environ 3 secondes avec une cassette). Le source complet a une taille de 1,4K et le langage machine chargé en RAM a une taille de 247 octets :

Code : Tout sélectionner

1 '===================================
2 ' SDBOOT - SDMOTO BOOTSTRAP LOADER
3 ' (C) JANVIER 2013 - DANIEL COULOM
9 '===================================
10 CLEAR,&H8FFF:CLS:SCREEN0,8,8:LOCATE0,3
20 PRINT"SDBOOT 2013.01.15"
21 PRINT"Chargement du secteur de boot"
30 FORI=&H9F00 TO&H9FDF:READA$
31 POKEI,VAL("&H"+A$):NEXTI 
40 PRINT"Adresse du secteur dans la carte SD"
41 PRINT"(tapez 4 octets hexa. ex: 0004AA00)"
42 LOCATE0,8:INPUTA$
50 POKE&H9FC0,VAL("&H"+MID$(A$,1,2))
51 POKE&H9FC1,VAL("&H"+MID$(A$,3,2))
52 POKE&H9FC2,VAL("&H"+MID$(A$,5,2))
53 POKE&H9FC3,VAL("&H"+MID$(A$,7,2))
60 CLS:PRINT:EXEC&H9F00:R=PEEK(&H9FC0)
62 PRINT"ERREUR INITIALISATION CARTE SD (";R;")"
69 END
70 DATA 34,76,1A,D0,CE,E7,CC,8E,1F,40,4F,E6,84,63,84,E1
71 DATA 84,27,0C,63,84,5F,F7,9F,BD,FD,9F,6C,CE,A7,CC,A7
72 DATA 42,CC,60,04,A7,C4,E7,42,8E,00,0A,8D,5E,30,1F,26
73 DATA FA,8E,9F,C5,8D,3D,81,01,26,34,8E,9F,CB,8D,34,5F
74 DATA 34,04,6A,E4,27,28,8E,9F,D1,8D,28,8D,26,26,F3,35
75 DATA 04,8E,9F,BF,8D,1D,8D,33,81,FE,26,FA,10,BE,9F,6C
76 DATA 8E,02,02,8D,26,A7,A0,30,1F,26,F8,7E,40,00,BF,9F
77 DATA BF,35,F6,C6,06,34,04,8D,12,A6,80,8D,1F,6A,E4,26
78 DATA F8,6A,E4,27,04,8D,04,2B,F8,35,84,86,FE,E6,C4,58
79 DATA C6,60,E7,C4,C4,DF,E7,C4,49,25,F2,39,C6,08,34,04
80 DATA 48,56,54,E7,C4,CA,20,E7,C4,C4,DF,E7,C4,6A,E4,26
81 DATA EF,CA,40,E7,C4,35,84,00,00,00,00,00,00,01,80,51
82 DATA 00,00,00,00,00,40,00,00,00,00,95,48,00,00,01,AA
83 DATA 87,77,00,00,00,00,65,69,40,00,00,00,77,00,00,00 
Daniel
L'obstacle augmente mon ardeur.

Daniel
Messages : 10792
Enregistré le : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: [SDMOTO] Utilisation

Message par Daniel » 12 juin 2014 20:38

Suite des explications : aujourd'hui nous allons voir comment charger sur MO6 n'importe quel jeu sur cassette, qdd ou disquette.

Principe
L'émulateur dcmoto comporte une fonction de sauvegarde de l'état de l'ordinateur émulé. L'état est enregistré dans un fichier .mrx.
Cette sauvegarde permet de restaurer l'état de l'ordinateur dans dcmoto, mais aussi sur le vrai MO6 à partir de la carte SD.

Procédure pas à pas
- Chargez le fichier ci-dessous et décompactez-le dans un dossier du PC
sdloadm6_prohibition.zip
(56.51 Kio) Téléchargé 38 fois
- Copier le fichier SDLOADM6.BAS dans l'image de disquette mo6_demarrage.sd (la procédure a été donnée dans un post précédent).
- Copier le fichier prohibition_mo6.sd dans la carte SD, déterminer son adresse physique avec bootaddress.exe (ou WinHex)
- Sur le MO6 avec le contrôleur CS91-280 et l'interface SDMOTO, lancez SDLOADM6 et tapez l'adresse physique.
Le chargement dure 27 secondes, ensuite vous pouvez jouer.
Image

Création des fichiers .sd utilisables avec SDLOADM6
Théoriquement toutes les applications fonctionnant en mode MO6 dans dcmoto peuvent être utilisées, quel que soit le support d'origine. Il faut attendre que tous les fichiers soient chargés, et utiliser la fonction "Fichier/Sauver état actuel".
Le programme mrx2sd_mo6.exe, contenu dans l'archive ci-dessus, convertit le fichier .mrx en fichier .sd à mettre sur la carte.
Notez l'adresse physique de ce fichier .sd pour pouvoir ensuite le lancer avec SDLOADM6.BAS.

Limitations
Il peut y avoir des difficultés si un jeu a besoin de lire ou d'écrire sur le support d'origine, par exemple pour sauver ou restaurer une partie. Chaque cas particulier doit être étudié pour trouver une solution, par exemple sauver et restaurer les parties sur la carte SD. N'hésitez pas à évoquer ici les cas difficiles ou les bugs de SDLOADM6, c'est le meilleur moyen pour faire progresser l'application.
Notez que cette version a été conçue pour le MO6 et le contrôleur CS91-280. Elle ne fonctionne pas avec d'autres configurations.

Améliorations possibles
Pour éviter de taper l'adresse à chaque lancement, on peut créer un programme spécial pour chaque jeu à lancer, en remplaçant la saisie par une valeur "en dur" dans le programme. Dans ce cas le Basic n'est plus nécessaire, on peut conserver uniquement le langage machine dans un fichier binaire à lancer par LOADM"xxxxxx",,R
Daniel
L'obstacle augmente mon ardeur.

Daniel
Messages : 10792
Enregistré le : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: [SDMOTO] Utilisation

Message par Daniel » 16 juin 2014 10:52

Nouvel épisode du feuilleton : comment lancer une démonstration de musique.

Programmes de lancement
- Chargez le fichier ci-dessous et décompactez-le dans un dossier du PC
elvis.zip
(720 Octets) Téléchargé 38 fois
- Copiez les fichiers ELVIS.BAS et SDPLAY.BIN dans l'image de disquette mo6_demarrage.sd (la procédure a été donnée dans un post précédent).

Préparation de la carte SD
- Recopiez le fichier mo6_demarrage.sd dans la carte SD
- Téléchargez et décompactez http://dcmoto.free.fr/tmp/elvis_sd.zip
- Copiez le fichier elvis.sd dans la carte SD et déterminez son adresse physique avec bootaddress.exe

Lancement de la démonstration
- Chargez le programme ELVIS.BAS (LOAD"ELVIS) et modifiez les quatre instructions POKE en utilisant les quatre octets hexadécimaux de l'adresse physique du fichier elvis.sd
- Enregistrez le programme modifié (SAVE"ELVIS)
- Lancez l'exécution (RUN"ELVIS)

Image
Daniel
L'obstacle augmente mon ardeur.

Daniel
Messages : 10792
Enregistré le : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: [SDMOTO] Utilisation

Message par Daniel » 19 juin 2014 20:10

Aujourd'hui : comment lancer une démonstration de vidéo.

Programmes de lancement
- Chargez le fichier ci-dessous et décompactez-le dans un dossier du PC
sdanim.zip
(560 Octets) Téléchargé 38 fois
- Copiez les fichiers SIMONCAT.BAS et SDANIM.BIN dans l'image de disquette mo6_demarrage.sd (la procédure a été donnée dans un post précédent).

Préparation de la carte SD
- Recopiez le fichier mo6_demarrage.sd dans la carte SD
- Téléchargez et décompactez http://dcmoto.free.fr/tmp/simoncat_sd.zip
- Copiez le fichier simoncat.sd dans la carte SD et déterminez son adresse physique avec bootaddress.exe

Lancement de la démonstration
- Chargez le programme SIMONCAT.BAS (LOAD"SIMONCAT) et modifiez les quatre instructions POKE en utilisant les quatre octets hexadécimaux de l'adresse physique du fichier simoncat.sd
- Enregistrez le programme modifié (SAVE"SIMONCAT)
- Lancez l'exécution (RUN"SIMONCAT)

ImageImage
Daniel
L'obstacle augmente mon ardeur.

Avatar du membre
6502man
Messages : 9099
Enregistré le : 12 avr. 2007 22:46
Localisation : VAR
Contact :

Re: [SDMOTO] Utilisation

Message par 6502man » 20 juin 2014 17:59

Avec toutes ces explications détaillées tout le monde va pouvoir s'éclater avec la SD sur Thomson :D
Phil.

www.6502man.com

To bit or not to bit.
1 or 0.

Daniel
Messages : 10792
Enregistré le : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: [SDMOTO] Utilisation

Message par Daniel » 20 juin 2014 18:46

Dans ce fil de discussion il y a toutes les informations nécessaires pour utiliser le module SDMOTO avec un contrôleur CS91-280 sur MO6. Il n'est pas difficile de transposer aux autres ordinateurs Thomson ou au module SDMO.

Il manque seulement les astuces employées pour les démos, en particulier la méthode de compression vidéo et le moyen de ne pas hacher la musique à chaque changement de buffer. C'est un autre sujet qui dépasse la simple utilisation.

Si mes explications ne sont pas claires, n'hésitez pas à poser des questions. Et surtout essayez les manipulations proposées, pour vous convaincre des performances et de la facilité d'emploi du système. Aujourd'hui je ne pourrais plus m'en passer, tous mes transferts PC-Thomson et essais de programmes sur les vraies machines passent pas une carte SD. J'y gagne un temps considérable et une fiabilité sans faille.
Daniel
L'obstacle augmente mon ardeur.

Daniel
Messages : 10792
Enregistré le : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: [SDMOTO] Utilisation

Message par Daniel » 03 août 2014 14:09

Programme de changement d'image de disquette sur TO8

J'avais donné la méthode pour changer d'image de disquette et lancer le jeu correspondant (sur MO6)

GTI a fait encore mieux : un programme gestionnaire de disquettes, permettant non seulement de les lancer mais aussi de supprimer une disquette de la liste ou d'en ajouter une nouvelle.

Il m'a transmis son programme sur une image de disquette au format .sd, à mettre sur la carte SD et à utiliser comme disquette de démarrage. Merci de nous en faire profiter 8)
to8sd.zip
(15.28 Kio) Téléchargé 42 fois
GTI a écrit :Les fonctions sont :

A : ajoute un disque à la liste
D : efface un disque à la liste
E : enregistre la liste
Q : quitte le programme
fléche du haut : se déplace dans la liste vers le haut
fléche du bas : se déplace dans la liste vers le bas
R: demmarre le disque séléctionné (si on revient au basic, il suffit de faire un reset et puis d'appuyer sur B ensuite)
01.png
01.png (1.44 Kio) Vu 1509 fois
02.png
02.png (601 Octets) Vu 1509 fois
Daniel
L'obstacle augmente mon ardeur.

Avatar du membre
6502man
Messages : 9099
Enregistré le : 12 avr. 2007 22:46
Localisation : VAR
Contact :

Re: [SDMOTO] Utilisation

Message par 6502man » 03 août 2014 19:40

C'est une très bonne initiative :D

Merci à vous.
Phil.

www.6502man.com

To bit or not to bit.
1 or 0.

Daniel
Messages : 10792
Enregistré le : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: [SDMOTO] Utilisation

Message par Daniel » 12 juin 2015 09:08

Depuis six mois, les nouvelles versions du contrôleur CS90-280 et le programme SDSEL permettent de charger un fichier .sd sans se préoccuper de l'adresse physique sur la carte SD. Les programmes développés précédemment, en particulier SDLOADM6, gagneraient beaucoup à utiliser la même technique, pour ne plus nécessiter l'utilisation de bootaddress et la saisie de l'adresse hexadécimale.

J'envisage donc d'ajouter dans dcmoto une fonction de sauvegarde de la mémoire et des registres dans une image de disquette au format .sd. Elle pourrait ensuite être sélectionnée avec SDSEL et restaurer automatiquement (avec un AUTO.BAT) l'état exact de la sauvegarde sur la vraie machine. C'est le moyen le plus simple de mettre toute la logithèque "cassette" sur carte SD, sans être pénalisé par la lenteur du chargement des cassettes.
Daniel
L'obstacle augmente mon ardeur.

Avatar du membre
6502man
Messages : 9099
Enregistré le : 12 avr. 2007 22:46
Localisation : VAR
Contact :

Re: [SDMOTO] Utilisation

Message par 6502man » 12 juin 2015 12:22

Oui ca serait très bien :D

Mais y a t'il des jeux qui chargent des données sur K7 pendant la partie ?
Dans ce cas ca seras plus compliqué a convertir ...
Phil.

www.6502man.com

To bit or not to bit.
1 or 0.

Daniel
Messages : 10792
Enregistré le : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: [SDMOTO] Utilisation

Message par Daniel » 12 juin 2015 13:22

C'est un problème, mais c'est relativement rare et il y a un contournement, expliqué dans le documentation de SDLOADM6. Par exemple Las Vegas est un jeu en trois épisodes, et charge les épisodes un par un. Il faut faire une sauvegarde de l'état du jeu pour chacun des trois épisodes, et restaurer successivement les trois sauvegardes.

Dans d'autres cas, en particulier pour quelques rares jeux éducatifs, la cassette est lue en permanence pendant le déroulement du programme. La sauvegarde de la mémoire n'est pas suffisante, mais entre nous ces éducatifs ne sont pas passionnants.

La bonne solution, je l'ai dit, est de convertir sur disquette les applications sur cassette : http://forum.system-cfg.com/viewtopic.php?f=25&t=6121
Tomix l'a fait pour quelques jeux TO7, je l'ai fait pour quelques jeux MO5, mais c'est difficile et long de convertir toute la logithèque cassette. C'est pourquoi la restauration complète de la mémoire est une alternative intéressante, même si elle n'est pas parfaite.
Daniel
L'obstacle augmente mon ardeur.

Avatar du membre
6502man
Messages : 9099
Enregistré le : 12 avr. 2007 22:46
Localisation : VAR
Contact :

Re: [SDMOTO] Utilisation

Message par 6502man » 12 juin 2015 17:26

C'était pas une critique, mais juste qu'il y a encore des cas particuliers non compatibles pour l'instant :wink:
Phil.

www.6502man.com

To bit or not to bit.
1 or 0.

Daniel
Messages : 10792
Enregistré le : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: [SDMOTO] Utilisation

Message par Daniel » 14 juin 2015 18:42

Pour valider le concept de restauration de l'état de la machine à partir d'une carte SD, j'ai fait un essai sur MO5 avec le jeu Saphir.
saphir_mo5sd.zip
(19.86 Kio) Téléchargé 28 fois
Utilisation :
- Démarrer le MO5 avec une carte SD contenant le fichier boot.sd avec SDSEL
- Avec SDSEL, sélectionner saphir.sd puis lancer la commande RUN"AUTO.BAT"

C'est un très net progrès par rapport à SDLOADM5, puisqu'il n'y a plus à charger le programme à partir d'une cassette ou d'une disquette, et surtout il n'y a plus à déterminer ni à taper l'adresse hexadécimale du jeu. De plus le fichier .sd sera généré directement par dcmoto, sans nécessiter une conversion à partir d'un fichier .mrx. Et le programme fonctionne indifféremment avec l'interface SDMOTO ou l'interface SDMO.

La méthode étant validée, il reste à l'adapter aux autres machines. Mais pas avant juillet...
Daniel
L'obstacle augmente mon ardeur.

Répondre