Utilitaires 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

Répondre
cgh
Fonctionne à 2400 bauds
Fonctionne à 2400 bauds
Messages : 2288
Inscription : 30 août 2011 12:23
Localisation : Vous êtes ici -> .

Utilitaires pour PC-1500

Message par cgh » 01 nov. 2012 11:57

Bon, devant le succès actuel du PC-1500, et la pluie de CE-163 sur la France, j'ai commencé à reprendre le ménage de mes dizaines de programmes LM (assembleur, moniteur, débuggueur, multitâche, OS multiprocess, etc...). Comme ce sont tous des gros trucs (~8K), avec les CE-163, ce sera parfait ;-). Par contre, il va vraiment falloir que j'écrive une documentation. Même moi, je ne sais plus m'en servir :-( :oops:

J'ai aussi repris le développement de ma boite à outils lhTools. J'ai corrigé un bug. Je fais une petite documentation et je le diffuse :geek: (je ne veux pas m'avancer, mais je vais essayer de le faire ce week-end). C'est vieux, j'ai commencé son développement en 1992, puis repris un peu en 2005... et maintenant en 2012 !

lhdump travaille sur les binaires purs après passage à la "moulinette" wav2bin. Et il décompile le BASIC, désassemble, et tout, et tout. Les sources sont pour le monde Unix, mais le passage sous Win ne devrait pas poser de problèmes particuliers.

Un apercu du help:

Code : Tout sélectionner

bash-4.2$ ./lhdump -v -h
lhTools Version 0.2 #0
        Compiled (cgh@varvotier.cghnet.cgh) Thu Nov 1 10:42:26 CET 2012
Copyright 1992-2012 cgh

bash-4.2$ ./lhdump -h   
Usage: ./lhdump [-h] [-v] [{-s|-d}] [-a] [-g] [-D:<dis>] [-C[=addr]] [-O addr]
		[-F infile] [-K infile] [-S infile] [fragment, ...]
		[-o outfile] infile
where:
	-h		This help
	-v		Show version and exit
	-d		Produce listing file; This is the default
	-s		Produce source file; exclusive with -d
	-a		BYTE fragments are printed in HEX and ASCII
	-g		Use graphical character for &27 &5B &5C &5D and &7F
	-D:<inst>	In BASIC fragment <inst> are disassembled
		where <inst> is DATA, POKE, REM, VAR
		REM and VAR are disassembled only when code is found
	-C		Compute full CHECKSUM
	-C=addr		Compute CHECKSUM to addr-1, and compare to addr
	-O addr		Origin address, else start at 0000
	-F infile	Read fragment description from infile
	-K infile	Read keyword from infile
	-S infile	Read symbols from infile
	-o outfile	Write dump or source to outfile, else use stdout
with fragment:
	-B [addr]	BASIC fragment; This is the default
	-R [addr]	RESERVE fragment
	-X [addr]	XREG fragment
	-V [addr]	dynamic VARiables fragment
	-c [addr]	CODE fragment
	-b [addr]	BYTE (8-bits) fragment
	-w [addr]	WORD (16-bits) fragment
	-l [addr]	LONG (32-bits) fragment
	-t [addr]	TEXT fragment
	-k [addr]	KEYWORD fragment
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 : 2288
Inscription : 30 août 2011 12:23
Localisation : Vous êtes ici -> .

Re: Utilitaires pour PC-1500

Message par cgh » 01 nov. 2012 12:10

La division binaire dont remy avait lancé le sujet quand il portait le compilateur C sous PockEmul.

Ici BC contient le nombre à diviser par DE. En sortie, BC contient le quotient, et DE le reste, la CARRY est levée si les résultats sont utilisables. La CARRY est baissée, si le diviseur est 0.

Code : Tout sélectionner

bash-4.2$ ./lhdump -b 0x40c5  ../tmp/div.bin 
40C5	34 28 2A 14 89 05 94 89   02 F9 9A FD A8 14 D9 1A 
40D5	94 DB 83 11 18 86 89 08   81 09 14 06 8B 02 83 03 
40E5	60 9E 16 F9 94 D1 18 14   D1 1A 84 96 8B 02 83 0A 
40F5	04 16 8B 06 83 04 88 15   8E 31 24 FD 2A FD C8 FD 
4105	88 FD 98 FD 28 2A 34 18   1A FB 14 DB 1A 94 DB 18 
4115	88 08 F9 04 12 2A 84 92   28 FD 1A FD 0A FD 8A FD 
4125	A8 2A FB 04 10 0A 84 90   08 9E 35 FD 1A FB 9A 

bash-4.2$ ./lhdump -c 0x40c5  ../tmp/div.bin 
40C5	34                CLA
40C6	28                STA	H
40C7	2A                STA	L
40C8	14                LDA	E
40C9	89 05             JR	NZ,40D0
40CB	94                LDA	D
40CC	89 02             JR	NZ,40D0
40CE	F9                RCF
40CF	9A                RET
40D0	FD A8             PUSH	HL
40D2	14                LDA	E
40D3	D9                SL
40D4	1A                STA	E
40D5	94                LDA	D
40D6	DB                RR
40D7	83 11             JR	C,40EA
40D9	18                STA	D
40DA	86                CPA	B
40DB	89 08             JR	NZ,40E5
40DD	81 09             JR	NC,40E8
40DF	14                LDA	E
40E0	06                CPA	C
40E1	8B 02             JR	Z,40E5
40E3	83 03             JR	C,40E8
40E5	60                INC	L
40E6	9E 16             JR	40D2
40E8	F9                RCF
40E9	94                LDA	D
40EA	D1                RL
40EB	18                STA	D
40EC	14                LDA	E
40ED	D1                RL
40EE	1A                STA	E
40EF	84                LDA	B
40F0	96                CPA	D
40F1	8B 02             JR	Z,40F5
40F3	83 0A             JR	C,40FF
40F5	04                LDA	C
40F6	16                CPA	E
40F7	8B 06             JR	Z,40FF
40F9	83 04             JR	C,40FF
40FB	88 15             DJC	4112
40FD	8E 31             JR	4130
40FF	24                LDA	L
4100	FD 2A             POP	HL
4102	FD C8             PUSH	A
4104	FD 88             PUSH	BC
4106	FD 98             PUSH	DE
4108	FD 28             LD	BC,HL
410A	2A                STA	L
410B	34                CLA
410C	18                STA	D
410D	1A                STA	E
410E	FB                SCF
410F	14                LDA	E
4110	DB                RR
4111	1A                STA	E
4112	94                LDA	D
4113	DB                RR
4114	18                STA	D
4115	88 08             DJC	411F
4117	F9                RCF
4118	04                LDA	C
4119	12                ADC	E
411A	2A                STA	L
411B	84                LDA	B
411C	92                ADC	D
411D	28                STA	H
411E	FD 1A             POP	DE
4120	FD 0A             POP	BC
4122	FD 8A             POP	A
4124	FD A8             PUSH	HL
4126	2A                STA	L
4127	FB                SCF
4128	04                LDA	C
4129	10                SBC	E
412A	0A                STA	C
412B	84                LDA	B
412C	90                SBC	D
412D	08                STA	B
412E	9E 35             JR	40FB
4130	FD 1A             POP	DE
4132	FB                SCF
4133	9A                RET
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 de l’utilisateur
wldsvc
Fonctionne à 300 bauds
Fonctionne à 300 bauds
Messages : 119
Inscription : 15 oct. 2012 13:20
Localisation : Drôme
Contact :

Re: Utilitaires pour PC-1500

Message par wldsvc » 02 nov. 2012 12:11

C'est une super idée ! Tu n'aurais pas, par le plus grand des hasards, un assembleur qui tourne sur le PC-1500 lui même ? :roll:
dispo : Sony Clié T675C, Psion Series 5mx 16MB, fx-180Pv
recherche : Sharp PC E220, Sharp PC-G850, calculatrices HP programmables

cgh
Fonctionne à 2400 bauds
Fonctionne à 2400 bauds
Messages : 2288
Inscription : 30 août 2011 12:23
Localisation : Vous êtes ici -> .

Re: Utilitaires pour PC-1500

Message par cgh » 02 nov. 2012 13:55

wldsvc a écrit :C'est une super idée ! Tu n'aurais pas, par le plus grand des hasards, un assembleur qui tourne sur le PC-1500 lui même ? :roll:
Si, j'ai un petit assembleur et son petit moniteur, que l'on peut appeler par CALL.

Et j'ai l'artillerie lourde: MaCBaS : un macro assembleur intégré au BASIC. Chaque mnémonique étant un mot clé BASIC avec un debugguer intégré dans le driver clavier. Il accepte aussi les macros IF.. ELSE.. ENIF, WHILE .. REPEAT, REPEAT .. UNTIL. Et aussi une petite surprise. Il occupe 8K et n'est pas facilement relogeable (il faut un CE-161 et un CE-163), et aussi une nouvelle ROM (PEEK &E2B9 = 56) :geek:
Cela fait parti des softs que je compte mettre à disposition. Pour l'instant, il n'y a pas de manuel et je suis le seul à pouvoir m'en servir.
Si tu veux un binaire, je peux te le passer... et te fournir un petit support.
Remarque, cela serait intéressant pour moi aussi un retour d'autrui ;-)
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 de l’utilisateur
wldsvc
Fonctionne à 300 bauds
Fonctionne à 300 bauds
Messages : 119
Inscription : 15 oct. 2012 13:20
Localisation : Drôme
Contact :

Re: Utilitaires pour PC-1500

Message par wldsvc » 02 nov. 2012 14:10

wldsvc a écrit :Et j'ai l'artillerie lourde: MaCBaS : un macro assembleur intégré au BASIC
J'ai vu passer ça dans un numéro des Sharpentiers. Ça a l'air bien sympa. Avec un CE-161 sur un 1500A, ça doit pas être un souci majeur (et encore mieux avec un CE-163, mais que fait le facteur !?).
Pour la ROM, PC-1500A, donc pas de souci. Envoie toujours ce que tu as, je peux t'aider à documenter. En plus, un peu de désassemblage me fera pas de mal.
dispo : Sony Clié T675C, Psion Series 5mx 16MB, fx-180Pv
recherche : Sharp PC E220, Sharp PC-G850, calculatrices HP programmables

cgh
Fonctionne à 2400 bauds
Fonctionne à 2400 bauds
Messages : 2288
Inscription : 30 août 2011 12:23
Localisation : Vous êtes ici -> .

Re: Utilitaires pour PC-1500

Message par cgh » 02 nov. 2012 14:24

wldsvc a écrit :
wldsvc a écrit :Et j'ai l'artillerie lourde: MaCBaS : un macro assembleur intégré au BASIC
J'ai vu passer ça dans un numéro des Sharpentiers. Ça a l'air bien sympa. Avec un CE-161 sur un 1500A, ça doit pas être un souci majeur (et encore mieux avec un CE-163, mais que fait le facteur !?).
Pour la ROM, PC-1500A, donc pas de souci. Envoie toujours ce que tu as, je peux t'aider à documenter. En plus, un peu de désassemblage me fera pas de mal.
Non ! Ce sont des programmes LM que j'ai développés moi-même (100% cgh inside :geek: ). Malheureusement, certains concepts m'étaient inconnus à l'époque OP/SHARPENTIERS/TRACE et j'aurais été incapable de développer ces softs à ce moment là. Sans compter sur le fait que je n'ai eu mon CE-161 que bien après l'arrêt de l'OP.

Deux façons de te les envoyer: soit le binaire pur par courriel, à convertir après en WAV avec bin2wav par courriel, ou le WAV par la poste (100Mo). Dans ce cas, tu peux joindre un carte SD ou une clé USB avec l'enveloppe du JCK.
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 de l’utilisateur
wldsvc
Fonctionne à 300 bauds
Fonctionne à 300 bauds
Messages : 119
Inscription : 15 oct. 2012 13:20
Localisation : Drôme
Contact :

Re: Utilitaires pour PC-1500

Message par wldsvc » 02 nov. 2012 14:30

cgh a écrit :Non ! Ce sont des programmes LM que j'ai développés moi-même (100% cgh inside :geek: ).
Joli ! Je ferai du bin2wav, ça sera plus simple. Je dois avoir un MD qui traîne, j'espère juste que l'interface K7 de mon CE-150 fonctionne sans que j'aie à remplacer les batteries d'abord. MP :arrow:
dispo : Sony Clié T675C, Psion Series 5mx 16MB, fx-180Pv
recherche : Sharp PC E220, Sharp PC-G850, calculatrices HP programmables

cgh
Fonctionne à 2400 bauds
Fonctionne à 2400 bauds
Messages : 2288
Inscription : 30 août 2011 12:23
Localisation : Vous êtes ici -> .

Re: Utilitaires pour PC-1500

Message par cgh » 02 nov. 2012 17:15

wldsvc a écrit :
cgh a écrit :Non ! Ce sont des programmes LM que j'ai développés moi-même (100% cgh inside :geek: ).
Joli ! Je ferai du bin2wav, ça sera plus simple. Je dois avoir un MD qui traîne, j'espère juste que l'interface K7 de mon CE-150 fonctionne sans que j'aie à remplacer les batteries d'abord. MP :arrow:
Directement depuis le PC, cela fonctionne aussi :

macbas-3.0.bin >> bin2wav >> macbas-3.0.wav
mplayer ou mp3blaster macbas-3.0.wav
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

franck196569
Fonctionne à 300 bauds
Fonctionne à 300 bauds
Messages : 97
Inscription : 27 sept. 2012 09:56
Localisation : Nantes

Re: Utilitaires pour PC-1500

Message par franck196569 » 02 nov. 2012 19:29

Pour ceux que cela intéresse, il y a effectivement un moniteur hexadécimal traité dans les n°9 et 11 de la revue Sharpentiers.

Franck.

cgh
Fonctionne à 2400 bauds
Fonctionne à 2400 bauds
Messages : 2288
Inscription : 30 août 2011 12:23
Localisation : Vous êtes ici -> .

Re: Utilitaires pour PC-1500

Message par cgh » 03 nov. 2012 00:55

franck196569 a écrit :Pour ceux que cela intéresse, il y a effectivement un moniteur hexadécimal traité dans les n°9 et 11 de la revue Sharpentiers.

Franck.
Merci Franck. Il y a aussi un assembleur/moniteur dans le Micro-Systèmes de Juin 1984. Je me souviens l'avoir entré code par code à l'époque. Par contre, je ne pense pas avoir gardé de copie de sauvegarde. De plus, la photocopie du lot de listings reçu de jojo est plutôt illisible. Si quelqu'un peut me fournir un PDF, je serais intéressé. Ou même si quelqu'un possède un WAV ou un binaire, ce serait bien aussi...
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 de l’utilisateur
wldsvc
Fonctionne à 300 bauds
Fonctionne à 300 bauds
Messages : 119
Inscription : 15 oct. 2012 13:20
Localisation : Drôme
Contact :

Re: Utilitaires pour PC-1500

Message par wldsvc » 03 nov. 2012 10:59

franck196569 a écrit :Pour ceux que cela intéresse, il y a effectivement un moniteur hexadécimal traité dans les n°9 et 11 de la revue Sharpentiers.

Franck.
Il y a une version plus évoluée dans CNO n°5, page 21 (relogeable !). Dans le même numéro, on trouve aussi des programmes similaires pour PC-1403 et PC-1600 (avec éditeur et assembleur pour ce dernier).
Dernière édition par wldsvc le 03 nov. 2012 20:10, édité 1 fois.
dispo : Sony Clié T675C, Psion Series 5mx 16MB, fx-180Pv
recherche : Sharp PC E220, Sharp PC-G850, calculatrices HP programmables

cgh
Fonctionne à 2400 bauds
Fonctionne à 2400 bauds
Messages : 2288
Inscription : 30 août 2011 12:23
Localisation : Vous êtes ici -> .

Re: Utilitaires pour PC-1500

Message par cgh » 03 nov. 2012 16:14

wldsvc a écrit :Je ferai du bin2wav, ça sera plus simple. Je dois avoir un MD qui traîne, j'espère juste que l'interface K7 de mon CE-150 fonctionne sans que j'aie à remplacer les batteries d'abord.
Normalement, le PC1500 sur piles ou sur secteur (branché au PC1500) suffit pour utiliser l'interface K7. Seul le bloc imprimante a besoin des batteries pour fonctionner. Quand tu vas brancher le PC1500 à la CE-150, tu vas obtenir le message :CHECK 6. Tu fais juste shift CA et CSAVE ou CLOAD. Chez moi, cela fonctionne. J'ai une CE-150 dont les batteries ne se chargent plus et je peux sauver ou relire en audio sans soucis.
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

franck196569
Fonctionne à 300 bauds
Fonctionne à 300 bauds
Messages : 97
Inscription : 27 sept. 2012 09:56
Localisation : Nantes

Re: Utilitaires pour PC-1500

Message par franck196569 » 03 nov. 2012 18:31

Késako la revue CNO n°5 page 21 ?

Avatar de l’utilisateur
wldsvc
Fonctionne à 300 bauds
Fonctionne à 300 bauds
Messages : 119
Inscription : 15 oct. 2012 13:20
Localisation : Drôme
Contact :

Re: Utilitaires pour PC-1500

Message par wldsvc » 03 nov. 2012 20:10

franck196569 a écrit :Késako la revue CNO n°5 page 21 ?
Pardon, j'aurais pu me fendre d'un beau lien. Voilà : http://www.abandonware-magazines.org/af ... &album=oui
dispo : Sony Clié T675C, Psion Series 5mx 16MB, fx-180Pv
recherche : Sharp PC E220, Sharp PC-G850, calculatrices HP programmables

franck196569
Fonctionne à 300 bauds
Fonctionne à 300 bauds
Messages : 97
Inscription : 27 sept. 2012 09:56
Localisation : Nantes

Re: Utilitaires pour PC-1500

Message par franck196569 » 04 nov. 2012 11:35

wldsvc a écrit :
franck196569 a écrit :Késako la revue CNO n°5 page 21 ?
Pardon, j'aurais pu me fendre d'un beau lien. Voilà : http://www.abandonware-magazines.org/af ... &album=oui
Merci, cela me cause davantage que" CNO", j'avais déjà vu cette revue, mais eu le temps de lire encore, pour le moment je potassais les Sharpentiers ..

Répondre

Revenir vers « Tous les Pockets »