Inscription : 20 Août 2007, 18:21 Message(s) : 5022
sPOKE a écrit :
TotO a écrit :
il serait sympa que les personnes ... listent ci-dessous les productions qui en sont le fruit pour qu'il puisse en prendre connaissance. Ce serait un juste retour des choses !
Salut TotO, excellente suggestion!
je pense qu'a peu près 99% de ce qui est sortie en démo de 1988 aux années 2000
Toutes mes démos ont été programmées sur dams à partir de only for your eyes 2... Les premieres avaient ete programmées avec le hacker. Je me souviens qu'à l'epoque je me faisais chhhiii**** à chercher les opcodes des instructions z80... Mais dès que j'ai eu Dams, j'ai pu enfin laisser libre choix à mon imagination... Et tout devint possible. Pour rappel, synergy, rst#38, ont été aussi codées avec dams.
Edit : je pourrais ajouter des projets plus ambitieux comme Mario+ et Beast+ qui eux aussi sont programmés grace a Dams.
iMPdraw, lui est programmé sous winape. Pas de cpc dispo ici, donc je fais avec.
Inscription : 12 Juin 2008, 20:29 Message(s) : 1715
@sPOKE : bravo pour cette initiative qui me rappelle des bons souvenirs (enfin avec DAMS en RAM supplémentaire car on avait souvent des bugs avec des resets de CPCS !!!) !!!
DAMS était simple et efficace, le plus dur était de connaître au départ (et de comprendre) toute les commandes... après coder avec s'était la découverte du cpc (z80, GA, CRTC, AY, etc.) car l'interface était très efficace !
En tout cas, disposer des sources, pourrait nous permettre de le faire évoluer sur CPC et même d'en faire une version autre pour le cross développement (ex : compilateur sous windows/linux ou en html5/javascript pour n'importe qu'elle plateforme) !
Bravo donc à son auteur, car de mémoire, il plantait pas souvent dans son utilisation !
Je l'interrogerai bien sur cette question : à l'époque quelles ont été ces sources d'inspiration (datasheet du z80 ?) pour la partie compilateur z80 !?
Pour les prods conçues avec DAMS, tu peux aussi le renvoyer vers l'intégralité des prods Overlanders & Vanity, soit en vrac : Ecole Buissionnière, From Scratch, Tire au Flan, Moody, Croco Chanel Demo, Still Rising, etc. Je pense que très peu de personnes actives utilisent encore DAMS. Il y avait Madram, Toms, moi... et ? Mais nous sommes tous les 3 sous Orgams maintenant ! Mais il y a aussi tous les "anonymes" qui codent en silence
En ce qui concerne les modifications apportées : 1. Sa mise en ROM (mais il n'était pas patché pour tourner en ROM (travail titanesque), simplement pour y être stocké et être transvasé en RAM via une RSX), voir ROM "Dams OvL!" [Madram], 2. Un petit patch pour ne plus avoir de plantage avec la touche ESC [Madram], 3. Une fonction supplémentaire pour sauvegarder le source et les variables en bank supplémentaire (hors des 128k) afin de pouvoir utiliser toute la RAM librement (RSX "ùstore" de la ROM "Dams OvL!") [Madram], 4. Un petit patch de la commande "p2" qui ne pouvait pas sauvegarder les binaires quand DAMS était exécuté en bas de mémoire (#0000-#3FFF), via un simple POKE [Longshot & Horos, discussion à retourver sur CPC Rulez].
Et peut être d'autres que je ne connais pas. - Question historique : comment se situait DAMS à sa sortie par rapport aux autres assembleurs existants, sur bécane à base de Z80 (en particulier ZX) ? Car sur CPC il n'a eu aucun concurrent sérieux à part MAXAM avant longtemps. - Question à la con : que pense-t-il de MAXAM ?
@sPOKE : bravo pour cette initiative qui me rappelle des bons souvenirs (enfin avec DAMS en RAM supplémentaire car on avait souvent des bugs avec des resets de CPCS !!!) !!!
DAMS est mythique pour moi, au même titre que Discology. Je suis bluffé d'avoir reçu la 1.1 en avant-première!! Un rêve de gosse pour moi qui utilisait déjà DAMS en 1985-86. Donc tant mieux si ce partage fait plaisir à d'autres Amstradiens, c'est le but.
Megachur a écrit :
En tout cas, disposer des sources, pourrait nous permettre de le faire évoluer sur CPC
J'en ai parlé à Pascal Séguy et ça lui ferait evidemment très plaisir de voir la communauté améliorer/faire évoluer DAMS! DAMS 1.2 ? 1.3 ?
Megachur a écrit :
Bravo donc à son auteur, car de mémoire, il plantait pas souvent dans son utilisation !
Il te lit je pense...
Megachur a écrit :
Je l'interrogerais bien sur cette question : à l'époque quelles ont été ces sources d'inspiration (datasheet du z80 ?) pour la partie compilateur z80 !?
J'ajoute ta question à la liste. Si tu en as d'autres, ici ou par MP, n'hésite pas.
Esperons qu'on puisse l'ameliorer, mais je n'en doute pas. Avec le code source, ça devrait permettre une bien belle évolution... J'ajouterai bien des options comme la compilation des données n'importe où en mémoire (bank inclus, 512k, y'aura de quoi faire...)
En ce qui concerne les modifications apportées : 1. Sa mise en ROM (mais il n'était pas patché pour tourner en ROM (travail titanesque), simplement pour y être stocké et être transvasé en RAM via une RSX), voir ROM "Dams OvL!" [Madram], 2. Un petit patch pour ne plus avoir de plantage avec la touche ESC [Madram], 3. Une fonction supplémentaire pour sauvegarder le source et les variables en bank supplémentaire (hors des 128k) afin de pouvoir utiliser toute la RAM librement (RSX "ùstore" de la ROM "Dams OvL!") [Madram], 4. Un petit patch de la commande "p2" qui ne pouvait pas sauvegarder les binaires quand DAMS était exécuté en bas de mémoire (#0000-#3FFF), via un simple POKE [Longshot & Horos, discussion à retrouver sur CPC Rulez]. Et peut être d'autres que je ne connais pas.
5. Tu peux ajouter mon Hack de DAMS pouvoir faire Wnn+#16D4,#A700 directement sous DAMS, comme tu le souhaitais :
Hicks a écrit :
Ô Longshot, Ô Horos, je m'incline devant votre grandeur ! Fonction p2 de DAMS patchée en 2 pokes, c'est du bon boulot. Le top aurait été de pouvoir faire un Wnn+#16D4,#A700 directement sous DAMS, mais il ne tolère aucun poke dans sa zone de travail pour éviter les mésaventures/plantages.
- Question historique : Comment se situait DAMS à sa sortie par rapport aux autres assembleurs existants, sur bécane à base de Z80 (en particulier ZX) ? Car sur CPC il n'a eu aucun concurrent sérieux à part MAXAM avant longtemps. - Question à la con : que pense-t-il de MAXAM ?
Inscription : 28 Août 2008, 23:41 Message(s) : 261
Bravo et MERCI à Pascal Séguy pour la création de cet outil, et surtout de l'avoir fait aussi tôt par rapport à la sortie du Cpc. J'avais bossé sur Oric et un outil similaire avait fini par arriver, mais assez tardivement (2 ans)
Ce qui m'avait frappé et impressionné par rapport à sa vitesse de parution et ses fonctions, c'est la quasi-absence de bug (le seul était le "Esc" fatal, facilement contournable avec une ligne basic dans le lanceur) Beaucoup d'instructions semblaient être le fruit d'une expérience des problèmes de développement de l'époque (ram limitée, optimiser la vitesse d'assemblage, outils (calculatrice, conversions,...))
La possibilité d'assembler soit en mémoire, soit sur disque pour les gros programmes donnait la souplesse maximum possible. Tout comme la capacité d'assembler dans la mémoire libre du code prévu pour une autre adresse. La capacité du programme à s'auto-reloger était très novatrice à l'époque (je n'ai pas vu beaucoup de programmes le faire sur cpc) Le système de trace était également très abouti Bref, j'étais face à un outil que la plupart des informaticiens du monde "professionnel" n'auraient même pas imaginé en rêve.
Si interview il y a et que Pascal nous lit : Comment avez vous défini une partie des fonctionnalités qui sont hors-normes par rapport aux outils de l'époque ? Est ce le fruit d'une expérience sur d'autres outils similaires et/ou le résultat de besoins personnels pour développer sur ces plateformes ? Quelles étaient vos expériences en développement avant ce projet ? Avez vous écrit autre chose pour Cpc ou un autre micro de cette génération ? Avec quel outil Dams a-t-il été écrit ? Aviez vous conscience de l'impact de cet outil sur le développement ? Avez vous suivi le phénomène du demo-making, qui est venu très tardivement sur Cpc ?
Le système de trace contenait 2 modes principaux d'interprétation si je me souviens bien... Je suppose que ce mode devait fonctionner en "isolant" les instructions non sensibles ("branchement", "interruptions") et en exécutant ces instructions une à une par le Z80A, pour laisser ce dernier positionner ses flags et registres lui-même. (j'ai toujours eu du mal à croire qu'il y a un émulateur de Z80A écrit en Z80A dans Dams). La simulation de "LD A,R" faisait sans doute partie des instructions en "bac à sable", ce qui explique pourquoi le résultat est faux. (puisque R évolue sur le cpc en fonction du nombre d'octets d'opcodes (hors données) rencontré) Heureusement d'ailleurs pour les éditeurs, car cela aurait permis de faire sauter la quasi totalité des protections de l'époque, à commencer par toutes les protections "speedlock" (J'avoue avoir été très souvent tenté dans mes premières années de modifier "Dams" pour corriger la simulation de cette instruction, mais ou aurait été le sport ensuite et l'apprentissage qui en a découlé ) Bref, avez vous eu des demandes pour corriger "LD A,R" , ou inversement, est ce que c'était un choix volontaire ou induit par l'éditeur ?
Les petits trucs qui ont manqué ? (mais on ne vous en veut (vraiment) pas ) - Pouvoir choisir l'adresse de chargement de dams était une bonne idée, mais une option permettant de le faire en 2 temps aurait permis de loger dams plus bas, car le basic ne peut pas charger trop bas. Un nouveau lanceur permettait de le faire. - Cela amène ensuite au rêve que dams puisse s'affranchir complètement du système pour pouvoir se charger n'importe où (et donc dans la zone après #A700), et même en #C000 moyennant le choix d'une autre page pour l'écran, voir même en rom.... - La gestion de certaines instructions "cachées".
Pour ma part et pour l'anecdote, dams a été le premier programme que j'ai rangé dans les 64k supplémentaires du 6128 tellement c'était devenu mon soft de chevet. En effet, lors d'un reset, les roms du cpc ne réinitialisaient pas entièrement la ram (par exemple en BF00...) ni la ram additionnelle. Du coup, il suffisait de placer quelques instructions en BF00 pour commuter la ram additionnelle et récupérer dams en cas de plantage.
Voilà l'interview promise!! (Pardon pour la mise en forme, j'arrangerai cela plus tard. J'ai posté les réponses que j'ai)
sPOKE : Bonjour Pascal. J'ai testé et lancé DAMS 1.1 : Il fonctionne impec, avec le nouveau curseur.
Pascal Séguy : Bonjour Mr sPoke ;-) Géant, c'est une résurrection! ;-) Je suis le seul a avoir ce .bin et il n'a pas tourné depuis quasi 30 ans!
sPOKE : Comment cette version a t-elle survécu ?
Pascal : En 1999, alors que je n'avais plus touché un CPC depuis 1986, je suis tombé sur un lecteur de disquette Amstrad fonctionnel, que d'après un article sur le net j'ai pu connecter à un PC et récupérer les sources de DAMS et autre travaux. Sans cela, la disquette (que j'ai probablement jeté) serait peut-être illisible maintenant ou perdue, et tout cela serait définitivement perdu.
sPOKE : Merci pour la notice 1.1 : je l'ai lue sous CP/M 3.1 avec la commande "Type" ;-)
Pascal : C'était de rigueur ;-)
MacDeath26: Comment avez-vous découvert l'informatique ? Sur un ZX-81 ?
Pascal : Oui, sur un ZX-81, mais je n'en ai jamais eu en fait. J'ai découvert la micro informatique comme tout le monde au début des années 80 avec le ZX 81 de mon pote Jean qui m'a communiqué sa passion, puis je me suis acheté un ZX spectrum en 1984. J'ai joué, fait quelques petit programmes en Basic, puis en assembleur, puis la curiosité m'a poussée à étudier divers sujets comme la rom du Spectrum et les protections des softs du commerce.
Longshot , hERMOL : Avec quel outil Dams a-t-il été écrit ? Adaptation ZX --> CPC ?
Pascal : Je l'ai intégralement fait sur zx spectrum. Micro App n'a voulu le commercialiser que sur Amstrad, ils m'ont passé un CPC a cassettes (464?) et je l'ai porté dessus (un peu a l'arrache je dois dire).Sur Spectrum c'est le même que la version publiée sur Amstrad. Ensuite j'ai abandonné le Spectrum.
Longshot : Comment avez vous défini une partie des fonctionnalités qui sont hors-normes par rapport aux outils de l'époque ? Est ce le fruit d'une expérience sur d'autres outils similaires et/ou le résultat de besoins personnels pour développer sur ces plateformes ?Quelles étaient vos expériences en développement avant ce projet ?
Pascal : J'étais un amateur de micro informatique comme tout le monde qui découvrait cela a ses débuts. Je suis allé plus loin, une âme de hacker sûrement. A force de voir comment étaient plombé les softs sur Spectrum, je suis tombé sur un cas ou le code désassemblé par le désassembleur que j'avais a l'époque (dont j'ai oublié le nom) était incohérent. J'ai compris que les codeurs de la protection avaient utilisé des préfixes pour les registre IX/IY je crois devant des instructions qui n'étaient pas sensé fonctionner avec, et ca faisait qq chose qui servait a la protection. En tout cas ca brouillait bien les pistes. Faut que je retrouve précisément. De la colère j'avais fait mon désassembleur qui reconnaît ces opcodes cachés, ma trace pour faire aisément du pas à pas dans les soft des autres, et à y être, j'ai fait l'assembleur et l'éditeur.
hERMOL : Comment avez-vous eu l'idée de créer DAMS ?
Pascal : Rapidement, en étudiant une protection (je ne me souviens plus du soft) je suis tombé sur du code incohérent que le désassembleur que j'utilisais et dont j'ai oublié le nom ne savait pas décoder. Il s'agissait d'instruction normales mais préfixées mais dont je n'avais pas de doc, et qui avaient une action. J'ai décidé de faire un désassembleur qui savait décoder ces instructions (faut que je retrouve lesquelles). Le débuggeur avec mode trace est un vieux truc dont je rêvais d'avoir, donc je l'ai fait avec plaisir. Il ne restait plus qu'a faire l'assembleur et l'éditeur pour avoir l'outil de "travail" de mes rêves, je l'ai fait le soir à temps perdu, après mon année d'armée.
Markerror : Comment avez-vous procédé pour faire éditer DAMS ? (et pourquoi Micro Application) ?
Pascal : alors que je ne m'orientais pas du tout vers une carrière dans l'informatique. Puis c'est mon pote Bernard à qui j'ai montré mes travaux qui m'a convaincu de commercialiser le produit, et m'a aidé en 1985 à faire la tourné des éditeurs à Paris. Micro Application a dit OK pour un produit sur Amstrad CPC. J'ai donc effectué le portage et une paire de mois après je présentais DAMS au Sicob de 1985 sur le stand de Micro-Application, chez qui je suis resté travailler par la suite.
Horos : La conception de DAMS vous a t-elle apporté une aide pour votre carrière ?
Pascal : Absolument, grace à DAMS, par un heureux hasard je dirais, j'ai fait carrière dans l'informatique
MacDeath26 : - Avez-vous conçu d'autres logiciel pour CPC ?
Pascal : Oui, le plus abouti est un émulateur vidéotex à usage perso, que j'ai fait tout en améliorant DAMS pour mes besoins, (DAMS 1.1 qui n'a jamais été distribué). Et un jeu de chenille je crois mais faut que je fasse des recherches. J'ai moi même continuer à l'utiliser un peu par la suite mais suis rapidement passé au C sur IBM PC et Atari ST et leurs assembleurs respectifs. J'ai pas refait de Z80 depuis, je me souviens qu'il y a un registre HL et une instruction EXX il me semble.
Markerror : DAMS a t-il été un succès commercial ? nombre d'exemplaires vendus ?
Pascal : Oui à mon étonnement, du moins au delà de mes espérances. Il s'est vendu dans les 3000 copies sur les 3 premières années.
Markerror : pourquoi la version 1.1 n'est pas sortie (le soft a me semble t'il été vendu sur une période assez longue quand même, non ?
Pascal : Micro-Application a édité mon Soft, et en plus m'a embauché dans la foulée. Puis pris dans la spirale je n'ai plus eu le temps et j'ai oublié.
sPOKE : Avez-vous la nostalgie de la programmation en Langage Machine sur ordi 8 bits ?
Pascal : J'ai la nostalgie du passé. Autant j'ai tout oublié de DAMS, autant j'ai envie d'y replonger dedans, ne serait-ce que pour me remémorer mon état d'esprit de l'époque et remonter dans le temps en quelque sorte. Je vais essayer de le commenter, car malheureusement, ayant été développé sur Spectrum, j'avais économisé la place jusqu'a ne pas mettre de commentaire, et j'ai vraiment du mal a m'y retrouver dans les 6000 lignes de code!
J'ai eu le vertige en visualisant cette quantité de code non commenté (économie de ram car j'avais développé DAMS sur Sinclair Spectrum 48Ko). Je vais essayer de commenter le source aussi, j'avoue que je vais en baver mais je vais bien rigoler aussi ;-) Je vais voir sous quelle condition et forme publier les sources de DAMS afin qu'il puisse évoluer par sa communauté d'utilisateurs éclairés sans avoir à le hacker! Je le mettrai sur github je pense une fois que j'aurai fait une première passe de commentaires, ainsi vous pourrez m'aider, avec plaisir!
sPOKE : Ca vous étonne quand vous lisez les discussions sur DAMS, qui a été utilisé pendant 30 ans et encore par certains aujourd'hui ?
Pascal : Oui je suis vraiment halluciné par cette activité dont je ne me doutait pas autour du CPC et bien-sûr de DAMS!!
Un grand bravo à tous pour votre engouement et dynamisme pour la cause CPC!
Dernière édition par sPOKE le 15 Fév 2015, 17:55, édité 7 fois.
Inscription : 28 Août 2008, 23:41 Message(s) : 261
Merci pour les réponses.
La question sur "LD A,R" est peut-être un peu prématurée si il ne reste que EXX et HL Mais c'est un peu comme le vélo, ça revient vite.
Par contre, ma question concernant la réalisation était relative à l'outil et non la plateforme. Information qui par ailleurs avait été donnée avant l'interview. Dams n'ayant pas été écrit avec Dams, je suppose que le source est en ascii et qu'il devait bien être assemblé par quelque chose, fut ce sur spectrum... Et si le source a été porté (saisi ?) sur Cpc, quel était l'outil que Pascal a utilisé ? J'imagine qu'il doit être possible de porter le source de dams sous dams... Je crois qu'il existe un outil pour le faire dans le sens "dams vers ascii" , mais je ne me rappelle plus si l'inverse existe.
3000 copies vendues, c'est peu au regard du travail effectué je pense, et surtout du nombre réel de personnes qui l'ont utilisé. Je ne crois pas me souvenir que la version commerciale fut protégée en quelque manière.
Utilisateur(s) parcourant ce forum : Aucun utilisateur inscrit et 30 invité(s)
Vous ne pouvez pas publier de nouveaux sujets dans ce forum Vous ne pouvez pas répondre aux sujets dans ce forum Vous ne pouvez pas éditer vos messages dans ce forum Vous ne pouvez pas supprimer vos messages dans ce forum Vous ne pouvez pas insérer de pièces jointes dans ce forum