Olivetti · M
Olivetti M10
Portátil de 8 bits de 1983 com 80C85, RAM alimentada por bateria, BASIC residente e LCD de 240 × 64. Funciona com o motor CoreMach.
EXPERIMENTAL: requer uma versão do BluMach compilada com CoreMach e a ROM de sistema local de 32 KB em roms/machines/olivetti_m10/. O leitor de códigos de barras, o modem e o aviso de bateria fraca não são emulados. As opções escolhem-se ao criar a máquina; as Definições não as alteram.

História
A Olivetti apresentou o M10 em 1983 como uma ferramenta pessoal que cabia numa pasta: funcionava com quatro pilhas AA, guardava programas e textos em 8 a 32 KB de RAM alimentada por bateria e trazia em ROM um menu com agenda, editor de texto, comunicações e Microsoft BASIC. O design é atribuído a Perry A. King e Antonio Macchi Cassia. Não é compatível com o IBM PC: o processador é um OKI 80C85 de 8 bits, o ecrã um LCD inclinável de 240 × 64 pontos e o armazenamento externo era a cassete.
Foi fabricado pela Kyocera, que também construía o Tandy TRS-80 Model 100 e uma versão para a NEC, provavelmente o PC-8201; o MAME trata-o como uma variante do Kyotronic 85. Partilham a origem, mas não a identidade: caixa, placa, teclado, conjunto de caracteres e ROM são diferentes. A MCmicrocomputer comparou-o com o Model 100 em fevereiro de 1984. O M10 europeu, sem modem, tinha teclados italiano, francês, alemão ou britânico; o M10 MODEM norte-americano tinha um modem de 300 bit/s e uma ROM própria que não foi preservada.
No BluMach, a placa do M10 está escrita para o motor CoreMach a partir do manual de assistência e funciona numa janela própria.
Hardware
- Processador
- OKI MSM80C85A at 2.4576 MHz (4.9152 MHz crystal)
- Memória
- 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
- Relógio
- 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
- Som
- Buzzer driven by the 81C55 timer
- Alimentação
- Four AA cells or 6 V DC; automatic power-off after 10 idle minutes
Classificação do catálogo
- Formato
- Portátil
- Mobilidade
- Portátil
- Tecnologia de ecrã
- LCD
- Cor do ecrã
- Monocromático
Investigação
Esta página distingue os factos de hardware documentados, o comportamento observado no firmware original e a fidelidade atual da emulação BluMach.
Arquitetura e memória
Evidência: hardware documentado ou confirmado
- CPU e barramento
OKI MSM80C85A, compatível com o 8085, a 2,4576 MHz (CLK de um cristal de 4,9152 MHz). Barramento de dados de 8 bits multiplexado com o byte baixo dos endereços; não há controlador de interrupções, DMA nem controlador de teclado de PC.
- Memória
ROM de sistema de 32 KB em 0000h-7FFFh; RAM a partir de FFFFh para baixo em módulos de 8 KB (E000h, C000h, A000h, 8000h). Um banco de ROM opcional de 32 KB partilha a mesma janela e não é emulado. Os endereços vazios devolvem FFh (pressuposto).
- Vídeo
LCD de 240 × 64 pontos, 40 colunas por 8 linhas, com dez controladores HD44102 selecionados a partir do 81C55 em F0h-FFh. O BluMach mostra-o em escalas inteiras com grelha, sombra e contraste opcionais; as cores são aproximadas.
- Teclado e mouse
73 teclas numa matriz de nove linhas com um díodo por tecla, varrida pelo 81C55 e lida em E0h-EFh. As teclas do computador anfitrião são atribuídas por posição; o CAPS LOCK fica preso como o mecanismo original.
- Série e paralelo
RS-232C através de um IM6402 em C0h-DFh com relógio do temporizador do 81C55; Centronics com os dados na porta A, STROBE no bit 1 de E0h e BUSY em PC2; cassete através de SOD e SID com o motor no bit 3 de E0h; besouro através de PB5 e do temporizador.
- Relógio e NVRAM
NEC uPD1990AC: a hora continua a correr com a máquina desligada; a sua saída TP aciona RST 7.5 a cada 3,9 ms. O BluMach guarda o relógio e a RAM em state/ na pasta da máquina.
- Banco de saltadores
Os jumpers J1-J4 escolhem o idioma do teclado e leem-se em PC4-PC5 do 81C55: italiano, francês, alemão ou britânico. Escolhem-se ao criar a máquina.
- firmware Analisado
Primeiros 32 KB de um dump local, com o CRC32 F0E8447A e o SHA-1 que o MAME declara para m10rom.m12. Uma cópia do VirtualT difere em dois bytes, o que é consistente com uma correção do século; não é usada. A ROM não é distribuída.
Estado da emulação
Evidência: estado BluMach atual; não necessariamente uma descrição do circuito original
- Origem da implementação
Modelo de placa do CoreMach escrito a partir do manual de assistência, do esquema da Kyocera e da folha de dados de cada circuito. O MAME foi consultado apenas como fonte secundária para a ordem dos controladores do LCD, os bits da UART e o pino SLCT; não se usa o seu código. Existe uma nota de engenharia pública em inglês.
- Controlos do ecrã
O botão de contraste do painel lateral direito é reproduzido em Ver › Contraste. Ação reúne pausa, reinício, ligar após o desligar automático, som, porta série, cassete e impressora.
- Verificado
Com a ROM real: menu e BASIC com os bytes livres que o guia indica para 8, 16, 24 e 32 KB; RAM e relógio entre sessões; desligar após dez minutos sem uso; BEEP e SOUND; SAVE e LOAD por «COM:» a 9600 bit/s; CSAVE e CLOAD em cassete, incluindo um WAV de 11025 Hz; e LPRINT e LLIST.
- Pendente ou aproximado
O tempo é calculado por instrução, não por ciclo de barramento. A porta série funciona por carácter, sem BREAK nem RTS, DTR e CTS. O sinal para a cassete é uma onda quadrada. SLCT em PC1 e os limiares da cassete são pressupostos. Falta verificar uma cassete gravada num M10 real e o tom de BEEP face à máquina.
Engenharia
Esta memória pública explica como as evidências se tornaram uma implementação do emulador, incluindo falhas, compromissos, validação e critérios de substituição.
A memória está atualmente disponível em inglês.
Fontes
Fontes e rastreabilidade
Evidência: fontes primárias e notas de investigação
- Manual original
- M10 Portable Computer Operations Guide (Olivetti, 1983)
- Folheto comercial original
- Folheto informativo do Olivetti M10
- Mercados e período
- Bo Arnklit, «Olivetti M10 + Tandy Radio Shack TRS-80 mod. 100», MCmicrocomputer 27, fevereiro de 1984
- firmware Analisado
- Controlador kc85 do MAME (Curt Coder), fonte secundária