Aller au contenu
Phosphoneowiki
Sommaire

Les outils fournis

Autour de l’émulateur, de petits outils en Python ou en shell préparent les entrées et lisent les sorties.

mkneo.py — fabriquer un .neo

tools/mkneo.py prog.neo 800:code.bin FFFF:sprites.gfx --exec 800

Assemble un exécutable .neo (le format du firmware) à partir de blocs ADRESSE:FICHIER (hexadécimal) ; l’adresse FFFF désigne la mémoire graphique. --exec ADR donne l’adresse d’exécution ; sans elle, le programme n’est pas lancé automatiquement.

mkssd.py — une image disquette DFS

tools/mkssd.py disque.ssd TITRE HELLO=prog.bbc

Une image Acorn DFS de 80 pistes (204 800 octets), pour --bb-disc. NOM=FICHIER[,LOAD,EXEC] ajoute un fichier ; défaut $1900/$8023, un programme BASIC.

fake_modem.py — un modem logiciel

python3 tools/fake_modem.py /tmp/pty.txt &
NEO_CDC_TTY=$(cat /tmp/pty.txt) phosphoneo --sdl prog.neo

Crée un pseudo-terminal pour NEO_CDC_TTY / --cdc-tty. Le menu Ctrl+F12 du mode fenêtre sait aussi le lancer (choix « logiciel ») et l’arrêter à la sortie. Deux dialectes : Hayes (ATZ, ATDT → CONNECT 2400, écho, +++) et ESP-AT tel qu’un Pico W le parle (AT+CWJAP, AT+CIPSTART ouvre une vraie connexion TCP). Options : --log, --relay HOTE:PORT, --raw.

web_serve.py — servir la version navigateur

make wasm && tools/web_serve.py 8000 --proxy http://prophet.3617.fr:8998

Sert le dossier web/ et relaie vers le serveur donné toute requête qui n’est pas un fichier : le modem JavaScript parle ainsi à la même origine que la page, sans CORS.

golden.sh — les captures de référence

golden.sh run, baseline, show NOM, fingerprint NOM : voir les tests.

Latences d’appels

apilat_table.py transforme la sortie du programme de mesure (tests/corpus/apilat.neo6502, qui chronomètre 50 000 appels par fonction) en table pour --api-latency ; latency_baseline.sh et latency_merge.py produisent et fusionnent les mesures de co-simulation.

Sources dans le dépôt : tools/, README.md.