Weather / Spam / www |
Lyon Weather
aldweb against spam
|
|
|
|
|
|
|
- Forum - Pocket Computer
Warning: A non-numeric value encountered in /web5/aldweb/www/aldweb_com/www/thread.php on line 257
Topic # 12 |
Discussion générale PC-E500 (Bascom, Forth...) |
18/09/2002 @ 13:22 by aldweb
|
Vous trouverez dans ce thread du forum une copie d'un long échange d'e-mails entre Claude et Sébastien. C'est sur la bonne idée de Sébastien que cette discussion d'intérêt général sur le PC-E500 a été mise ici à la disposition de tous. For you English readers, you will find in this forum's thread a copy of a rich exchange of e-mails between Claude and Sebastien. Sorry, they are both French, so this topic will be in this language (please use an online translator for reading it). Sebastien is the one who gave the good idea of putting this discussion of general interest on the PC-E500, so that everybody interested can give a look to it. |
|
|
Warning: A non-numeric value encountered in /web5/aldweb/www/aldweb_com/www/thread.php on line 497
Answer n° 1 -------- 18/09/2002 @ 13:23 by Claude
visitor |
Bonjour, Je cherche à transférer le binaire du compilateur BASCOM PCE500 depuis le PC vers le PCE500. y a t il un outil pour le faire ou je dois le faire moi-même? |
|
|
Warning: A non-numeric value encountered in /web5/aldweb/www/aldweb_com/www/thread.php on line 497
Answer n° 2 -------- 18/09/2002 @ 13:23 by Sébastien
visitor |
Bonjour, Le transfert d'un binaire depuis un PC vers le PC-E500/S peut être fait de plusieurs manières. La plus simple (pour une première transmission) est d'utiliser l'utilitaire UUSFX (www.kako.com) qui encode le binaire en ASCII directement exécutable en mode BASIC sur le PC-E500/S. La transmission se fait donc normalement comme pour tout autre fichier (cf. manuel utilisateur, commande OPEN). Personnellement j'ai eu beaucoup de mal à utiliser BASCOM car le langage n'est pas standard et la documentation est en japonnais. C'est ce qui m'a poussé à écrire mon propre interpréteur/compilateur Forth (norme ANSII). Ce compilateur Forth offre les mêmes performances que BASCOM pour les applications non graphiques et a en outre l'avantage d'être interactif comme BASIC. De plus il est self réflexif et extensible (tout nouveau programme devient un mot du langage réutilisable dans d'autres programmes). Je l'ai écrit l'année dernière mais ne l'ai toujours pas mis en ligne car je n'ai pas terminé l'intégration des nombres en virgule flottante. Les primitives graphiques sont celles résidant dans la ROM (IOCS) : l'idéal serait de les réécrire de manière à obtenir de meilleures performances (ce qui n'est pas très dur mais prend du temps !). Cet interpréteur peut remplacer BASIC (il est toutefois possible de passer de l'un à l'autre) car il offre toutes les possibilités d'accès aux fichiers (et même des fonctions non disponibles sous BASIC comme l'accès aléatoire et diverses informations sur les fichiers). Il est aussi équipé d'une fonction POWER-OFF appelable par programme et de quelques autres fonctionnalités intéressantes (personnalisation du compilateur, ajout d'instructions, éditeur...). Si ce projet vous intéresse, je peux vous envoyer le code assembleur et/ou le binaire avec quelques instructions pour le lancement. |
|
|
Warning: A non-numeric value encountered in /web5/aldweb/www/aldweb_com/www/thread.php on line 497
Answer n° 3 -------- 18/09/2002 @ 13:24 by Claude
visitor |
Bonjour, Tout d'abord merci pour votre réponse détaillée. Je suis interessé par votre projet. Je souhaite y jeter un oeil et pourquoi pas participer à son developpement. Me concernant: J'ai pour l'instant un passif très maigre sur mon E500. Je manque cruellement de docs intelligibles, je perds un temps phénoménal. Concernant mon matériel : PC-E500 ROM v? cable RS232 RAM Card 256 K (out pour l'instant) Concernant l'assembleur : marche sur cible mais pas sur "émulateurs" (simulateurs sur pc) et je m'arrache les cheveux. Questions : Sur quelles docs vous basez vous pour recoder les fonctions de l'iocs ? utilisez vous un des "émulateurs" trouvables sur le web ? Dites moi clairement dans quelle proportion vous utilisez votre e500 et quelles réponses vous pouvez m'apporter. merci pour vos lumières. |
|
|
Warning: A non-numeric value encountered in /web5/aldweb/www/aldweb_com/www/thread.php on line 497
Answer n° 4 -------- 18/09/2002 @ 13:26 by Sébastien
visitor |
PC-E500 ROM v? En mode BASIC : STR$ (PEEK &FFFF0)+"."+STR$ (PEEK &FFFF1) Je possède les versions 7.3 (PC-E500) et 8.3 (PC-E500S) qui étaient les deux versions distribuées en France et en Allemagne notamment. Le PC-E500S est une évolution du PC-E500 (machine légèrement plus grande, écran mieux contrasté, "blocage" dû au harware supprimé, quelques instructions BASIC supplémentaires). Pour faire tourner mon code sur émulateur, je compile un fichier objet que j'insère à l'endroit approprié dans un fichier S1.RAM avant de lancer l'émulateur. Je fais cela directement depuis mon éditeur de textes (lancement de l'émulateur compris) à l'aide d'un utilitaire écrit par mes soins ce qui me permet de tester rapidement mon code assembleur (à l'aide des "dumps" et les points d'arrêts de l'émulateur). Sur quelles docs vous basez vous pour recoder les fonctions de l'iocs ? La doc. officielle de l'IOCS (PC-E500 REFERENCE MANUAL) et la doc. de la CPU (ESR-L REFERENCE MANUAL) achetées sous forme de photocopies chez Maubert Electronic à Paris en 1996. utilisez vous un des "émulateurs" trouvables sur le web ? J'utilise E500E qui fonctionne à merveille sous Windows 98 (mais pas sous Windows NT) : http://members.tripod.com/~matsumo/e500/index.html C'est un outil indispensable pour tout développement sérieux en assembleur (qui évite des heures de débogage "en aveugle" !). Dites moi clairement dans quelle proportion vous utilisez votre e500 et quelles réponses vous pouvez m'apporter. Cela dépendra de vos questions ! J'ai utilisé mon PC-E500 pour faire de la programmation en BASIC au lycée et les deux-trois années qui ont suivi. J'ai cependant vite abandonné BASIC car je ne le trouvais pas assez expressif pour m'intéresser au compilateur VOGUE (développé par Narihito Kon). Finalement, après quelques années passées sans utiliser ma machine, je me suis décidé à écrire le fameux compilateur Forth dont je parlais dans mon précédent mél. Pour moi, le PC-E500/S est une plateforme d'expérimentation pour de petits programmes amusants. Ma passion première est celle des langages de programmation et le PC-E500/S constitue une machine facile à utiliser lorsque je veux tester de petits programmes. Concernant mes connaissances de la machine, j'ai avec les années archivé un grand nombre de notes (résultant de mes propres découvertes, d'achat de manuels, d'informations échangées avec des "fans" japonnais et plus récemment d'une l'utilisation particulière de l'émulateur). Que comptez-vous faire avec votre PC-E500 ? P-S : Un très bon site francophone d'introduction à Forth: http://forth.free.fr/apprentissage/teknik/forthidx.html Si ça vous plaît je vous enverrai un fichier S1.RAM pour tester le langage sous l'émulateur... |
|
|
Warning: A non-numeric value encountered in /web5/aldweb/www/aldweb_com/www/thread.php on line 497
Answer n° 5 -------- 18/09/2002 @ 13:28 by Claude
visitor |
Bonjour, J'ai 29 ans, je pense qu'on peut se tutoyer ? Ce que je veux faire avec mon E500: Je l'ai acheté au Lycée, je m'en suis servi en école d'ingé mais superficiellement. J'appréciais le BASIC qui permet de coder simplement et rapidement et je ne suis pas allé plus loin. Je me suis mis a rechercher un PDA il y a peu et je me suis rendu compte que je cherchais un outil de dev pour me divertir. J'ai ressorti ma vieille Sharp, changé les piles, reset et HOP! (la RAM contenait encore mon dernier prog). Enthousiaste j'ai commencé à chercher sur le web et j'ai trouvé pas mal d'outils interessants.. asm, xasm, emulateurs (dont un sous windows nt. Malheureusement bcp de doc en allemand et japonais, et je n'ai pas d'outil de traduction adapté. J'ai l'impression que peu de gens s'interesse encore au e500 (bcp de liens morts ou vieux non updatés) et je trouve ca domage! Bref, je souhaite 1/ integrer un langage puissant et rapide à ma machine. 2/ me divertir... Je suis interessé par tes notes(informatiques?)! si tu consens à les partager. Toute explication, même en vrac est bienvenue. Je connais les grandes lignes de Forth mais je ne m'y suis jamais plongé. Je compte faire une première approche à partir des infos du site http://forth.free.fr qui à l'air très bien, peut être un peu partial,et m'y lancer. Peux tu m'envoyer ton S1.RAM ? concernant l'EMUL J'ai utilisé Ultra-Edit pour "dumper" du binaire dans le S1.RAM, avec +ou- de succes. je suis revenu au load par I/O (SI.DAT) presque sans erreur (j'ai des EOF intempestifs) mais LOAD OK. L'assembleur ne fonctionne tjrs pas sur l'emul (version nt).... quelle config d'emul (ROM, RAMs) utilises tu ? as tu fais une image ROM de ton PCE ou utilises tu celle fournie avec l'Emul (je sais c'est pas légal, mais c'est pour la bonne cause..) ? |
|
|
Warning: A non-numeric value encountered in /web5/aldweb/www/aldweb_com/www/thread.php on line 497
Answer n° 6 -------- 18/09/2002 @ 13:30 by Sébastien
visitor |
Il n'y a aucun problème de mon côté quant au partage de mes notes et/ou connaissances. Je peux dans un premier temps t'expédier des photocopies des manuels techniques de la machine. Pour cela, il me faut les récupérer : En effet, elles se trouvent sur mon lieu de week-end... En fichier attaché, un vieux S1.RAM d'une version de développement que j'ai sur ma machine de travail. Cette version ne gère pas les retours au mode Forth (pas de sauvegarde de contexte) : Il te faudra donc en faire une copie pour chaque session. Avant les grosses déceptions, j'aime autant te signaler tout de suite que Forth n'est pas un langage à exécution sûre (comme BASCOM et VOGUE, contrairement à BASIC) pour la bonne raison qu'il n'est pas typé. Cela dit, les méchants "crashs" des premières sessions sur PC-E500/S (ou sur émulateur, ce qui est moins grave) disparaissent assez vite à mesure que l'on progresse dans l'apprentissage du langage... (d'ailleurs un premier programme intéressant à faire en Forth serait d'écrire son propre débogueur) > concernant l'EMUL > J'ai utilisé Ultra-Edit pour "dumper" du binaire dans le S1.RAM, avec +ou- de succes. Je pourrai t'envoyer mon petit exécutable qui crée le fichier S1.RAM à partir d'un S1.RAM de référence et un fichier OBJ généré par XASM32. Pour cela il faut attendre le week-end. > je suis revenu au load par I/O (SI.DAT) presque sans erreur (j'ai des EOF intempestifs) mais LOAD OK. Je n'ai jamais testé cette fonctionnalité de l'émulateur. > L'assembleur ne fonctionne tjrs pas sur l'emul (version nt).... J'ai vite abandonné la version NT de l'émulateur (j'utilise Windows 98) malgré l'aide de son concepteur (Yuh Kishida, aka KYU). > quelle config d'emul (ROM, RAMs) utilises tu ? > as tu fais une image ROM de ton PCE ou utilises tu celle fournie avec l'Emul (je sais c'est pas légal, mais c'est pour la bonne cause..) ? Ma ROM est une 8.5 (version japonnaise) ce qui m'arrange beaucoup car cela me permet de tester la compatibilité de mon Forth avec d'autres ROMs (je l'ai également testé avec succès sur les versions 7.3 et 8.3). Les RAMs font 256 ko (S1 et S2) comme celles de mon PC-E500S (c'est d'ailleurs préférable car le fait d'ajouter un gros exécutable en RAM sans fusionner S1 et S2 laisse peu de RAM libre (~3 ko dans le cas de mon Forth qui tourne dans le segment Bxxxx de la RAM). On peut noter que l'émulateur est très fidèle : la seule fonctionnalité non testable est POWER-OFF (elle n'est pas émulée). J'ai eu la bonne surprise de voir qu'elle marchait bien sur une vraie machine ! |
|
|
Warning: A non-numeric value encountered in /web5/aldweb/www/aldweb_com/www/thread.php on line 497
Answer n° 7 -------- 18/09/2002 @ 13:30 by Sébastien
visitor |
J'oubliais : Il y a une introduction au Forth ANS sur le site suivant : http://www.albany.net/~hello/ Ma version de Forth (ANS) n'inclut pas le mot SEE (ce n'est pas un mot du "CORE WORDSET"). D'ailleurs il faudra que je pense à l'écrire (en Forth !). SEE <word> sert à décompiler <word> (on obtient donc en général quelquechose qui approche ce que l'on a écrit en définissant <word>). En attendant, il est possible de se contenter de la version suivante : : SEE ( -- ) ' ." A word located at address: $" >NAME 2- HEX. ; note l'espace entre ." et 'A word...' que l'on a tendance à oublier ! (Forth est dépourvu de grammaire) |
|
|
Warning: A non-numeric value encountered in /web5/aldweb/www/aldweb_com/www/thread.php on line 497
Answer n° 8 -------- 18/09/2002 @ 13:31 by Claude
visitor |
Hello, J'ai retrouvé toutes les docs que j'avais à l'époque rassemblées. 1/ ESR-L instruction manual 2/ PC-E500 technical manual (décrivant les fonctions IOCS, décevantes de lenteur) 3/ Manuel PC-E500 livré à l'achat .. (autant dire rien.) plus récemment, j'ai récupéré d'autres petites choses notamment une note sur l'assembleur qui m'a finalement réellement fait avancer! Q: le PC E500S est vendu avec 512Ko de RAM ? |
|
|
Warning: A non-numeric value encountered in /web5/aldweb/www/aldweb_com/www/thread.php on line 497
Answer n° 9 -------- 18/09/2002 @ 13:32 by Sébastien
visitor |
Eh bien tu vas être déçu : Je n'ai pas grand-chose de plus ! Les connaissances que j'ai du système ont été dans un premier temps obtenues à coups de PEEK et POKE (je ne possédais pas encore les manuels techniques). De fil en aiguille j'ai découvert les noms d'unités non documentés, le point d'entrée de la table des instructions BASIC (qui est en RAM, pratique pour ajouter des instructions !), les descripteurs de fichiers de l'IOCS, les pointeurs vers les fichiers BTEXT$ et BDATA$ et quelques autres qui à ma grande déception ne figurent pas dans les manuels techniques achetés plus tard : Accès au buffer clavier depuis BASIC, modification de sa taille (ils disent que c'est impossible mais c'est faux !), fichiers "Sx:AUTO.BAS" et "Sx:CARD.BAS", etc. J'ai consigné toutes mes notes sur des cahiers et des feuilles volantes que je peux scanner afin de te les envoyer (je n'aurai pas besion de ton adresse "escargot" dans ce cas...). Elles décrivent principalement le contenu de la RAM du SC62015, la zone système (BFC00~BFFFF), le format des blocs (les "nombres magiques", etc.), la méthode d'ajout d'instructions au BASIC, les adresses intéressantes en ROM (ou plutôt comment les retrouver puisqu'elles changent bien évidemment d'une version de ROM à l'autre), etc. Je suis assez content de ma dernière découverte : C'est une méthode qui permet d'accéder aux fonctions mathématiques non répertoriées dans l'IOCS (de plus, ça évite la recherche séquentielle dans l'IOCS). Je ne comprends d'ailleurs pas l'intérêt qu'avait Sharp de "cacher" certaines fonctions mathématiques pourtant accessibles depuis BASIC (si, peut-être : l'économie de mémoire). > plus récemment, j'ai récupéré d'autres petites choses notamment une note sur l'assembleur qui m'a finalement réellement fait avancer! Ça m'intéresse ! En as-tu une version électronique ? > > Q: le PC E500S est vendu avec 512Ko de RAM ? Non, il y a eu des versions à 64 ko au Japon mais toutes les versions européennes ne possédaient à ma connaissance que 32 ko de RAM. Je suppose que tu connais l'URL suivante, où l'on peut encore acheter des PC-E500S (à 32, 256 et 512 ko de RAM) : http://www.weinert-engineering.de J'ai acheté deux PC-E500S avec 256 ko de RAM et trois cartes de 256 ko de RAM chez eux (!). As-tu réussi à utiliser mon fichier S1.RAM ? Je ne me rappelle plus si le Forth se lançait tout seul (comme je te l'ai dit c'est un vieux fichier qui traînait sur ma machine de travail). Si ce n'est pas le cas, un CALL &B0000 depuis BASIC devrait faire l'affaire (si c'est une RAM de plus de 32 ko), sinon c'est CALL &B9000. |
|
|
Warning: A non-numeric value encountered in /web5/aldweb/www/aldweb_com/www/thread.php on line 497
Answer n° 10 -------- 18/09/2002 @ 13:32 by Claude
visitor |
Eh bien tes "notes" me seraient utiles, car je n'ai jms cherché à faire du reverse. Si tu as le courage de m'en faire une copie, je l'attends avec impatience et interet. Je suis vraiment novice en matière PC E500! Jusqu'à la récupération de l'assembleur, je n'avais jms eu de résultat probant!. Je pense que tu as déjà ce doc, mais je te l'attache qd même, je l'ai récupéré sur un site connu je pense. cf dumptool.htm -outil de dump (inutile) +asm. http://www.weinert-engineering.de : non, je ne connaissais pas! Pourquoi as tu acheté autant de matos PC E500(s) ? A quoi ressemblent leurs cartes de 256 Ko ?.la mienne est artisanale et la pile est soudée sur le circuit :( test de ton s1.ram: Je n'ai eu le temps que de faire une tentative avec l'emul sous 2000 et malheureusement l'emul se bloque au démarrage... Par contre j'ai récupéré sur un de tes liens un processeur Forth pour PC et j'ai commencé l'apprentissage. Je pense que je ne pourrai me faire une idée réelle de forth que lorsque j'aurai fait mes premiers benchs. Au fait, peut être en as tu déjà fait ? Quelle est la proportion d'interprété, grosso-modo, dans du code FORTH ? des questions, tjrs des questions.... |
|
|
topic active
topic closed
Sticky
New message -
Correct message
Close topic
Make sticky
|
|
|
|
|
|