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

DAMS : En route pour une nouvelle version !
https://cpcrulez.fr/forum/viewtopic.php?f=4&t=5477
Page 1 sur 5

Auteur :  PSy [ 04 Mars 2015, 16:10 ]
Sujet du message :  DAMS : En route pour une nouvelle version !

Bon, je me suis jeté a l'eau: J'ai testé plusieurs émulateurs sous Linux (j'ai pas de Windows).

arnold est le plus user friendly, mais le clavier est mal mappé, même en switchant querty/azerty, au final j'ai même pas la touche 'l' dans aucun mode. J'ai abandonné.
CPCemu, j'ai pas vu de binaire pour amd64, il n'est pas en open source, je ne suis pas allé plus loin.
Caprice32: Dispo qu'en source, compile avec une tonne de Warnings, mais au final marche nickel!
Vous en utilisez d'autres sous Linux?

Je n'ai pas de disquette ni d'image de disquette. J'ai réussi a en recréer une contenant l'exe DAMS et ses sources à partir de mes fichiers sous Linux et d'un excellent tool: iDSK

J'ai eu toutes les peines du monde à retrouver les commandes de bases du CPC, et surtout j'ai dû réapprendre DAMS d'après l'unique exemplaire de la doc parier que j'ai, et grimware.org. A tout ceux qui en ont bavé avec l'apprentissage de DAMS, dites vous bien que je viens d'en baver aussi car il ne m'en restait quasiment rien!!

J'ai réussi à assembler DAMS lui-même avec DAMS 1.1 et sa "nouvelle" option qui pose direct le code objet sur disque, j'ai du me battre avec ses notions de "himem", "ORG", adresse de chargement, et "bad location", "Bad memory error", la totale!
J'ai même vu pendant l'assemblage l'écran se "brouiller" progressivement, si j'avais pas lu dans la doc que l'assembleur utilisait la ram de l'écran pour stockage temporaire, j'aurai rebooté car je n'avais *aucun* souvenir de cela!!

J'ai réussi a sauvegarder le code objet, mais il ne marche pas. Faut que je regarde comment marche le système de relocation, peut être je sauvegardais en plus autre chose mais je ne me souviens vraiment pas. Bref j'ai pas encore poussé les investigations, mais j'ai mis le pied a l'étrier, les mains dans le cambouis comme vous voulez, et je pense que je vais finir par décrotter ce truc.

Auteur :  MacDeath26 [ 04 Mars 2015, 20:59 ]
Sujet du message :  Re: Interview du créateur de DAMS!!

Pour les émulateurs et le clavier mal mappé : en général il faut faire attention à la ROM CPC qu'on utilise.

en gros par défaut c'est souvent la version QWERTY me semble t'il...

en mettant une ROM AZERTY dans le CPC virtuel, bizarement, le problème est moindre quand on utilise justement un AZERTY sur son PC...


Oh, et la version classique AZERTY (ROM française) possède un bug bien connu : le | devient ù

donc sur l'international :
|cpm

en France (si modèle AZERTY) :
ùcpm

Mais il y a moyen de trouver des ROM françaises corrigées.



à vérifier donc.

Auteur :  Triple-Patte [ 05 Mars 2015, 07:34 ]
Sujet du message :  Re: Interview du créateur de DAMS!!

@PSy : Sans DAMS, je ne me serai probablement jamais échoué sur Tortuga et gagné une patte. Pour cela, je te remercierai lorsque j'aurai la certitude que ce fût une bonne chose (30 ans après, je cherche encore le trésor ...), mais je profite volontiers de cette occasion pour boire un rhum à ta santé !

Auteur :  sPOKE [ 05 Mars 2015, 11:13 ]
Sujet du message :  Re: Interview du créateur de DAMS!!

PSy a écrit :
J'ai eu toutes les peines du monde à retrouver les commandes de bases du CPC
et surtout j'ai dû réapprendre DAMS d'après l'unique exemplaire de la doc papier que j'ai.
Tu peux me poser toutes tes questions par MP/e-mail. (Former à D.A.M.S l'auteur de D.A.M.S! :) )

Je t'envoie un petit tuto d'une demi-page pour se remettre illico à D.A.M.S et au CPC + un .DSK qui contient un programme d'exemple ASM source + objet et qui fonctionne.
Un kit pour démarrer quoi. ;)

Auteur :  PSy [ 05 Mars 2015, 14:22 ]
Sujet du message :  Re: Interview du créateur de DAMS!!

Triple-Patte a écrit :
@PSy : Sans DAMS, je ne me serai probablement jamais échoué sur Tortuga et gagné une patte. Pour cela, je te remercierai lorsque j'aurai la certitude que ce fût une bonne chose (30 ans après, je cherche encore le trésor ...), mais je profite volontiers de cette occasion pour boire un rhum à ta santé !


Je ne sais pas ou DAMS t'a propulsé mais si tu trouve le trésor appelle nous! :-D
:biere:

Auteur :  PSy [ 05 Mars 2015, 14:53 ]
Sujet du message :  Re: Interview du créateur de DAMS!!

@ sPOKE et tous: Merci pour le tuto et l'aide.

J'ai un soucis avec Caprice32: Il perd les changements sur la disquette entre 2 lancements. Si j'écris un fichier sur A, je le vois bien, après un F5 (restart emu) il est toujours là, mais après un F10 (exit) il est perdu.

J'ai comme l'impression que cet émulateur ne sait pas écrire dans les .dsk. Vous confirmez ? ou c'est ma version sous Linux qui est moins aboutie que sous Windows?

J'arrive pas à faire marcher les snap non plus. Bizarre.
J'ai bien un: snap_path=./snap/
et un sous répertoire snap/
Ca ne crée pas de fichier et les touches F2 et F4 ne font rien.

Auteur :  PSy [ 05 Mars 2015, 15:05 ]
Sujet du message :  Re: Interview du créateur de DAMS!!

Je viens de regarder le source de Caprice32, juste après dsk_load() y'a bien une fonction dsk_save(), mais elle n'est jamais appelée.

Auteur :  MacDeath26 [ 06 Mars 2015, 00:23 ]
Sujet du message :  Re: Interview du créateur de DAMS!!

As-tu essayé JavaCPC ?
Tu n'a pas un vieux montage sous winXp ? car WinApe est pas mal non plus.

Quand même on voit le puriste sous Linux... chapeau bas ! (what did you expected...)

Auteur :  Xavier [ 06 Mars 2015, 16:24 ]
Sujet du message :  Re: Interview du créateur de DAMS!!

Salut tout le monde,

N'ayant pas d'antécédents sur la plateforme linux, je ne peux aider directement sur les contraintes qui y sont engendrés.

Par contre, sous DOS, et par extension Windows, les accès disques ont une règles technique de limitation au niveau des noms de fichiers.

Il n'est pas forcément facile de déterminer ces limitations, car elles sont induites par le compilateur et le mode de traitement des fichiers.

Mais, dans tout les cas, pour les programmes "anciens" ou non compilés par des compilateurs (avec librairies) récents, postérieurs à Windows, il faut savoir:

- Limiter/renommer les noms de fichiers à 8+3 caractère "DASM.DSK" au lieu de "DASM_SOURCES[1986-MICROAPPLICATION].DSK"
Pareil pour les répertoires et arborescence des répertoires:
"C:/mon_projet_DASM/DSK_originale/" est à éviter.
"C:/DASM/ORIGINAL/" est préférable.
Donc, rien dans les répertoires système, du type "download" ou "bureau" car traités en fichiers dit "long" par le système.

- Ne pas utiliser de caractère Français, international, d'espaces :
"c:/désass/DASM 1/à traiter" qui ne sera par reconnu par le traitement en fichier dit "court"
En règle général, les programmes compilés sous Windows traitent les fichiers à nom "long".
Mais, le mode en librairie "SDL" et autres fichiers Borland DOS, ont une restriction d'accès à des nom de fichiers courts!

-évitez le cumule de sous-répertoires!
"C:/DASM/ORIGINAL/DSK1/SOURCES/TEMP/ASM_COM/.../EXEMPLE.DSK" etc...
Provoquent généralement un débordement du buffer au niveau du traitement de la variable fichier... car la variable "nom de fichier" est parfois tronquée, et provoque un problème d'accès disque.(même chose pour les programmes qui acceptent les noms de fichier "long")
Pensez que le répertoire "BUREAU" s'ajoute au nom du fichier traité.
Ce buffer variable est limité pas les valeurs par défaut du compilateur, et peut varier selon les programmes, mais les 255 caractères sont rapidement atteint pour les répertoires système.

Donc, simplifier au maximum les noms de fichiers et les répertoires en cas de problèmes, sur un programme DOS ou compilés avec un librairie de codes ayant une origine pré-windowsèsque!

Ca ne répond pas forcément au problème évoqué, mais cela explique parfois un fonctionnement aléatoires sur certains fichiers de données.

Au sujet des émulateurs, j'ai toujours l'habitude de "retirer" (Unmont) la disquette de l'émulateur, affin de valider l'écriture fichier.
En effet, certains émulateur ont des ouverture de fichiers en mémoire tampon et ne font pas le rafraîchissement de donnés en "accès direct" sur le disque... mais en mode différé.
Donc, l'enregistrement est demandé à la clôture de l'émulateur ou au changement de disque.
Sûrement un reliquat du au anciens système avec lecteurs de disquette ou disque dur très lent...

Autres:
Vérifier le mode d'accès de la disquette au niveau argument fichier "Read Only" au niveau du fichiers Win et Linux.

Vérifier l'argument de l'image DSK, un "tag" dans l'entête du fichier interdit l'accès à l'écriture sur le disque, à l'image de la languette à déplacer sur les disquettes physiques.
Une option est généralement accessible dans l'émulateur pour retirer cette contrainte.
[v] Permettre l'enregistrement des modifications.
Dans le fichier "CFG" (config) de l'émulateur, ou dans l'émulateur lui-même!

Auteur :  PSy [ 06 Mars 2015, 20:11 ]
Sujet du message :  Re: Interview du créateur de DAMS!!

Bon j'ai un peu avancé, je vous raconte pour que vous rigoliez de voir comment je mame avec DAMS.

J'ai laissé tomber d'écrire sur la disquette depuis l'émulateur, en fait j'ai pas besoin de sauvegarder entre 2 sessions, j'ai juste besoin de voir que je peux compiler DAMS malgré les commentaires que je lui rajoute.

Or, DAMS se compile, mais plante au lancement. En fait c'est le système de relocation qui ne marche pas. Après étude approfondie, rétro-ingénierie sur mon propre code source qui ne possède aucun commentaire .( et dont je n'ai quasiment aucun souvenir, il s'avère qu'il y a une option cachée d'assemblage (128) qui produit une table de relocation a la fin du code objet!

Super, sauf que l'exe DAMS 1.1 avec lequel je travaille ne me produit pas cette table malgré l'option mise. Ben en fait, dans mon source de DAMS 1.1 (j'ai pas les sources de DAMS 1.0) y'a une directive de compil qui vire l'implémentation de cette option, et le binaire de la 1.1 que j'ai est compilé sans cette option! Sûrement que j'ai voulu gratter de la place pour développer mon émulateur videotex sur mon CPC 664 de l'époque.

Parfait, donc je refait une disquette avec un DAMS 1.0 (que j'ai pompé car je ne l'ai pas) et je met le source de DAMS 1.1 dessus. Et... ca ne marche toujours pas, ca ne génère pas de table de relocation!!!
Je devine pourquoi: dans la version de prod de DAMS 1.0, j'ai dû désactiver la directive de compilation de cette option, toujours pour alléger DAMS d'une caractéristique non documentée qui ne servirait a personne.

Donc, je me retrouve sans le DAMS qui me servait à compiler DAMS!!!!

Bon pas grave. Je vais modifier le code et virer la relocation, et le compiler pour une adresse fixe basse. Avec ce DAMS je vais pouvoir compiler le DAMS 1.1 qui saura générer la table de relocation, et repartir en avant.

Auteur :  AsT [ 07 Mars 2015, 00:15 ]
Sujet du message :  Re: Interview du créateur de DAMS!!

En tout cas, je vois que ça avance bien. Tu as l'air de reprendre ton code z80 avec aisance et pour ça bravo! Tu peux nous rappeler depuis quand tu n'avais pas codé en asm z80?
Et bien, je te souhaite bon courage... Je ne te dis pas combien de personnes ici, sont impatientes de découvrir ton travail.
Allez zouuuu, comme dirait quelqu'un qui se reconnaitra surement.

Mes respects,

David.

Auteur :  Xavier [ 07 Mars 2015, 00:32 ]
Sujet du message :  Re: Interview du créateur de DAMS!!

Bravo Pascal,

Moi, deux mois après avoir codé pour une machine et que je passé sur une autre...
Toutes mes bonnes idées en assembleurs se sont transformées en bouillie Z80.
Dans ma tête résonne encore les "Quesque j'ai foutu?", "ça sert à quoi cette routine?"...

Alors 20ans après, je regarde "NOP" sur Google!!!

Bon, c'est comme le vélo, mais avec des mois de rééducation mentale!

Auteur :  sPOKE [ 07 Mars 2015, 04:08 ]
Sujet du message :  Re: Interview du créateur de DAMS!!

Xavier a écrit :
Moi, deux mois après avoir codé pour une machine et que je passé sur une autre...
Toutes mes bonnes idées en assembleurs se sont transformées en bouillie Z80.
Dans ma tête résonne encore les "Quesque j'ai foutu?", "ça sert à quoi cette routine?"...
C'est parce que ta méthode de travail n'est pas bonne. Il te suffit de placer des commentaires, et d'avoir un carnet ou tu notes en fin de session ce que tu as fait.
Ainsi que les directives importantes. Je travaille sur plusieurs machines aussi, et 6 mois après, une lecture de 2 minutes me suffit.

Faire appel à ta mémoire comme tu le fais, c'est utiliser ta mémoire à court terme pour une tâche pour laquelle elle n'est pas conçue.
Comme essayer de faire du jet-ski avec un tracteur. Le carnet de notes!! Et on commente le source quand on code. Irremplaçable.
Ce n'est pas une option.

Auteur :  sPOKE [ 07 Mars 2015, 04:30 ]
Sujet du message :  Re: Interview du créateur de DAMS!!

PSy a écrit :
Après étude approfondie, rétro-ingénierie sur mon propre code source
Alors ça c'est une excellente nouvelle!

PSy a écrit :
DAMS 1.0 (que j'ai pompé car je ne l'ai pas)
Quoi!!? Tu as téléchargé/pompé DAMS ? Pirate!!

PSy a écrit :
pour alléger DAMS d'une caractéristique non documentée qui ne servirait a personne.
Héhé, des caractéristiques non documentées dans DAMS... intéressant.

p.s: Je vais installer un émulateur CPC sur ma distro Linux pour voir d'où vient ce problème d'écriture sur disquette.

Auteur :  PSy [ 07 Mars 2015, 11:26 ]
Sujet du message :  Re: Interview du créateur de DAMS!!

AsT a écrit :
En tout cas, je vois que ça avance bien. Tu as l'air de reprendre ton code z80 avec aisance et pour ça bravo! Tu peux nous rappeler depuis quand tu n'avais pas codé en asm z80?
David.


Ca fait 29 ans que j'ai pas fait du Z80 et que j'ai pas touché DAMS ni un CPC. Autant dire que j'avais tout oublié.
Même DAMS, je ne me souvenais pas de l'utilisation, de l'éditeur qu'il faut quitter en faisant "entré" (dingue!), du désassembleur et du dump qu'il faut laisser une touche enfoncé pour que ca continue de lister! J'ai pas encore essayé la trace.

Le pire c'est le code source que je redécouvre, que je déchiffre, et qui m'impressionne tellement ca fait des trucs que je n'imaginais même plus. Et a force de creuser, des souvenirs finissent par remonter, c'est bien.

Je vais continuer à tout commenter petit a petit.

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