A História do MSX


Olá pessoal,

Para descontrairmos um pouco, segue alguns trechos que encontrei em alguns sites sobre a história do nosso querido MSX.

Abaixo uma foto emblemática, a Microsoft anunciava um acordo com a japonesa Ascii para a criação do padrão aberto, nascia o MSX. 

Da esquerda para a direita: Akio Gunji, presidente da Ascii, Kazuniko Nishi, o criador do
formato MSX, o jovem Bill Gates e Keiichiro Tsukamoto, também VP da Ascii.

O MSX foi uma idéia originalmente idealizada por Kazuhiko Nishi, vice-presidente da Ascii, que queria um computador rápido, flexível e barato para fazer frente aos IBM PC´s, dominantes na época.

Assim, os aparelhos do padrão MSX eram equipados com o excelente processador Z-80, da Zilog, chip de som AY-3-8910 da General Instruments, placa de vídeo Texas Instruments com 16 KB de memória, modelos TMS9918 ou TMS 9928 (a mesma utilizada no ColecoVision), no mínimo 8 KB de RAM (embora a maioria dos computadores tivesse 16, 32 ou 64 KB), 32 KB de BIOS (Basic), 2 portas de expansão, 1 saída para joystick/mouse e conexão para gravador.

HotBit – HB8000 da Sharp ( Clone nacional do MSX)

Várias gigantes aderiram ao formato, como a Sony, Yamaha, Panasonic, Toshiba, Pioneer, NEC, Fujitsu, Daewoo, Philips e muitas outras, que lançaram versões próprias. No Brasil, o MSX foi fabricado pela Gradiente (Expert), Sharp (Hotbit) e Dynacom.

Em breve um pouco mais de história do MSX.

[]´s

MsxRevival

(*) Fonte: Retro Space

Anúncios

O teclado PS2


Olá pessoal,

Todos sabemos hoje a dificuldade de se encontrar um teclado de MSX, principalmente um que esteje realmente bom, além disso quem tem esse teclado hoje em dia quando quer vender pede os olhos da cara, pensando nisso começamos a algumas semanas a pensar em um projeto de teclado usado no PC e abordaremos a princípio o modelo PS2. Esse tipo de teclado é muito fácil de se achar, além disso o seu preço é muito convidativo, dependendo do modelo podemos encontra-lo no mercado por menos de U$ 10,00 dólares.

ps2_keyboard

 Acima um modelo de teclado PS2.

Agora vamos dar uma olhada no conector do PS2 propriamente dito, ou melhor, vamos ver sua pinagem.

PS2_Connector1

Pinagem do conector PS2 macho e fêmea.

Analisando o esquema acima, podemos ver quais são os pinos e como eles se comportam.

De posse desses dados já podemos começar a projetar um circuito para que possamos ler os dados do teclado PS2, assim saberemos como esses códigos chegam e como teremos que trata-lo para enfim envia-los ao nosso MSX.

Pareçe simples, mas posso garantir a vocês que teremos um longo caminho para conseguirmos construir esse adaptador, apesar de não ser algo complexo em um primeiro momento, teremos muitas coisas a analisar.

A IBM AT introduziu um teclado de 101 teclas que depressa se tornou modelo de referência para a maior parte dos PC’s.

Este teclado tinha as teclas funcionais ao longo do topo do teclado e um teclado numérico do seu lado direito.

Havia também duas teclas extra-funcionais incluídas neste teclado.

Um típico teclado moderno consiste num chip de processador conectado com a matriz de teclas ordenadas num array de X e Y linhas.

Os primeiros teclados usavam um chip de processador 8048 e uma matriz de 8 por 11 ou 12. A matriz consistia usualmente em oito linhas de saída e 11 ou 12 linhas de entrada. Mais tarde, os teclados passaram a usar processadores 8049 e o teclado de 101 teclas precisavam de pelo menos uma matriz de 10 por 11 para aceder a todas as teclas.

O processador do teclado usa uma tabela de procura, para encontrar o código que representa a tecla que foi pressionada. Quando o processador do teclado encontra a tecla pressionada durante a sua procura na matriz, ele envia um código para representar essa tecla para um circuito de interface do teclado no computador.

No passado, muitos sistemas usaram o código ASCII para representar as teclas na matriz mas os computadores de ambiente DOS usavam um complexo procedimento para os códigos de pressão e liberação das teclas.

Foram usados três tipos de contatos nos teclados a saber;

Mechanic contact

Este tem um comutador de ações e usualmente proporciona bom tato e respostas audíveis. Os melhores teclados têm uma esperança de vida de 1 ou 2 milhões de pressionamento de teclas por tecla.

Conductive rubber pad

Este tipo de teclado tem evoluído ao longo dos anos. Os exemplos mais antigos tinham pouca sensibilidade e eram a maior parte das vezes, informais. Hoje em dia, este tipo de teclado está disponível em ambas as formas, soft-touch e click type e é bastante formal.

Capacitive contact

Estes teclados de alta qualidade eram populares nos primórdios dos PC’s mas eram muito caros de produzir. O original PC da IBM, PC/XT e PC/AT usavam este tipo de teclado. A matriz de teclas é uma série de muito pequenos condensadores unindo as linhas X e Y da matriz. O topo da tecla pressiona um prato condensador até junto de dois pratos condensadores na placa do circuito dentro do teclado, aumentando assim a capacitância entre as linhas X e Y da matriz.

O teclado está conectado ao computador via dois tipos de conectores. Anteriormente, a maior parte dos computadores usavam conectores 5 Pin DIN nas suas placas de sistema e isto fornecia mais 5 volts e ligação à terra do teclado, e recebia dados e sinais de relógio do teclado.

Os pinos no conector 5 Pin DIN estão assim definidos:

Pin 1 = Clock (do teclado)

Pin 2 = Data (do teclado)

Pin 3 = Reset (não é usado)

Pin 4 = Ligação à terra

Pin 5 = suplemento de 5 volts

A PS/2 IBM introduziu um pequeno conector, uma miniatura de um conector 6 Pin DIN, e a interface desta PS/2 e se tornou um modelo de referência.

Os pinos de um conector de um teclado PS/2 estão definidos da seguinte forma:

Pin 1 = Data (do teclado)

Pin 2 = n/c

Pin 3 = Ligação à terra

Pin 4 = suplemento de 5 volts

Pin 5 = Clock

Pin 6 = n/c

Quando é pressionada uma tecla num teclado, um “Press Code” é gerado pela ação da pressão da tecla e um “Release Code” é gerado quando a tecla é solta. Os “Press Code” e “Release Code” são usados para produzir o “Typematic” (uma característica do teclado que faz com que uma tecla repita a sua escrita continuamente enquanto estiver pressionada).

Os dados do teclado são enviados para o Circuito de Interface do Teclado na placa de sistema. Cada byte dos dados é submetido ao “clock” no circuito de interface por um “Clock signal”, proporcionado pelo próprio teclado.

O circuito de interface dos teclados PC/XT (a primeira geração dos 8 bits de bus nos computadores DOS) é um pouco diferente àquele usado nos AT. A interface usada nos computadores de 8 bits era unidireccional, o teclado apenas fala com o computador e ao contrário, isso não acontece. Os computadores AT introduziram uma interface bidireccional e usam um chip de microprocessador 8042 para aceitar os dados vindos do teclado, e fornecer algum processamento destes. Os processos básicos envolvidos são os mesmos para ambos os tipos de interface.

Quando uma tecla de um teclado é pressionada, o processador do teclado determina um “scan code” da tecla em questão pela sua posição na matriz de teclas. O “scan code” para cada tecla representa a posição das teclas no teclado.

Quando o teclado tem um tecla pressionada, ele aciona através do seu relógio um “scan code” representado aquela tecla, para o circuito de interface do teclado na placa de sistema.

Quando o circuito de interface recebe os 8 bits (teclados XT) ou 11 bits (todos os outros computadores DOS) dos dados da tecla, ele gera uma interrupção de hardware no IRQ1, para dar início à rotina de serviço do teclado.

Quando o processador do computador detecta o sinal de interrupção de hardware IRQ 1, via um chip controlador IRQ 8259, ele dá início à rotina de interrupção de manuseamento com o objectivo de encontrar o número de interrupção que a causou. É usado então este número para encontrar o vetor, da Tabela de Vetores de Interrupções, que aponta para a rotina de serviço do teclado. O vetor é o endereço do início desse serviço.

Ufa galera, por hoje é só, no próximo post, vou continuar explicando como funciona o teclado do PC.

Até breve

MsxRevival.

Para conhecimento de todos…


Olá pessoal,

Antes de dar prosseguimento a construção de nosso adaptador de teclado, gostaria de contar um pouco da história do nosso MSX, e alguns termos técnicos que estou usando frequentemente no site.

RAM – Random Access Memory (memória de acesso aleatório),é um tipo de memória que permite a leitura e a escrita, utilizada como memória primária em sistemas eletrônicos digitais.

Memória de acesso aleatório (RAM) é uma forma de armazenamento de dados de computador. Hoje, ela toma a forma de circuitos integrados que permitem que os dados armazenados sejam acessados em qualquer ordem.

A memória RAM é um componente essencial não apenas nos computadores pessoais, mas em qualquer tipo de computador. Por mais que exista espaço de armazenamento disponível, na forma de um HD ou memória flash, é sempre necessária uma certa quantidade de memória RAM e, naturalmente, quanto mais melhor.

ROM – Read Only Memory (memória apenas de leitura),é um tipo de memória que permite apenas a leitura, ou seja, as suas informações são gravadas pelo fabricante uma única vez e após isso não podem ser alteradas ou apagadas, somente acessadas. São memórias cujo conteúdo é gravado permanentemente.

Uma memória somente de leitura propriamente dita vem com seu conteúdo gravado durante a fabricação. Atualmente, o termo Memória ROM é usado informalmente para indicar uma gama de tipos de memória que são usadas apenas para a leitura na operação principal de dispositivos eletrônicos digitais, mas possivelmente podem ser escritas por meio de mecanismos especiais

PPI – O Chip (Intel 8255A (Programmable Pheripheral Interface), controla os periféricos de entrada e saída, como o teclado e o gravador cassete. A memória de vídeo, de 16KB, era independente da memória principal, e endereçada diretamente pelo processador de vídeo. É a pedra de toque que faz a diferença no MSX.

O padrão MSX é baseado no microprocessador Z-80A (Zilog) de 8 bits, com um clock de 3,58Mhz. O microprocessador era capaz de operar a até 4MHz, mas, provavelmente por questão de economia, os fabricantes preferiram usar um cristal comum de TV em cores. Havia também um processador para vídeo (Texas Instruments TMS9918) e outro para o áudio (General Instruments AY-3-8910).

Evolução do MSX

Acima um MSX 2+, o FS-A1WSX, da Panasonic

Houve quatro gerações do equipamento:

  • MSX 1 (1983) – palheta de 16 cores (o que estamos focando no blog atualmente);
  • MSX 2 (1986) – palheta de 512 cores;
  • MSX 2+ (1988) – palheta de 19268 cores;
  • MSX turboR (1990) – palheta de 19268 cores.

O assunto em torno do MSX é muito extenso, e vamos dedicar muito espaço sobre isso aqui no site.

No próximo post vamos continuar a construção de nosso adaptador de teclado.

Até a próxima;

MsxRevival

(*) maior parte da fonte desse documento foi extraída da wikipédia e também de alguns sites da internet.

Entendendo a BIOS – Parte 2


Olá pessoal.

Continuando com nossa análise na BIOS, iremos dar uma olhada no endereço 02D7 que é a tal da CHKRAM, mas como ela é um pouco extensa, peguei apenas uma pequena parte do código mostrado logo abaixo;

Traduzindo o primeiro comentário da CHKRAM;

Olhe para cada slot de 0FFFFh para C000h, e defina a área de trabalho do sistema. Observe que não podemos usar RAM como área de trabalho, nem realizar chamadas de rotina, porque nós ainda não sabemos o que temos de RAM disponível. Tudo tem que ser feito dentro da ROM e registrar na CPU até a memória RAM ser encontrada.

Pude perceber que a CHKRAM tem como principal função dar o boot da máquina, ou seja, verifica a presença de memória RAM em todos os slots, não sendo feito de forma destrutiva, preparando os slots primários e secundários para mapear a maior área encontrada, também aplicando o reset da área de trabalho no seguinte endereço($F380 a $FFC9), entrando em modo de interrupção 1 (IM1) e passando o controle para outras rotinas da inicialização.

Em outra análise, pude ver algumas referências sobre uma tal de PPI, que pode ser percebida até nesse trecho inicial da CHKRAM, mas o que é de fato essa PPI ?, o que são esses tais slots primários e secundários ? o que é mapeamento ? O que é RAM, o que é ROM…nossa tem muita coisa para explicar.

Podemos ver que a cada dia que passa  o assunto começa a ficar mais abrangente e interessante, e como o intuíto do site é trazer conhecimento a todos aqueles que querem saber mais de MSX, vou explicando nos próximos posts minunciosamente o que cada coisa é, antes de efetivamente entrarmos  na construção de nosso adaptador, pois tendo toda essa abrangência poderemos desenvolver nosso circuito.

Que máquina fantástica é nosso MSX não acham ? 🙂

PS: Vamos aprendendo juntos a arquitetura do MSX !

Até mais

Msxrevival;

PROJETO MSXRevival – MSXRevival PROJECT – プロジェクトMSXRevival – PROJEKT MSXRevival – PROJET MSXRevival


Bem vindo.

Você esta no site do projeto de nome “MSXRevival“.

 Tudo começou com um site de informação e desenvolvimento de pequenos projetos para o MSX,  que não tinham nada além de fazer pequenas experiências e modificações no hardware, que acabou amadureçendo e se transformou num projeto muito maior do que poderiamos imaginar.

Utilizando a eletrônica como mecanismo principal desse processo, temos o objetivo de criar para o MSX todo o hardware e software necessário para que se possa torná-lo uma ferramenta útil de trabalho e entretenimento, mesmo nos dias de hoje.

Com isso esperamos estar contribuindo para o crescimento e fortalecimento do padrão no mundo todo.

         Gradiente Expert                                                                    Sharp – HotBit (Epcom)

Como colaborar;

Caso você possua algum material ou qualquer coisa relativa ao MSX, que está parado, e que você não usa mais, ou simplesmente deseje contribuir de algum modo, por favor entre em contato conosco. Qualquer doação será muito bem vinda.



O MSX Turbo R, o MSX de 16 bits.

Finalizando;

Agradeço a todos vocês que de algum modo vieram ao meu site em busca de informação, espero que voltem muitas vezes.

Agradeço a Deus por nos dar sabedoria, saúde e alegria para poder realizar todos os dias grandes coisas.

 

The MSXRevival Project. 

                                  

Entendendo a BIOS


Olá pessoal,

Continuando com o nosso projeto de construção do adaptador de teclado de PC para MSX e nessa parte começaremos a estudar a BIOS do sistema, que nada mais é que Basic Input Output System (sistema básico de entrada e saída).

Fazendo uma análise preliminar, pegamos a listagem da ROM e a título de curiosidade podemos ver que a mesma foi escrita pela ASCII Corporation em 1.983 e reeditada em 1.985.

Começando a ler a listagem podemos perceber que as primeiras instruções carregadas são exatamente para procurar todas as RAM´s conectadas e os cartuchos. Oba…isso soa como algo muito interessante, pois como a idéia é desenvolver um cartucho para essa finalidade…estamos no caminho certo.

Abaixo o trecho da BIOS que trata dessa pesquisa….

Analisando esse pequeno trecho podemos perceber que a BIOS do MSX busca o endereço 02D7 que é mencionado logo a frente pelo JP que faz o programa ir até o CHKRAM que é aonde estão as instruções que realmente nos interessam. Vamos dar uma olhadinha nesse endereço e ver o que temos.

Até o próximo post.

Abraços

Msxrevival

Iniciando o Projeto


Olá pessoal,

Recentemente começei a pesquisar a melhor forma de inserir um adaptador de teclado ao micro MSX, mas precisava de algo que pudesse ser compatível com a maioria dos modelos existentes no mercado, foi então que resolvi estudar os meios e vi que a única forma de conseguir ter acesso a uma solução decente seria via cartuchos ou pelo expansor de bus, caso optasse por um outro método, muitos aparelhos poderiam ser excluídos, e isso não queremos que aconteça.

A idéia é saber exatamente se existe viabilidade técnica para conseguir essa manobra, para isso é necessário ter acesso a BIOS do equipamento, para saber como funcionam suas diretrizes de controle.

Vamos ver o que temos dentro dela, e assim poder saber se podemos partir pra essa solução. (espero que seje possível !)

Acima uma placa de circuito impresso de um cartucho do MSX.

MsxRevival.

Adaptador de Teclado PS2 / USB


Olá Pessoal;

Resolvi partir logo para um projeto que acredito que todo mundo que tem um MSX um dia vai precisar, o famoso adaptador de teclado para teclados PS2 ou USB do PC para serem usados nos MSX.

Tendo em vista a qualidade dos teclados de MSX, principalmente os nacionais, pude perceber que deveriamos fazer algo logo nesse sentido, pois tem muito equipamento ai parado por falta de um teclado decente.

Também temos que preservar os teclados originais, então porque não usar um teclado do PC,  assim não teremos que ficar nos preocupando com o desgaste dos mesmos.

Começei a ler a respeito da construção desse adaptador e vi que poderiamos utilizar diversas soluções, mas analisando a atual situação dessas máquinas no mercado nacional, vi que precisava criar algo que venha de encontro a elas.

Em breve vou colocar no próximo post já os primeiros resultados dessa pesquisa.

Até breve

MsxRevival 🙂