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)