LhTools - Cross-Assembler/Desassembleur pour PC-1500

Ici, on fait dans le petit, le LCD qui déchire sa race, on y cause même calculatrices quand on est en manque !

Modérateur : Politburo

cgh
Fonctionne à 2400 bauds
Fonctionne à 2400 bauds
Messages : 2142
Enregistré le : 30 août 2011 12:23
Localisation : Vous êtes ici -> .

Re: LhTools - Cross-Assembler/Desassembleur pour PC-1500

Message par cgh »

Yo !

Les lhTools-0.7.2 sont maintenant disponibles sur le site de repaire.
La documentation est a jour. On peut telecharger le manuel des lhTools-0.7.2.pdf.
J'ai compile les executables pour Windows32 a l'aide des MinGW (lhTools-0.7.2-win32.zip). Par contre, ce n'est pas du tout teste.

En plus de la description du post precedent, j'ai corrige hier soir un truc que j'avais completement zappe. Lors de la creation d'un fragment ou d'un binaire BASIC, un marker de fin &FF est systematiquement ajoute. Le PC1500 etant tolerant, cela ne le genait pas (l'octet &FF est equivalent a un END), mais ca occupait un octet de plus pour rien.

Voila, maintenant, c'est parti pour le projet lhTools-0.8.0 que je vous presenterai bientot. Il s'agit d'un nouvau developpement pour les lhTools. Cela se fera certainement pendant les mois qui viennent. La "branche" 0.7.x devrait vivre encore un peu, car j'envisage deja un "backport" d'un exectuable venant du projet 0.8.0.

A bientot pour de nouvelles aventures...

Que le PC1500 soit avec vous !
Il y a ceux qui voient les choses telles qu'elles sont et se demandent pourquoi, et il y a ceux qui imaginent les choses telles qu'elles pourraient être et se disent... pourquoi pas? - George Bernard Shaw
J'adore parler de rien, c'est le seul domaine où j'ai de vagues connaissances ! - Oscar Wilde
Ce n'est pas parce que les choses sont difficiles que nous n'osons pas. C'est parce que nous n'osons pas que les choses sont difficiles. - Sénèque
cgh
Fonctionne à 2400 bauds
Fonctionne à 2400 bauds
Messages : 2142
Enregistré le : 30 août 2011 12:23
Localisation : Vous êtes ici -> .

Re: LhTools - Cross-Assembler/Desassembleur pour PC-1500

Message par cgh »

Une mise a jour des lhTools en 0.7.4 va bientot etre disponible. Un petit bug corrige dans la generation du header (option -Z) pour lhasm, et 2 nouveaux executables "backportes" du 0.8.0 :geek: .

Tout d'abord lhcom qui permet un transfert en emission ou reception d'un PC hote vers/de un PC1500 en utilisant l'inrterface serie CE-158. Cet utilitaire fonctionne AUSSI sous Windows32 8) Ce coup-ci, j'ai pu teste sous Fenetres :) ... lhcom supporte les transferts de programme BASIC, de programme/zone LM, memoire RESERVE. Cela devrait suivre pour les PRINT #. L'utilitaire "fabrique" les entetes si ceux-ci n'ont pas ete mis par lhasm. De meme, les entetes pourront etre supprimees lors de la reception.

Code : Tout sélectionner

Usage: ./lhcom [-h] [-v] [-d|-ddebug] [-dverbose]] [-m interface]
		[-Y {[line][=speed,size,parity,stopb]}]
		[-Z[header=type]] [-Z[start=addr]] [-Z[name=headername]] [-Z[entry=addr]]
		[-S symfile] binfile
where:
	-d|-debug	Show debug information
	-dverbose	Enable verbose mode
	-h		This help
	-m interface	Select the interface type
	   -m ce158	Use the CE158 serial interface setting and discipline
	   Only one -m ce... option may be given
	-F fragfile	Read fragments from <fragfile>
	-S symfile	Read symbols from <symfile>
	-Y line		Use <line> as serial device
	-Y =speed,size,parity,stopb	Set the serial settings
		with <speed>  : 75 100 110 200 300 600 1200 or 2400
		with <size>   : 5 6 7 or 8
		with <parity> : N E or O
		with <stopb>  : 1 or 2
	-Z		Add a CE158 CSAVE header
	-Zname=name	Set <name> as CSAVE header file name
	-Zstart=addr	Set <addr> as CSAVE header start base address
	-Zentry=addr	Set <addr> as CSAVE header startup routine
	-Zheader=type	Set <type> for CSAVE header magic
		with <type>   : CSAVE CSAVEM CSAVEr or PRINT
Et ensuite lhpoke qui "converti" en programme BASIC avec des POKE un fichier binaire. Utile par exemple pour donner un source binaire sur le forum. lhpoke a ete developpe pour "fabriquer" le source BASIC du compilateur BrainF*ck. Voir ici.

Code : Tout sélectionner

Usage: ./lhpoke [-h] [-v] [-x] [-xx] [-Z] [-O origin] [-A[A] appendline]
		[-B byteperline] [-L linenum] [-I lineincr] [-V varable]
		[-S symfile] [-o basfile] binfile
where:
	-h		This help
	-x		Values in POKE are in hexadecimal
	-xx		Values in POKE are in hexadecimal aligned
	-A appendline	Append <appendline> on the first line
	-AA appendline	Append a new line after the first with <appendline>
	-B byteperline	Write <byteperline> bytes on each line. Default 10
	-I lineincr	Use <lineincr> as line number increment. Default 10
	-L linenum	Use <linenum> as first line number. Default 10
	-O address	Use <address> as origin base address. Default &40C5
	-S symfile	Read symbols from <symfile>
	-V variable	Use <variable> as base address. Default A
	-Z		Expect and use a CE158 CSAVE header
	-o outfile	Output BASIC code into basfile (.bas)
A bientot pour de nouvelles aventures...
Il y a ceux qui voient les choses telles qu'elles sont et se demandent pourquoi, et il y a ceux qui imaginent les choses telles qu'elles pourraient être et se disent... pourquoi pas? - George Bernard Shaw
J'adore parler de rien, c'est le seul domaine où j'ai de vagues connaissances ! - Oscar Wilde
Ce n'est pas parce que les choses sont difficiles que nous n'osons pas. C'est parce que nous n'osons pas que les choses sont difficiles. - Sénèque
cgh
Fonctionne à 2400 bauds
Fonctionne à 2400 bauds
Messages : 2142
Enregistré le : 30 août 2011 12:23
Localisation : Vous êtes ici -> .

Re: LhTools - Cross-Assembler/Desassembleur pour PC-1500

Message par cgh »

Yo !

Les lhTools-0.7.4 sont maintenant disponibles sur le site de repaire.
La documentation est a jour. On peut telecharger le manuel des lhTools-0.7.4.pdf.
J'ai compile les executables pour Windows32 a l'aide des MinGW (lhTools-0.7.4-win32.zip). Par contre, ce n'est pas bien teste, sauf lhcom avec lequel j'ai pu jouer un peu.

Comme dit dans le post precedent, lhcom et lhpoke font leur entree.

A bientot pour de nouvelles aventures...

Que le PC1500 soit avec vous !
Il y a ceux qui voient les choses telles qu'elles sont et se demandent pourquoi, et il y a ceux qui imaginent les choses telles qu'elles pourraient être et se disent... pourquoi pas? - George Bernard Shaw
J'adore parler de rien, c'est le seul domaine où j'ai de vagues connaissances ! - Oscar Wilde
Ce n'est pas parce que les choses sont difficiles que nous n'osons pas. C'est parce que nous n'osons pas que les choses sont difficiles. - Sénèque
Avatar du membre
badaze
Fonctionne à 14400 bauds
Fonctionne à 14400 bauds
Messages : 8385
Enregistré le : 12 févr. 2007 18:36
Localisation : Pas très loin de Lyon
Contact :

Re: LhTools - Cross-Assembler/Desassembleur pour PC-1500

Message par badaze »

Plus ça va moins je comprends. :mrgreen:
Tout est bon dans le pocket.
Moi j'aime tout.... Casio, HP, Sharp, TI et les autres sauf que les TI semblent ne pas m'aimer :(
http://www.emmella.fr
Mes Casio - HP - Sharp - TI
Homme invisible.
cgh
Fonctionne à 2400 bauds
Fonctionne à 2400 bauds
Messages : 2142
Enregistré le : 30 août 2011 12:23
Localisation : Vous êtes ici -> .

Re: LhTools - Cross-Assembler/Desassembleur pour PC-1500

Message par cgh »

cgh a écrit :Yo !

Les lhTools-0.7.4 sont maintenant disponibles sur le site de repaire.
La documentation est a jour. On peut telecharger le manuel des lhTools-0.7.4.pdf.
J'ai compile les executables pour Windows32 a l'aide des MinGW (lhTools-0.7.4-win32.zip). Par contre, ce n'est pas bien teste, sauf lhcom avec lequel j'ai pu jouer un peu.

Comme dit dans le post precedent, lhcom et lhpoke font leur entree.

A bientot pour de nouvelles aventures...

Que le PC1500 soit avec vous !
En construisant les binaires multi-modules de mtask2015, je viens de tomber sur un plomb dans la generation de code avec des alignements negatifs. C'est quoi ? C'est un alignement sur une frontiere, avec une substraction d'un offset. J'utilise souvent cette "mecanique" pour stocker ma checksum. Et puis cela permet aussi d'avoir un binaire finissant sur une adresse alignee ;)
Exemple:

Code : Tout sélectionner

        .ALIGN: 1000 -03
        .CODE
        .CHECKSUM       +(A7)
Cela va donc "aligner" le code sur &t000 puis retrancher 3. Nous serons donc sur &sFFD. Et l'instruction en &sFFD sera un

Code : Tout sélectionner

        CPA        (&cccc)
avec &cccc la checksum du code. Ceci me permet de verifier l'integrite du logiciel, en recalculant la checksum. MACBAS inclut d'ailleurs cette facilite dans son driver clavier avec DEF+OFF.
Ne rigolez pas, mais cela m'a deja permis de chercher des pointeurs fous ou des ecrasements de code.
Je regarde comment corriger dans lhasm.
Il y a ceux qui voient les choses telles qu'elles sont et se demandent pourquoi, et il y a ceux qui imaginent les choses telles qu'elles pourraient être et se disent... pourquoi pas? - George Bernard Shaw
J'adore parler de rien, c'est le seul domaine où j'ai de vagues connaissances ! - Oscar Wilde
Ce n'est pas parce que les choses sont difficiles que nous n'osons pas. C'est parce que nous n'osons pas que les choses sont difficiles. - Sénèque
cgh
Fonctionne à 2400 bauds
Fonctionne à 2400 bauds
Messages : 2142
Enregistré le : 30 août 2011 12:23
Localisation : Vous êtes ici -> .

Re: LhTools - Cross-Assembler/Desassembleur pour PC-1500

Message par cgh »

Yo !

Les lhTools-0.7.4p1 sont maintenant disponibles sur le site de repaire.
La documentation est a jour. On peut telecharger le manuel des lhTools-0.7.4.pdf.
J'ai compile les executables pour Windows32 a l'aide des MinGW (lhTools-0.7.4p1-win32.zip).

Ce patch (p1) corrige deux plombs trouves recemment:
1/ Les alignements negatifs dont je parle dans le post precedent,
2/ La "macro" SBR (&34),n,val0,jump0,val1,jump1... etait mal desassemblee par lhdump.

Que le PC1500 soit avec vous !
Il y a ceux qui voient les choses telles qu'elles sont et se demandent pourquoi, et il y a ceux qui imaginent les choses telles qu'elles pourraient être et se disent... pourquoi pas? - George Bernard Shaw
J'adore parler de rien, c'est le seul domaine où j'ai de vagues connaissances ! - Oscar Wilde
Ce n'est pas parce que les choses sont difficiles que nous n'osons pas. C'est parce que nous n'osons pas que les choses sont difficiles. - Sénèque
cgh
Fonctionne à 2400 bauds
Fonctionne à 2400 bauds
Messages : 2142
Enregistré le : 30 août 2011 12:23
Localisation : Vous êtes ici -> .

Re: LhTools - Cross-Assembler/Desassembleur pour PC-1500

Message par cgh »

Voila, les lhTools-0.7.5 sont disponibles sur le site de repaire.
La documentation est a jour. On peut telecharger le manuel des lhTools-0.7.5.pdf.
J'ai compile les executables pour Windows32 a l'aide des MinGW (lhTools-0.7.5-win32.zip). Comme toujours, ces executables ne sont pas testes.

Cette version corrige la limitation à 100 arguments remontee par caloubugs. On peut maintenant avoir 340 arguments sur une ligne et si ca depasse une erreur est levee.

De plus,
1/ J'ai ajoute .TIMESTAMP et .DATESTAMP qui permettent de dater un assemblage,
2/ La directive .CHECKSUM a ete amelioree (j'en ai besoin pour BASFILE),
3/ Il y a avait une erreur de calcul sur BCDOF' pour des donnees 16 bits,
4/ Enfin, quelles coquilles dans le manuel ont ete corrigees.

Que le PC1500 soit avec vous !
Il y a ceux qui voient les choses telles qu'elles sont et se demandent pourquoi, et il y a ceux qui imaginent les choses telles qu'elles pourraient être et se disent... pourquoi pas? - George Bernard Shaw
J'adore parler de rien, c'est le seul domaine où j'ai de vagues connaissances ! - Oscar Wilde
Ce n'est pas parce que les choses sont difficiles que nous n'osons pas. C'est parce que nous n'osons pas que les choses sont difficiles. - Sénèque
Avatar du membre
repaire
Fonctionne à 75 bauds
Fonctionne à 75 bauds
Messages : 30
Enregistré le : 02 sept. 2012 09:21
Contact :

Re: LhTools - Cross-Assembler/Desassembleur pour PC-1500

Message par repaire »

CGH's lhTools 1992-2015: 23 ans d'upgrades! Qui dit mieux ? :)
cgh
Fonctionne à 2400 bauds
Fonctionne à 2400 bauds
Messages : 2142
Enregistré le : 30 août 2011 12:23
Localisation : Vous êtes ici -> .

Re: LhTools - Cross-Assembler/Desassembleur pour PC-1500

Message par cgh »

repaire a écrit :CGH's lhTools 1992-2015: 23 ans d'upgrades! Qui dit mieux ? :)
He, he,
La premiere version de mai 1992, qui s'appelait "lhtool" et ne comprenait que lhdump et lhbin, a ete developpee sous Minix 1.5.10. C'etait un OS du 16 bits, donc vite limite en taille.
Le portage sous Linux, FreeBSD, NetBSD, a ete entrepris plus tard dans les annees 1995-1998.
La premiere diffusion "publique" grace au site de repaire fut en 2012.
Depuis, les lhTools (avec un T) ont pris de l'embonpoint:
  • lhasm est arrive en decembre 2013, pour la diffusion et le depoussierage de MMPS,
  • lhcom et lhpoke se sont incrustes cette annee avec MTASK2015 et MACBAS2014,
  • La prochaine "grosse" diffusion sera avec lhexec, un executeur de code LH, mais aussi un emulateur avec son debugger integre. Il y a eu une petite demo lors des pocketicaires d'octobre. C'est en cours de developpement, mais je n'ai pas beaucoup de temps a y consacrer en ce moment.
A suivre...
Il y a ceux qui voient les choses telles qu'elles sont et se demandent pourquoi, et il y a ceux qui imaginent les choses telles qu'elles pourraient être et se disent... pourquoi pas? - George Bernard Shaw
J'adore parler de rien, c'est le seul domaine où j'ai de vagues connaissances ! - Oscar Wilde
Ce n'est pas parce que les choses sont difficiles que nous n'osons pas. C'est parce que nous n'osons pas que les choses sont difficiles. - Sénèque
caloubugs
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 434
Enregistré le : 05 juin 2014 22:23
Localisation : Dans le Gâtinais avec les abeilles, près de Fontainebleau

Re: LhTools - Cross-Assembler/Desassembleur pour PC-1500

Message par caloubugs »

Quel boulot ! Merci cgh...
RetroGeek, mais pas que...
HP : 15C, 41CV, 48GX, 71B, 75C Canon X-07 Sharp PC 1403H, PC1500A, PC1600, PC-G850V Texas : CC40, 66, 74, 95, 92 Casio : PB-700, PB-1000, Z-1GR Psion 5mx, mais pas que...
cgh
Fonctionne à 2400 bauds
Fonctionne à 2400 bauds
Messages : 2142
Enregistré le : 30 août 2011 12:23
Localisation : Vous êtes ici -> .

Re: LhTools - Cross-Assembler/Desassembleur pour PC-1500

Message par cgh »

Merci caloubugs.

Ce sont ceux qui les utilisent qui font vivre ces outils.
Et ce sont vos critiques, vos remarques, vos suggestions (et mes idees aussi quand meme :geek:) qui les font evoluer.
Il y a ceux qui voient les choses telles qu'elles sont et se demandent pourquoi, et il y a ceux qui imaginent les choses telles qu'elles pourraient être et se disent... pourquoi pas? - George Bernard Shaw
J'adore parler de rien, c'est le seul domaine où j'ai de vagues connaissances ! - Oscar Wilde
Ce n'est pas parce que les choses sont difficiles que nous n'osons pas. C'est parce que nous n'osons pas que les choses sont difficiles. - Sénèque
cgh
Fonctionne à 2400 bauds
Fonctionne à 2400 bauds
Messages : 2142
Enregistré le : 30 août 2011 12:23
Localisation : Vous êtes ici -> .

Re: LhTools - Cross-Assembler/Desassembleur pour PC-1500

Message par cgh »

Hello :)

Une petite mise a jour des lhTools (0.7.6p1). Hmmm un test mal foutu qui rendait aleatoir l'assemblage des if ... else ... endif/begin ... while ... repeat/begin ... until avec la condtion NC 8)
Il y a ceux qui voient les choses telles qu'elles sont et se demandent pourquoi, et il y a ceux qui imaginent les choses telles qu'elles pourraient être et se disent... pourquoi pas? - George Bernard Shaw
J'adore parler de rien, c'est le seul domaine où j'ai de vagues connaissances ! - Oscar Wilde
Ce n'est pas parce que les choses sont difficiles que nous n'osons pas. C'est parce que nous n'osons pas que les choses sont difficiles. - Sénèque
cgh
Fonctionne à 2400 bauds
Fonctionne à 2400 bauds
Messages : 2142
Enregistré le : 30 août 2011 12:23
Localisation : Vous êtes ici -> .

Re: LhTools - Cross-Assembler/Desassembleur pour PC-1500

Message par cgh »

Yo amis des poquettes et collegues sharpistes,

Une petite mise a jour des lhTools en 0.7.7 avec la correction de l'inversion des code ML entre SPV et RPV.

Il y aura bientot une mise a jour suite aux differentes issues reportees par kuzja: see the thread here. Merci a kuzja pour tous ses retours :)

Que le PC1500 soit avec vous !
Il y a ceux qui voient les choses telles qu'elles sont et se demandent pourquoi, et il y a ceux qui imaginent les choses telles qu'elles pourraient être et se disent... pourquoi pas? - George Bernard Shaw
J'adore parler de rien, c'est le seul domaine où j'ai de vagues connaissances ! - Oscar Wilde
Ce n'est pas parce que les choses sont difficiles que nous n'osons pas. C'est parce que nous n'osons pas que les choses sont difficiles. - Sénèque
cgh
Fonctionne à 2400 bauds
Fonctionne à 2400 bauds
Messages : 2142
Enregistré le : 30 août 2011 12:23
Localisation : Vous êtes ici -> .

Re: LhTools - Cross-Assembler/Desassembleur pour PC-1500

Message par cgh »

Hello amis des poquettes et collegues sharpistes,

Une mise a jour des lhTools en 0.7.8 avec la correction de toutes les issues remontees par kuzja (sauf celles concernant la documention)

Que le PC1500 soit avec vous !
Il y a ceux qui voient les choses telles qu'elles sont et se demandent pourquoi, et il y a ceux qui imaginent les choses telles qu'elles pourraient être et se disent... pourquoi pas? - George Bernard Shaw
J'adore parler de rien, c'est le seul domaine où j'ai de vagues connaissances ! - Oscar Wilde
Ce n'est pas parce que les choses sont difficiles que nous n'osons pas. C'est parce que nous n'osons pas que les choses sont difficiles. - Sénèque
Répondre

Retourner vers « Tous les Pockets »