FORTH sur 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

remy
Fonctionne à 2400 bauds
Fonctionne à 2400 bauds
Messages : 2218
Enregistré le : 13 mars 2006 15:39
Localisation : Issy
Contact :

Re: FORTH sur PC-1500

Message par remy »

C'est exactement la commande que j'ai utilisé.
Ca doit venir de chez moi ...

Sur PockEmul, j'ai encore un problème avec la touche ON qui est mal gérée et fait un RESET+ON :-)
Il faut vraiment que je corrige ça ....

Tu es sur quel environnement ? Linux ou Windows ? J'ai plein de soucis avec lhasm sous windows, j'ai basculé sous linux.

EDIT: Bon ben j'ai appliqué le patch trouvé dans le fil de discussion de LHTOOLS et maintenant ça marche ....
PockEmul, Emulateur de pocket Sharp, Canon, Casio, HP, TI, NEC, Panasonic, Sanco, Seiko, General, National, ....
sur Windows, Linux, OS X et Android
Available now on the Google Play Store and the Apple Store
Avatar du membre
phe78
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 721
Enregistré le : 22 avr. 2011 19:08
Localisation : Les Adrets de l'Esterel (Var)

Re: FORTH sur PC-1500

Message par phe78 »

Cool, oui j'utilise la derniere version de lhasm sous Linux Mint

Pockemul PC1500 permet-il de faire du debug (pas/pas, dump/patch) sous Linux, combiné avec lhasm ça ferait un environnement de developpement super quand on a pas le PC1500 sous la main
remy
Fonctionne à 2400 bauds
Fonctionne à 2400 bauds
Messages : 2218
Enregistré le : 13 mars 2006 15:39
Localisation : Issy
Contact :

Re: FORTH sur PC-1500

Message par remy »

sur ma version de travail j'ai intégré l'appel à lhasm directement dans l'IDE de PockEmul avec possibilité d'installer le binaire sur la machine émulée.
Je vais me pencher sur le bug de lhasm Windows avant de parfaire l'intégration.
PockEmul, Emulateur de pocket Sharp, Canon, Casio, HP, TI, NEC, Panasonic, Sanco, Seiko, General, National, ....
sur Windows, Linux, OS X et Android
Available now on the Google Play Store and the Apple Store
cgh
Fonctionne à 2400 bauds
Fonctionne à 2400 bauds
Messages : 2142
Enregistré le : 30 août 2011 12:23
Localisation : Vous êtes ici -> .

Re: FORTH sur PC-1500

Message par cgh »

phe78 a écrit :Je viens d'uploader la version 1.02 qui apporte le support de l'imprimante (ROM CE150 version 1 uniquement, il faut que PEEK(&A800) renvoie 190, je ferai un test ROM0/ROM1 la prochaine fois)
J'ai aussi implemente des primitives de debug, mais elles sont encore tres... primitives donc a ameliorer.
Il faudra aussi que j'integre un editeur de ligne, sur la base des conseils de cgh.
He he, A fond le FORTH !
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
remy
Fonctionne à 2400 bauds
Fonctionne à 2400 bauds
Messages : 2218
Enregistré le : 13 mars 2006 15:39
Localisation : Issy
Contact :

Re: FORTH sur PC-1500

Message par remy »

Je suis en train d'intégrer ton FORTH dans un firmware pour PC-1500, c'est à dire une nouvelle ROM système.
Le premier soucis que j'ai eu , je n'y avais pas fait attention, c'est que ta mémoire de travail est au milieu de ton code.
or moi, le code est en ROM et donc il faut que je déporte la zone de travaille dans une zone externe.
Si lors de tes prochaines version tu pouvais prévoir une zone de mémoire de travail extérieure au code et paramétrable sur sa localisation, ça me permettrai d'intégrer les nouvelles versions de FORTH sans modification.
PockEmul, Emulateur de pocket Sharp, Canon, Casio, HP, TI, NEC, Panasonic, Sanco, Seiko, General, National, ....
sur Windows, Linux, OS X et Android
Available now on the Google Play Store and the Apple Store
Avatar du membre
phe78
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 721
Enregistré le : 22 avr. 2011 19:08
Localisation : Les Adrets de l'Esterel (Var)

Re: FORTH sur PC-1500

Message par phe78 »

en fait la mémoire de travail n'est pas au milieu du code, il y a 2 zones : la zone de travail (piles, variables, etc) et le dictionnaire (qui contient le kernel Forth puisque ce language est en fait écrit en grande partie en Forth). Ca ne doit pas être compliqué de le rendre "ROMable", il faut que le dictionnaire de base et le kernel soient dans une zone séparée qui correspondra à la ROM, le reste (zone de travail et extension utilisateur du dictionnaire) étant en RAM.
@rom1500, pourrais-tu m'envoyer la carte mémoire (si tu l'as déjà) pour que je m'assure que mes motifs seront compatibles avec ton projet (et ce que veux faire Rémy) ?
remy
Fonctionne à 2400 bauds
Fonctionne à 2400 bauds
Messages : 2218
Enregistré le : 13 mars 2006 15:39
Localisation : Issy
Contact :

Re: FORTH sur PC-1500

Message par remy »

Dans mon adaptation j'ai rendu cela paramétrable :

Code : Tout sélectionner

;-------------------------------------------------
; INIT WORKING AREA
;-------------------------------------------------
MEMORYAREA	.EQU 40C5
%00m   .EQU MEMORYAREA

PRTFLAG	.EQU %00m
CHARPTR: .EQU [+1]%00m
DBUFF	.EQU [+2]%00m
;-------------------------------------------------
KBUFF	.EQU [+1C]%00m				; Terminal Input Buffer - 128 bytes
;.SKIP	0080
;-------------------------------------------------
UAREA	.EQU [+9C]%00m	
....
PockEmul, Emulateur de pocket Sharp, Canon, Casio, HP, TI, NEC, Panasonic, Sanco, Seiko, General, National, ....
sur Windows, Linux, OS X et Android
Available now on the Google Play Store and the Apple Store
Avatar du membre
phe78
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 721
Enregistré le : 22 avr. 2011 19:08
Localisation : Les Adrets de l'Esterel (Var)

Re: FORTH sur PC-1500

Message par phe78 »

Interessant, mais quel avantage cela apporte-t-il ? il suffit de changer l'adresse du ORG pour que les autres adresses soient recalculées à l'assemblage. Dans la version ROMable, je devrai mettre deux addresses de ORG (RAM et ROM). Idealement, il faudrait que je rende le code relogeante, cela simplifierait les choses
remy
Fonctionne à 2400 bauds
Fonctionne à 2400 bauds
Messages : 2218
Enregistré le : 13 mars 2006 15:39
Localisation : Issy
Contact :

Re: FORTH sur PC-1500

Message par remy »

Oui, il faut un code relogeable,
j'ai enlevé le ORG car le FORTH est intégré au source du firmware.
Je ne défini que l'emplacement RAM
PockEmul, Emulateur de pocket Sharp, Canon, Casio, HP, TI, NEC, Panasonic, Sanco, Seiko, General, National, ....
sur Windows, Linux, OS X et Android
Available now on the Google Play Store and the Apple Store
cgh
Fonctionne à 2400 bauds
Fonctionne à 2400 bauds
Messages : 2142
Enregistré le : 30 août 2011 12:23
Localisation : Vous êtes ici -> .

Re: FORTH sur PC-1500

Message par cgh »

Si vous voulez un code relogeable et pouvoir changer l'adresse d'assemblage, vous pouvez utiliser l'option -O <adresse-origine> sur la ligne de commande lhasm, definir un symbole de base avec l'option -D symbole=adresse ou utiliser des symboles de substitution: option -A symbole=adresse.
Il y a un exemple dans MMPS, car avec un seul code, je peux generer 4 images differentes au niveaux des zones utilisees pour le tas et les variables de travail.

Il suffirait que phe78 modifie son code pour prendre certains symboles en definition externe ou par substitution.
Puis, dans le cas de phe78, tout serait en RAM et dans le cas de Remy, ce serait RAM + ROM.

Les directives .IF ... .ELSE ... .ENDIF permettent alors d'inclure les sources dans un ordre donne.
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
phe78
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 721
Enregistré le : 22 avr. 2011 19:08
Localisation : Les Adrets de l'Esterel (Var)

Re: FORTH sur PC-1500

Message par phe78 »

j'ai mis en ligne une mise a jour 1.03 integrant des corrections de bug sur les index des LOOP / +LOOP, la primitive KEY? et deux / trois autres bricoles, identifies en secouant le Forth avec pockemul :)
genial le temps qu'on peut gagner, rien qu'en chargeant le binaire genere par lhasm directment dans pockemul (le Forth fait environ 7K, c'est que dalle mais il faut presque 9mn pour charger le WAV..... rrrrr....)

bon, il faut maintenant que je m'attaque au code relogeable et a l'editeur de ligne
Modifié en dernier par phe78 le 27 févr. 2014 14:05, modifié 1 fois.
remy
Fonctionne à 2400 bauds
Fonctionne à 2400 bauds
Messages : 2218
Enregistré le : 13 mars 2006 15:39
Localisation : Issy
Contact :

Re: FORTH sur PC-1500

Message par remy »

Tant que tu es sur l'éditeur de ligne, penses à un écran de plusieurs lignes.
Quoique c'est comme pour l'imprimante que tu as déjà géré ...
L'éditeur ne permettra de corriger que la ligne en cours, ça n'a pas d'impact...
PockEmul, Emulateur de pocket Sharp, Canon, Casio, HP, TI, NEC, Panasonic, Sanco, Seiko, General, National, ....
sur Windows, Linux, OS X et Android
Available now on the Google Play Store and the Apple Store
remy
Fonctionne à 2400 bauds
Fonctionne à 2400 bauds
Messages : 2218
Enregistré le : 13 mars 2006 15:39
Localisation : Issy
Contact :

Re: FORTH sur PC-1500

Message par remy »

Je n'y arrive pas.
J'ai un bug dés que je rentre quelque chose dans la pile.
Il essaye d'écrire dans la ROM ce qui prouve bien qu'il y a un décalage quelque part.
Je vais attendre ta version, laissons faire le spécialiste :-)
PockEmul, Emulateur de pocket Sharp, Canon, Casio, HP, TI, NEC, Panasonic, Sanco, Seiko, General, National, ....
sur Windows, Linux, OS X et Android
Available now on the Google Play Store and the Apple Store
cgh
Fonctionne à 2400 bauds
Fonctionne à 2400 bauds
Messages : 2142
Enregistré le : 30 août 2011 12:23
Localisation : Vous êtes ici -> .

Re: FORTH sur PC-1500

Message par cgh »

Une excellente opportunite pour implemantee les breakpoints en ecriture sur une zone definie (si ce n'est pas deja fait) :geek:
Tu definis la zone ROM comme etant "interdite en ecriture", et a la premiere instruction qui essaye d'ecrire dans cette zone, c'est le break !
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
remy
Fonctionne à 2400 bauds
Fonctionne à 2400 bauds
Messages : 2218
Enregistré le : 13 mars 2006 15:39
Localisation : Issy
Contact :

Re: FORTH sur PC-1500

Message par remy »

cgh a écrit :Une excellente opportunite pour implemantee les breakpoints en ecriture sur une zone definie (si ce n'est pas deja fait) :geek:
Tu definis la zone ROM comme etant "interdite en ecriture", et a la premiere instruction qui essaye d'ecrire dans cette zone, c'est le break !
Il perd pas le nord le Christophe :-)
Tu as raison et je vais le faire.
PockEmul, Emulateur de pocket Sharp, Canon, Casio, HP, TI, NEC, Panasonic, Sanco, Seiko, General, National, ....
sur Windows, Linux, OS X et Android
Available now on the Google Play Store and the Apple Store
Répondre

Retourner vers « Tous les Pockets »