Rom 4x pour l’apple 2c

ROM 4X — Un firmware amélioré pour l’Apple IIc

Projet original : ROM 4X / ROM 5X by MG (mgcaret)
© MG / projet disponible sous forme de code source sur GitHub.
Dépôt officiel : GitHub — mgcaret/rom4x

La ROM 4X est un projet indépendant destiné à améliorer le firmware des Apple IIc équipés d’une ROM version 4. Elle s’inscrit dans la continuité de l’architecture originale de l’Apple IIc tout en apportant plusieurs fonctionnalités particulièrement intéressantes pour le rétrocomputing moderne.

Une nouvelle vie pour l’Apple IIc

L’Apple IIc est une machine particulièrement compacte et pratique, mais son firmware d’origine a été conçu à une époque où les besoins et les périphériques étaient très différents de ceux d’aujourd’hui.

La ROM 4X apporte plusieurs améliorations directement au niveau du firmware, sans modifier le fonctionnement général de l’Apple IIc. L’un de ses principaux intérêts concerne notamment le boot sur le disque externe, le smartport et la gestion des cartes mémoire utilisées comme disque RAM. La ROM 4X peut détecter un disque RAM amorçable présent sur une mémoire d’extension alimentée par batterie et restaurer les informations nécessaires à son utilisation, évitant ainsi que celui-ci soit considéré comme vide après certains redémarrages.

Un menu de démarrage beaucoup plus pratique

La ROM 4X ajoute également un menu d’outils accessible au démarrage. Il permet notamment de :

  • accéder directement au moniteur ;
  • redémarrer l’Apple IIc ;
  • initialiser une carte mémoire en cas de problème ;
  • lancer les diagnostics de la machine et de la carte mémoire ;
  • choisir le périphérique depuis lequel démarrer ;
  • démarrer depuis le SmartPort ;
  • démarrer depuis le lecteur interne ;
  • démarrer depuis un lecteur externe.

Pour une machine utilisée aujourd’hui avec différents périphériques de stockage modernes, cette possibilité est particulièrement intéressante.

Une ROM pensée pour le matériel moderne

La ROM 4X prend tout son sens lorsqu’elle est associée aux extensions développées pour l’Apple IIc. Elle permet notamment de mieux exploiter les solutions de stockage modernes et certaines extensions mémoire, tout en conservant l’environnement logiciel habituel de l’Apple II. Le firmware peut également mémoriser le périphérique de démarrage par défaut à partir d’un fichier présent sur le disque RAM et apporte au IIc la possibilité de retomber directement dans BASIC lorsqu’aucun périphérique amorçable n’est trouvé, comportement qui est notamment celui du IIc Plus.

Des fonctions supplémentaires

La ROM 4X ajoute également la prise en charge de XModem-CRC, ainsi que plusieurs fonctions destinées aux extensions matérielles modernes. Les versions récentes permettent notamment, avec certains matériels compatibles, d’accéder au menu d’un ROMXc ou de configurer et démarrer un Xdrive IIc directement depuis le menu ROM 4X.

Pourquoi cette ROM est-elle intéressante ?

L’intérêt de la ROM 4X n’est pas de transformer l’Apple IIc en une machine moderne. Au contraire, elle conserve l’esprit et l’architecture du IIc tout en supprimant certaines limitations devenues particulièrement visibles aujourd’hui. Elle constitue ainsi un excellent exemple de la manière dont le matériel rétro peut continuer à évoluer grâce à des améliorations logicielles développées plusieurs décennies après sa conception.

Un Apple IIc de 1984 peut ainsi continuer à accueillir du matériel et des usages qui n’existaient évidemment pas lors de sa conception.

Identifier la ROM installée

La version de la ROM d’un Apple IIc peut être identifiée directement depuis le BASIC. La commande PRINT PEEK(64447) permet de lire la valeur correspondant à la version du firmware : 255 correspond aux premières ROM, tandis que les valeurs 0, 3 et 4 correspondent aux versions ultérieures. Cette vérification est particulièrement utile avant une mise à niveau, notamment pour savoir si la carte mère nécessite une modification pour accueillir une ROM 4X.

Le cas particulier des Apple IIc ROM 255

Les premiers Apple IIc équipés de la ROM 255 utilisent une organisation mémoire différente de celle nécessaire aux ROM plus récentes. Le passage à une ROM 4X nécessite donc une petite modification de la carte mère afin de permettre l’utilisation de l’adressage supplémentaire de la ROM. Cette modification consiste à ouvrir le pont W1 et à fermer le pont W2.