← Toutes les machines

Olivetti · M

Olivetti M10

1983 · Architecture: 80C85

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érimentaleImplémentée dans BluMach

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.

Olivetti M10. Photographie
Photo : Museo Nazionale Scienza e Tecnologia Leonardo da Vinci · CC BY-SA 4.0 · Voir l’original

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.

Lire la note d’ingénierie

Sources

Traduction automatique, vérifiée avec plusieurs outils. Une erreur ? Signalez-la.