Retour
Software for PC-1350

Programmes
DesassembleurExo7ExploreurGPRINTJackpot
StatSuperDiceTraducteur  

You can find in the page many programs I wrote for my PC-1350. They can be easily transfered to the machine using its SIO port (RS-232).

  • .BAS files are basic sources code. They are plain text files.
  • .BIN files are memory dump of machine language or of data. They are plain text files using the following format :
    AAAA 0001020304050607:CS
    with :
    • AAAA : starting address of this line,
    • 00 ... 07 : values of each bytes of this line,
    • CS : checksum of this line.
    In the "outils" section, you can find a tool to convert these data into BASIC source code. You can also use EditLM or poke bytes directly in memory.
  • .S are assembler source code files that can be converted in basic POKE listing or in binary files using the EsrH assember.
  • .DAT files are data files that can be read by INPUT # basic commands.

Notez bien: most tools have only french documentation. I will doing my best to make newer in both french and english for newer programs. Perasp, one day, everything will be in both language ...

Cette page contient plusieurs programmes que j'ai ecrit for my PC-1350. Ils peuvent facilement être transférés sur la machine en utilisant son port SIO (RS-232).

  • Les fichiers .BAS sont des sources BASIC et sont symbolisés par un . Ce sont de simples fichiers texte.
  • Les fichiers .BIN. () sont des dumps mémoires, que ce soit de programmes en langage machine ou de simples données binaires.
    Chaque ligne a le format suivant :
    AAAA 0001020304050607:CS
    avec :
    • AAAA l'adresse de départ de cette ligne.
    • 00 ... 07 la valeur de chacun des octets
    • CS le checksum de la ligne (la somme de tous ses octets modulo 256).
    Ils peuvent être convertis en programme BASIC avec ou charger avec un moniteur comme EditLM. Vous pouvez aussi vous amuser à les POKEr en mémoire.
  • Les fichiers .S () sont des fichiers sources assembleurs, à compiler avec l'assembleur EsrH
  • Les fichiers .DAT () sont des fichiers de données pour les programmes BASIC (INPUT #)

Desassembleur

Ce programme permet de désassembler un programme en langage machine, que ce soit en RAM ou en ROM, y compris dans la ROM protègée. Pour ce faire, il crée 2 programme en langage machine dans l'espace des variables fixes Q à Z.
Attention : Hormis bien sur en modifiant le programme, la machine doit être en MEM "C" pour que le programme fonctionne. De plus, il alloue de gros tableaux donc je doute que ca fonctionne sur une machine de base.

Portabilité : en modifiant quelque peu le langage machine et les adresses utilisées pour la communication entre le BASIC ce cette routine, ce programme devrait être portable.
Le source assembleur comprend quelques commentaires sur ces adaptations.

Lancement :[DEF][SPACE] ou RUN 10
Un prompt s'affiche :
[Init./Rech./Dsmb./Sort]*
  • Init : initialise les variables et charge le langage machine (normalement, le programme le fait automatiquement au premier démarrage).
  • Rech : recherche une séquence d'au plus 20 octets à partir d'une adresse donnée. Extrêmement rapide car c'est fait par un programme en assembleur.
  • Dsmb : Désassemble une la mémoire à partir de l'adresse donnée. Le résultat peut être redirigé vers l'imprimante ou la SIO (dans ce cas, il prend les param`tres déja définis).
    On peut marquer une pause en appuillant sur une touche quelconque [F] pour revenir au prompt.
    A noter que le listing généré affiche toujours les adresses de destinations des instructions de saut, y compris pour les sauts relatifs.
  • Sort : sort du programme.

RchLIDP

Dans la ROM interne (les 8 premiers Ko), on trouve de nombreuses routines qui ne contiennent que des LIDP. Elles permettent d'économiser quelques octets (car CAL ???? fait 2 octets contre 3 pour LIDP ????) et accessoirement, pour nous, de connaître les adresses interessantes de la RAM système.

Lignes : 600 à 680.
Lancement : [DEF][L] ou tapper [L] dans le menu.

Dump

Permet de dumper au format HEXA une partie de la mémoire, y compris les 8 premiers Ko de la ROM.

Lignes : 900 à 960.
Lancement : [DEF][H] ou tapper [H] dans le menu.


Desassembleur.bas
4564 Octets
Dump.bas
389 Octets
LM.s
1138 Octets
RchLIDP.bas
470 Octets

Exo7

Votre mission, si vous l'acceptez, est survoler avec votre avions espion la base ennemie qui se trouve en bas à droite de l'écran. Vous devez ensuite revenir à votre base (en haut à gauche) saint et sauf ... car un missile Ex7 vous fait la chasse.
J'avais pris l'idée d'un vieux jeu pour PC-1500 mais je l'ai totalement recodé.Même s'il n'est pas époustouflant niveau graphique, il reste distrayant.

Utilisez le pavé numérique comme une rose des vents. Portabilité : Le CALL de la ligne 10 qui ne fait qu'attendre l'appui sur une touche. Les autres CALL appellent une routine placée en &6C0F et initialisée en 200 qui permet d'émettre des « bruits ». L'un comme l'autre sont facilement supprimables.


Exo7.bas
1462 Octets

Exploreur

Il s'agit de guider un vaisseau (symbolisé par un petit carré) à travers une caverne. Au fur et à mesure de la progression, les mur se rapprochent.

[8] fait monter le vaisseau
[2] fait descendre le vaisseau
[6] turbo : le vaisseau va plus vite (donc plus de point sont marqués mais ... il y a plus de risque


Exploreur.bas
1021 Octets

GPRINT

Petit programme de dessin spécialement conçu pour la commande basic GPRINT.

Il permet donc de créer un dessin de 8 pixels de hauts et jusqu'a 29 pixels de larges. Le curseur est symbolisé par un carré clignotant qui peut être déplacé grâce aux touches du pavé numérique, comme une rose des vents. [5] valide la modification du pixel actif.
[T] et [E] permet de changer de mode (Trace et Efface).
[F] indique que la saisie est terminée, le programme affiche alors les codes GPRINT correspondant au dessin.

Portabilité : La ligne 80 contient un petit programme qui fait un GET (c'est un enrobage de CAL 1204 avec l'indicateur [RUN] qui s'efface lorsque le programme attend quelque chose). Avec la ligne 50 qui contient le CALL vers cette routine et un PEEK pour récupérer le code de la touche appuyée, ce sont les seules parties de ce programme qui ne soient pas portable.



GPRINT.bas
1485 Octets

Jackpot

Petit jeu de jackpot avec de jolies animation.
Portabilité devrait fonctionner sur PC-1360 (c'est du pure basic) et sans doute sans tros de difficultés sur un PC-1600.



Jackpot.bas
1870 Octets

Stat

Simule le mode STAT du PC-1401 : statistique à 2 variables mais avec en plus la possibilité d'afficher le graph des données saisies.

Lancement par GOTO "STA" (éviter RUN sinon toutes les données seront perdues).
Au démarrage, le programme demande le nombre de variables à prendre en compte (1 ou 2 et si on repond directement par ENTER, on conservera les valeurs précédentes).
Il demandera ensuite EFF.: : faut-il effacer ou non les données actuellement ne mémoire (O ou N)
puis Memo : : faut-il mémoriser les données (O ou N). Seule un réponse affirmative permettra d'afficher une courbe. D'affiche ensuite un menu (qui ne necessite pas plus de commentaires).
Variable permet d'obtenir les variables statistiques. Sont disponibles les variables suivantes : Ex, Ex2, X, Sx, Qx, Ey, Ey2, y, Sy, Qy, r,a & b.
Pour plus d'info, voir la doc "Statistique" du PC-1401.

Portabilité : La ligne 2080 contient un petit programme qui fait un GET (c'est un enrobage de CAL 1204 avec l'indicateur [RUN] qui s'efface lorsque le programme attend quelque chose). Peut facilement être remplacé par une boucle de INKEY$



stat.bas
2428 Octets

SuperDice

Effacer les chiffres d'un tableau grâce à 2 dés

Petit jeu sympa en BASIC avec de jolis graphismes.
Le but est d'effacer tous les chiffres d'un tableau 1 à 9 grâce aux valeurs tirées par 2 dés. Chaque double donne un joker. Si la valeur des dés ne permet pas d'effacer des chiffres, [.] permet de passer ce tour : s'il n'y a plus de joker, le jeu est terminé.

Lancement :[DEF][SPACE] ou RUN. Portabilité : devrait fonctionner sans problème sur PC-1360 voir même sur PC-1600 ou PC-E500.


SuperDice.bas
2516 Octets

Traducteur

Ch'tit programme de pompe comme on les aime !

A chaque terme d'une langue est associé un ou plusieurs termes de l'autre langue. La recherche peut se faire sur les premières lettres du terme. Le fichier peut être sauvegarder sur K7, et avec les modifications qui vont bien aux lignes 150 & 190, sur le SIO.

Lancement :[DEF][SPACE] ou GOTO 10.
Le RUN est a éviter sinon toutes les données seront perdues.
Portabilité : Il y a quelques PEEK et POKE à la ligne 30, et des CALL qui parseme le code ici ou là. Mais ca ne devrait pas tros pauser de problème.


Traducteur.bas
2503 Octets
Traducteur.dat
990 Octets