Olivetti · M
Olivetti M10
Portátil de 8 bits de 1983 con 80C85, RAM con batería, BASIC residente y LCD de 240 × 64. Funciona con el motor CoreMach.
EXPERIMENTAL: necesita una versión de BluMach compilada con CoreMach y la ROM de sistema local de 32 KB en roms/machines/olivetti_m10/. No se emulan el lector de códigos de barras, el módem ni el aviso de batería baja. Las opciones se eligen al crear la máquina; Configuración no las cambia.

Historia
Olivetti presentó el M10 en 1983 como una herramienta personal que cabía en un maletín: funcionaba con cuatro pilas AA, guardaba programas y textos en una RAM de 8 a 32 KB alimentada por batería y traía en ROM un menú con agenda, editor de textos, comunicaciones y Microsoft BASIC. El diseño se atribuye a Perry A. King y Antonio Macchi Cassia. No es compatible con el IBM PC: el procesador es un OKI 80C85 de 8 bits, la pantalla es un LCD inclinable de 240 × 64 puntos y el almacenamiento externo era el casete.
Lo fabricó Kyocera, que también construía el Tandy TRS-80 Model 100 y una versión para NEC, probablemente el PC-8201; MAME lo trata como una variante del Kyotronic 85. Comparten origen, pero no identidad: carcasa, placa, teclado, juego de caracteres y ROM son distintos. MCmicrocomputer lo comparó con el Model 100 en febrero de 1984. El M10 europeo, sin módem, se vendía con teclado italiano, francés, alemán o británico; el M10 MODEM estadounidense llevaba un módem de 300 bit/s y una ROM propia que no se ha conservado.
En BluMach, la placa del M10 está escrita para el motor CoreMach a partir del manual de servicio y se ejecuta en su propia ventana.
Hardware
- Procesador
- OKI MSM80C85A at 2.4576 MHz (4.9152 MHz crystal)
- Memoria
- 8, 16, 24 or 32 KB battery-backed RAM in 8 KB modules; 32 KB system ROM
- Vídeo
- Tilting 240 × 64 dot LCD, 40 × 8 characters, ten HD44102 drivers
- Reloj
- 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
- Teclado
- 73 keys; Italian, French, German or British layout by jumpers
- Sonido
- Buzzer driven by the 81C55 timer
- Alimentación
- Four AA cells or 6 V DC; automatic power-off after 10 idle minutes
Clasificación del catálogo
- Formato
- Portátil
- Movilidad
- Portable
- Tecnología de pantalla
- LCD
- Color de pantalla
- Monocroma
Investigación
Esta ficha separa los datos documentados del hardware, el comportamiento observado en el firmware original y la fidelidad actual de la emulación en BluMach.
Redactada en inglés y traducida automáticamente.
Arquitectura y memoria
Evidencia: hardware documentado o confirmado
- CPU y bus
OKI MSM80C85A, compatible con el 8085, a 2,4576 MHz (CLK de un cristal de 4,9152 MHz). Bus de datos de 8 bits multiplexado con las direcciones bajas; no hay controlador de interrupciones, DMA ni controlador de teclado de PC.
- Memoria
ROM de sistema de 32 KB en 0000h-7FFFh; RAM desde FFFFh hacia abajo en módulos de 8 KB (E000h, C000h, A000h, 8000h). Un banco de ROM opcional de 32 KB ocupa la misma ventana y no se emula. Las direcciones vacías devuelven FFh (es una suposición).
- Vídeo
LCD de 240 × 64 puntos, 40 columnas por 8 líneas, con diez controladores HD44102 seleccionados desde el 81C55 en F0h-FFh. BluMach lo muestra en escalas enteras con rejilla, sombra y contraste opcionales; los colores son aproximados.
- Teclado y ratón
73 teclas en una matriz de nueve filas con un diodo por tecla, explorada por el 81C55 y leída en E0h-EFh. Las teclas del ordenador se asignan por posición; BLOQ MAYÚS se enclava como el mecanismo original.
- Serie y paralelo
RS-232C con un IM6402 en C0h-DFh y su reloj desde el temporizador del 81C55; Centronics con los datos en el puerto A, STROBE en el bit 1 de E0h y BUSY en PC2; casete por SOD y SID con el motor en el bit 3 de E0h; zumbador por PB5 y el temporizador.
- Reloj y NVRAM
NEC uPD1990AC: la hora sigue corriendo con la máquina apagada; su salida TP llega a RST 7.5 cada 3,9 ms. BluMach guarda el reloj y la RAM en state/ dentro de la carpeta de la máquina.
- Banco de jumpers
Los puentes J1-J4 eligen el idioma del teclado y se leen en PC4-PC5 del 81C55: italiano, francés, alemán o británico. Se eligen al crear la máquina.
- Firmware analizado
Primeros 32 KB de un volcado local, con el CRC32 F0E8447A y el SHA-1 que MAME declara para m10rom.m12. Una copia de VirtualT cambia dos bytes, lo que encaja con un parche del siglo; no se usa. La ROM no se distribuye.
Estado de la emulación
Evidencia: estado actual de BluMach; no describe necesariamente el circuito original
- Procedencia de la implementación
Modelo de placa de CoreMach escrito desde el manual de servicio, el esquema de Kyocera y las hojas de datos de cada circuito. MAME se consultó solo como fuente secundaria para el orden de los controladores del LCD, los bits de la UART y la patilla de SLCT; no se usa su código. Hay una nota de ingeniería pública en inglés.
- Mandos de pantalla
El mando de contraste del lateral derecho se reproduce en Ver › Contraste. Acción reúne pausa, reinicio, encendido tras el apagado automático, sonido, puerto serie, casete e impresora.
- Comprobado
Con la ROM real se comprobaron el menú y BASIC con los bytes libres que da la guía para 8, 16, 24 y 32 KB; la RAM y el reloj entre sesiones; el apagado tras diez minutos sin uso; BEEP y SOUND; SAVE y LOAD por «COM:» a 9600 bit/s; CSAVE y CLOAD en cinta, incluido un WAV de 11025 Hz; y LPRINT y LLIST.
- Pendiente o aproximado
El tiempo se calcula por instrucción, no por ciclo de bus. El puerto serie va por caracteres, sin BREAK ni RTS, DTR y CTS. La señal hacia la cinta es cuadrada. SLCT en PC1 y los umbrales de la cinta son supuestos. Falta comprobar una cinta grabada en un M10 real y el tono de BEEP frente a la máquina.
Ingeniería
Esta memoria pública explica cómo las evidencias se convirtieron en una implementación del emulador, incluidos los fallos, compromisos, pruebas y criterios de sustitución.
La memoria está disponible actualmente en inglés.
Fuentes
Fuentes y trazabilidad
Evidencia: fuentes primarias y notas de investigación
- Manual original
- M10 Portable Computer Operations Guide (Olivetti, 1983)
- Folleto comercial original
- Libretto informativo del Olivetti M10
- Mercados y periodo
- Bo Arnklit, «Olivetti M10 + Tandy Radio Shack TRS-80 mod. 100», MCmicrocomputer 27, febrero de 1984
- Firmware analizado
- Controlador kc85 de MAME (Curt Coder), fuente secundaria