MACBAS95 - Assembleur, Debuggeur et Souceur 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 -> .

MACBAS95 - Assembleur, Debuggeur et Souceur pour PC-1500

Message par cgh » 10 nov. 2012 12:22

Bon, il est temps de remplir tous les CE-163 qui ont envahi la France ces dernières semaines !

Je suis très heureux de vous annoncer la diffusion de MACBAS95, mon macro-assembleur, debuggeur LM et sourceur sur le site de repaire ! 8) :-D

L'assembleur comme vous ne l'avez jamais vu (les indentations, c'est juste pour faire joli) :

Code : Tout sélectionner

   10 ASM &2000,&20FF,&2100,&21FF
   20 "STRLOWER":DEC L
   30 IF. C
   40   BEGIN
   41     LDA (BC)
   42     CPA ASC("A"):JR NC,"NUPPER"
   43     CPA ASC("Z")+1:JR C,"NUPPER"
   44     OR. ASC("a")-ASC("A"):STA (BC)
   45     "NUPPER":INC BC
   46   UNTIL DJC
   50 ENIF
   60 SCF: RET
   70 END.
Il est totalement intégré au BASIC. On peut assembler à la volée, ou par programme, avec des symboles et faire de la programmation assembleur structurée.
Nouveau pilote clavier avec autorépétition des touches (même après SHIFT ou DEF), mode insertion (plus de fatiguants SHIFT+INS), et pleins d'autres choses...

Bien sûr, MACBAS95 permet l'exécution des programmes LM avec passage de valeurs dans les registres et récupération des valeurs de retour. Exécution/debug LM en pas à pas, visualistion des registres et de la pile...

Désassemblage de la même façon que pour visualiser un programme BASIC, avec les flêches haut et bas, en mode PRO.

Et même de recomposer un programme LM depuis le code binaire en RAM. Un exemple avec la fonction checksum de la ROM:

Code : Tout sélectionner

POKE &7900,&B5,&0,&08,&0A,&2A,&68,&C0,&65,&FD,&CA,&6C,&00,&99,&07,&FB,&9A
Et bien, hop!, un petit coup de SRCS &7900,&790F et... à vous de découvrir ;-) 8O

Un remerciement particulier à wldsvc qui m'a motivé pour écrire un petite documentation et qui est aussi mon premier utilisateur 8) A noter aussi que MACBAS95 a fonctionné sous PockEmul lors des pocketicaires de septembre.

MACBAS95 occupe 8K (de &00C5 à &1FFF), il nécessite obligatoirement un PC1500/PC2/PC1500A avec une nouvelle ROM (PEEK &E2B9 = 56) et il n'est pas relogeable (donc un CE-161 ou CE-163).

N'hésitez pas à me faire votre retour !

Messieurs, bon amusement et... à vos machines !

Edit: Bug dans le programme STRLOWER
Dernière édition par cgh le 10 nov. 2012 22:30, é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

Avatar de l’utilisateur
Alexandre
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 747
Inscription : 26 janv. 2007 22:14
Localisation : RP
Contact :

Re: MACBAS95 - Assembleur, Debuggeur et Souceur pour PC-1500

Message par Alexandre » 10 nov. 2012 12:45

Merde, j'ai rien compris. 8O
C'est con ça a l'air super bien, mais trop pointu pour moi. Je verrais peut-être une démo aux minipocketicaires.
Sharp PC1211/1212, CE122, PC1245/47/46s/51/60/61/62/70, CE125, PC1360/50, CE140P, PC1402, CE129P, PC1500/A, CE150, PC E500, EL1195. Canon X-07. Ti 57. Newton 110. HP-12C. Psion3a

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

Re: MACBAS95 - Assembleur, Debuggeur et Souceur pour PC-1500

Message par cgh » 10 nov. 2012 12:49

Une restriction importante: MACBAS95 N'EST PAS compatible avec la CE-150 ou avec la CE-158 car les données de MACBAS95 sont stockées dans la même zone mémoire que les données de la table traçante ou de l'interface série.
Avant une impression, il faut réinitialiser l'imprimante.
Après une impression, les registres et adresses de MACBAS sont perdus.

Ceci est dû au fait que ma CE-150 est HS depuis début 1985, et qu'en plus, je ne l'ai pratiquement jamais utilisée...
De plus, cela permet d'utiliser MACBAS95 avec le module CE-161 protégé en écriture :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

Avatar de l’utilisateur
repaire
Fonctionne à 75 bauds
Fonctionne à 75 bauds
Messages : 30
Inscription : 02 sept. 2012 09:21
Contact :

Re: MACBAS95 - Assembleur, Debuggeur et Souceur pour PC-1500

Message par repaire » 10 nov. 2012 13:11

cgh a écrit :Je suis très heureux de vous annoncer la diffusion de MACBAS95, mon macro-assembleur, debuggeur LM et sourceur sur le site de repaire ! 8) :-D
Impressionnant! cgh= :ugeek:
S'il y a une nouvelle fournée de CE-163, faites-moi signe...

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: MACBAS95 - Assembleur, Debuggeur et Souceur pour PC-1500

Message par gege » 10 nov. 2012 15:26

Coucou,
Bravo cgh, j'y pige que pouic mais ça semble assez fantastique.
@repaire, je vais recevoir plusieurs CE-163 il me semble, si c'est le cas je peux t'en céder un au prix coûtant.
Ciao,
G.E.

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

Re: MACBAS95 - Assembleur, Debuggeur et Souceur pour PC-1500

Message par wldsvc » 10 nov. 2012 15:35

Superbe boulot cgh :)

Petit détail : ton code d'exemple ne compile pas. MAcBas couine sur le label "NotUPPER". Changé en "NUPR" ça passe. J'ai pas testé plus loin. En plus, il se trompe de numéro de ligne dans l'affichage de l'erreur.

Aussi, après s'être servi du moniteur (Def + flèche bas), lorsqu'oin fait LIST en mode PRO, on voit bien la première ligne du programme basic, mais un appui sur flèche Haut ou Bas ramène dans le moniteur. Il faut faire Shift+CL pour que ça revienne à la normale.
dispo : Sony Clié T675C, Psion Series 5mx 16MB, fx-180Pv
recherche : Sharp PC E220, Sharp PC-G850, calculatrices HP programmables

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

Re: MACBAS95 - Assembleur, Debuggeur et Souceur pour PC-1500

Message par wldsvc » 10 nov. 2012 15:43

Les CE-163 me fait penser à un truc : dans nos élucubrations sur les améliorations à apporter à MacBas, pourquoi pas essayer de trouver un moyen d'utiliser les deux pages de 16K avec un CE-163 ? A vue de pif, on aurait une copie de MacBas dans les deux, mais il resterait tout de même 16K de libre pour le programme basic + assembler. Basic sur une page, version assemblée dans l'autre.

Bon maintenant que j'ai écrit ça, il ça sent le bordel monstre :|
dispo : Sony Clié T675C, Psion Series 5mx 16MB, fx-180Pv
recherche : Sharp PC E220, Sharp PC-G850, calculatrices HP programmables

Avatar de l’utilisateur
repaire
Fonctionne à 75 bauds
Fonctionne à 75 bauds
Messages : 30
Inscription : 02 sept. 2012 09:21
Contact :

Re: MACBAS95 - Assembleur, Debuggeur et Souceur pour PC-1500

Message par repaire » 10 nov. 2012 16:06

gege a écrit : @repaire, je vais recevoir plusieurs CE-163 il me semble, si c'est le cas je peux t'en céder un au prix coûtant.
Merci pour la proposition, je veux bien s'il t'en reste 1...
:arrow: email cf http://www.pc1500.com

Avatar de l’utilisateur
Hobiecat
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 3397
Inscription : 06 sept. 2011 14:57
Localisation : Normandie

Re: MACBAS95 - Assembleur, Debuggeur et Souceur pour PC-1500

Message par Hobiecat » 10 nov. 2012 16:11

De mes maigres souvenirs d'assembleur (sur le 6502 de l'oric atmos :mrgreen: ), chouette boulot ! Dommage que je n'ai pas de PC-1500... Il va falloir que je me penche sérieusement sur pockemul, mais le temps manque...

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

Re: MACBAS95 - Assembleur, Debuggeur et Souceur pour PC-1500

Message par cgh » 10 nov. 2012 20:55

wldsvc a écrit :Superbe boulot cgh :)

Petit détail : ton code d'exemple ne compile pas. MAcBas couine sur le label "NotUPPER". Changé en "NUPR" ça passe. J'ai pas testé plus loin. En plus, il se trompe de numéro de ligne dans l'affichage de l'erreur.
Ah oui. Bêtise de ma part :oops: Quand j'ai tapé le README et mon programme d'exemple sous vi et que j'ai fait la mise en page du programme, j'ai mis des minuscules. Seules les majuscules sont possibles dans les symboles.
Normalement, non. Tu dois avoir une ERROR 122 IN 45 sur la définition du symbole "NotUPPER", en ligne 45, ce qui est attendu. C'est lors de la définition que le controle est effectué... C'est un peu idiot d'avoir interdit les minuscules d'ailleurs :-(
wldsvc a écrit :Aussi, après s'être servi du moniteur (Def + flèche bas), lorsqu'oin fait LIST en mode PRO, on voit bien la première ligne du programme basic, mais un appui sur flèche Haut ou Bas ramène dans le moniteur. Il faut faire Shift+CL pour que ça revienne à la normale.
Oui. Je n'avais jamais remarqué. Effectivement, le désassembleur reste actif tant que Shift+CL n'est pas appuyée. Mais ce sont des cas un peu compliqués, car la ROM BASIC (commande LIST) ne sait pas que je l'ai court-cuitée dans mon driver clavier.

Je note, je note...
Dernière édition par cgh le 10 nov. 2012 21:04, é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: MACBAS95 - Assembleur, Debuggeur et Souceur pour PC-1500

Message par cgh » 10 nov. 2012 21:01

wldsvc a écrit :Les CE-163 me fait penser à un truc : dans nos élucubrations sur les améliorations à apporter à MacBas, pourquoi pas essayer de trouver un moyen d'utiliser les deux pages de 16K avec un CE-163 ? A vue de pif, on aurait une copie de MacBas dans les deux, mais il resterait tout de même 16K de libre pour le programme basic + assembler. Basic sur une page, version assemblée dans l'autre.

Bon maintenant que j'ai écrit ça, il ça sent le bordel monstre :|
Pas forcément. Il faut juste s'assurer que le driver clavier est aux mêmes adresses lors de la commutation, car à chaque touche, il prend la main. On pourrait imaginer une page avec l'assembleur, et une page avec le sourceur et le debuggeur LM, le driver clavier se chargeant de commuter les pages automatiquement en fonction des touches et de modes voulus.

Ca, ça me plait... :geek: Je vais y réfléchir :-D

Merci wldsvc pour toutes ces remarques.
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: MACBAS95 - Assembleur, Debuggeur et Souceur pour PC-1500

Message par cgh » 10 nov. 2012 21:02

cgh a écrit :
wldsvc a écrit :Les CE-163 me fait penser à un truc : dans nos élucubrations sur les améliorations à apporter à MacBas, pourquoi pas essayer de trouver un moyen d'utiliser les deux pages de 16K avec un CE-163 ? A vue de pif, on aurait une copie de MacBas dans les deux, mais il resterait tout de même 16K de libre pour le programme basic + assembler. Basic sur une page, version assemblée dans l'autre.

Bon maintenant que j'ai écrit ça, il ça sent le bordel monstre :|
Pas forcément. Il faut juste s'assurer que le driver clavier est aux mêmes adresses lors de la commutation, car à chaque touche, il prend la main. On pourrait imaginer une page avec l'assembleur, et une page avec le sourceur et le debuggeur LM, le driver clavier se chargeant de commuter les pages automatiquement en fonction des touches et de modes voulus.

Ca, ça me plait... :geek: Je vais y réfléchir :-D

Merci wldsvc pour toutes ces remarques.
En fait, ce n'est même pas très difficile :geek: Bon, encore une bonne raison pour un MACBAS-II (ou 2012) ;-)
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: MACBAS95 - Assembleur, Debuggeur et Souceur pour PC-1500

Message par wldsvc » 10 nov. 2012 21:10

cgh a écrit :Tu dois avoir une ERROR 122 IN 45 sur la définition du symbole "NotUPPER"
Non, j'ai un ERROR 122 IN 44. Mais quand je repasse en mode PRO et flèche-up, il me met bien sur la ligne 45 à la fin du label "NotUPPER"
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: MACBAS95 - Assembleur, Debuggeur et Souceur pour PC-1500

Message par cgh » 10 nov. 2012 21:15

wldsvc a écrit :
cgh a écrit :Tu dois avoir une ERROR 122 IN 45 sur la définition du symbole "NotUPPER"
Non, j'ai un ERROR 122 IN 44. Mais quand je repasse en mode PRO et flèche-up, il me met bien sur la ligne 45 à la fin du label "NotUPPER"
Oui, j'ai pareil avec MACBAS-3.0. Je ne me bananer dans la restauration de DE.

Merci ! Tu as trouve plus de probleme en une journee que moi en 5 ans ;-)
Mais le coup du LIST et du desassembleur, ca devrait assez duraille a corriger !
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: MACBAS95 - Assembleur, Debuggeur et Souceur pour PC-1500

Message par wldsvc » 10 nov. 2012 21:20

cgh a écrit :Pas forcément. Il faut juste s'assurer que le driver clavier est aux mêmes adresses lors de la commutation, car à chaque touche, il prend la main. On pourrait imaginer une page avec l'assembleur, et une page avec le sourceur et le debuggeur LM, le driver clavier se chargeant de commuter les pages automatiquement en fonction des touches et de modes voulus.
Oui, c'est ce que j'ai pensé après coup.
Pour ceux qui sont intéressés par MacBas95 mais un peu déroutés par l'utilisation de mnémoniques Z80, j'ai commencé à faire une mise en forme de la doc avec une table de correspondance des mnémoniques . Le but du site est d'extraire la doc des diverses sources disponibles pour le PC-1500/A et de présenter ça sous forme de référence utilisable sans se tuer les yeux sur de mauvais scans, et d'y avoir accès rapidement (d'ailleurs, qui aurait une doc de la table de vecteurs FF00h -> FFF6h ? Je l'ai vue quelque part mais je n'arrive pas à la retrouver).

Te bile pas pour le LIST, à vu de nez, celui là va être pénible (à moins de détourner le LIST d'origine pour lui faire désactiver le moniteur d'abord, mais je ne sais pas si c'est possible). Le tout est de savoir pour le Shift-CL.
dispo : Sony Clié T675C, Psion Series 5mx 16MB, fx-180Pv
recherche : Sharp PC E220, Sharp PC-G850, calculatrices HP programmables

Répondre

Revenir vers « Tous les Pockets »