CPC Rulez
https://cpcrulez.fr/forum/

utilisation et implantation de DAMS
https://cpcrulez.fr/forum/viewtopic.php?f=4&t=5075
Page 1 sur 5

Auteur :  Horos [ 09 Juin 2013, 19:39 ]
Sujet du message :  utilisation et implantation de DAMS

Salut Amstradiens,

Je viens de ressortir ce bon vieux DAMS et son grimoire. :)

Je sauvegarde mon code source avec la commande p0,filename : c'est bon.

Mais quand je sauve le programme objet avec p2,filename, je n'ai rien sur la disquette !

Quelle adresse d'implantation de DAMS me conseillez-vous pour mes premiers programmes ?

J'ai essayé de mettre DAMS en &3E8 ou en &6000 (mon programme est en &4000), mais quand j'assemble (A)

j'ai un : 6. Bad Org Error

Pourtant, pour un autre programme de 5 lignes que j'ai tapé, tout avait bien fonctionné, sans aucune erreur...

Code :
ORG #4000
ld a,"C"
call #bb5A
ld a,"P"
call #bb5A
ld a,"C"
call #bb5A
ret

Auteur :  SyDe! [ 09 Juin 2013, 20:18 ]
Sujet du message :  Re: utilisation et implantation de DAMS

Le mieux c'est de mettre Dams en bank.

Auteur :  Horos [ 09 Juin 2013, 21:05 ]
Sujet du message :  Re: utilisation et implantation de DAMS

Bonne idée, merci!

Mais pour l'instant, j'ai un gros problème de sauvegarde : Je charge le code source, je l'assemble,

mais quand je veux sauver le code objet avec P2,name

rien ne s'écrit sur la disquette... à moins que ce soit l'émulateur qui est foireux ?

En attendant, je me dépanne en faisant un SAVE "prog",b,&4000,10,&4000 depuis le Basic.

Puis je relance Dams avec un call &6000, le code source est toujours là. puis je re-sauve depuis le Basic en fin de session.

Auteur :  Hicks [ 09 Juin 2013, 22:40 ]
Sujet du message :  Re: utilisation et implantation de DAMS

Ca fait plaisir de voir qu'il y a encore des utilisateurs de DAMS !

Pour sauvegarder un source :
p nom.s

Pour le charger :
g nom.s

La notice au cas où tu ne l'aurais pas :
http://www.grimware.org/doku.php/docume ... dams/start

Pour l'adresse d'implantation, charge-le en #4000. Comme il prend 11k, le source (qui est stocké juste à la suite de DAMS) sera stocké à partir de #7000 environ et il y aura de la place jusqu'en #A600 environ (début de l'AMSDOS). Ensuite, tu peux implanter ton source en #1000 comme ça tu n'écrase pas tes éventuels programmes BASIC. Commande importante : "M". M#a600 permet de définir le "himem" de DAMS, c'est à dire le dernier octet qu'il peut occuper. Ensuite il te rendra l'erreur que tu as citée.

Exemple :
Recharge ton source
Assemble-le... erreur
Tape "X" (donne les adresses limites de DAMS)
Fixe le Himem avec "M"
Retape "X" (une adresse a changé)
Assemble maintenant : ça fonctionne :)

Ensuite évidemment, tu peux mettre DAMS en bank et sauvegarder les zones system en bank pour exploiter toute la mémoire linéaire.

Auteur :  Horos [ 10 Juin 2013, 01:34 ]
Sujet du message :  Re: utilisation et implantation de DAMS

Salut Hicks,

Merci pour le lien et tes explications! Je ne connaissais pas ce site. J'ai la doc pdf de Dams, mais c'est encore mieux détaillé sur le site.

Je connaissais pas les commandes X et M, ça marche impec : plus d'erreurs à l'assemblage.

Par contre, mon émulateur Caprice32 refuse toujours d'enregistrer le code objet avec P2 name.
Dams ne produit aucune erreur quand je tape P2 monprog.bin mais rien n'apparait sur la D7 avec CAT.

La disquette n'est bien sûr pas protégée en écriture. J'ai tapé exactement p2 prog.bin et même P2,prog.bin
ça ne sauvegarde rien. Par contre, la commande P nom.s sauvegarde le code source sans problème.

J'ai mis Dams en &4000, mon programme en &1000, j'ai bien fait M#A600 et vérifié le himem avec X.

Sous Basic, je fais un SAVE "MONPROG.BIN",b,&1000,10,&1000

puis : MEMORY &1000 : LOAD "MONPROG.BIN",&1000: CALL &1000

Et j'ai droit à un beau MEMORY FULL. Impossible d'exécuter le programme, qui était pourtant bien assemblé
sous Dams (j'ai vérifié avec D#1000)

Ma seule explication, c'est que mon émulateur Caprice32 ou mon ordi ne marche pas bien. Ou bien je ne sais pas faire un simple P2 monprog.bin (j'ai essayé avec, puis sans la virgule : aucun résultat)

Mon ordi est-il infecté par un virus ou l'émulateur est-il endommagé ?
Je vais essayer avec Winape et sur un autre ordi. Il en faut plus pour arrêter un officier de Vega. :D

Auteur :  TotO [ 10 Juin 2013, 07:50 ]
Sujet du message :  Re: utilisation et implantation de DAMS

Hicks a écrit :
Ca fait plaisir de voir qu'il y a encore des utilisateurs de DAMS !
Et ça le ferait encore plus, si c'était sur un vrai CPC... Nop? :sweatingbullets:

Auteur :  kawickboy [ 10 Juin 2013, 08:17 ]
Sujet du message :  Re: utilisation et implantation de DAMS

pour le sauvegarde du code binaire, je me souviens avoir lu dans la notice la commande p2 mais jamais elle n'avait marché. d'où la technique pas glorieuse que j'utilisais: assemblage, sortie de dams, sauvegarde sous basic puis retour à dams :oops: .
moi je passais par dams parce que les listings a100% était sous dams (ent$ ...) et que la rédac faisait un sacré forcing sur le produit.

Auteur :  fano [ 10 Juin 2013, 09:30 ]
Sujet du message :  Re: utilisation et implantation de DAMS

Tiens , j'en profite pour placer ma question à propos de DAMS (oui j'utilise DAMS sur un vrai CPC , j'ai changé :oops: ) car j'ai un petit doute.Le pavé numérique n'est pas reconnu ou c'est moi qui ait une version bugguée ?

Auteur :  kawickboy [ 10 Juin 2013, 09:35 ]
Sujet du message :  Re: utilisation et implantation de DAMS

faut croire, j'avais copié >10 ans en meeting mais je ne retrouve plus la disquette, un dams customisé avec les touches de fonction reprogrammées.

Auteur :  Hicks [ 10 Juin 2013, 10:03 ]
Sujet du message :  Re: utilisation et implantation de DAMS

@Horos : je n'ai jamais réussi à utiliser la commande p2 non plus, malgré ce qu'indique la notice. Les plus vieux CPCistes en connaîtront peut être la raison... ?
Pour ton memory full, c'est normal. J'aurais dû te dire de débuter ton code en #2000 ! Sinon tu dois manipuler les commandes BASIC openout/memory/closeout, et c'est pas l'idéal si tu débutes. Disons que tant que ton source n'est pas trop gros, tu peux l'implanter en #2000 et il n'y aura plus de problème lors du rechargement.
Un petit doute : sais-tu que tu peux utiliser un "ENT $" en début de source, et qu'avec la commande "J" tu exécutes ton source au point où tu as mis le ENT $ ? Ensuite, un test de touche dans ton programme te permet de revenir sous DAMS. Et tu évites ainsi de passer par le BASIC et les load/save.

@Fano : fait gaffe, tu risques de te faire greeter dans les prochaines prods Vanity si tu suis ce filon là :)
Plusieurs versions de DAMS circulent, dont une "débloque" (en gros) le pavé numérique, ce qui est vraiment plus pratique sur un AZERTY ! La version la plus pratique a utiliser est celle qui figure sur la ROM OVL (j'ai la 3.1, mais c'est une version "de développement"... je ne sais pas quelle version circule "officiellement"). Mais je peux aussi te donner une version disk avec le pavé numérique activé si tu veux.

@Toto : en effet, je n'avais pas compris qu'il s'agissait d'utiliser DAMS sur émulateur ! Mais le but est sans doute de passer sur un vrai CPC par la suite (oui, c'est de l'intimidation :).

Auteur :  fano [ 10 Juin 2013, 11:13 ]
Sujet du message :  Re: utilisation et implantation de DAMS

Hicks a écrit :
@Fano : fait gaffe, tu risques de te faire greeter dans les prochaines prods Vanity si tu suis ce filon là :)
Plusieurs versions de DAMS circulent, dont une "débloque" (en gros) le pavé numérique, ce qui est vraiment plus pratique sur un AZERTY ! La version la plus pratique a utiliser est celle qui figure sur la ROM OVL (j'ai la 3.1, mais c'est une version "de développement"... je ne sais pas quelle version circule "officiellement"). Mais je peux aussi te donner une version disk avec le pavé numérique activé si tu veux.
Oui , je suis preneur car je ne peux pas tester depuis la ROM ;)

Auteur :  shap [ 10 Juin 2013, 11:55 ]
Sujet du message :  Re: utilisation et implantation de DAMS

Concernant la commande P2, en fait elle marche lorsque DAMS est en bas de mémoire, par contre si tu le met en #4000 ça ne marche effectivement pas pour une raison que je ne connais pas.

Lance ton DAMS en #3E8 et là ta commande P2 devrait fonctionner, par contre dès que tu es trop haut en mémoire, il faut effectivement sauvegarder à la main sous Basic ou via un Hacker.

Auteur :  Horos [ 10 Juin 2013, 15:03 ]
Sujet du message :  Re: utilisation et implantation de DAMS

TotO a écrit :
Et ça le ferait encore plus, si c'était sur un vrai CPC... Nop?
C'est prévu. Mais là je refais déjà vraiment du DAMS, ça fait plaisir. :)

kawickboy a écrit :
pour le sauvegarde du code binaire, je me souviens avoir lu dans la notice la commande p2 mais jamais elle n'avait marché. d'où la technique pas glorieuse que j'utilisais: assemblage, sortie de dams, sauvegarde sous basic puis retour à dams
Ah toi aussi! Donc mon émulateur n'est pas en cause. Cool! Je ne me souviens plus du tout comment je sauvais mon code objet à l'époque ni de ce bug de P2. Pourtant, ça "Damsait" sévère chez moi à l'époque! :D

Hicks a écrit :
@Horos : je n'ai jamais réussi à utiliser la commande p2 non plus, malgré ce qu'indique la notice.
Ah, ça me rassure alors! Je me suis déchiré la tête pendant 3 heures cette nuit en pensant que j'étais un nullos ! Ouf!
Je n'ai pas vu sur le site que tu m'as indiqué ce problème avec P2. Ne faudrait t-il pas l'indiquer ? Ou alors je ne l'ai pas vu.

Auteur :  Horos [ 10 Juin 2013, 15:09 ]
Sujet du message :  Re: utilisation et implantation de DAMS

Hicks a écrit :
Pour ton memory full, c'est normal. J'aurais dû te dire de débuter ton code en #2000 ! Sinon tu dois manipuler les commandes BASIC openout/memory/closeout, et c'est pas l'idéal si tu débutes.
Ok. J'ai donc fait comme le chargeur Basic de Dams : nn=&2000 : OPENOUT "q":MEMORY nn-1:CLOSEOUT:LOAD "MONPROG.BIN",&2000:CALL &2000

Ca marche impeccable! Plus de MEMORY FULL et j'ai bien sauvegardé mon code objet avec un SAVE,B
Hicks a écrit :
sais-tu que tu peux utiliser un "ENT $" en début de source
J'avais oublié le ENT $ . Je relis la documentation exaustivement cette fois!

Au fait, j'ai vu dans une revue CPC un petit programme qui permet d'ajouter quelques fonctions à Dams,
comme DIR ou CAT et quelques autres. Je vais tester et je mettrai ici les retours si ça intéresse quelqu'un.
(L'idée que j'ai derrière la tête, c'est que si on peut ajouter une commande CAT, on peut ajouter une commande "savebin"...)
shap a écrit :
Concernant la commande P2, en fait elle marche lorsque DAMS est en bas de mémoire, par contre si tu le met en #4000 ça ne marche effectivement pas pour une raison que je ne connais pas.
Oui, tu as raison! Avec un DAMS en #3E8 et mon code en #5000, la commande P2 a très bien fonctionné! (M#4FFF)
Je peux continuer d'avancer maintenant avec les 2 méthodes. J'espère que mes questions aideront quelqu'un d'autre qui se remets à DAMS.

SyDe! a écrit :
Le mieux c'est de mettre Dams en bank.
Je reviens vers toi : mettre DAMS en Banque mémoire étendue avec OUT &7F00,&Cx et la fameuse place &BE80-&BE7C.
J'ai réussi à lancer Dams en #4000 en passant de OUT &7F00,&C0 à OUT &7F00,&C4,
mais quand je re-boote avec un CALL 0... DAMS a disparu. Bref, pas bien pigé encore comment on fait.

Par contre j'ai bien fait des peek et poke en &4001 en passant de &C0 à &C4 pour tester. ça marche. J'ai même compris que si le code source n'est pas trop gros et peut être mis lui aussi avec DAMS en mémoire étendue, il est protégé en cas de plantage.

Tu peux me dire où est-ce que j'ai oublié un truc pour que tout fonctionne ?
en &BE80, on mets OUT &7F00,&Cx: Call &4000 en langage machine pour relancer DAMS ?

Auteur :  SyDe! [ 10 Juin 2013, 22:59 ]
Sujet du message :  Re: utilisation et implantation de DAMS

Oui après un reboot, il te suffit d'ouvrir la bank et de faire un Call &4000 ;)

Pour plus de simplicité tu peux programmer une touche dans le lanceur Basic de Dams. (moi c'était la touche TAB) avec la commande OUT &7F00,&C5:CALL &4000 ;)

Désolé pour ces explications un peu à l'arrache mais ça fait un bail que je n'avais plus touché à Dams (Depuis 1994). Je m'y suis un peu remis depuis...

Page 1 sur 5 Le fuseau horaire est UTC+1 heure
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/