Conversion Jeux Thomson TO au format SD

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

__sam__
Messages : 7909
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: Conversion Jeux Thomson TO au format SD

Message par __sam__ »

Sinon il y en a un autre dans l'exécution d'une commande de lecture de la carte SD, mais une erreur à ce niveau est peu probable car ce serait une panne matérielle de SDDRIVE ou du module Catalex ou de la carte SD. Et comme tu as réussi ensuite à charger le jeu ce n'est pas là le problème.
C'est ce cas là!

En fait le CMPA ,U+ est au niveau de la lecture d'un code de retour SPI une fois qu'on a lu tout des trucs bit à bit (probablement un secteur dans le mesure où X ou Y vaut $100 et est décrémenté). Le A en question est issu d'une série de CMPB + RORA. Je pense que U pointe sur une commande SPI (en ROM) et le dernier octet est le code de retour attendu. Le fait est donc que sur la lecture du saut à ski (piste 79 ou 80 enfin vers la fin du disk), le SPI émulé retourne un code de retour pas attendu. D'où mon hypothèse de lecture après la fin de fichier "SD" (?).

Ce qui est surprenant c'est ce que j'obtiens sous DCMOTO, c'est à dire avec l'émulation SPI.

A vrai dire, je ne pige pas non plus trop pourquoi il faudrait avoir quelque chose sur la face 1, car quand l'erreur se produit, $6049 est toujours à 0 (face 0). C'est expérimentalement que j'ai trouvé que ca marche, ce qui n'est pas très satisfaisant je trouve aussi. C'est pour cela que le code de retour lu depuis le SPI qui n'est pas celui attendu doit nous donner le fin mot de l'explication (on a $80 et on attends $84 -- ou l'inverse je ne m'en souviens plus trop).

Sinon oui si tu patch les écritures de $5C à $E7E7 pour écrire $DC à la place au niveau du fichier SD, ca doit marcher. Il y a 2 formats: la version avec LDA/LDB #$5C, STA/STB $E7E7 (86/c6 5c b7/f7 e7 e7).. mais aussi les blocs logiques de 1 octet: 00 01 E7 E7 5C. Les autres références à E7 E7 me semblent être des données ou des trucs sans rapport.
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
Daniel
Messages : 17286
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: Conversion Jeux Thomson TO au format SD

Message par Daniel »

Si c'est le CMPA ,U+ de la commande SPI, avec dcmoto il ne peut pas y avoir d'erreur matérielle. A ce niveau il n'y a pas de lecture de données, c'est un dialogue avec le contrôleur de la carte SD. Le programme appelant envoie les octets de la commande et attend un code retour. Il sort en erreur si ce n'est pas le code attendu. Il n'y a pas de contrôle des données. Si l'index pointe en dehors du fichier .sd l'erreur sera détectée plus tard, à la lecture, pas sur le code retour de la commande. Je soupçonne un bug dans l'émulation, mais c'est assez surprenant car il se produirait aussi pour d'autres programmes. C'est très mystérieux.

Code : Tout sélectionner

;------------------------------------------------------
; EXECUTION D'UNE COMMANDE POINTEE PAR U
; Le registre U pointe sur les 6 octets de la commande
; Le registre B n'est pas preserve.
; le code retour est dans le registre A
;------------------------------------------------------
EXCMD0
  LDB   #$06           ; nombre d'octets de commande
EXCMD2
  LDA   ,U+            ; chargement octet de commande
  WRITE_BYTE           ; ecriture de l'octet
  DECB                 ; decrementation compteur
  BNE   EXCMD2         ; il reste des octets a envoyer
  LDX   #$0100         ; compteur pour 255 essais
  LDB   #$7F           ; initialisation de B pour lecture 
EXCMD3
  LEAX  -1,X           ; decrementation compteur
  BEQ   EXCMD4         ; pas de reponse
  LBSR  RB0            ; lecture d'un bit dans A
  ANDA  #$01           ; isole le bit lu
  BNE   EXCMD3         ; attendre bit a zero
  BSR   RB6            ; lecture des 7 autres bits
  CMPA  ,U+            ; test code de retour
  BEQ   EXCMD5         ; code bon
EXCMD4
  COMB                 ; carry set en erreur
EXCMD5
  RTS                  ; retour
Daniel
L'obstacle augmente mon ardeur.
__sam__
Messages : 7909
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: Conversion Jeux Thomson TO au format SD

Message par __sam__ »

Oui c'est bien la fin de ce code sur lequel je suis tombé (avec un point d'arret dont j'ai perdu l'adresse). Je vais voir si je peux ré-obtenir un truc plus précis sur ce 'CMPA ,U+" en reprenant le ZIP de ce moment là (vive le forum! car il y a bien longtemps que ce ZIP a été écrasé chez moi)

Ca me surprends aussi, mais c'est cohérent avec l'aspect instable que j'ai eu ce weekend avec dcmoto du 12/03 et ce jeu sur SD.

Souvent le boot sur B marche (au 1er coup), mais après une plante du jeu et un reset à froid où tout devrait revenir à la normale, j'ai droit à "no disk", ou parfois "file not found" dès le boot par "B", parfois c'est "disk not ready" plus tard dans le jeu. C'est un peu comme si le reset à froid ne ré-initialisait pas complètement l'émulation de l'interface SD (la machine à état reste dans l'état précédent du protocole peut-être?). Seul un relancement complet de DCMoto permettait d'avoir un état reproductible.

Tu n'as pas observé une telle instabilité hier avec mes différents ZIP qui font planter le jeu ?
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
Daniel
Messages : 17286
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: Conversion Jeux Thomson TO au format SD

Message par Daniel »

Hier je n'ai pas eu le temps de faire beaucoup d'essais, mais j'ai déjà eu des cas similaires avec d'autres jeux, pour lesquels le bouton reset ne restaure pas correctement l'état de la machine. C'est souvent le cas quand les jeux ont des comportements pas très propres, du genre écraser les variables du Basic ou d'autres zones réservées au système.

En plus le contrôleur SDDRIVE fait des choses assez subtiles après un reset. En particulier, l'adresse de départ (LBA0) du fichier .sd est stockée dans la zone $6051-$6054. Elle est remise à zéro par le reset. Pour éviter de la perdre et d'avoir à sélectionner à nouveau le fichier, j'en ai fait une sauvegarde en bas de la pile système, qui n'est pas modifiée par le reset. Si le LBA0 est écrasé, je le restaure à partir de cette sauvegarde. Si la sauvegarde a été elle aussi modifiée, le LBA0 peut pointer n'importe où, y compris en dehors de la carte. C'est peut-être ce qui s'est produit.

En règle générale il est plus sain de couper le courant quand on veut partir d'un état propre et reproductible.
Daniel
L'obstacle augmente mon ardeur.
__sam__
Messages : 7909
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: Conversion Jeux Thomson TO au format SD

Message par __sam__ »

Daniel a écrit : 15 mars 2021 17:27 En particulier, l'adresse de départ (LBA0) du fichier .sd est stockée dans la zone $6051-$6054.
Ah la fameuse zone 51.. il s'y passe bien des choses mystérieuses parait-il ;)
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
Daniel
Messages : 17286
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: Conversion Jeux Thomson TO au format SD

Message par Daniel »

Oui, mais c'est secret défense, on ne peut pas en discuter ici.
Daniel
L'obstacle augmente mon ardeur.
Daniel
Messages : 17286
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: Conversion Jeux Thomson TO au format SD

Message par Daniel »

WiZkiD a écrit : 25 mai 2022 20:49 As a newcomer to the Thomson series only one thing is not clear to me, from what I was able to understand, the SSDrive only reads the SD format so how I can use the games contained in the various Tosecs in the k7, lep, m5, fd, qd and sap format? Doing a little research on the site I found only a handful of games converted to SD format but most of the ones I wanted to play are missing. Is there an easy way to convert to SD or do I have to surrender to the fact that with the Thomson line it is not possible to do what I usually do with Spectrum, Commdore 64 or Amstrad CPC?
Hi Massimiliano !
SDDRIVE is a floppy disk simulator, and can work only with .sd disk images.

The program to convert .fd images to .sd format is FD2SD.exe : http://dcmoto.free.fr/emulateur/prog/fd2sd_2014.zip
It works fine for most .fd files. With some copy protected disks the .sd file may not work with SDDRIVE, in these cases you can post a link to the .fd file and I'll make it work. For other disk image formats, for example .sap, you must first convert to .fd, and next to .sd.

Cassette files cannot be used with SDDRIVE.
You can replace the tape reader by SDLEP-READER TFT : http://dcmoto.free.fr/bricolage/sdlep-tft/index.html
But this is not the best practice because cassette is slow and loading a TO8 cassette game is very slow, sometimes 30 minutes or more.
I prefer to convert games on tape to floppy disk. Sometimes it's easy, sometimes difficult, sometimes very difficult. Just post a link to a .k7 file and I'll try to make the .fd and .sd file. With the TO8 most games are available on disk, and cassette conversion to disk is rarely necessary.

One last tip: don't trust TOSEC for Thomson games. It is better to download games from specialized sites, for example dcmoto or logicielsmoto.
Daniel
L'obstacle augmente mon ardeur.
Avatar de l’utilisateur
WiZkiD
Messages : 11
Inscription : 11 mai 2022 02:49

Re: Conversion Jeux Thomson TO au format SD

Message par WiZkiD »

Hi Daniel, first of all thank you very much for the fast reply, secondly I want to express all my gratitude for the suggestions you are giving me, its not easy to find people who are so prepared and kind as you are, it makes me even more happy since that in my fields of knowledge, Commodore 64 and Amiga, I would have done the same with a user with such problems. And thanks also for the help offer about converting some files for me, but before contacting you directly I will try to find if there is already a converted version at the links you suggested.

thanks again for everything :)
Avatar de l’utilisateur
WiZkiD
Messages : 11
Inscription : 11 mai 2022 02:49

Re: Conversion Jeux Thomson TO au format SD

Message par WiZkiD »

Daniel a écrit : 25 mai 2022 22:14 For other disk image formats, for example .sap, you must first convert to .fd, and next to .sd.
I forgot to ask you a question about this very thing you wrote, to convert files to .fd do I always have to use FD2SD.exe or do I have to download another software?
Daniel
Messages : 17286
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: Conversion Jeux Thomson TO au format SD

Message par Daniel »

Converting .fd to .sd is a very simple process : .fd file contains 256 byte sectors, .sd file contains 512 byte sectors. Each 512 byte sector begins with the 256 byte fd sector and ends with 256 hexadecimal FF bytes. The .fd file contains one to four disk sides, the .sd file contains always four disk sides (2 disks). FD2SD.EXE is the only tool you need to make the conversion.

Converting .sap file to .fd is also very easy : With dcmoto emulator load the .sap file , it is automatically converted to .fd
There are two differences between .sap and .fd formats :
- sap files are crypted, fd files are not crypted and easy to read and modify with an hexadecimal editor.
- a sap file contains only one disk side. A fd file contains one to four disk sides. The sides are concatenated.

After conversion to .sd format, if the game doesn't work with the SDDRIVE controller, please post the .sd file here and I will fix it to make it work.
Daniel
L'obstacle augmente mon ardeur.
Avatar de l’utilisateur
WiZkiD
Messages : 11
Inscription : 11 mai 2022 02:49

Re: Conversion Jeux Thomson TO au format SD

Message par WiZkiD »

Hi @Daniel, I have managed to convert several games into SD format except for Bactron and MGT for which I ask if you could kindly help me, also I still don't understand how to use DCMOTO to convert "cassette" files into FD, I looked for a tutorial but unsuccessfully, it's probably my fault but I haven't been able to find an exhaustive one
__sam__
Messages : 7909
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: Conversion Jeux Thomson TO au format SD

Message par __sam__ »

Cassette and floppy games do not use the same API. The way they are loaded in memory is totally different. Converting one to the other might require lots of code analysis and patching on a per-game basis.

The only exception I know of, is in the (very) simple case where the game fully fits in memory and allows extra room for a loader. In that case, it suffice to dump the state of the memory on the floppy and provide a loader that will restore it from disk on the real machine. I think DCMoto provides stuff for the MO6 in the "save-state" menu (look for file named dcmoto-mrx_mo6.sddrive generated near the dcmoto.mrx file).

But usually speaking, converting from cassette to floppy is not an easy task.That's why you won't find any generic tutorial.
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
WiZkiD
Messages : 11
Inscription : 11 mai 2022 02:49

Re: Conversion Jeux Thomson TO au format SD

Message par WiZkiD »

hi @sam and ty for the explanation, Daniel's help will be essential, at least for those two titles I mentioned
Daniel
Messages : 17286
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: Conversion Jeux Thomson TO au format SD

Message par Daniel »

@WiZkiD: Bactron and MGT .sd file for SDDRIVE is available here --> http://dcmoto.free.fr/programmes/mgt-bactron/index.html

d1.jpg
d1.jpg (15.95 Kio) Consulté 3186 fois
Daniel
L'obstacle augmente mon ardeur.
Daniel
Messages : 17286
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: Conversion Jeux Thomson TO au format SD

Message par Daniel »

Nouveaux jeux convertis au format .sd pour TO7/70 (ces trois jeux nécessitent le BASIC 128) :

1) Dossier Boerhaave : http://dcmoto.free.fr/programmes/dossie ... index.html
02.png
02.png (24.5 Kio) Consulté 2075 fois

2) L'Affaire Sydney : http://dcmoto.free.fr/programmes/l-affa ... index.html
02.png
02.png (15.22 Kio) Consulté 2075 fois

3) L'Affaire Vera Cruz : http://dcmoto.free.fr/programmes/l-affa ... index.html
03.png
03.png (7.8 Kio) Consulté 2075 fois
Daniel
L'obstacle augmente mon ardeur.
Répondre