segunda-feira, 4 de julho de 2022

SDCC

(A maior parte das informações aqui foram adaptadas deste um artigo em inglês sobre como usar o SDCC para programar para o Amstrad CPC: Introduction to programming in C with SDCC: Compiling and testing a "Hello World".)

O SDCC (Small Device C Compiler) é um pacote de compilação da linguagem C que gera código para diversos processadores, dentre os quais o Z80. Este é um tutorial sobre como usá-lo para programar para o MC1000.

Pré-requisitos

Instale os seguintes produtos:

  • SDCC — o compilador C.
  • Hex2bin — um utilitário para converter arquivos em formato hexadecimal (Intel Hex) gerado pelo SDCC para binário.
  • MC1000CasTools — uma ferramenta criada em Java, com o qual é possível converter o arquivo binário para .WAV.

Preparação

O SDCC não sabe nada sobre o MC1000, então temos que criar alguns arquivos, o que pode ser feito com qualquer simples editor de texto ou de código:

  1. crt0_mc1000_load.s — será usado em vez do arquivo crt0 padrão para Z80 do SDCC. Implementa o truque de carregar com LOAD um programa em código de máquina logo após o corpo de um programa em BASIC. Como ele preserva o ambiente do interpretador BASIC (o que não acontece quando se carrega um programa com TLOAD), é possível voltar ao BASIC naturalmente ao final do programa em código de máquina.
    	; crt0.s for CCE MC-1000. By Emerson José Silveira da Costa, 2017-11-10.
    
    	.module	crt0
    	.globl	_main
    	.globl	l__INITIALIZER
    	.globl	s__INITIALIZED
    	.globl	s__INITIALIZER
    
    	; ==================================
    
    	; MODELO PARA PROGRAMA EM CÓDIGO DE MÁQUINA
    	; CARREGÁVEL NO MC-1000 VIA COMANDO LOAD.
    
    	.area	_HEADER (ABS)
    
    	; ==================================
    
    	; (1) Programa em BASIC que chama a porção em linguagem
    	; de máquina residente nos bytes após o fim do programa:
    
    	; 1  CALL 992
    
    	.org	0x03d5
    
    	.dw	endlinha2 ; Endereço do próximo registro de linha do programa em BASIC.
    	.dw	1 ; Número da linha do programa em BASIC.
    	.db	0xa2 ; Token de "CALL".
    	.ascii	"992"
    	.db	0 ; Fim da linha.
    endlinha2:
    	.dw	0 ; Endereço do próximo registro de linha = 0, indicando fim do programa.
    
    	; ==================================
    
    	; (2) Início do programa em linguagem de máquina.
    	; Faz preparativos antes de pular para a função main().
    
    	; .org	0x03e0 ; =992.
    
    	; Reativa a impressão de caracteres que é desativada
    	; quando um programa BASIC sem nome (autoexecutável)
    	; é carregado.
    	xor	a
    	ld	(0x0344),a
    
    	; Inicializa variáveis globais.
    	call	gsinit
    
    	; Executa main() (estará na área _CODE).
    	jp	_main
    	
    	; ==================================
    
    	; Neste ponto estamos no endereço 0x3ea,
    	; endereço que deve ser usado na opção
    	; --code-loc do linkador.
    	; Aqui se iniciará o código do programa em C.
    	
    	.area	_CODE
    
    	; .org	0x03ea ; =1002.	
    
    	; ==================================
    
    	; Declara antecipadamente demais áreas usadas pelo SDCC.
    	; As áreas são criadas à medida que são declaradas, então
    	; isto define a ordem em que as áreas aparecerão no
    	; código final.
    	
    	.area	_HOME
    	.area	_INITIALIZER
    	.area	_GSINIT
    	.area	_GSFINAL
    
    	.area	_DATA
    	.area	_INITIALIZED
    	.area	_BSEG
    	.area	_BSS
    	.area	_HEAP
    	
    	; ==================================
    
    	; Inicialização de variáveis.
    
    	.area	_GSINIT
    gsinit::
    	ld	bc, #l__INITIALIZER
    	ld	a, b
    	or	a, c
    	jr	Z, gsinit_next
    	ld	de, #s__INITIALIZED
    	ld	hl, #s__INITIALIZER
    	ldir
    gsinit_next:
    
    	.area	_GSFINAL
    	ret
  2. putchar_mc1000_load.s — implementa a função putchar() do C.
    	.area _CODE
    
    _putchar::
    	ld	hl,#2
    	add	hl,sp
    
    	ld	a,(hl)
    	jp	0xdc1c ; Rotina "PrintAPOS" da ROM.
    
    	ret

Compile os arquivos com o programa sdasz80 do pacote do SDCC:

$ sdasz80 -o crt0_mc1000_load.s
$ sdasz80 -o putchar_mc1000_load.s

A opção -o fará gerar os arquivos relocáveis crt0_mc1000_load.rel e putchar_mc1000_load.rel.

Utilização

Eis o infame arquivo de teste helloworld.c:

#include <stdio.h>

void main() {
	printf("HELLO, WORLD!\r\n");
}

Compile-o com o programa sdcc:

$ sdcc -mz80 --no-std-crt0 --code-loc 0x3ea --data-loc 0 crt0_mc1000_load.rel putchar_mc1000_load.rel helloworld.c

Algumas explicações:

  • -mz80 — instrui o SDCC a gerar código para o Z80.
  • --no-std-crt0 — instrui o SDCC a não usar seu crt0 padrão para Z80.
  • --code-loc 0x3ea — indica o endereço onde o SDCC deve começar a área de código do programa, ou seja, após o programa em BASIC de carga e algumas instruções iniciais em linguagem de máquina constantes no nosso crt0.
  • --data-loc 0 — indica o endereço onde o SDCC deve começar a área de dados do programa. O zero indica que não vai começar num endereço fixo padrão do SDCC, mas conforme a sequência de áreas especificada no nosso crt0.

O resultado da execução do programa sdcc são vários arquivos, dentre os quais helloworld.ihx, em formato hexadecimal da Intel. Execute agora o hex2bin:

$ hex2bin helloworld.ihx

O resultado será um novo arquivo helloworld.bin. Finalmente entra em ação o utilitário de cassete do MC1000 MC1000CasTools:

$ java MC1000CasTools -b helloworld.bin -wav

(Se o arquivo MC1000CasTools.class não estiver no diretório atual, indique o caminho até ele com a opção -cp caminho logo após a palavra java.)

Agora que temos um arquivo helloworld.wav, toque-o para carregar o programa no MC1000.

Informações adicionais

ZX BASIC

O ZX BASIC (https://zxbasic.readthedocs.io/en/docs/) é uma versão estendida da linguagem BASIC do ZX Spectrum para a qual foi desenvolvido um compilador cruzado multiplataforma. O código gerado também é voltado para o ZX Spectrum, mas ao remendarmos o resultado compilado final com um script, e tomando o cuidado de evitar funcionalidades que dependem da ROM do ZX Spectrum (strings, arrays…) ou voltadas para o hardware do ZX Spectrum (PRINT etc.), podemos criar material para outras máquinas com CPU Z80, incluindo o MC1000.

MC1000 (emulado no MAME) rodando programa em ZX BASIC compilado.

Código assembly específico para o MC1000 pode ser facilmente embutido nas funções ou procedimentos por meio do bloco ASMEND ASM. Por exemplo, o procedimento abaixo disponibiliza ao BASIC a rotina DELAYB da ROM do MC1000:

SUB FASTCALL mc1000delayb(tvl1 AS UINTEGER)
  ASM
    ; Com FASTCALL o valor do parâmetro único do tipo UINTEGER
    ; (16 bits sem sinal) é recebido no par de registradores HL
    ; e não pela pilha do Z80.
    ld b,h ; Carrega em BC o valor em HL.
    ld c,l
    call $C30E ; Chama a rotina DELAYB.
  END ASM
END SUB

.

Pré-requisitos

Preparação

  1. Fazer com que zxb.py seja reconhecido como comando (no GNU/Linux: export PATH=$PATH:/opt/borielszxbasiccompiler (o diretório é um exemplo de onde poderíamos tê-lo instalado) numa linha em ~/.bashrc (a última linha, por exemplo)
  2. Instalar mc1000bin2wav.py e createmc1000header.py em /usr/bin/ (ou outro diretório, mas utilizando um procedimento parecido com o item 1). Estes scripts devem estar com permissão de execução (chmod +x).
  3. O bash script utilizado para compilação foi criado e usado em GNU/Linux, ainda não testado em outros Unix (como MacOS-X). No caso do MS Windows, não deve ser difícil converter o .sh para .bat

Utilização

O bash script seria algo parecido com este teste.sh:

rm teste.bin teste.asm mc1000header.bin mc1000tail.bin
zxb.py teste.bas --asm --org=0x0200
zxb.py teste.bas --org=0x0200
createmc1000header.py teste.bin
cat mc1000header.bin > teste.final.bin
cat teste.bin >> teste.final.bin
cat mc1000tail.bin >> teste.final.bin
mv teste.final.bin teste.bin
rm mc1000header.bin mc1000tail.bin
mc1000bin2wav.py teste.bin
zip teste.bin.wav.zip teste.bin.wav
rm teste.bin.wav
mess mc1000 -video soft -w -bp ~/.mess/roms -resolution0 640x480 -skip_gameinfo -ramsize 48k -cass teste.bin.wav.zip
# tload, [enter], [insert], [tab], , , [tab]

Para maior comodidade, utilizando um IDE como Geany, podemos ter um makefile com uma linha como a:;./teste.sh no mesmo diretório do código a ser compilado, e do script de compilação.

Em http://www.boriel.com/wiki/en/index.php/ZX_BASIC:Released_Programs_-_MC1000 está disponível um exemplo, a pasta /library/ contém alguns comandos (functions e subs) específicos para o MC1000.

Assembly

Giovanni Nunes escreveu um artigo introdutório sobre o desenvolvimento em assembly para o MC1000. Para o exemplo ("Hello World") ele usou o assembler Pasmo: https://giovannireisnunes.wordpress.com/2017/05/19/desenvolvimento-cruzado-no-mc-1000/

Para aqueles que optarem por usar o SDCC (Small Device C Compiler) para programar em C para o MC1000, há a opção de usar o assembler sdasz80 e o linkador sdldz80 que fazem parte do pacote do SDCC.

Eis um modelo de arquivo a usar:

	; ==================================

	; MODELO PARA PROGRAMA EM CÓDIGO DE MÁQUINA
	; CARREGÁVEL NO MC-1000 VIA COMANDO LOAD.

	; ==================================

	; (1) Programa em BASIC que chama a porção em linguagem
	; de máquina residente nos bytes após o fim do programa:

	; 1  CALL 992

	.area	BASIC_CALL (ABS)

	.org	0x03d5

	.dw	endlinha2 ; Endereço do próximo registro de linha do programa em BASIC.
	.dw	0x0001 ; Número da linha do programa em BASIC.
	.db	0xa2 ; Token da palavra reservada "CALL".
	.ascii	"992" ; =0x03e0.
	.db	0x00 ; Fim da linha.
endlinha2:
	.dw	0x0000 ; Endereço do próximo registro de linha = 0, indicando fim do programa.

	; ==================================

	; (2) Programa em linguagem de máquina.

	; Neste ponto estamos no endereço 0x3e0.

	.area	CODE (ABS)

	.org	0x03e0 ; =992.

	; Reativa a impressão de caracteres que é desativada
	; quando um programa BASIC sem nome (autoexecutável)
	; é carregado.
	xor	a
	ld	(0x0344),a

	; A partir daqui começa o programa propriamente dito.
	ld	hl,#ola_msg
	call	0xc018 ; MSG: Rotina da ROM que imprime uma string terminada em NUL.
	ret	; Retorna ao interpretador BASIC.
	
ola_msg:
	.ascii	"OLA MUNDO!"
	.db	0x0d,0x0a,0x00

Uma vez tendo composto o arquivo (como exemplo.z80, digamos), os passos são:

  1. Compilar .Z80 gerando .REL:
    sdasz80 -o exemplo.z80
  2. Linkar .REL gerando .IHX (Intel HEX):
    sdldz80 -i exemplo.rel
  3. Converter .IHX em .BIN:
    hex2bin exemplo.ihx
  4. Converter .BIN em .WAV:
    java MC1000CasTools -b exemplo.bin -wav

sábado, 2 de julho de 2022

Links

sexta-feira, 1 de julho de 2022

Questionário

No desejo de esclarecer a história do MC1000, elaboramos este apanhado de perguntas que gostaríamos que fossem respondidas por pessoas que estiveram envolvidas com a produção do micro nos anos 80, ou que tiverem informação a respeito. Observações:

  • A princípio a ideia é que o respondente esteja em contato com o(s) administrador(es) deste sítio e lhe forneça as respostas diretamente (podendo solicitar sigilo para certas informações), mas se alguém quiser responder aqui diretamente, edite a página e escreva as respostas junto das perguntas, tomando o cuidado de se identificar, explicando como teve acesso às informações e fornecendo alguma informação de contato para confirmação da identidade e eventuais consultas posteriores.
  • Não se preocupe em responder tudo de uma vez. Não há pressa, pode-se ir respondendo em partes. Concentre-se mais dar o máximo de detalhes em cada resposta que puder dar.
  • Ao citar uma funcionário da CCE, se possível informe o cargo que tinha e onde trabalhava na época.

Apesar de perguntar tanta coisa, não tenho muito a oferecer além dos meus sinceros agradecimentos, e da garantia de que os nomes da CCE e de seus funcionários serão mencionados da maneira mais favorável possível na compilação do material que eu porventura vier a receber. OBRIGADO!

O projeto original

A Reserva de Mercado de Informática impedia a importação de micros estrangeiros visando a desenvolver a indústria nacional, mas aconteceu que os micros brasileiros populares na época costumavam ser clones de máquinas estrangeiras. Por exemplo, o TK90X da Microdigital era um clone do ZX-Spectrum da britânica Sinclair, o CP-400 da Prológica era um clone do TRS-80 Color Computer. Também o MC4000 (Exato) da CCE era um clone do Apple II.

Estranhamente, porém, o MC1000 não era clone de nenhuma das marcas populares da época. Mas surgiram informações sobre dois microcomputadores estrangeiros dos quais quase nada se sabe, com gabinete e especificações semelhantes (senão idênticos) aos do MC1000, lançados em 1983, dois anos antes dele:

  • Um certo "GEM 1000 / Junior Computer / Charlemagne 999" produzido em Taiwan (GEM International Corporation) e comercializado na Bélgica.
  • Um certo "Rabbit RX83" produzido por uma empresa de Hong Kong (Rabbit Computer).

Uma matéria de antes do lançamento do MC1000 falava que o projeto original era japonês. Um funcionário mencionou de memória a China.

Isto posto, pergunta-se:

  • Exatamente qual microcomputador estrangeiro foi o projeto original do MC1000? Foi um dos dois mencionados acima (o GEM-1000 ou o RX83) ou algum outro? Em que país era produzido, por qual empresa?
  • Existem ainda em algum lugar os esquemas desse projeto? Existe alguma imagem de como seriam o seu gabinete e seus periféricos?
  • A nota sobre o RX83 menciona a existência de um programa "Music Composer" que pela descrição parece ser o mesmo da fita cassete que acompanhava o MC1000. Aparentemente os programas em código de máquina não foram produzidos no Brasil. Isto procede? Algum programa em BASIC foi adquirido junto com o projeto original?
  • O projeto adquirido continha todos os periféricos próprios que o MC1000 viria a ter (fonte, expansão de memória, interface de impressora), inclusive aqueles que ela aparentemente não chegou a produzir (interface RS-232, placa de 80 colunas, interface de disco, cartão CP/M)? Se o cartão CP/M existia para o projeto original, existia também o sistema operacional CP/M compilado para o micro?
  • Dos bugs encontrados na ROM do MC1000, sabe-se se já estavam presentes no projeto original? Quais deles?

A aquisição

  • Como a CCE adquiriu o projeto da máquina e seus acessórios? (Houve alguma negociação entre a CCE e o fabricante? Foi uma aquisição anônima, sem alguma comunicação aprofundada entre as partes?) Onde aconteceu? (Foi no Brasil ou em outro país?) Quando? Quanto tempo levou? Quem participou?
  • A CCE adquiriu o projeto original na íntegra, ou algo foi deixado de fora (softwares, periféricos etc.)?
  • Como se deu a escolha da CCE por esse modelo em particular para servir como seu concorrente no mercado brasileiro de micros de baixo preço? A CCE estudou a possibilidade/viabilidade de lançar outros modelos de micros de baixo preço, como o ZX-81, o ZX-Spectrum ou o TRS-80 Color Computer? Quando aconteceu? Quem participou?

O pré-lançamento

  • Houve alguma modificação introduzida na ROM original além da identificação do micro ("MC-1000 CCE COLOR COMPUTER") e da tradução das mensagens da ROM para o português (como "REBOBINE A FITA E REAPERTE O BOTAO PLAY")? Quem participou?
  • O que se sabe sobre a escolha da identidade visual dada ao MC1000 pela CCE (a cor prateada, o tipo de letra Microgramma, as linhas em grade, o "arco-íris" de quatro cores)? Quem participou?
  • Uma Portaria da Secretaria Especial de Informática de 06 de fevereiro de 1984 autorizava a CCE a produzir na Zona Franca de Manaus um microcomputador pessoal que seria chamado "PC-1000" baseado em Z80, com 64KB de RAM, 8KB de ROM, interface para discos etc. Essa foi a autorização para o que acabou se tornando o MC1000? Ou a autorização para o MC1000 foi outra? Neste caso, o que era esse "PC-1000", e o que foi feito dele?

Lançamento, marketing e comercialização

Uma nota da revista Micro Sistemas em 1985 ("CCE a Todo Vapor") sobre os planos da CCE referentes à microinformática diz: "A CCE entrou o ano de 85 a caminho da concretização daquilo que a empresa havia adiantado no final do ano passado: o lançamento de três novos micros. Em fevereiro, a CCE colocou no mercado o primeiro irmão do Exato, o MC 1000, que veio para concorrer diretamente com os micros pessoais de baixo preço disponíveis no mercado."

  • Em que dia de fevereiro de 1985 o MC1000 foi oficialmente lançado?
  • Quais eram as expectativas de vendas para o MC1000 antes do lançamento?
  • Qual foi a estratégia de marketing para o lançamento?
  • Que peças publicitárias foram preparadas? (Eu me lembro de ter ouvido um anúncio no rádio, e aqui tem uma propaganda publicada na revista Micro Mundo em setembro de 1985: https://web.archive.org/web/20160216084646/http://www.mci.org.br/micro/CCE/mc1000_mm_1g.jpg.)
  • Quantas unidades do MC1000 chegaram a ser produzidas/comercializadas (no total e/ou ao longo do tempo)?

Software

A nota da Micro Sistemas continua: "O novo equipamento foi lançado com suporte de 50 jogos e já estão sendo colocados no mercado mais 100 programas aplicativos desenvolvidos por software houses credenciadas pela CCE."

  • As fitas de jogos em código de máquina do MC1000 não chegam a 50. Além da fita de 5 programas, as fitas numeradas com jogos só vão do número 1 até o número 15 ou 17. Os aplicativos "sérios" em BASIC (como "Controle de Despesas") estão nas fitas numeradas de 16 ou 18 até 30, muito aquém dos 100 anunciados. Foi mal entendido da Micro Sistemas ou uma previsão otimista da CCE?
  • Esses aplicativos em BASIC foram mesmo desenvolvidos por "software houses credenciadas", ou pela própria CCE? Além do relato do Divino C. R. Leitão, quais foram as tentativas da CCE de produzir software original para o MC1000?
  • No código-fonte do terceiro programa da fita "Curso de BASIC" há uma menção a "ENGESOFT". Havia uma software house com esse nome em São Paulo na época. Ela teve participação no desenvolvimento do "Curso de BASIC" e/ou de outros programas?

Periféricos

A nota da Micro Sistemas continua: "Também já estão disponíveis a expansão de memória de 64 Kbytes, a placa para o MC 1000 rodar programas em CP/M e a interface para utilização de disquetes de 5 1/4", com 170 Kb cada um, face simples e dupla densidade." (grifo nosso).

  • Essas interfaces (expansão de memória, placa CP/M e interface para disquetes) realmente chegaram a ser produzidas/comercializadas pela CCE? Em que quantidade?
  • E o cartão de 80 colunas, não mencionado na nota, chegou a ser produzida/comercializada? Em que quantidade?
  • Existem ainda em algum lugar os esquemas eletrônicos dessas interfaces? Existe alguma imagem delas?

O MC1500

A nota da Micro Sistemas continua: "Para o segundo semestre está previsto o lançamento do terceiro membro da família de micros CCE, o MC-1500, uma versão ampliada do MC 1000 com gabinete maior e teclado profissional. As interfaces lançadas para o MC 1000 deverão já vir embutidas nesse novo equipamento."

  • Embora o MC1500 nunca tenha sido lançado, até que ponto foi a intenção de lançá-lo antes da CCE desistir da ideia? Era apenas uma intenção ou havia realmente um projeto no papel? Chegaram a ser feitos protótipos deles? Chegou a ser produzido em escala para comercialização?
  • O MC1500 era realmente uma versão ampliada do MC1000 ou tratava-se de um outro modelo de micro?
  • Seu projeto veio da mesma empresa que fabricou o projeto original do MC1000, ou foi uma criação original da CCE?
  • Existem ainda em algum lugar os esquemas do MC1500? Existe alguma imagem de como seriam o seu gabinete e seus periféricos?

A descontinuação

  • Como e quando a CCE chegou à decisão de descontinuar a produção do MC1000 (e de desistir da produção do MC1500)? Que fatores influenciaram? Quem participou?
  • Em que data ele foi oficialmente descontinuado? Houve algum anúncio público?
  • Que destino teve o estoque ainda não comercializado de MC1000 após a descontinuação?

Curiosidades avulsas

  • A mesma nota da Micro Sistemas menciona planos da CCE de lançar um micro da linha MSX que seria chamado "MC2000". O que se sabe a respeito?
  • Se tínhamos MC1000, MC2000 (MSX), MC4000 (Apple II) e MC5000 (IBM PC/XT), teria sido planejado algum MC3000?

Personalidades

Este é um registro de pessoas que pudemos de alguma forma vincular à história do MC1000, encontrando seus nomes em materiais referentes a ele.

Bernardo (sobrenome desconhecido)
Tem o nome indicado no campo “VIST.” (“visto por”?) na ficha técnica dos esquemas elétricos do MC1000 e seus periféricos, entre o segundo semestre de 1984 e o primeiro semestre de 1985.
Carlos Flaquer da Rocha
Segundo e-mail de Otto Sernatinger (2013-08-19), foi o responsável pela elaboração do manual do BASIC do MC1000. O próprio Carlos, por e-mail (2013-08-21) relatou:
Lembro-me de quando fui encarregado de produzir os dois manuais dele (BASIC e Referência), e não havia nada. Quem me ajudou muito foi o nosso amigo Hugo, que descreveu todas as funções que havia na ROM. A partir daí fui fazendo os manuais. Lembro-me sempre de chegar a ele perguntando alguma coisa, e lá ia ele no comando DEBUG, para descobrir algum comando. Um dia eu o chamei de “Debugo”, e o apelido pegou.
Dirceu (sobrenome desconhecido)
Tem o nome indicado no campo “DES.” (“desenhado por”?) na ficha técnica dos esquemas elétricos do MC1000 e seus periféricos (e no campo “VISTO” de algumas alterações posteriores), entre o segundo semestre de 1984 e o primeiro semestre de 1985.
Divino Carlos Rodrigues Leitão
Relatou que foi convidado (contratado?) por funcionários da CCE para desenvolver programas para MC1000 quando foi visto programando um exemplar em exposição durante o Rock In Rio de 1985. Recebeu gratuitamente equipamentos para o desenvolvimento. Teve problemas para fazer um programa de cálculo do Imposto de Renda por causa da limitação do tamanho dos números de ponto flutuante, e depois a falta de informação sobre as rotinas da ROM (que nem mesmo os programadores da CCE que ele consultou conheciam bem) atrapalhou a adaptação de um jogo em código de máquina, até que foi comunicado que não precisava mais continuar porque o MC1000 seria descontinuado.
Engesoft (empresa)
Na final do código-fonte em BASIC do 3° programa da [[fita]] “Curso de BASIC”, há uma linha 9104 PRINT "###ENGESOFT###ENGESOFT###ENGESOFT###" que vem após uma instrução GOTO e nunca é executada. Nos anos 80 havia em São Paulo uma software house chamada ENGESOFT Tecnologia na Informática Ltda., que existe até hoje. Teria ela sido contratada para criar o curso? Segundo e-mail (2013-08-) de um ex-funcionário da CCE,
Era um dos parceiros de desenvolvimento de produtos (software) para os computadores da CCE, especialmente o Exato.
Felipe Abramvezt
Assinou programas da fita de 50 programas em BASIC pela CCESOFT em abril e maio de 1985: Apresentação, Desenhando, Some sounds, Grafimania, Agenda telefônica, Econômetro, Demo printer.

Em sua página no LinkedIn, relata que trabalhou na CCE como estagiário de janeiro de 1985 a janeiro de 1986,

atuando no CPQD (Centro de Pesquisa e Desenvolvimento), utilizando computadores da linha MC-1000, MC-4000 (Exato-Pró) e MC-5000 PC/XT, desenvolvendo e ministrando cursos de treinamento para usuários do micro MC-1000, realizado no Mappin em 1985.

Também participou da VI Feira de Informática em 1985.

Hugo Corenzan Júnior
Segundo e-mail de Otto Sernatinger (2013-08-19), usou intensamente o DEBUG para tentar melhorar a ROM do MC1000, pelo que ganhou o apelido de “Debugo”. Falecido. Foi também maratonista e mergulhador. Segundo outro ex-funcionário da CCE (2013-08-21), a CCE não recebeu documentação da ROM do projeto original, apenas o dump e uma listagem em Assembly, sem comentários. Coube ao Hugo estudar e decifrar aquilo tudo, em meio a pilhas de formulários contínuos. Ele era o único que entendia a ROM.
Jairo Zeitel
Segundo e-mail de Otto Sernatinger (2013-08-19), era Gerente de Produto do MC1000, subordinado ao João Bittencourt.
João Pedro Bittencourt
Identificado como Gerente de Marketing da Divisão de Informática da CCE em uma nota da Revista Micro Sistemas de março de 1986 sobre o lançamento do MC-5000 XT. No mesmo ano, em agosto, a CCE ainda exibiria o MC1000 entre seus produtos em seu estande na VI Feira de Informática. Em matéria do caderno de Informática da Folha de São Paulo em 1° de fevereiro de 1984, sobre o Exato, ele foi descrito como “um velho conhecedor do setor brasileiro de informática, que a CCE ‘comprou’ de um concorrente no momento em que decidiu disputar o mercado de micros.” Segundo e-mail de Otto Sernatinger (2013-08-20), um dia ele chegou e pediu a elaboração, no prazo de uma semana, de 50 programas em BASIC (ele queria 100) para uma [[fita]] que seria fornecida de graça para quem comprasse o micro.
Jorge Luís S. Santos
Assinou programas da fita de 50 programas em BASIC pela CCESOFT em abril e maio de 1985: Histograma, Reverso, Teste de aritmética, Gráficos 1.

Fazendo uma busca no Google por "jorge luís" s. santos cce OR mc-1000 OR mc1000, encontrei uma página fazendo uma referência recente (2013) a um funcionário da Digibras/CCE chamado Jorge Luís Silva dos Santos. Será ele?

Otto Longo Sernatinger
Assinou programas da fita de 50 programas em BASIC pela CCESOFT em abril e maio de 1985: Dente-de-leão, Caleidoscópio, 3 telas, Teias, Reflexo, Linhas, Cicloide, Senoides, Jogo de dados, Frases, Número oculto, Calendário, Tira-letras, Espelho, Negativo, Moldura, Ordenador alfabético, Conversão de arábicos para romanos, Loto, C.P.F., Conversão grau Celsius—Fahrenheit—Celsius, Palíndromas, Alfabeto I, Alfabeto II, Código Morse, Cebolinha, Números primos, Fatorial, Cálculo de π, Triângulos, Raízes de polinômios, Fatores primos, Conversão de base, Regressão linear, Exponenciais, Soma de matrizes, Invasão das formigas, Simulação de gráfico.
Ricardo (sobrenome desconhecido)
Tem o nome indicado no campo “APROV.” (“aprovado por”?) ou “REV.” (“revisto por”?) na ficha técnica dos esquemas elétricos do MC1000 e seus periféricos, entre o segundo semestre de 1984 e o primeiro semestre de 1985.
Sérgio Turkienicz
Assinou um programa da fita de 50 programas em BASIC pela CCESOFT em abril de 1985: Cálculo de volumes.
“Loira” (nome completamente desconhecido)
Mencionada por Divino Carlos Rodrigues Leitão, de memória, como “Gerente de Produto” do MC1000 em seu relato sobre seu envolvimento no desenvolvimento de software para o MC1000. Otto Sernatinger esclareceu por e-mail (2013-08-19) que o Gerente de Produto era o Jairo Zeitel e (2013-08-20) que a loira trabalhava no Departamento Comercial da CCE no Rio de Janeiro.

História

O projeto original

O MC1000 não era compatível com nenhuma das linhas de microcomputadores conhecidas no Brasil. Por muito tempo pareceu que era um projeto original da CCE, até que, graças à Internet, surgiram evidências de outros microcomputadores de origem asiática com gabinete e especificações semelhantes.

A Vidéo Direct International (VDI), de Bruxelas, Bélgica, comercializava cartuchos compatíveis com Atari VCS e consoles com a marca “home vision”, produzidos em Taiwan pela GEM International Corporation. A VDI também tinha um escritório e show-room em Paris, França. Em um anúncio publicado numa revista Vidéo7 em agosto de 1983 (reproduzido no sítio Silicium.org), a VDI anunciava um microcomputador chamado Charlemagne (“Carlos Magno” em francês), embora no gabinete se veja apenas a identificação GEM 1000:

Fonte: http://www.silicium.org/wanted.htm; mais tarde: http://silicium.org/oldskool/wanted.htm.

Tradução do anúncio:

CHARLEMAGNE
[FOTO do micro, etiquetado apenas como “GEM 1000”.]
O 1º microcomputador para crianças
(dimensões 270 × 175 × 72 / peso 600g)

concebido especialmente para ser manipulado pelas crianças a partir de 5 anos.
O «Charlemagne» não é um brinquedo, mas um verdadeiro computador para toda a família. Malgrado sua miniaturização, suas capacidades são fabulosas e extensíveis:

  • rom de 8K
  • ram de 16K extensível a 64K
  • cores e som
  • definição gráfica de 256 × 192
  • basic
  • língua francesa
  • joysticks para vídeo-jogos
  • conexões = impressora
  • disquetes possíveis

Examinem as fotos do GEM 1000 disponíveis em http://www.old-computers.com/museum/photos.asp?t=1&c=420&st=1.

A primeira foto é a mesma do cartaz acima:

Fonte: http://www.old-computers.com/museum/photos/gem_1000.jpg.

O teclado é idêntico ao do MC1000, embora o gabinete seja um pouco diferente. Há um led para indicar quando o computador está ligado. Terá sido uma versão inicial do micro?

Fonte: http://www.old-computers.com/museum/photos/gem_junior_computer.gif.

Na segunda foto, o computador vem etiquetado com três nomes diferentes — "GEM 1000", "JUNIOR Computer" e "Charlemagne 999" — e agora o gabinete é totalmente idêntico ao do MC1000. (Note os conectores EAR, MIC e JOYSTICK do flanco esquerdo, as grelhas de ventilação no topo...)

Segundo http://www.old-computers.com/museum/computer.asp?c=420&st=1, o GEM 1000 começou a ser produzido em 1983 e esteve à venda pelo menos até 1984.


No que parece ser uma outra encarnação da mesma especificação (embora aparentemente um pouco mais antigo), um microcomputador chamado RX83, da Rabbit Computer, foi apresentado em junho de 1983 na CES (Consumer Electronics Show) de verão em Chicago, Illinois, EUA. Em um recorte do que parece ter sido uma revista de microinformática da época relatando as novidades da feira, se lê:

Fonte: http://www.ballyalley.com/non-bally/rabbit_RX83.jpg.

Tradução:

Rabbit Computer, um pequeno fabricante de Hong Kong, estava mostrando o Rabbit RX83 pela primeira vez. Esta é uma máquina de baixo custo da classe do V-Tech e do Mattel Aquarius. Ele usa um Z80A, tem 2K de RAM embutida (expansível até 64K), 50 teclas emborrachadas (sem barra de espaço), apenas maiúsculas, e comandos Basic

[FOTO do RX83 em exposição]
[COMENTÁRIO: O Rabbit é um novo e capaz computador de baixo custo de Hong Kong, mas, que pena, sem barra de espaço.]

com um toque de tecla. Ele tem boas capacidades de gráficos com quatro modos gráficos, oito cores, caracteres gráficos definíveis pelo usuário, e resolução de 256 × 192 pixels. A velocidade de cassete são respeitáveis 1200 bauds.

Um adorável componente de software era um programa Compositor de Músicas que mostra quatro pautas padrão de música com notas durante a execução. A máquina produz som em três canais. Muito poder por 99 dólares.

O recorte traz uma foto do RX83, e seu aspecto externo é totalmente semelhante ao GEM 1000 com led. Apenas causa estranheza, na descrição, a menção a “quatro modos gráficos, oito cores, caracteres gráficos definíveis pelo usuário”. Será que a máquina tinha um interpretador BASIC diferente, com comandos para aproveitar mais facilmente seus recursos gráficos? O MC1000 pode acessar os outros modos gráficos além daqueles acessíveis pelos comandos GR e HGR (e, consequentemente, todas as cores do MC6847), mas só com POKEs ou OUTs. E o MC1000 não tinha caracteres gráficos...

Tirando isso e os 2KiB iniciais, tudo é igual, até mesmo a descrição do programa Music Composer, que vem na fita que acompanhava o MC1000 de fábrica.

Na foto do RX83 se pode notar a posição de conexão de certos cabos exatamente onde ficariam, no MC1000, a saída para a TV (à direita), a tomada de energia (atrás), a entrada de cassete (à esquerda). E também uma caixa presa à parte traseira exatamente onde fica a porta de expansão do MC1000. Talvez seja a expansão para 64K.

Em 7 de maio de 2013, pesquisando a origem do MC1000, Jair Diniz Miguel descobriu que, segundo http://www.hkent.biz/0129195.html, a Rabbit Computer (Hong Kong) Limited [白兔電腦(香港)有限公司] operou de 1983 a 1996.

Em 13 de janeiro de 2018, Claudio Henrique Picolo encontrou um panfleto sobre RX83 disponibilizado no sítio Archive.org em 23 de agosto de 2017:

Fonte: https://archive.org/details/RabbitComputerRX83FlyerfromSummer1983CES.

O panfleto confirmou o parentesco do RX83 com o MC1000. Mostra a tela de três programas, e são os mesmos do MC1000: o Music Composer, o Mars Lander e o Guerra dos Robôs. A tela de texto também exibe caracteres claros sobre fundo escuro.

A mensagem de inicialização é “RABBIT STANDARD BASIC V1.0” logo seguido de “OK”, sem a contagem de bytes de memória. Isso pode indicar que o interpretador BASIC é diferente, até porque a ROM do RX83 é de apenas 8KiB. A ROM do MC1000, de 16KiB, contém a infraestrutura de jogos, o programa monitor e o interpretador BASIC de 8KiB.

O panfleto não menciona os “caracteres gráficos definíveis pelo usuário” do recorte. Provavelmente foi um engano.

Uma curiosidade é que as teclas <@> e <↑> que aparecem na foto do micro na CES 1983, iguais às do MC1000, no panfleto estão etiquetadas <BACK SPACE> e <NEW LINE>, respectivamente.

Tradução da informação técnica:

Especificações: CPU: Z80A; clock: 3.58MHZ; ROM: 8KiB; RAM: 2KiB; RAM máxima: 64KiB; linguagem embutida: Rabbit standard BASIC; tela de TV: 32 caracteres por 16 linhas; cor: 8 cores vivas; vídeo: saída modulada de RF com som em 3 canais; resolução: 256 × 192 pixels; taxa de bauds: 1200; teclado: 50 teclas incluindo teclas de função especial; modo gráfico:: 4 modos inteiramente gráficos & 2 modos semigráficos.

Portas de E/S: Uma porta de cassete; uma porta de expansão com 256 endereços; duas portas de joystick; uma porta de saída modulada RF + som.

Fonte de energia: Adaptador de energia de 9 volts CC 1 Amp. ou fonte CC; temperatura de operação: 0°–35°C; dimensões: 8,34" de largura (212mm) × 1,73" de altura (44mm) × 6,89" de profundidade (175mm).

Acessórios opcionais: RA8001 — cartucho de 16KiB de RAM; RA8002 — interface de impressora Centronics com cabo; RA8003 — controles de joystick (par); RA8004 — gravador de dados em cassete; RA8005 — fita cassete de videogames/software; RA8006 — cartucho de encaixe de jogo/software; RA8007 — manual de software; RA8008 — manual de hardware; Disponível em breve: impressora térmica de matriz de pontos, modem, expansor.

O panfleto dá um endereço da Rabbit Computers em Nova Iorque e foi impresso em Hong Kong.


Em discussão no grupo Retrocomputação no Google Groups sobre a descoberta da Portaria de autorização de produção do “PC-1000” (vide abaixo) e sobre máquinas das quais supostamente o MC1000 seria clone, Eduardo Luccas comentou em 3 de junho de 2013:

Tem uma reportagem, inclusive, que saiu na Folha na época, na Folha Informática, comentando que o pessoal da CCE estava na Ásia e trouxe um micro de lá e que ia lançar um novo micro aqui (não lembro se era em Hong-Kong ou na Coreia, depois eu procuro a reportagem no acervo da Folha pra mostrar) e, logo depois, “apareceu” o MC-1000.

Mais tarde ele encontrou a matéria, que fora publicada em 31 de outubro de 1984 no caderno de Informática da Folha de São Paulo:

Fonte: http://acervo.folha.com.br/fsp/1984/10/31/2//4219772.

CCE lança mais um microcomputador doméstico

A diversificação de atividades iniciada em fevereiro deste ano, com o lançamento do seu microcomputador Exato, não representa hoje mais que 2% do seu faturamento global. Mas a partir desse final de ano essa taxa deverá crescer significativamente, com o lançamento do MC-1000, seu novo micro de uso doméstico que será apresentado ao público esta semana, na 4ª Feira Internacional de Informática, no Rio de Janeiro, e lançado comercialmente dentro de poucas semanas em Manaus. A previsão de crescimento é feita pelo gerente de marketing da empresa, João Pedro Bittencourt, que espera colocar seis mil desses equipamentos mensalmente no mercado, além dos primeiros quinze mil já encomendados pelos revendedores antes mesmo do lançamento.

Esses números são um indicativo seguro da disposição da CCE em jogar pesado nesse mercado. No desenvolvimento do MC-1000 foi gasto Cr$ 1.500 milhões e outros Cr$ 600 milhões estão engatilhados para serem disparados numa intensa campanha publicitária, a começar na feira. De acordo com Bittencourt, o mercado de micros domésticos não apresenta sinais de exaustão e, até ao contrário, a intensa demanda demonstra que não está sendo suprido satisfatoriamente pelos fabricantes.

"Nós entramos nesse mercado com uma vantagem sobre os concorrentes", diz ele, revelando que a empresa pretende explorar a fundo a estrutura que dispõe no comércio de equipamentos de som, com cinco mil pontos de venda distribuídos por todo o país. Com essa rede de distribuição, aliada as expectativas existentes para produtos desse tipo, a CCE armou um esquema de duas hastes que deverá sustentar a expansão do seu faturamento em informática para 25% do global, acredita Bittencourt, até o final de 1985.

A idéia de um micro doméstico surgiu numa viagem do presidente da empresa, Isaac Sverner, ao Japão, em novembro passado, quando encontrou um equipamento "pequeno e versátil, um hardware fabuloso", como define Bittencourt. Sem maiores, trouxe-o diretamente para o CPqD (Centro de Pesquisa e Desenvolvimento) da CCE, onde foi literalmente dissecado pelos pesquisadores, como se costuma fazer com os cadáveres de indigentes nas escolas de medicina.

Aberto, examinado, mexido de todas as formas, o "pequeno e versátil" japonês ganhou feições nacionais. Dos oito Kbytes de RAM originais saltou para uma memória de dezesseis Kbytes, expansíveis até 64 kbytes através da colocação de novos chips. Além disso, dispõe hoje de seis Kbytes especiais de RAM de vídeo, permitindo usar integralmente a RAM da CPU apenas para processar informações. Essa é, aliás, uma das vantagens apontadas por Bittencourt: "O MC-1000 possui três microprocessadores independentes, um Z-80 para a CPU, um VDG (Video Display Generator) para processamento de vídeo e um PSG (Programmable Sound Generator) para sintetizar sons, de modo que essas funções podem ser desenvolvidas conjuntamente sem que uma interfira no desempenho da outra".

Cores e sons são dois pontos fortes desse pequeno de 17,5cm de comprimento, 20,5cm de largura, 4,5cm de altura e 1,240kg de peso. Pode usar até oito cores e é dotado de um sistema de feedback que indica, com duas cores no vídeo, quando a leitura das instruções está ou não sendo bem feita. Verde e vermelho, significa sim; uma só cor, não. Além disso dá as mensagens de erro, como garantia. Um comando permite sintonizar o monitor em altas resoluções (256×192 pontos), médias (128×124 pontos) e baixas (semelhantes à do Atari). Aos adeptos da sonorização dos jogos, o MC-1000 permite três níveis diferentes de sons, simulando, ao mesmo tempo, por exemplo, um piano, um violino e um violoncelo, além de vários sons aleatórios (os chamados ruídos brancos), como roncos de carros, trovões, barulho de vento, gritos e vozes sintetizadas. E, claro, não foram esquecidas duas saídas para joy-stick, compatíveis com Atari.

Ainda no nível dos chips, possui uma memória física que permite mudar a programação, em determinados lugares, para a linguagem Assembler, mantendo o restante em Basic. "É apenas nessa partezinha que o programa passa ao Assembler e depois pode voltar ao Basic novamente", explica Bittencourt. Tem ainda função editora para inserir ou retirar caracteres do texto e um editor de linha para mover o cursor para cima e para baixo ou direcioná-lo para os lados. Utiliza um sistema operacional próprio, mas também roda programas em CP/M.

Montado com "teclado chiclete" de silicone (dos encontrados em calculadoras), deverá custar, a partir do lançamento, Cr$ 685 mil. Segundo Bittencourt, é uma máquina indicada para quem quer se iniciar na informática, porque tem "uma série de recursos de máquinas maiores" a um preço bem menor. Inclusive, diz, são planos da empresa colocar toda essa máquina numa "caixa" de porte maior e com teclado profissional para lançá-lo, em breve, como micro pessoal.

[FOTO do MC1000, acompanhado de televisor, gravador cassete DR-1000 e de dois joysticks JS-1000.]
[COMENTÁRIO: O MC-1000, da CCE, é colorido e faz algumas sonorizações de games.]

Além de revelar a origem asiática do MC1000, a matéria tem outros pontos interessantes:

  • O projeto original do MC1000 tinha 8KiB de RAM — diferentemente do que as fontes acima dizem sobre o GEM-1000, que tinha 16KiB, e do RX83, que tinha 2KiB. Isto sugere que o MC1000 não teria se originado, direta e imediatamente, de uma dessas máquinas.
  • A matéria menciona a expansão de memória até 64KB "através da colocação de novos chips", em vez de mencionar mais especificamente o cartucho de expansão de memória. Seria uma referência à [[mod de 64KiB]]?
  • A menção a "resoluções médias" de 128×124 está obviamente errada (os [[modos gráficos]] do MC6847 têm resolução vertical de 64, 96 ou 192 pixels).
  • A função do editor de linha para "mover o cursor para cima e para baixo ou direcioná-lo para os lados" seria realizada com as teclas H, J, K e L combinadas com <CTRL>, mas foi inutilizada por causa do bug do CHR$(12).
  • O MC1000 numa "caixa de porte maior e com teclado profissional" seria o MC1500, que nunca foi lançado.

Em 20 de agosto de 2013, a origem asiática do MC1000 foi confirmada por um ex-funcionário da CCE. A matéria acima mencionando o Japão ainda não tinha sido reencontrada. De memória, ex-funcionário informou que:

  • O projeto original era chinês. Um engenheiro/representante chinês veio ao Brasil apresentar o projeto à CCE.
  • Não foi apresentado um produto já em produção, mas um protótipo.
  • O ex-funcionário não se lembrava de ter visto protótipos das interfaces de disco, do cartão de 80 colunas, etc.
  • Alguma parceria foi efetivamente firmada entre a CCE e a fábrica chinesa para a produção do MC1000. Ele não foi clonado por engenharia reversa.
  • Houve muito desenvolvimento: Adaptações de hardware (para PAL-M, por exemplo, ou para adequação de componentes), gabinete, projeto de teclado, identidade visual, embalagem, software… O pessoal da engenharia trabalhou muitos meses até finalizar o produto.
  • Da ROM a CCE recebeu pouca informação: apenas o dump e uma listagem em Assembly sem comentários. O Hugo Corenzan Jr. foi quem se debruçou sobre o material para estudar e decifrar seu funcionamento. Ele também foi o responsável pelas alterações necessárias. Ele checou, inclusive, a implementar alguns comandos que existiam no prompt do Apple II (Exato).

O pré-lançamento

Em 13 de junho de 2013, pesquisando a origem do MC1000, Jair Diniz Miguel encontrou publicada no Diário Oficial da União de 9 de fevereiro de 1984 uma Portaria da Secretaria Especial de Informática de 6 de fevereiro de 1984 autorizando a CCE a produzir um microcomputador então denominado “PC-1000” com configuração aproximada àquela que o MC1000 viria a ter:


Secretaria Especial de Informática

PORTARIA Nº 25, DE 06 DE FEVEREIRO DE 1984

O Secretário de Informática, no uso de suas atribuições, tendo em vista o disposto no artigo 5º, incisos III, VIII, XXI e XXVI, do Decreto nº 84.067, de 08 de outubro de 1979, e no Ato Normativo nº 016/81, de 10 de julho de 1981,

RESOLVE:

Art. 1º — Fica aprovado, com modificações em relação ao que consta do Processo nº F - 000260, o projeto apresentado por CCE DA AMAZÔNIA S.A., inscrita no Cadastro Geral dos Contribuintes do Ministério de Fazenda sob o nº 04.169.843/0001-77, para fabricação do microcomputador de uso pessoal, modelo PC-1000, com as seguintes características básicas:

  • microprocessador Zilog Z-80;
  • 64 KBytes/memória RAM;
  • 8 KBytes/memória ROM;
  • interface para receptor cromático de televisão, sistema PAL padrão M;
  • teclado alfanumérico ASCII;
  • interface para impressora serial;
  • interface para unidade de discos flexíveis;
  • interface para comunicações, CCITT V/24 e RS-232;
  • linguagens BASIC e ASSEMBLER.

Art. 2º — Para fabricação do produto mencionado no artigo 1º, serão admitidas importações, diretamente de fabricantes originais, das seguintes partes e peças:

  • circuitos integrados de fabricação e uso gerais, não encapsulados no País;
  • componentes de valor e conteúdo tecnológico pouco significativos e não disponíveis. no Brasil.

Parágrafo Único — As importações para execução deste projeto serão realizadas pela praça de Manaus, de acordo com o programa constante do Processo nº F - 000260, e limitadas pelas quotas atribuídas pela Superintendência da Zona Franca de Manaus — SUFRAMA.

Art. 3º — A industrialização destes produtos será realizada sem dependência de qualquer natureza a fontes externas de tecnologia.

Art. 4º — Os equipamentos destinados a operar em redes públicas de telecomunicações, deverão possuir características compatíveis com as Recomendações das Séries V e X do CCITT, nas versões padronizadas no Brasil pelo Ministério das Comunicações.

Art. 5º — Esta Portaria entrará em vigor na data de sua publicação.

JOUBERT DE OLIVEIRA BRÍZIDA

(A produção do MC4000 Exato tinha sido aprovada meses antes, pela Portaria SEI nº 194, de 30 de novembro de 1983, publicada no DOU de 2 de dezembro de 1983.)

No DOU de 23 de maio de 1984, o Conselho de Administração da SUFRAMA publicou que tinha baixado em 27 de abril de 1984, entre outras, a

Portaria Nº 148/84 — CCE DA AMAZÔNIA S/A: objetivando a produção de um novo modelo de microcomputador;

Em 22 de agosto de 2013, um ex-funcionário da CCE confirmou que o PC-1000 era o nome original do MC1000. O novo nome foi dado segundo o padrão do MC4000, que inicialmente era um código interno do Exato, mas que “vazou” e “pegou”, e então os outros produtos da empresa passaram a ser nomeados acima ou abaixo de 4000 conforme seu poder computacional: MC1000, MC1500 e MC2000 (MSX) abaixo; e o MC5000 (PC/XT) acima.


Em 21 de novembro de 1984, a coluna Circuito do caderno de Informática da Folha de São Paulo registrou:

Fonte: http://acervo.folha.com.br/fsp/1984/11/21/75//5404346.

CCE investindo

Cerca de Cr$ 10 bilhões. É esse o montante que promete investir no próximo ano a CCE no setor de microcomputadores, com o lançamento de três novas máquinas. A informação é do diretor-superintendente comercial da empresa, Luís Muro. Ele também informa que a fábrica injetou Cr$ 4,5 bilhões em 84 na industrialização dos micros MC-4000 e MC-1000. Segundo planos da CCE, em 1985 os microcomputadores significarão de 2 a 3% do faturamento total

Em 28 de novembro, o caderno de Informática da Folha de S. Paulo já mencionava o MC1000 como uma das opções de presentes tecnológicos para o Natal. Sendo-lhe atribuído o preço de Cr$ 700 mil, era comparado com outras opções de microcomputadores: os monocromáticos TK85 (Cr$ 500 mil) e CP300 (Cr$ 950 mil) e os coloridos CP400 (Cr$ 1 milhão) e TKS-800 (da Microdigital, Cr$ 1,1 milhão).


Lançamento, marketing e comercialização

O MC1000 foi lançado no Brasil pela CCE em fevereiro de 1985.

Em 6 de março de 1985, a coluna Circuito do caderno de Informática da Folha de São Paulo registrou:

Fonte: http://acervo.folha.com.br/fsp/1985/03/06/2//4107283.

Micro CCE nas lojas

A partir deste mês, a CCE coloca nas lojas seu micro MC 1000, anunciado no final do ano passado. Com ele também chegam ao mercado o gravador cassete DR 1000, o joystick JS 1000 e um monitor de vídeo monocromático, o MV 12. […] Os preços sugeridos para revenda são: MC 1000, Cr$ 1,1 milhão, monitor, Cr$ 1 milhão; gravador, Cr$ 230 mil e joystick, Cr$ 36 mil.

Os planos da CCE na área de informática à época estão resumidos nesta matéria (Revista Micro Sistemas, março de 1985, p. 25):

Fonte: http://cobit.mma.com.br/manchetes/cce.htm.

CCE a Todo Vapor

A CCE entrou o ano de 85 a caminho da concretização daquilo que a empresa havia adiantado no final do ano passado: o lançamento de três novos micros. Em fevereiro, a CCE colocou no mercado o primeiro irmão do Exato, o MC 1000, que veio para concorrer diretamente com os micros pessoais de baixo preço disponíveis no mercado. O novo equipamento foi lançado com suporte de 50 jogos e já estão sendo colocados no mercado mais 100 programas aplicativos desenvolvidos por software houses credenciadas pela CCE. Também já estão disponíveis a expansão de memória de 64 Kbytes, a placa para o MC 1000 rodar programas em CP/M e a interface para utilização de disquetes de 5 1/4", com 170 Kb cada um, face simples e dupla densidade. Para o Exato a CCE colocou no mercado, nos primeiros meses do ano, um monitor de vídeo de 12", fósforo verde ou âmbar (opcional), e as placas CP/M e 80 colunas.

Mas as grandes novidades anunciadas pela empresa ainda estão por vir. Para o segundo semestre está previsto o lançamento do terceiro membro da família de micros CCE, o MC-1500, uma versão ampliada do MC 1000 com gabinete maior e teclado profissional. As interfaces lançadas para o MC 1000 deverão já vir embutidas nesse novo equipamento. Para a Feira de Informática desse ano a CCE promete o lançamento de um micro de 16 bits compatível com o modelo XT da IBM. E na linha de 8 bits a CCE deverá apresentar também um novo equipamento baseado no microprocessador Z-80 e na tecnologia MSX, desenvolvida por um pool de grandes empresas japonesas. O MC 2000 terá memória ROM de 32 Kbytes com uma série de rotinas que facilitarão o trabalho do usuário.


Em julho de 1985 a CCE realizou uma ação de marketing no shopping Mappin Itaim, oferecendo um curso grátis de informática/BASIC MC1000 com duração de 3–4 horas. Por telefone se obtinham informações e se faziam reservas. O MC1000 era então vendido a Cr$ 800,00. (Fonte: http://acervo.folha.com.br/fsp/1985/07/17/75//4146050.)


Descontinuação

O MC1000 continuava sendo comercializado em agosto de 1986, como se vê nesta matéria (Revista Micro Sistemas, agosto de 1986, p. 33):

CCE

Em seu stand na VI Feira de Informática, a CCE não apresenta novidades. A empresa está expondo o microcomputador de 16 bits MC-5000 xt, compatível com o IBM PCxt, com memória RAM mínima de 256 Kb e máxima de 640 Kb; processador Intel 8088; sistema operacional CCE DOS, versão 2.0; dois drives slim, placa controladora de drives e vídeo gráfica, em sua configuração básica. Traz como opcionais placa multifunção; relógio calendário; interfaces paralela e serial; Winchester de 10 Mb e placa controladora de Winchester.

Na linha dos 8 bits, a CCE expõe o MC-4000 Exato Pro, compatível com Apple II Plus, teclado profissional e 48 Kb de memória RAM, expandível até 128 Kb; e o MC-1000, que usa Z-80; opera em modos gráficos e semi-gráficos, com resolução de 256×192, em nove cores, e efeitos sonoros e musicais.

Mas será que ainda era produzido, ou era apenas ponta de estoque? Poucos meses antes, na Micro Sistemas nº 54 de março de 1986, seção Bits, p. 14, se lia:

MC 5000 XT, da CCE

A CCE está comercializando o seu novo equipamento MC 5000XT desde fevereiro. (...)

Segundo João Bittencourt, Gerente de Marketing da Divisão de Informática, a CCE deve colocar novos equipamentos no mercado a partir de maio, todos na área de micros mais potentes para atividades profissionais.

Isto parece indicar que nesse ponto a CCE já tinha desistido do MC1000. Ele não resistiu à chegada de máquinas melhor concebidas e cheias de software, como o TK-90X (lançado em junho de 1985) e os MSX (novembro e dezembro de 1985), e à ascensão das máquinas de 16 bits. A CCE passou a focar no Exato Pró e no MC5000 XT.


Um depoimento

Eis aqui um interessante depoimento sobre o MC1000 por Divino Carlos Rodrigues Leitão, que na época trabalhava no CPD da revista Micro Sistemas:

Minha aproximação com o MC-1000 foi completamente diversa da de todos os outros micros, eu estava no Rock In Rio e dispensei ver o show da Nina Hagen [domingo, 20 de janeiro de 1985], estava olhando o stand da CCE e vi o micrinho com a tela colorida e fiquei surpreso.

Como estava aberto ao público fiquei brincando com o BASIC dele e fiz um programinha que plotava o logo do Rock In Rio na tela, aquela guitarra com o mapa do Brasil.

Fui fazendo e testando, quando percebi tinha um monte de gente atrás de mim olhando e entre eles uma belíssima loira que era a gerente de produto do bichinho e mais uns sujeitos de terno, que soube depois serem diretores da CCE.

A loira me deu um cartão e marquei uma entrevista em Copacabana, levei os programas que tinha feito para o ZX 81 e mais uns projetos, os caras queriam que eu fizesse para o MC-1000 e falei que seria moleza.

Ela mesmo foi entregar os equipamentos no meu apê, lembro que minha mulher ficou meio furiosa porque não acreditava que aquilo acontecia, que uma empresa estaria me "dando" aquilo tudo, ali tinha caso com a loira... Hua! hua! hua! Quem dera...

Antes de começar a desenvolver os jogos eles queriam que eu fizesse um programinha para calcular o IR da época, achei que ia ser moleza fazer no BASIC mesmo mas não consegui, simplesmente [para exibir valores com mais de seis casas, o BASIC do micro arredondava a parte decimal (32768,05 → 32768.1) ou] entrava em notação científica [(1.000.000 → 1E+06)]... Hua, adivinhem só quanto dava qualquer cálculo na moeda da época.

Parti pra desenvolver rotinas em Z80 para fazer os cálculos e imprimir na tela, mas não conhecia [as rotinas de ROM] do bichinho e passou do prazo... então parti para fazer os jogos.

Ih... Nada, comecei pelo Valkirie [adaptação anterior do Divino para ZX 81 do jogo Voyage of the Valkyrie, originalmente lançado para TRS-80 e Apple II], até ficaram legais as telas, mas em BASIC ficava muito lerdo e a [ROM] do bichinho continuava um mistério pra mim, os manuais que me entregaram não eram corretos e a turma do “desenvolvimento” do micro não conseguiu me ajudar, fui lá em Sampa pra aprender com eles e acabei ensinando uns truques para os caras, mas a verdade é que não conseguia fazer um programa decente no micro.

De repente ele saiu do mercado... Simplesmente me ligaram e disseram que o projeto estava cancelado e que não precisava nem devolver o material...

(Uma outra versão deste depoimento se encontra em http://web.archive.org/web/20080208115846/http://www.tilt.net/wiki/index.php/A_CCE_entra_no_mercado_de_micros).

Comentário adicional do Divino:

Interessante ler estes depoimentos, foi uma época cheia de surpresas e o MC 1000 foi uma surpresa que infelizmente não teve final feliz. Era um belo e promissor micrinho mas apesar de toda a boa intenção da CCE foi (junto com quem o comprou) mais uma vítima das patuscadas que militares + governo faziam com a gente, com a desculpa que estavam cuidando do futuro do nosso pais.

Placa adaptadora para interface ZXMMC

A interface ZXMMC é uma placa para alguns computadores da linha ZX Spectrum. Inserida no slot do Z80, e o Z80 sobre ela, permite acesso a cartões de memória SD/MMC.

Segundo o sítio (em inglês):

Na verdade, esta interface pode ser usada em QUALQUER projeto baseado em Z80 com um soquete DIL de 40 pinos, desde que as portas $1F e $3F não estejam em uso.

Como a ZXMMC não faz nenhuma “tradução” de sinais entre a placa e o Z80, funcionando “em paralelo” com o barramento, me parece que ela poderia ser encaixada (sem o Z80) em uma outra placa, fora do computador, desde que os mesmos sinais lhe sejam fornecidos.

Infelizmente a porta $3F não está livre no MC1000. O circuito interno do MC1000 que faz a distinção entre as portas $20, $40, $60 e $80 só considera os três primeiros bits do número da porta, de modo que o endereço $3F (%00111111) coincide com $20 (%00100000).

Devemos então escolher um número de porta não problemático e nossa placa deve traduzi-lo para $3F. Optei por um endereço vizinho ao $1F, o $1E (%00011110). Se ele for identificado, nossa placa deve ativar os bits 0 e 5 do endereço (produzindo $3F) antes de passá-lo à ZXMMC.

Conectar à                                Conectar
EXPANSION PORT                            a outros
do MC-1000                            dispositivos
<=:===:==========:=======:=====:====:============>
  |   |A0,A5-A7  |A1-A4  |A0   |A5  |A1-A4,A6-A7
  |  [NOR]       |       |     |    |
  |   '--------. |       |     |    |
  |           [AND]      |     |    |
  |             '------*-|---. |    |
  |                    | |   | |    |
  |   .-----------.   [OR ] [OR ]   |
  |   |   ZXMMC   |     |A0'  |A5'  |
  |`--|+5V      A0|-----'     |     |
  |`--|GND      A5|-----------'     |
  |`--|CLK      A1|----------------´|
  |`==|D0-D7    A2|----------------´|
  |`--|~IORQ    A3|----------------´|
  |`--|~WR      A4|----------------´|
  |`--|~RD      A6|----------------´|
   `--|~NMI     A7|----------------´
      '-----------'
Sinal Pino na
porta de expansão
do MC1000
Pino na ZXMMC
(igual ao Z80)
A0–A7 37–44 30–37
+5V 1 11
GND 46,50 29
D0 19 14
D1 20 15
D2 14 12
D3 11 8
D4 10 7
D5 12 9
D6 13 10
D7 15 13
~IORQ 25 20
~WR 27 22
~RD 26 21
~NMI 22 17
CLK 9 6

Placa CP/M

VAPORWARE! Embora tenha sido [[história|anunciado em fevereiro de 1985]] que esta placa já estava disponível, desconhecem-se relatos de seu avistamento.

A porta de expansão do MC1000 efetivamente disponibiliza sinais voltados ao funcionamento desta placa. Ao ser acionada, ela desativaria a ROM do MC1000, entregando seu controle à ROM desta placa, que se encarregaria de fazer o bootstrap normal do CP/M, forçando o seu uso com a controladora de disco e a expansão de 64KiB. Assim sendo, enquanto acionada, seria teoricamente incompatível com os programas normais do MC1000.

A inclusão do cartão de 80 colunas neste caso seria altamente desejável, uma vez que a maioria dos programas do CP/M foi originalmente projetada para 40 ou 80 colunas.

O CP/M foi um sistema operacional de disco usado em vários micros de 8 bits. Mais informações sobre o CP/M em The Unofficial CP/M Web Site: http://www.cpm.z80.de/.

Interface serial RS-232C

VAPORWARE! Houve rumores do desenvolvimento de uma interface de comunicação RS-232C, o que permitiria a troca de dados com outros computadores ou dispositivos diversos como modems, mas a tal interface nunca se concretizou.

Cartão de 80 colunas

VAPORWARE! O [[Manual de Referência]] menciona as [[portas]] RPORT1 ($10), DPORT1 ($11) e COL80 ($12) para a seleção e controle de um processador MC6845 no lugar do MC6847 nativo do MC1000, mas essa expansão nunca existiu que se saiba.

Controladora de drives de disquete

VAPORWARE! Esta controladora nunca foi vista à venda, nem existe um esquema elétrico documentado de sua existência.

O [[Manual de Referência]] menciona (sem lhes atribuir nomes) as [[portas]] $00, $02 e $0D que permitem a seleção da ROM e preveem o controle dos drives.

Falou-se também em uma controladora capaz de controlar até duas unidades (drives) de disquetes de 170KiB cada, face simples, em formatação para o sistema operacional CP/M, mas não se sabe da sua existência física, assim como não se sabe que tipo de drive seria utilizado.

"MC-1000", "MC 1000" ou "MC1000"?

No gabinete do computador, nos acessórios e nos materiais impressos (caixa, capas dos manuais, rótulos e capas das fitas, propagandas etc.) ...