Olivetti · M
Olivetti M10
Portable 8 bits de 1983 avec 80C85, RAM sauvegardée par pile, BASIC résident et écran LCD de 240 × 64. Il fonctionne avec le moteur CoreMach.
EXPÉRIMENTAL : nécessite une version de BluMach avec CoreMach et la ROM système locale de 32 Ko dans roms/machines/olivetti_m10/. Le lecteur de codes-barres, le modem et l’alerte de piles faibles ne sont pas émulés. Les options se choisissent à la création de la machine ; Paramètres ne les modifie pas.

Histoire
Olivetti présente le M10 en 1983 comme un outil personnel qui tient dans une serviette : il fonctionne sur quatre piles AA, conserve programmes et textes dans 8 à 32 Ko de RAM sauvegardée par pile et contient en ROM un menu avec carnet d’adresses, éditeur de texte, communications et Microsoft BASIC. Son dessin est attribué à Perry A. King et Antonio Macchi Cassia. Il n’est pas compatible IBM PC : le processeur est un OKI 80C85 de 8 bits, l’écran un LCD inclinable de 240 × 64 points, et la mémoire externe la cassette.
Il est fabriqué par Kyocera, qui construisait aussi le Tandy TRS-80 Model 100 et une version pour NEC, probablement le PC-8201 ; MAME le traite comme une variante du Kyotronic 85. Ils partagent une origine mais pas une identité : boîtier, carte, clavier, jeu de caractères et ROM diffèrent. MCmicrocomputer l’a comparé au Model 100 en février 1984. Le M10 européen, sans modem, existait avec claviers italien, français, allemand ou britannique ; le M10 MODEM américain avait un modem à 300 bit/s et une ROM propre qui n’a pas été conservée.
Dans BluMach, la carte du M10 est écrite pour le moteur CoreMach d’après le manuel de service et fonctionne dans sa propre fenêtre.
Matériel
- Processeur
- OKI MSM80C85A at 2.4576 MHz (4.9152 MHz crystal)
- Mémoire
- 8, 16, 24 or 32 KB battery-backed RAM in 8 KB modules; 32 KB system ROM
- Vidéo
- Tilting 240 × 64 dot LCD, 40 × 8 characters, ten HD44102 drivers
- Horloge
- NEC uPD1990AC calendar clock, running while switched off
- Interfaces
- RS-232C (IM6402), Centronics parallel, cassette with remote motor control, bar-code reader, 40-pin system bus
- Clavier
- 73 keys; Italian, French, German or British layout by jumpers
- Son
- Buzzer driven by the 81C55 timer
- Alimentation
- Four AA cells or 6 V DC; automatic power-off after 10 idle minutes
Classification du catalogue
- Format
- Portable
- Mobilité
- Portable
- Technologie d’affichage
- LCD
- Couleur d’affichage
- Monochrome
Recherche
Cette page distingue les caractéristiques matérielles documentées, le comportement observé dans le micrologiciel d'origine et la fidélité actuelle de l'émulation BluMach.
Architecture et mémoire
Éléments probants : Matériel documenté ou confirmé
- CPU et bus
OKI MSM80C85A, compatible 8085, à 2,4576 MHz (CLK issue d’un quartz de 4,9152 MHz). Bus de données de 8 bits multiplexé avec l’octet bas d’adresse ; pas de contrôleur d’interruptions, de DMA ni de contrôleur clavier de PC.
- Mémoire
ROM système de 32 Ko en 0000h-7FFFh ; RAM depuis FFFFh vers le bas par modules de 8 Ko (E000h, C000h, A000h, 8000h). Une banque ROM optionnelle de 32 Ko partage la même fenêtre et n’est pas émulée. Les adresses vides renvoient FFh (hypothèse).
- Vidéo
Écran LCD de 240 × 64 points, 40 colonnes sur 8 lignes, avec dix contrôleurs HD44102 sélectionnés depuis le 81C55 en F0h-FFh. BluMach l’affiche à des échelles entières avec grille, ombre et contraste optionnels ; les couleurs sont approximatives.
- Clavier et souris
73 touches dans une matrice de neuf rangées avec une diode par touche, balayée par le 81C55 et lue en E0h-EFh. Les touches de l’ordinateur hôte sont associées par position ; VERR MAJ se bloque comme le mécanisme d’origine.
- Série et parallèle
RS-232C par un IM6402 en C0h-DFh cadencé par le temporisateur du 81C55 ; Centronics avec les données sur le port A, STROBE sur le bit 1 de E0h et BUSY sur PC2 ; cassette par SOD et SID avec le moteur sur le bit 3 de E0h ; buzzer par PB5 et le temporisateur.
- Horloge et NVRAM
NEC uPD1990AC : l’heure continue machine éteinte ; sa sortie TP attaque RST 7.5 toutes les 3,9 ms. BluMach conserve l’horloge et la RAM dans state/ du dossier de la machine.
- Banque de saut
Les cavaliers J1-J4 choisissent la langue du clavier et se lisent sur PC4-PC5 du 81C55 : italien, français, allemand ou britannique. Ils se choisissent à la création de la machine.
- firmware analysé
Premiers 32 Ko d’un vidage local, avec le CRC32 F0E8447A et le SHA-1 que MAME déclare pour m10rom.m12. Une copie de VirtualT diffère de deux octets, ce qui correspond à un correctif de siècle ; elle n’est pas utilisée. La ROM n’est pas distribuée.
État de l'émulation
Éléments probants : statut BluMach actuel; pas nécessairement une description du circuit original
- Filiation de l’implémentation
Modèle de carte CoreMach écrit d’après le manuel de service, le schéma de Kyocera et la fiche technique de chaque circuit. MAME n’a été consulté que comme source secondaire pour l’ordre des contrôleurs LCD, les bits de l’UART et la broche SLCT ; aucun de ses codes n’est utilisé. Une note d’ingénierie publique est disponible en anglais.
- Commandes de l’écran
Le bouton de contraste du flanc droit est reproduit dans Affichage › Contraste. Action regroupe pause, réinitialisation, rallumage après l’extinction automatique, son, port série, cassette et imprimante.
- Vérifié
Avec la ROM réelle : menu et BASIC avec les octets libres indiqués par le guide pour 8, 16, 24 et 32 Ko ; RAM et horloge d’une session à l’autre ; extinction après dix minutes d’inactivité ; BEEP et SOUND ; SAVE et LOAD par « COM: » à 9600 bit/s ; CSAVE et CLOAD sur cassette, y compris un WAV à 11025 Hz ; et LPRINT et LLIST.
- En attente ou approximatif
Le temps est calculé par instruction, non par cycle de bus. Le port série fonctionne par caractère, sans BREAK ni RTS, DTR et CTS. Le signal vers la cassette est carré. SLCT sur PC1 et les seuils de la cassette sont des hypothèses. Il reste à vérifier une cassette enregistrée sur un vrai M10 et la tonalité de BEEP face à la machine.
Ingénierie
Ce mémoire public explique comment les éléments probants sont devenus une implémentation de l’émulateur, y compris les échecs, compromis, validations et critères de remplacement.
Le mémoire est actuellement disponible en anglais.
Sources
Sources et traçabilité
Éléments probants : sources primaires et notes de recherche
- Manuel d'origine
- Manuel général d’assistance du M10, 4100230 N (0), octobre 1983
- Manuel d'origine
- M10 Portable Computer Operations Guide (Olivetti, 1983)
- Brochure commerciale d'origine
- Livret d’information de l’Olivetti M10
- Marchés et période
- Bo Arnklit, « Olivetti M10 + Tandy Radio Shack TRS-80 mod. 100 », MCmicrocomputer 27, février 1984
- Notes techniques
- Fred Jan Kraan : un M10 à clavier français et son vidage de ROM
- firmware analysé
- Pilote kc85 de MAME (Curt Coder), source secondaire