it regularly difficult to spot, aside from maybe by a genuine Rolex replica history specialist, in light of the fact that the best phony Rolex are 95% made by Rolex. If you want to know how often you should optimally be winding your rolex replica watch, Click Here.

Oric Screen Editor ...
 
Notifications
Retirer tout

Oric Screen Editor for LOCI — v1.0.0

1 Posts
1 Utilisateurs
0 Reactions
4 Vu
xahmol
(@xahmol)
Posts: 33
Membre
Début du sujet
 
[#409]

Éditeur d'écran pour l'Oric Atmos, réécrit de zéro en C avec Oscar64. Basé sur OricScreenEditor V1 (CC65, 2022), étendu avec le support du périphérique de stockage LOCI et plusieurs nouvelles fonctionnalités d'édition.

Un périphérique LOCI est requis. Le canevas réside en RAM overlay ($C000–$E7FF) ; l'éditeur ne démarre pas sans LOCI.

Ecran titre

Captures d'écran et manuel complet : https://github.com/xahmol/OricScreenEditorLOCI

Nouveautés depuis V1

Canevas en RAM overlay — tailles arbitraires

Dans V1, le canevas était un tampon fixe de 40×28 octets en RAM principale. Dans OSE-LOCI, il réside en RAM overlay (10 Ko). Toute taille de 1×1 jusqu'à 10 240 octets est supportée. La largeur et la hauteur sont indépendantes et peuvent être inférieures ou supérieures à 40×28. Quand le canevas est plus grand que l'écran, le viewport défile automatiquement lorsque le curseur atteint un bord.

Annulation et rétablissement

V1 ne disposait d'aucune annulation. OSE-LOCI stocke des instantanés de la zone modifiée dans une seconde région de RAM overlay ($E800–$FFFF, 6 Ko) sous forme d'un tampon circulaire de 40 niveaux. L'annulation (Z) et le rétablissement (Y) couvrent toutes les opérations destructives : tracé, remplissage Ligne/Boîte, couper/copier/remplir en mode Sélection, mode Déplacement, mode Écriture et Écran > Effacer/Remplir.

Sélecteur de fichiers et E/S LOCI

Un sélecteur de fichiers utilisant la XRAM du LOCI permet une navigation complète : répertoires parents et enfants, changement de lecteur (0–9), page suivante/précédente, et création de répertoire depuis le sélecteur. Quatre formats de fichiers sont supportés :

  • Écran — dump brut du canevas, identique au format V1
  • Projet — canevas + métadonnées + jeux de caractères (jusqu'à 4 fichiers). Les projets V1 sont détectés et importés automatiquement.
  • Combiné — les deux banques de caractères et le canevas dans un seul fichier
  • Jeu de caractères — Standard (768 octets), Alternatif (640 octets) ou Combiné (1 664 octets)

Sélecteur de couleurs

Un nouveau popup visuel 8×8 (touche C) affiche les 64 combinaisons encre/papier simultanément. Chaque cellule montre un swatch normal et un swatch inversé côte à côte. V1 n'avait pas d'équivalent ; encre et papier devaient être modifiés par touches successives.

Mode Ligne/Boîte — boîte creuse et ellipse

V1 ne dessinait que des boîtes pleines et des lignes. OSE-LOCI ajoute deux options dans l'étape de confirmation de forme : creux (O) et ellipse (C), donnant quatre combinaisons : boîte pleine, boîte creuse, ellipse pleine, ellipse creuse.

Mode Sélection — couper et copier

V1 proposait uniquement des opérations de remplissage. OSE-LOCI ajoute couper (X) et copier (C) : après sélection d'un rectangle, le curseur est déplacé vers la destination et ENTRÉE confirme.

Améliorations de l'éditeur de caractères

  • Saisie hexadécimale par ligne (touche H) : entrer directement la valeur hexadécimale d'une ligne du glyphe, à la position même de cette ligne.
  • Annulation locale (touche Z) : retour à l'état du glyphe au début de la session d'édition.

Mécanisme de protection des jeux de caractères

Lorsque l'utilisateur redéfinit des glyphes, le chrome des menus et popups peut devenir illisible. OSE-LOCI résout cela en restaurant des jeux de caractères sûrs à l'entrée de chaque popup et en remettant les jeux de l'utilisateur à la sortie.

Support du joystick IJK

L'interface Raxiss IJK est détectée automatiquement au démarrage. FIRE/DROITE/GAUCHE/BAS/HAUT sont mappés sur ENTRÉE et les touches curseur dans tout l'éditeur.

Mode Écriture — saisie hexadécimale d'attribut

FUNCT+4 propose le choix Encre (1), Papier (2) ou Modificateur (3), puis un chiffre hexadécimal 0–7. L'octet d'attribut est tracé immédiatement.

Rechercher/Remplacer

La touche F ouvre un dialogue de recherche/remplacement pour les codes d'écran, les couleurs d'encre et de papier. ENTRÉE remplace toutes les occurrences dans le canevas (annulable avec Z) ; ÉCHAP trouve l'occurrence suivante et y positionne le curseur sans modifier le canevas.

Localisation française

Une version française séparée (oseloci_fr.tap) couvre tous les menus, les noms de modes dans la barre d'état, les écrans d'aide et l'écran titre.

Autres ajouts

  • La barre d'état se masque automatiquement quand le curseur est sur la dernière ligne et réapparaît lors d'un déplacement.
  • Jeu de car. > Réinitialiser Std→ROM restaure le jeu de caractères standard depuis la ROM en une étape.
  • Jeu de car. > Réinitialiser Alt→Démarrage restaure le jeu alternatif (mosaïque) depuis une capture prise au démarrage. La ROM ne stocke pas de table statique — elle la génère algorithmiquement — d'où la capture dès la première instruction de main().
  • Aller à (J) et Origine (H) étaient présents dans V1 ; la version LOCI les conserve et ils fonctionnent correctement avec les canevas de taille arbitraire.

Chaîne de compilation

V1 était compilé avec CC65, la chaîne d'outils C 6502 standard utilisée dans de nombreux projets Oric. OSE-LOCI est compilé avec Oscar64 par drmortalwombat, un compilateur C 6502 différent.

Oscar64 est un compilateur C avec optimisation globale du programme ciblant le 6502A bare-metal :

  • Mode natif 6502 (-n) avec allocateur de registres -O2. Aucun OS ni Kernal — le programme s'exécute directement sur le matériel.
  • Un runtime personnalisé (include/oric_crt.c) remplace le CRT C64 par défaut d'Oscar64 avec un démarrage et une disposition mémoire spécifiques à l'Oric.
  • Pas de heap — malloc/free sont entièrement remplacés par des stubs. Toute l'allocation est statique.
  • Le binaire produit est encapsulé dans un en-tête de cassette Oric par un script Python (tools/mktap.py).

Les tests automatisés utilisent Phosphoric par benedictemarty, un émulateur Oric en mode sans interface graphique capable de simuler un périphérique LOCI. La suite de tests couvre 200 cas pour le démarrage, les menus, l'édition de canevas, les E/S fichiers et tous les modes d'édition.

Téléchargement

Page de publication (ZIP avec les deux versions linguistiques et tous les assets) : https://github.com/xahmol/OricScreenEditorLOCI/releases/latest

Sources et documentation : https://github.com/xahmol/OricScreenEditorLOCI


 
Posté : 6 juillet 2026 21 h 37 min
Share: