← Todas as máquinas

Olivetti · M

Olivetti M10

1983 · Arquitetura: 80C85

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.

ExperimentalImplementada no BluMach

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.

Olivetti M10. Fotografia
Fotografia: Museo Nazionale Scienza e Tecnologia Leonardo da Vinci · CC BY-SA 4.0 · Ver o original

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.

Ler a nota de engenharia

Fontes

Tradução automática, verificada com várias ferramentas. Encontrou um erro? Avise-me.