AMSTRAD GX4000 FORUM Index du Forum

AMSTRAD GX4000 FORUM


 FAQFAQ   RechercherRechercher   MembresMembres   GroupesGroupes   S’enregistrerS’enregistrer 
 ProfilProfil   Se connecter pour vérifier ses messages privésSe connecter pour vérifier ses messages privés   ConnexionConnexion 

Zasm est mort, vive Rasm!
Aller à la page: 1, 2, 3  >
 
Poster un nouveau sujet   Répondre au sujet    AMSTRAD GX4000 FORUM Index du Forum -> DIVERS -> Utility
Sujet précédent :: Sujet suivant  
Auteur Message
moudubou


Hors ligne

Inscrit le: 05 Avr 2013
Messages: 109
Localisation: Lugdunum

MessagePosté le: 2017-02-08, 14:58    Sujet du message: Zasm est mort, vive Rasm! Répondre en citant

Coucou les petits loups
Comme mes projets deviennent de plus en plus gros et que l'espoir que je caressais d'avoir une X-MEM un jour s'amenuise petit à petit
Il va bien falloir trouver une solution de secours à l'assembleur de Winape qui est, n'ayons pas peur des mots, d'une lenteur insupportable (sans compter la syntaxe maxam, les instructions non gérées, ...)
Du coup j'ai récupéré les sources de feu Zasm, mon vieil assembleur Z80
Il y avait deux ou trois choses à récupérer dedans, comme le principe d'un assemblage mono-passe


En quelques jours, j'ai ré-écrit un pré-processeur et un parser, les prémices des fonctions avancées sont posées, reste à refaire un analyseur d'expression et ça devrait pas mal dépoter. Ce n'est pas le plus facile qui reste, évidemment. Il faudra aussi ré-écrire tout l'encodage des instructions Z80, plus les instructions complexes que j'avais négligées dans la première version, vous savez, les conneries du style LD B,SLL(IX+0)


Vu qu'on est sur un forum GX4000, l'assembleur intégrera naturellement une génération de cartouche mais aussi des balises de compression pour manipuler le moins de fichiers possibles et éviter les étapes fastidieuses d'un environnement dédié.


Ainsi, on pourra avec un seul source avoir un bootstrap qui charge du code compressé (en claire dans le source), le décompresse et l'éxécute. Plus à avoir un source qu'on compile, qu'on compresse, qu'on recharge en binaire ou DB pour intégrer au source de bootstrap.


Voilà, si vous avez des souhaits, des idées, elles sont toujours les bienvenues.


Exemple de ce que je vous parle plus haut


BUILDCPR


BANK 0


ld hl,codecomp
ld de,#8000
call LZ48_decrunch
jp #8000


LZ48_decrunch
; blablabla la routine de décompression




codecomp
LZ48CRUNCH


; mon code à compresser en clair dans le source
nop
nop
nop
jr $


LZ48END
Revenir en haut
Publicité






MessagePosté le: 2017-02-08, 14:58    Sujet du message: Publicité

PublicitéSupprimer les publicités ?
Revenir en haut
GOB
Administrateur

Hors ligne

Inscrit le: 01 Avr 2013
Messages: 1 585

MessagePosté le: 2017-02-09, 20:33    Sujet du message: Zasm est mort, vive Rasm! Répondre en citant

Cool tout ca, j'attends tranquillement Smile

Toto a totalement laissé tomber le cpc ???
Revenir en haut
moudubou


Hors ligne

Inscrit le: 05 Avr 2013
Messages: 109
Localisation: Lugdunum

MessagePosté le: 2017-02-09, 21:47    Sujet du message: Zasm est mort, vive Rasm! Répondre en citant

GOB a écrit:
Cool tout ca, j'attends tranquillement Smile

Toto a totalement laissé tomber le cpc ???




Non mais il garde le silence avec tous les inconnus (dont je fais hélas partie)
Revenir en haut
GOB
Administrateur

Hors ligne

Inscrit le: 01 Avr 2013
Messages: 1 585

MessagePosté le: 2017-02-10, 20:32    Sujet du message: Zasm est mort, vive Rasm! Répondre en citant

Ah bon ^^ Marrant que tu sois un inconnu... Perso, a trop écouté ce que certains ont raconté comme conneries sur moi, il n'a toujours fait que m'agresser... Ça lui fera peut être ouvrir son esprit de se rendre compte de l'état d'esprit de la scène cpc... En tout cas c'est dommage de faire un tel silence radio plutôt que de réagir à ce qui c'est passé et au contraire se montrer plus présent pour emmerder le(s) con(s)...
Revenir en haut
moudubou


Hors ligne

Inscrit le: 05 Avr 2013
Messages: 109
Localisation: Lugdunum

MessagePosté le: 2017-02-13, 15:42    Sujet du message: Zasm est mort, vive Rasm! Répondre en citant

Un petit état d'avancement sur l'assembleur avant un gros ralentissement des devs


J'ai intégré ma petite librairie de calcul d'expressions en reprenant un truc que j'avais fait l'an dernier. Après quelques modifications pour gérer un dictionnaire de variables et labels, ça roule.


Le calcul d'expression sert à la fois aux affectations de variables et aux calculs de labels, avec une petite verrue pour le RST (la valeur du RST donne directement l'opcode)


Niveau instruction j'ai mis le minimum histoire de tester tous les engrenages: quelques LD, RST, DJNZ


La compression de zones de code est mise en place mais non testée, il faudra bien soigner tout ça car la compression d'une zone implique des modifications sur les labels antérieurs de la même bank


La génération du CPR est ok (en même temps y avait presque rien à faire)


J'arrête là pour cette semaine car sur les bonnes suggestions de Madram, il est contre-productif de perdre trop de temps sur les outils si le reste n'avance plus.


Je reprendrai donc le code un de ces soirs où on n'a pas envie de réfléchir, vu que parmi ce qui reste à faire, il y a l'ajout de toutes les autres instructions et que c'est vraiment du pissage de ligne bien gonflant.
Revenir en haut
GOB
Administrateur

Hors ligne

Inscrit le: 01 Avr 2013
Messages: 1 585

MessagePosté le: 2017-02-13, 20:19    Sujet du message: Zasm est mort, vive Rasm! Répondre en citant

Bon bein c'est déjà pas mal. De toute façon en attendant on continue à coder comme des porcs pis c'est tout ^^
Revenir en haut
moudubou


Hors ligne

Inscrit le: 05 Avr 2013
Messages: 109
Localisation: Lugdunum

MessagePosté le: 2017-02-15, 23:57    Sujet du message: Zasm est mort, vive Rasm! Répondre en citant

Bon ben j'avance grave rapidement
J'ai débroussaillé le calcul d'expression, les offsets relatifs, les instructions tordues
Me reste plus qu'une grosse vingtaine d'instructions à coder
Pis je me suis toujours pas penché sur les IF THEN ELSE
Revenir en haut
GOB
Administrateur

Hors ligne

Inscrit le: 01 Avr 2013
Messages: 1 585

MessagePosté le: 2017-02-16, 00:26    Sujet du message: Zasm est mort, vive Rasm! Répondre en citant

Ca pour une bonne nouvelle c'est une bonne nouvelle Smile
Revenir en haut
moudubou


Hors ligne

Inscrit le: 05 Avr 2013
Messages: 109
Localisation: Lugdunum

MessagePosté le: 2017-02-19, 00:41    Sujet du message: Zasm est mort, vive Rasm! Répondre en citant

première version fonctionnelle deux semaines après avoir commencé


j'ai pas encore testé le crunch dynamique mais pour assembler de façon classique, ça fonctionne et surtout c'est instantané


petits bugs windows corrigés pour la génération du CPR


manque que les instructions conditionnelles là


et sinon on peut se générer des tables en macro, fini le basic et les imports en DB, du moins pour les trucs simples


ang=0
repeat 256
defb 31*cos(ang)
ang=ang+360/256
rend
Revenir en haut
GOB
Administrateur

Hors ligne

Inscrit le: 01 Avr 2013
Messages: 1 585

MessagePosté le: 2017-02-19, 02:29    Sujet du message: Zasm est mort, vive Rasm! Répondre en citant

Putain cool Smile Même plus besoin de se faire chier en basic pour une table sinus alors Smile C'est tout bon !!!
Revenir en haut
moudubou


Hors ligne

Inscrit le: 05 Avr 2013
Messages: 109
Localisation: Lugdunum

MessagePosté le: 2017-02-19, 09:36    Sujet du message: Zasm est mort, vive Rasm! Répondre en citant

GOB a écrit:
Putain cool Smile Même plus besoin de se faire chier en basic pour une table sinus alors Smile C'est tout bon !!!


Oui, c'est surtout qu'on supprime des étapes intermédiaires!


Quand on tatonne sur une table, le gain de temps est appréciable
Revenir en haut
moudubou


Hors ligne

Inscrit le: 05 Avr 2013
Messages: 109
Localisation: Lugdunum

MessagePosté le: 2017-02-21, 14:31    Sujet du message: Zasm est mort, vive Rasm! Répondre en citant

discussions en cours avec Arnold pour supporter l'import des symboles


emails envoyés à Offset et Richard Wilson pour la même chose


À suivre Smile
Revenir en haut
GOB
Administrateur

Hors ligne

Inscrit le: 01 Avr 2013
Messages: 1 585

MessagePosté le: 2017-02-21, 15:14    Sujet du message: Zasm est mort, vive Rasm! Répondre en citant

Ah cool ca serait une superbe idée.
Kevin me disait justement que son emulateur supportait la sauvegarde des symboles. Faudrait juste qu'il améliore son debuggeur du coup pour au moins être au niveau de winape visuellement. Je lui ai justement envoyé un mail l'autre jour et ses réponses m'encouragent de plus en plus à migrer vers son émulateur et à mettre winape de coté. Vivement les prochaines version d'Arnold donc Smile
Revenir en haut
moudubou


Hors ligne

Inscrit le: 05 Avr 2013
Messages: 109
Localisation: Lugdunum

MessagePosté le: 2017-02-23, 00:42    Sujet du message: Zasm est mort, vive Rasm! Répondre en citant

Alors Arnold supporte plusieurs formats de symboles, je créé mon format plus complet mais j'ajoute un mode compatible Pasmo pour la forme


Winape gère aussi l'import des symboles (mais je n'ai pas trouvé la description du format, j'ai demandé à Richard). Il m'a aussi répondu que la beta3 qui sort bientôt n'aura pas de changement de ce point de vue là MAIS que la version beta4 a des améliorations de prévue pour le dev, en particulier pouvoir utiliser un assembleur externe.


Offset ne gère rien pour le moment car il n'est pas décidé sur quoi en faire mais il me dit que si mon assembleur est bon, ça pourrait faire un bon candidat à l'intégration, en attendant la version windows


Plein de bonnes nouvelles donc!
Revenir en haut
GOB
Administrateur

Hors ligne

Inscrit le: 01 Avr 2013
Messages: 1 585

MessagePosté le: 2017-02-23, 01:45    Sujet du message: Zasm est mort, vive Rasm! Répondre en citant

Wilson met à jour winape ??? Bordel il va tomber de la merde ^^
Revenir en haut
Contenu Sponsorisé






MessagePosté le: Aujourd’hui à 14:43    Sujet du message: Zasm est mort, vive Rasm!

Revenir en haut
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet    AMSTRAD GX4000 FORUM Index du Forum -> DIVERS -> Utility Toutes les heures sont au format GMT + 2 Heures
Aller à la page: 1, 2, 3  >
Page 1 sur 3

 
Sauter vers:  

Index | Panneau d’administration | créer un forum gratuit | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation
Powered by phpBB © 2001, 2005 phpBB Group
Traduction par : phpBB-fr.com