J'ai retrouvé ma gestion de XMEM 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

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

Re: J'ai retrouvé ma gestion de XMEM sur PC-1500 !!!!!!!!!!!

Message par cgh » 21 nov. 2012 21:54

franck196569 a écrit :J'ai commencé à tester, çà marche, çà ne plante pas, c'est donc plus qu'encourageant.
Je suis preneur de toute réussite de ta part concernant la gestion de le CE 163, tu sembles avoir plein d'idées ...
Merci pour ton initiative qui me ramène bien des années en arrière et me montre tout ce que je n'ai eu ni l'occasion ni le temps ni surtout l'idée d'exploiter avec cette machine.

Continue !

Sharpentesquement vôtre ...

@+

Franck.
@Franck : Merci pour ces encouragements :-D (et pour les tests aussi)

Bon état des courses ce soir:
  • Le code est totalement relogé et semble parfaitement opérationel. Quelques "erreurs de jeunesse" dans la gestions des arguments.
  • J'ai corrigé un gros bug dans GSAVE et GLOAD et j'avais une bêtise dans mon programme C qui réalise le relogement, ce qui faisait crasher PCALL (un beau crash avec l'appui sur RESET :evil: et tout, et tout... )
  • J'ai découvert que PCALL "filename",ligne fonctionnait et donnait bien la main au programme BASIC "filename" à la ligne spécifiée 8)
  • Actuellement, je travaille sur le driver clavier, car je n'aime la méthode des zones RESERVE multiples, même si je laisserai cette méthode dans le relogeur de la version finale, car cela permet aux possesseurs de ROM0 (PEEK &E2B9 <> 56) de pouvoir utiliser la gestion de XMEM. Le driver sera simple, dans un premier temps: OFF, SHIFT+CL et ENTER. Un driver plus efficace comme celui de MACBAS95 pourra etre développé plus tard.
  • Ensuite, je vais enfin m'attaquer à la gestion des banques du CE-163 :geek: , peut-être même dès ce week-end :ugeek: ...
  • Certaines optimisations pourront enfin être réalisées, entre autres dans la gestion des instructions et fonctions F*, mais le point précédent semble le plus attendu :slime: ;-)
  • J'ai retrouvé d'autres instructions et fonctions qui permettent une "utilisation avancée", mais elles ne sont que sur papier, et si je comprends ce qu'elles font, je ne suis pas certain qu'elles aient une grande utilité en dehors des :ugeek: . A suivre, donc...
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: J'ai retrouvé ma gestion de XMEM sur PC-1500 !!!!!!!!!!!

Message par cgh » 21 nov. 2012 22:49

Si je n'ai rien loupé, voici les instructions, commandes et fonctions de BASFILE (J'ai choisi ce nom 8) )

1. XMEM management

MMINIT [size] - Fixe une taille à la zone XMEM. Sans argument, MINIT réduit la taille pour n'avoir plus d'octet libre en zone XMEM. Si un programme est présent en RAM BASIC, il sera deplacé selon la taille de la XMEM
MMEM n - Renvoit différentes valeurs selon n: 0 = taille XMEM, 1 = taille libre en XMEM, 2 = @ début XMEM, 3 = @ fin XMEM, 4 = @ fin xourante de XMEM
MDIR [filename] - Catalogue des fichiers en XMEM. Si lancé sans argument, affiche le nom du fichier. Si lancé avec un fichier en argument, affiche le nom, le type, la taille et l'unité sur laquelle le fichier est ouvert ou . sinon. Dans MDIR, flêche-bas passe au fichier suivant, flêche-haut au fichier précédent, MODE active ou désactive les informations supplémentaires, OFF ou BREAK sortent. Il y a 8 types de fichiers possibles, mais 5 seulement sont actuellement utilisés: BAS = fichier BASIC, BIN = fichier LM (binaire), DAT = fichier données mixée numériques et chaines, TXT = fichier texte, GRP = fichier graphique
MNAME oldname,newname - Renomme un fichier
MKILL filename[,filename[,...]] - Supprime des fichiers

2. BASIC and ML programs

PSAVE filename - Sauve le programme BASIC de la RAM BASIC en XMEM. Il sera appelable par PCALL filename
PLOAD fiename - Recharge le programme BASIC en RAM BASIC depuis le fichier en XMEM. Il sera appelable par RUN ou PCALL (sans argument)
PCALL [filename[,ligne]] - Appelle le programme BASIC filename sauvegardé en XMEM. Si appelé depuis un programme BASIC (RAM BASIC ou XMEM), gère une pile de retours. Si appelé sans argument, lance le programme en RAM BASIC. Si une ligne est spécifiée, démarre le programme à la ligne donnée
PRETURN - Revient au programme appelant. Ce programme peut être en XMEM ou en RAM BASIC
PENDALL - Arrête l'exécution, supprime la pile d'appel et restaure les pointeurs dans la RAM BASIC
PSTACK - Initialise la pile des PCALL. Doit être fait par le premier programme qui en appelle d'autres. PENDALL fait lui aussi un PSTACK. Après PSTACK, la pile d'appel est rincée et donc les appelants sont perdus. Il y a 8 niveaux d'appel.
PENVRN [filename] ------ DANGEREUX ------ Place les pointeurs dans le fichier BASIC en XMEM ou en RAM BASIC (sans argument). Cela permet de visualiser un programme BASIC en XMEM sans avoir à le charger en RAM BASIC. IL NE FAUT SURTOUT PAS ENTRER DE LIGNE DE CODE DANS CE MODE, CAR LE PROGRAMME EN XMEM SERA MODIFIE ET LA XMEM SERA CORROMPUE !!! Pour sortir, PENVRN ou PENDALL. C'est pour cela que je suis pressé de développer le driver clavier !

PSAVE startaddr,endaddr;filename - Sauvegarde le programme LM entre startaddr et endaddr en XMEM
PLOAD [address,]filename - Recharge le programme LM depuis la XMEM en RAM à l'adresse d'origine, ou à l'adresse specifiée
PCALL filename[,variable] - Appelle le programme LM. Les arguments sont identiques à CALL &nnnn[,variable]

3. Data and text files

FCREATE size[,T],filename - Crée un fichier de données ou texte (avec ,T) de la taille specifiée
FOPEN unit,filename - Ouvre le fichier nommé et assigne le à l'unité spécifiée. Il y a 8 unités de 0 à 7
FCLOSE [unit[,unit[,...]]] - Ferme l'unité specifiée ou toutes les unités (sans argument)
FWRITE unit;val[,val[,...]] - Ecrit les valeurs numériques ou chaines dans le fichier assigné à l'unité
FREAD unit - Lit une valeur numérique ou une chaine depuis le fichier assigné à l'unité
FREAD (unit, nbchar) - Lit n caracteres depuis le fichier assigné à l'unité (fichiers textes uniquement)
FEOF unit - Renvoit 1 si la fin de fichier est atteinte (plus de donnée à lire), 0 sinon
FTELL unit - Renvoit le numéro du prochain enregistrement à lire ou l'offset dans le fichier (fichiers textes uniquement)
FSEEK unit[,offset] - Positionne sur l'enregistrement specifié ou l'offset dans le fichier (fichiers textes uniquement) ou en debut de fichier (sans argument)

4. Graphic files

GSAVE [col1[,col2][,flags];]filename - Sauve l'écran dans un fichier (depuis col1 jusqu'à col2 si specifiées). flags est une chaine contenant éventuellement les caractères suivants "C" "X" ou/et "D" avec C = efface l'écran ou le fichier, sinon la colonne est "OR"ée à la colonne du fichier/écran; X = inverse la valeur de la colonne à sauver/afficher; D double la colonne: chaque colonne est répétée. Dans ce cas, on ne peut sauver/affichee que 78 colonnes au lieu de 156 (et puis c'est rigolo :tongue: )
GLOAD [col1[,col2][,flags];]filename - Restaure l'écran depuis le fichier (depuis col1 jusqu'à col2 si specifiées). flags est une chaine contenant eventuellement les caractère suivants "C" "X" ou/et "D"

5. Next

BCOPY filename,destfilename - Copie le fichier filename depuis la XMEM dans la banque 1 du CE-163 ou depuis la banque 1 dans la XMEM. Une option spéciale (par exemple #) devrait aussi permettre de faire de même avec le programme en RAM BASIC: BCOPY #,destfilename ou BCOPY filename,#. La direction sera choisie en fonction de la banque d'orgine du fichier source. Dans la première version, toute la banque 1 sera utilisée pour les copies/sauvegardes de la XMEM par BCOPY
... et pourquoi pas un passage/retour d'arguments au travers d'un PCALL/PENTRY/PRETURN :?: On pourrait imaginer un appelant PCALL filename;var,var,.... Le programme appelé recevenant les arguments par PENTER var,var,.... De plus, PRETURN pourrait se charger de "renvoyer des arguments" dans les outvar: PRETURN out,out,.... La syntaxe de PCALL serait PCALL filename[,ligne][;[var[,var...]][;[outvar[,outvar]]]]. Dur mais intéressant :ugeek:
Un PCALL "filename"[;regA,regBC,regDE,regHL[;outA,outBC,outDE,outHL]] serait aussi envisageable pour les programmes LM (mes préférés ;-) )

@jvernet : Désolé, mais je préfère les noms originaux, avec M* pour les commandes générales, P* pour les programmes, F* pour les fichiers D/T, et G* pour le graphisme (et B* pour les banques du CE-163).

Les instructions graphiques ne sont pas encore "très matures"... Il y aurait du boulot ici, si quelqu'un veut prendre la main sur cette partie :!: car je ne compte pas travailler dessus.
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
gege
Fonctionne à 14400 bauds
Fonctionne à 14400 bauds
Messages : 7180
Inscription : 31 janv. 2008 15:24
Localisation : Banlieue Paârisienne
Contact :

Re: J'ai retrouvé ma gestion de XMEM sur PC-1500 !!!!!!!!!!!

Message par gege » 22 nov. 2012 00:27

Excellent !
Une idée : les variables reçues dans le programme appelées via PENTER pourraient être sauvegardées, et restaurées par PRETURN.
J'explique (hum) :

programme appellant :
A=354:B=7.33:PCALL "YOUPI.BAS",A,B,12:REM ICI A=354 ET B=7.33
PENTER U,V:REM ICI U=29.5, V=354 ET T=1, C=55

programme appellé ("YOUPI.BAS" en XMEM) :
Z=212:T=1:C=55:REM ICI T=1, A=354 ET C=55
PENTER T,A,C:REM ICI T=354, A=7.33 ET C=12, ET LEURS ANCIENNES VALEURS SONT SAUVEGARDEES "AILLEURS"
PRETURN T/C,T:REM ON RENVOIE DEUX VALEURS ET LES VALEURS DE T?A ET C SONT DEPILEES : T=1, A=354 ET C=55

C'est clair ? 8O 8O Ah zut !

Il faudrait aussi penser au passage de tableaux par référence, mais là ça devient compliqué (pas d'idée).

Un mot : BRAVO.
Peux-tu m'envoyer le fichier pour tests ?
Merci,
G.E.

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

Re: J'ai retrouvé ma gestion de XMEM sur PC-1500 !!!!!!!!!!!

Message par cgh » 22 nov. 2012 00:54

gege a écrit :Excellent !
Une idée : les variables reçues dans le programme appelées via PENTER pourraient être sauvegardées, et restaurées par PRETURN.
J'explique (hum) :

programme appellant :
A=354:B=7.33:PCALL "YOUPI.BAS",A,B,12:REM ICI A=354 ET B=7.33
PENTER U,V:REM ICI U=29.5, V=354 ET T=1, C=55

programme appellé ("YOUPI.BAS" en XMEM) :
Z=212:T=1:C=55:REM ICI T=1, A=354 ET C=55
PENTER T,A,C:REM ICI T=354, A=7.33 ET C=12, ET LEURS ANCIENNES VALEURS SONT SAUVEGARDEES "AILLEURS"
PRETURN T/C,T:REM ON RENVOIE DEUX VALEURS ET LES VALEURS DE T?A ET C SONT DEPILEES : T=1, A=354 ET C=55

C'est clair ? 8O 8O Ah zut !

Il faudrait aussi penser au passage de tableaux par référence, mais là ça devient compliqué (pas d'idée).

Un mot : BRAVO.
Peux-tu m'envoyer le fichier pour tests ?
Merci,
G.E.
Gege, tu n'as pas d'adresse courriel depuis Sili. Si celle qui est sur ton site est valide, alors fichier envoyé !
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: J'ai retrouvé ma gestion de XMEM sur PC-1500 !!!!!!!!!!!

Message par cgh » 22 nov. 2012 01:17

cgh a écrit :Bon état des courses ce soir:
  • Le code est totalement relogé et semble parfaitement opérationel. Quelques "erreurs de jeunesse" dans la gestions des arguments.
  • J'ai corrigé un gros bug dans GSAVE et GLOAD et j'avais une bêtise dans mon programme C qui réalise le relogement, ce qui faisait crasher PCALL (un beau crash avec l'appui sur RESET :evil: et tout, et tout... )
  • J'ai découvert que PCALL "filename",ligne fonctionnait et donnait bien la main au programme BASIC "filename" à la ligne spécifiée 8)
  • Actuellement, je travaille sur le driver clavier, car je n'aime la méthode des zones RESERVE multiples, même si je laisserai cette méthode dans le relogeur de la version finale, car cela permet aux possesseurs de ROM0 (PEEK &E2B9 <> 56) de pouvoir utiliser la gestion de XMEM. Le driver sera simple, dans un premier temps: OFF, SHIFT+CL et ENTER. Un driver plus efficace comme celui de MACBAS95 pourra etre développé plus tard.
  • Ensuite, je vais enfin m'attaquer à la gestion des banques du CE-163 :geek: , peut-être même dès ce week-end :ugeek: ...
  • Certaines optimisations pourront enfin être réalisées, entre autres dans la gestion des instructions et fonctions F*, mais le point précédent semble le plus attendu :slime: ;-)
  • J'ai retrouvé d'autres instructions et fonctions qui permettent une "utilisation avancée", mais elles ne sont que sur papier, et si je comprends ce qu'elles font, je ne suis pas certain qu'elles aient une grande utilité en dehors des :ugeek: . A suivre, donc...
Le driver clavier fonctionne. Il ne capture que ENTER, SHIFT+CA et OFF.
  • OFF permet d'éteindre le PC sans avoir à réinitialiser le vecteur de la table des mots-clés, comme dans la version de franck et gégé.
  • SHIFT+CA est équivalent à PENDALL. Cela permet de quitter un environnement BASIC en PMEM sélectionné avec PENVRN.
  • ENTER compile les nouveaux mots-clés. Ceux-ci peuvent être abrégés par !. Par ex. MI! donnera MINIT. Les minuscules sont aussi remises en majuscules en dehors des chaines et des REM. Mais je ne crois pas que je vais garder cette fonctionnalité... Qu'en pensez-vous ? (pca! donnera PCALL).
    De plus, quand ENTER est pressée en mode PRO et que l'on est dans l'environnement d'un programme BASIC en XMEM, une ERROR 26 est renvoyée. Plus de risque de corrompre la XMEM.
Bon, demain je finalise le relogeur et l'image avec le driver clavier, privilèges des ROM 1 et suivantes...
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
pir2
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 4594
Inscription : 31 oct. 2006 16:08
Localisation : 67310 Westhoffen
Contact :

Re: J'ai retrouvé ma gestion de XMEM sur PC-1500 !!!!!!!!!!!

Message par pir2 » 22 nov. 2012 22:28

Bravo, j'ai pas eu le courage de tout lire, je m'étais arrêté au début, mais ce que j'en ai compris est tout simplement génial :)
Image
Image

Avatar de l’utilisateur
C.Ret
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 2483
Inscription : 31 mai 2008 23:43
Localisation : N 49°22 E 6°10

Re: J'ai retrouvé ma gestion de XMEM sur PC-1500 !!!!!!!!!!!

Message par C.Ret » 23 nov. 2012 00:33

Oui, c'est fou ce qu'arrive à faire cgh, il a réussit à convaincre tous les X-MEM de entrer dans son PC-1500 et de ne pas mettre le boxon dans ses programmes BASIC !

Image

Je sais comment il fait, c'est pas très obéissant un super-héros !
SHARP PC-1211 + CE-121 + CE-122. | VIC 20 Commodore 128D + Printer P-803 + SD2iec. | TI-57 LCD | HP-28S + HP82240A | TI-74 BasiCalc | HP-41C + (2 memory + stat + IR) | HP-15C | HP Prime Color Touchscreen Graphing Calculator| TI-92 II | CASIO fx-602p + FA-1 | HP-71B 64K+JPC-ROM+HPIL+card reader . Sommaire des M.P.O..

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

Re: J'ai retrouvé ma gestion de XMEM sur PC-1500 !!!!!!!!!!!

Message par cgh » 23 nov. 2012 14:01

C.Ret a écrit :Oui, c'est fou ce qu'arrive à faire cgh, il a réussit à convaincre tous les X-MEM de entrer dans son PC-1500 et de ne pas mettre le boxon dans ses programmes BASIC !

Image

Je sais comment il fait, c'est pas très obéissant un super-héros !
Il suffit de leur demander, en disant "s'il vous plaît" et surtout "merci" ;-)
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
OulanB
Fonctionne à 75 bauds
Fonctionne à 75 bauds
Messages : 64
Inscription : 02 juil. 2011 11:39
Localisation : IdF
Contact :

Re: J'ai retrouvé ma gestion de XMEM sur PC-1500 !!!!!!!!!!!

Message par OulanB » 24 nov. 2012 11:36

Félicitations pour ce boulot !

Y a moyen d'avoir le fichier par MP (wav ou bin) pour tester avec un émulateur ?
(j'aimerais voir ce que ca donne avec 28K de ram)

Une autre idée, je peux rajouter 32K de ram en bank ME1 (celle de POKE#) de 0000-7FFF sans conflit
y aurai moyen d'intégrer ca ?

Merci d'avance

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

Re: J'ai retrouvé ma gestion de XMEM sur PC-1500 !!!!!!!!!!!

Message par cgh » 25 nov. 2012 22:19

OulanB a écrit :Félicitations pour ce boulot !

Y a moyen d'avoir le fichier par MP (wav ou bin) pour tester avec un émulateur ?
(j'aimerais voir ce que ca donne avec 28K de ram)
Oui. Je te l'envoie par courriel.
OulanB a écrit :Une autre idée, je peux rajouter 32K de ram en bank ME1 (celle de POKE#) de 0000-7FFF sans conflit
y aurai moyen d'intégrer ca ?

Merci d'avance
Non. Il s'agit d'une mémoire particulière. Les instructions assembleur pour accéder à cet espace sont différentes, et toutes n'existent pas (par exmple, les JP et les macros F4 et F6). Il faudrait tout recoder pour prendre en compte cette zone.
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: J'ai retrouvé ma gestion de XMEM sur PC-1500 !!!!!!!!!!!

Message par cgh » 25 nov. 2012 22:25

cgh a écrit : 5. Next

BCOPY filename,destfilename - Copie le fichier filename depuis la XMEM dans la banque 1 du CE-163 ou depuis la banque 1 dans la XMEM. Une option spéciale (par exemple #) devrait aussi permettre de faire de même avec le programme en RAM BASIC: BCOPY #,destfilename ou BCOPY filename,#. La direction sera choisie en fonction de la banque d'orgine du fichier source. Dans la première version, toute la banque 1 sera utilisée pour les copies/sauvegardes de la XMEM par BCOPY
Ca y est ! :-D ! B1COPY fonctionne de la XMEM vers la banque 1. Je n'ai pas encore pris en charge la RAM BASIC, mais n'importe quel fichier en XMEM peut être copié en banque 1. Il ne me reste plus qu'à programmer l'operation inverse.
Après, je verrais pour gérer directment le cas de la RAM BASIC.
Actuellement, il même possible de n'utiliser qu'une partie de la banque 1 en "XMEM sauvegardée". Le reste étant à charge de l'utilisateur. A suivre... :geek:
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: J'ai retrouvé ma gestion de XMEM sur PC-1500 !!!!!!!!!!!

Message par cgh » 26 nov. 2012 22:35

cgh a écrit :
cgh a écrit : 5. Next

BCOPY filename,destfilename - Copie le fichier filename depuis la XMEM dans la banque 1 du CE-163 ou depuis la banque 1 dans la XMEM. Une option spéciale (par exemple #) devrait aussi permettre de faire de même avec le programme en RAM BASIC: BCOPY #,destfilename ou BCOPY filename,#. La direction sera choisie en fonction de la banque d'orgine du fichier source. Dans la première version, toute la banque 1 sera utilisée pour les copies/sauvegardes de la XMEM par BCOPY
Ca y est ! :-D ! B1COPY fonctionne de la XMEM vers la banque 1. Je n'ai pas encore pris en charge la RAM BASIC, mais n'importe quel fichier en XMEM peut être copié en banque 1. Il ne me reste plus qu'à programmer l'operation inverse.
Après, je verrais pour gérer directment le cas de la RAM BASIC.
Actuellement, il même possible de n'utiliser qu'une partie de la banque 1 en "XMEM sauvegardée". Le reste étant à charge de l'utilisateur. A suivre... :geek:
:-D Voila ! B1COPY fonctionne maintenant de la banque 1 vers la XMEM. Pour la RAM BASIC directe, c'est au prochain épisode, si vous êtes sages ;-) ! Il faut aussi une instruction B1KILL pour détruire l'entrée en XMEM et récupérer la place dans la banque 1.
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: J'ai retrouvé ma gestion de XMEM sur PC-1500 !!!!!!!!!!!

Message par cgh » 27 nov. 2012 23:36

cgh a écrit :
cgh a écrit :
cgh a écrit : 5. Next

BCOPY filename,destfilename - Copie le fichier filename depuis la XMEM dans la banque 1 du CE-163 ou depuis la banque 1 dans la XMEM. Une option spéciale (par exemple #) devrait aussi permettre de faire de même avec le programme en RAM BASIC: BCOPY #,destfilename ou BCOPY filename,#. La direction sera choisie en fonction de la banque d'orgine du fichier source. Dans la première version, toute la banque 1 sera utilisée pour les copies/sauvegardes de la XMEM par BCOPY
Ca y est ! :-D ! B1COPY fonctionne de la XMEM vers la banque 1. Je n'ai pas encore pris en charge la RAM BASIC, mais n'importe quel fichier en XMEM peut être copié en banque 1. Il ne me reste plus qu'à programmer l'operation inverse.
Après, je verrais pour gérer directment le cas de la RAM BASIC.
Actuellement, il même possible de n'utiliser qu'une partie de la banque 1 en "XMEM sauvegardée". Le reste étant à charge de l'utilisateur. A suivre... :geek:
:-D Voila ! B1COPY fonctionne maintenant de la banque 1 vers la XMEM. Pour la RAM BASIC directe, c'est au prochain épisode, si vous êtes sages ;-) ! Il faut aussi une instruction B1KILL pour détruire l'entrée en XMEM et récupérer la place dans la banque 1.
Ouf ! C'est terminé. J'ai modifié MKILL pour détruire un fichier en banque1 et récupérer de la place en banque 1.
Mais j'ai la flemme de coder B1COPY pour prendre en compte la RAM BASIC :roll: . Il faut toujours passer par la XMEM.

Bon, je devrais fournir une image de BASFILE releogable via un exécutable C sur le site de repaire d'ici la fin de la semaine.
Mais le code ne sera pas relogeable n'importe comment. Comme il contient une table de mots clés, certains alignements sont à respecter ! :ugeek:
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: J'ai retrouvé ma gestion de XMEM sur PC-1500 !!!!!!!!!!!

Message par cgh » 30 nov. 2012 00:29

cgh a écrit :
cgh a écrit :
cgh a écrit :
cgh a écrit : 5. Next

BCOPY filename,destfilename - Copie le fichier filename depuis la XMEM dans la banque 1 du CE-163 ou depuis la banque 1 dans la XMEM. Une option spéciale (par exemple #) devrait aussi permettre de faire de même avec le programme en RAM BASIC: BCOPY #,destfilename ou BCOPY filename,#. La direction sera choisie en fonction de la banque d'orgine du fichier source. Dans la première version, toute la banque 1 sera utilisée pour les copies/sauvegardes de la XMEM par BCOPY
Ca y est ! :-D ! B1COPY fonctionne de la XMEM vers la banque 1. Je n'ai pas encore pris en charge la RAM BASIC, mais n'importe quel fichier en XMEM peut être copié en banque 1. Il ne me reste plus qu'à programmer l'operation inverse.
Après, je verrais pour gérer directment le cas de la RAM BASIC.
Actuellement, il même possible de n'utiliser qu'une partie de la banque 1 en "XMEM sauvegardée". Le reste étant à charge de l'utilisateur. A suivre... :geek:
:-D Voila ! B1COPY fonctionne maintenant de la banque 1 vers la XMEM. Pour la RAM BASIC directe, c'est au prochain épisode, si vous êtes sages ;-) ! Il faut aussi une instruction B1KILL pour détruire l'entrée en XMEM et récupérer la place dans la banque 1.
Ouf ! C'est terminé. J'ai modifié MKILL pour détruire un fichier en banque1 et récupérer de la place en banque 1.
Mais j'ai la flemme de coder B1COPY pour prendre en compte la RAM BASIC :roll: . Il faut toujours passer par la XMEM.

Bon, je devrais fournir une image de BASFILE releogable via un exécutable C sur le site de repaire d'ici la fin de la semaine.
Mais le code ne sera pas relogeable n'importe comment. Comme il contient une table de mots clés, certains alignements sont à respecter ! :ugeek:
C'est prêt :-D :-D ! Je suis en train de finir d'écrire la documentation.

J'ai donc ajouté:
  • B1COPY qui copie de XMEM vers banque 1 du CE-163 et vice et versa. La copie en banque 1 va créer dans la XMEM un fichier de type BK1 qui est un descripteur contenant des pointeurs en banque 1. J'ai aussi embarqué la syntaxe "sssseeeebdddd" pour des copie a la charge de l'utilisateur (comme dans ce fil).
  • MMEM n avec n=5,6,7 pour la banque 1.
  • MKILL récupère la place en banque 1 quand un fichier BK1 est effacé. Il faut aussi reloger tous les pointeurs des BK1 !
  • HEX$ nnnnn qui renvoit nnnnn sous forme d'une chaine hexa "hhhh", petite fonction très utile pour B1COPY syntaxe user et MMEM.
Si tout se passe bien, livraison demain :ugeek:
Dernière édition par cgh le 30 nov. 2012 21:54, édité 1 fois.
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: J'ai retrouvé ma gestion de XMEM sur PC-1500 !!!!!!!!!!!

Message par cgh » 30 nov. 2012 21:34

Et voilà, l'archive BASFILE a été envoyée à repaire pour une mise sur son site 8). J'espère qu'il pourra mettre à jour son site rapidement.
Cette archive contient plusieurs images pour les différents modules ainsi que la copie entre banques pour le CE-163 :ugeek:
BASFILE fonctionne avec un driver clavier, mais des images sont fournies pour les ROM0 avec une copie de mémoires RESERVE.

Merci à frank196569 et OulanB pour leurs tests et leurs remarques et leurs retours :-D

Bon amusement et n'hésitez à me contacter en cas de bug ou de problèmes rencontrés et même d'idées d'évolutions futures !
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

Revenir vers « Tous les Pockets »