O software para realizar esta implementação é muito simples. Uma possibilidade é utilizar um microcontrolador da família 8051, programado em Basic. A porta P1 recebe os dados da porta de impressora do MSX. A linha P3.2 recebe o sinal de "Strobe", e a linha P3.3 sinaliza a condição de ocupado ("busy"). A interface com o PC pode ser implementada através de um simples transistor.
' Captura porta impressora do MSX e envia
' para porta serial
'SERIAL PORT CONFIGURATION
$BAUD = 19200 'set 19200 baud rate for
$CRYSTAL = 11059000 '22.1184 MHz crystal
dim a as Byte
Reinicia:
p3.3=0 ' desabilita condição ocupado
Aguarda:
if p3.2=1 then goto Aguarda' aguarda sinal strobe
p3.3=1 ' indica ocupado
print p1; ' envia o caractere recebido na serial
' waitms 1
goto Reinicia ' aguarda proximo caractere
Versão em Assembly:
; captura listagem de impressora do MSX
; para a porta serial
$MOD51
org 0
ljmp inicio
inicio: mov a,#255
mov p1,a
setb p3.1
setb p3.2
setb p3.3
mov scon,#40h
mov pcon,#0
mov tmod,#20h
mov th1,#253
mov tl1,#253
setb tr1
reinicia: clr p3.3
aguarda: jb p3.2,aguarda
setb p3.3
mov a,p1
mov sbuf,a
jnb ti,$
clr ti
sjmp reinicia
end
O Diagrama do circuito, baseado num microcontrolador AT89C2051 encontra-se abaixo:
A alimentação do circuito pode ser retirada do conector de Joystick.
Um comentário:
Por que nao:)
Postar um comentário