[THOMSON] TO7/70 booter son programme depuis une memo7

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

p0ke
Messages : 180
Inscription : 20 mai 2018 20:29

[THOMSON] TO7/70 booter son programme depuis une memo7

Message par p0ke »

Bonjour,

J'essaye de démarrer mon programme depuis une memo7.
Grâce au forum j'ai compris comment calculer le checksum du titre de la memo7 et ou placer mon JSR.

J'ai maintenant dans DCMOTO, ma cartouche qui apparait.(mon programme fait un simple CLS (écrasement de 4000 à 5FFF avec 00), jai essayé avec le moniteur aussi).

Toutefois quand j'appuie sur 1 pour lancer mon programme mon CLS bug. J'imagine qu'il doit y avoir une séquence d'initialisation à respecter.

Je cherche de la doc sur le sujet. (j'ai déjà éplucher pas mal de chose mais rien trouvé d'explicite sur le sujet).

Je passe par ici avant le dernier recours (désassembler le début de quelques cartouches memo7)

Merci d'avance pour vos conseils.

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

Re: [THOMSON] TO7/70 booter son programme depuis une memo7

Message par __sam__ »

Le plus simple est que tu mettes un point d’arrêt sur ta routine et regardes en mode pas à pas ce qu'il se passe et pourquoi ca ne fait pas ce que tu attends.
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 : 17316
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: [THOMSON] TO7/70 booter son programme depuis une memo7

Message par Daniel »

Pour que l'on puisse t'aider, il faut au moins donner le contenu de la MEMO7, sinon c'est mission impossible.
Daniel
L'obstacle augmente mon ardeur.
p0ke
Messages : 180
Inscription : 20 mai 2018 20:29

Re: [THOMSON] TO7/70 booter son programme depuis une memo7

Message par p0ke »

Bonsoir,

Alors en vous relisant, j'ai compris qu'il n'y avait pas d'initialisation spéciale par rapport à la MEMO7 (!!!!),
donc j'ai repris un helloworld tout simple pour voir ou était le problème.
En fait je concatène mon header pour la memo7 (le nom, le checksum plus les adresses de saut) et le .bin compilé avec c6809.
J'utilise un FCC avec 33 espaces pour réserver la place de mon header memo7 au début de mon fichier binaire

Code : Tout sélectionner

(main)MAIN.ASM       * Marquage du programme principal
       FCC     '                                 ' * 33 charactères en tout

       LDB    #$0C
       JSR    $E803

debut  ldx    #hello
       bra    affic

affic0 jsr    $e803
affic  ldb    ,x+
       bne    affic0
loop
       swi

hello  fcc    "Hello world!"
       fcb    $0a
       fcb    $0d
       fcb    0
       rts
       end debut
Cependant le fichier binaire embarque un entête de 5 octets si je ne me trompe pas, donc cela décalait l'adresse de "Hello world!"
Sans les 5 bytes mon hello world va booter lorsque j'appuie 1, l'écran s'efface et "Hello world!"
De la mémo7 par contre je ne comprends pas pourquoi il y a besoin d'une adresse de saut a chaud en 1C et une à froid en 1E.


Merci, !!!

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

Re: [THOMSON] TO7/70 booter son programme depuis une memo7

Message par __sam__ »

Tu peux replacer le FCC par un RMB 33,32 : 33 c'est le nombre de répétitions, et 32 c'est l'octet de remplissage. Ici 32 est le code ascii du caractère espace.

Ensuite, tu peux compiler un binaire RAW (cad sans n'en-tête ni la fin) avec ainsi:

Code : Tout sélectionner

c6809.exe -bd -am -oOP <source.asm> <sortie.raw>
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 : 17316
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: [THOMSON] TO7/70 booter son programme depuis une memo7

Message par Daniel »

p0ke a écrit : 05 mai 2020 01:26 De la mémo7 par contre je ne comprends pas pourquoi il y a besoin d'une adresse de saut a chaud en 1C et une à froid en 1E.
La code à la première adresse est exécuté lors de l'appui sur le bouton "Initialisation Programme" et le code à la deuxième adresse lors de la mise sous tension. Ces deux branchements peuvent se faire n'importe où dans la MEMO7. Ils peuvent pointer vers la même adresse.
Daniel
L'obstacle augmente mon ardeur.
p0ke
Messages : 180
Inscription : 20 mai 2018 20:29

Re: [THOMSON] TO7/70 booter son programme depuis une memo7

Message par p0ke »

Ah merci pour ces tuyaux :)
Bonne journée,

p0ke
Fool-DupleX
Messages : 2284
Inscription : 06 avr. 2009 12:07

Re: [THOMSON] TO7/70 booter son programme depuis une memo7

Message par Fool-DupleX »

Petite astuce peu connue au passage (uniquement sur TO7-70), si on met $A5A5 à l'adresse $18, la cartouche boote direct en sautant le menu de démarrage. Très pratique pour tester, mais très énervant pour régler le crayon optique par exemple :D :wink:
p0ke
Messages : 180
Inscription : 20 mai 2018 20:29

Re: [THOMSON] TO7/70 booter son programme depuis une memo7

Message par p0ke »

haaaaaaaaaaan,

Merci fool-duplex

:D

ça me sauve la vie tout ça franchement.

tout ce que je teste inlassablement passe par la création d'une disquette, c'est parfois long et fastidieux !

La a force ça commence presque à être agréable :D

PS: Je viens de tester mais on dirait que DCMOTO n'aime pas trop :) Il ne bug pas mais ma mémo7 n'apparait plus à l'écran ! (que le calibrage du pointeur souris).
Je ferais le test sur le hardware à l'occase.
Répondre