LOCI File Manager v2.0.0 — réécriture complète avec Oscar64 (FR/EN)
Je viens de publier la première version publique de LOCI File Manager v2, un gestionnaire de fichiers plein écran à deux volets pour le périphérique de stockage de masse LOCI sur Oric Atmos.
Il s'agit d'une réécriture complète de mon gestionnaire v1 (CC65) (locifilemanager), cette fois avec le compilateur Oscar64 en mode natif "bare-metal" : aucun appel à la ROM de l'Oric. L'écran, le clavier, le son et le stockage sont pilotés directement via les registres mappés en mémoire.

Nouveautés de la v2
- Parcourir le stockage interne du LOCI et tous les périphériques de stockage de masse USB connectés
- Deux volets de navigation indépendants
- Copie/déplacement récursif de répertoires (avec fusion possible dans un répertoire de destination existant) et suppression récursive
- Annulation de copie en cours : ESC interrompt immédiatement et supprime le fichier de destination partiel
- Copie, déplacement, suppression et renommage de fichiers et répertoires, y compris les sélections multiples, et création de répertoires
- Filtrage par type de fichier ou par motif de nom avec caractères génériques (* et ?), insensible à la casse
- Visionneuse de texte plein écran : retour à la ligne automatique, pagination, et bascule en affichage hexadécimal pour les fichiers binaires
- Fenêtre de propriétés : nom, type, chemin, attributs et taille, avec calcul récursif de la taille des répertoires (annulable avec ESC)
- 8 répertoires favoris, partagés entre les deux volets
- Mémorise le chemin/lecteur de chaque volet ainsi que le volet actif entre deux lancements
- Montage/démontage d'images disque, bande et ROM, navigation à l'intérieur des images de bande, démarrage depuis les médias montés à la sortie (disque > bande > ROM)
- Prise en charge du joystick IJK pour toute la navigation et les menus
- Disponible en anglais et en français
Nouveauté : une chaîne de compilation Oscar64 "bare-metal" pour l'Oric
Pour ceux qui envisagent d'utiliser Oscar64 pour développer sur Oric : la v2 est une réécriture complète de la plateforme avec ce compilateur, en mode natif (-n) bare-metal, sans passer par la ROM ni le BASIC de l'Oric. Cela a nécessité de redévelopper :
- Un runtime C sur mesure (démarrage, zones mémoire, routines mathématiques) adapté à la carte mémoire de l'Oric
- Une nouvelle bibliothèque de fenêtres caractère ("charwin") pour l'écran texte 40x28 : attributs, défilement, retour à la ligne automatique, saisie de texte, et sauvegarde/restauration de fenêtres en RAM overlay
- Un scanner clavier direct via VIA/AY, sans appel ROM
- Une bibliothèque d'API matérielle LOCI couvrant les registres MIA/TAP/XRAM/RAM overlay et les opérations fichiers/répertoires/montage/bande
- La prise en charge du joystick IJK (Raxiss)
Tout ceci est réutilisable pour d'autres projets bare-metal Oric/Oscar64 et est documenté dans le dépôt.
libdemo : une référence LOCI / charwin / clavier / IJK
La release inclut aussi libdemo, une image de bande séparée qui exerce toutes les fonctions des bibliothèques charwin, clavier, LOCI et IJK : fenêtres, saisie de texte, opérations fichiers/répertoires/montage, lecture du joystick, etc. Si vous développez votre propre logiciel pour LOCI avec Oscar64, c'est une référence fonctionnelle pour piloter tout ce matériel.
Aussi nouveau : des tests automatisés en mode headless
L'application est couverte par une suite de tests automatisés de 284 assertions, exécutée via l'émulateur Oric headless Phosphoric : démarrage, menus, opérations fichiers, copie/déplacement/suppression récursifs, filtres, visionneuse, favoris, paramètres persistants, etc.
Configuration requise
- Oric Atmos
- Périphérique de stockage de masse LOCI, firmware 0.2.5+ (0.3.0+ nécessaire pour créer des répertoires)
Téléchargements / sources
Release GitHub (images bande + manuels PDF/Markdown, EN+FR) : github.com/xahmol/locifilemanager-v2/releases/tag/v2.0.0
Code source et documentation complète : github.com/xahmol/locifilemanager-v2
Crédits
- LOCI ROM par Sodiumlightbaby — github.com/sodiumlb/loci-rom
- Oscar64 par drmortalwombat — github.com/drmortalwombat/oscar64
- Phosphoric (émulateur headless) par benedictemarty, utilisé pour la suite de tests — github.com/benedictemarty/Phosphoric
Sous licence GPLv3.