OricForge
v0.6.0 IDE de developpement pour machines retro 8-bit
Presentation
OricForge est un environnement de developpement integre concu pour la creation de programmes sur micro-ordinateurs retro. L'architecture est agnostique de la machine cible : toute specificite materielle (CPU, memoire, video, son, formats) est decrite dans des fichiers de definition externes (JSON).
Ajouter une machine = ajouter un fichier.
Premiere cible : famille Oric (Oric-1, Oric Atmos, Telestrat). Futures cibles : ZX81, MSX, et autres machines 8-bit.
Fonctionnalites principales (v0.6.0)
- Architecture agnostique machine — zero valeur codee en dur, definitions JSON
- Assembleur 6502 deux passes — tous les modes d'adressage, optimisation page zero
- Preprocesseur — macros, conditionnels, includes
- Segments multiples — CODE, DATA, BSS, ZP
- Support 65C02 — instructions additionnelles pour Telestrat
- Export .TAP — fichiers cassette valides pour Oric reel ou emulateur
- Integration emulateur — lancement automatique avec le .TAP genere
- Assembleurs externes — xa65, ca65/cc65, vasm, z80asm, pasmo
- Tokeniseur BASIC — tokenisation basee sur la table de tokens machine
- Gestionnaire de projet (.ofp) — build complet en une commande
CLI
oricforge validate machines/oric1.json # Valider une definition machine
oricforge list-machines machines/ # Lister les machines
oricforge assemble -m machines/atmos.json prog.asm # Assembler
oricforge run -m machines/atmos.json prog.tap # Lancer dans l'emulateur
oricforge init-project monprojet # Creer un projet
oricforge build # Builder le projet
oricforge tokenize -m machines/oric1.json prog.bas # Tokeniser du BASIC
oricforge inspect-tap prog.tap # Inspecter un fichier TAP
Structure du projet
OricForge/
├── cmd/oricforge/ CLI principal
├── internal/
│ ├── forgecore/ Abstractions generiques (CPU, memoire, video, son)
│ ├── forgemachine/ Chargeur de definitions machine
│ ├── forgeasm/ Assembleur multi-CPU + preprocesseur + segments
│ ├── forgeextasm/ Integration assembleurs externes
│ ├── forgeio/ Import/export de formats (TAP, DSK)
│ ├── forgeemu/ Integration emulateurs
│ ├── forgeproject/ Gestionnaire de projet (.ofp)
│ └── forgebasic/ Tokeniseur et verificateur BASIC
├── machines/ Definitions machine (JSON)
│ ├── oric1.json Oric-1 (6502A, 48K, BASIC 1.0)
│ ├── atmos.json Oric Atmos (BASIC 1.1)
│ └── telestrat.json Telestrat (65C02, banking 64K)
└── docs/ Documentation technique
Licence
MIT — Benedicte Marty (chipinette)
Code genere avec l'assistance de Claude Opus 4.6 (Anthropic)