Módem WiFi
compatible con Retroterm y otras terminales
Mientras
desarrollábamos el proyecto Retroterm fuimos
probando varias maneras de armar un módem wifi para
computadoras Commodore y MSX. Aquí vamos a detallar el
armado de un módem que además de ser compatible con
Retroterm, funciona con otras terminales para Commodore
64/128, Plus/4, y VIC-20 que requieran un módem conectado al puerto
del usuario, otro módem compatible no solo con
computadoras MSX sino con otras que usen el estándar
RS-232 de PC, un módem
específico para el puerto paralelo de MSX, otro para
el puerto paralelo de las computadoras Pecos que
además incluye un DAC de 4 bits para emitir sonido, y
un último módem para el puerto de joystick de las
computadoras Timex Sinclair 2068.
- Módem
para el puerto del usuario de Commodore 64, 128,
Plus/4 y VIC-20.
- Módem
para computadoras con puerto serie RS-232.
- Módem
para el puerto paralelo de computadoras MSX.
- Módem
para el puerto paralelo de computadoras Pecos.
- Módem
para el puerto de joystick de computadoras Timex
Sinclair 2068.
Los módems y el puerto del usuario
|
Las Commodore
VIC-20, C64, C128 y Plus/4 incluyen un puerto del
usuario, donde se expone el hardware que no es utilizado
por el sistema, para permitir al usuario crear sus
propias expansiones. Oficialmente sin embargo, este
puerto esta pensado para conectar módems telefónicos.
En la Commodore 64 por ejemplo se incluyen señales
libres de los puertos paralelos de uno de los chips
CIA6526, más otras señales de ambos chips. Ya que el
puerto es dependiente del hardware, no es igual en todos
los modelos, salvo en el caso de la C128 que usa el
mismo que el de la C64.
No obstante, aunque las señales sean diferentes, el
conector es el mismo en todos los modelos.
Commodore
incorporó la funcionalidad de una interfaz RS-232 en el
puerto del usuario de la VIC-20, con soporte en el
Kernal y en el intérprete BASIC. Ya que la VIC-20 no
dispone de un chip UART para la comunicación en serie,
todo esto se implementa por software, utilizando los
puertos paralelos del chip VIA6522. Cuando diseñó la
C64, Commodore se aseguró de mantener la compatibilidad
con los módems en el puerto del usuario, de la misma
manera que ocurrió después con la Plus/4.
Conexionados
de módems serie |
Los módems
serie, como los diseñados para conectarse a la línea
telefónica, siguen el estándar RS-232.
En un puerto RS-232 hay disponibles varias señales que
se utilizan para comunicar un módem con la computadora.
Dependiendo de como está diseñado el módem se usan todas
o solo algunas de esas señales.
Existen varias combinaciones posibles, pero estas son
las más comunes:
- El módem
mas simple requiere solamente 3 señales: TX, RX y
GND. Estos módems tienen que funcionar en la mayoría
de las terminales, pero están limitados en las
velocidades máximas que pueden alcanzar, por lo
general hasta 1200 bps en C64.
- Un módem más
elaborado usará 5 señales: TX, RX, GND, RTS y CTS. El
agregado de RTS y CTS le permite a la computadora y al
módem indicarse mutuamente cuando están ocupados,
evitando de esta manera perder datos, y permite lograr
mayores velocidades de manera confiable.
- Un módem
UP9600 es un tipo especial de módem que solamente
funciona en Commodore 64, ya que está diseñado para
aprovechar las particularidades del puerto del usuario
de la C64 para lograr una velocidad de 9600 bps. Este
módem puede tener conflictos en una C128 en modo 128,
y no funciona ni en VIC-20 ni en Plus/4.
- Un módem
telefónico clásico puede llegar a usar todas las
señales del RS-232, algo que era muy común antes de la
llegada de los módems inteligentes Hayes (los cuales
introdujeron el uso de los comandos AT).
Módem wifi
TURBO56K para computadoras Commodore (C64, C128,
VIC-20 y Plus/4)
|
Nuestro módem
usa 5 señales: TX, RX, GND, RTS y CTS. De esta manera
puede funcionar tanto en terminales que sólo usan 3
señales, como en terminales que usan también RTS y CTS.
No usamos el cableado UP9600, lo cual garantiza que el
módem funciona tambien en C128, VIC-20 y Plus/4.
Hay varias maneras de armarlo, pero la más simple es
usando un módulo wifi NODEMCU, ya que no requiere más
que agregar cables y el conector para el puerto del
usuario.
Antes de armar
el módem hay que escribir el firmware al módulo. Para el
firmware hay varias opciones, pero para ser compatible
con Retroterm se deberá usar el firmware zimodem, de Bo
Zimmerman, que se puede encontrar aquí: https://github.com/bozimmerman/Zimodem
Si no quieren
compilar el firmware, pueden usar este
binario, de una version anterior, 3.5.4.
Este módem se probó en Commodore 64, Commodore 128 y
Commodore Plus/4. No fue probado en VIC-20 pero debería
funcionar.
Módem wifi TURBO56K para
computadoras con RS-232
|
Este módem está
diseñado para conectarse a computadoras con conector
RS-232 macho de 9 pines compatible con PC. Se utiliza un
MAX232 para adaptar los voltajes al estándar RS-232
(+-12V). El módem requiere ser alimentado con una fuente
USB en el conector del módulo wifi.
Este módem fue
probado en PC, SVI-738 MSX (con cable especial),
Commodore Amiga 500, Apple IIc, Epson HX-20, Epson
PX-4, Epson PX-8 y ZX Spectrum 48K con Interface 1.
Este es un
diseño alternativo utilizando un inversor 7404 para
adaptar los voltajes. También debe ser alimentado con
una fuente USB en el conector del módulo wifi.
Este módem fue
probado en PC, Commodore Amiga 500, Apple IIc, Epson
PX-8 y ZX Spectrum 48K con Interface 1.
Antes de armar el
módem hay que escribir el firmware al módulo. Para el
firmware hay varias opciones, pero para ser compatible
con Retroterm se deberá usar el firmware zimodem, de
Bo Zimmerman, que se puede encontrar aquí: https://github.com/bozimmerman/Zimodem
Si no quieren compilar el firmware, pueden usar este
binario, de una version anterior, 3.5.4.
Módem wifi TURBO56K para
computadoras MSX |
Este módem está
diseñado para conectarse al puerto de impresora de
computadoras MSX con conector Centronics. Requiere ser
alimentado con una fuente USB en el conector del módulo
wifi, y fue probado en una
computadora Talent DPC-200.
Antes de armar el
módem hay que escribir el firmware al módulo. Para el
firmware hay varias opciones, pero para ser compatible
con Retroterm se deberá usar el firmware zimodem, de
Bo Zimmerman, que se puede encontrar aquí: https://github.com/bozimmerman/Zimodem
Si no quieren compilar el firmware, pueden usar este
binario, de una version anterior, 3.5.4.
Luego hay que configurar el módem, también desde la
PC, por medio de una terminal. En Windows se puede
usar Realterm,
en Linux se puede usar Moserial, pero hay varias
terminales para elegir en ambos sistemas.
El módem arranca a 1200 bps, por lo que hay que hay
que abrir la terminal, seleccionar el puerto serie del
módem y una velocidad de 1200 bps.
En la terminal hay que ingresar el comando atb57600&w
Luego de esto el módem se comunicará a 57600 bps,
por lo cual hay que cerrar el puerto y volver a
abrirlo en la terminal a 57600 bps.
Ahora hay que ingresar el comando ats48=1s50=1
Por último hay que ingresar atf0&w
Nuevamente la terminal dejará de recibir datos,
pero el módem ya debería estar configurado para
conectarlo a la MSX.
Microterm
0.6, terminal simple para probar el módem desde
MSX-DOS.
Microterm 0.2,
terminal simple hecha en BASIC.
Microterm 0.2 en un archivo de cinta, Term56K2.cas.
Plano del
módem (ejecutable) para verlo en MSX bajo MSX-DOS.
Módem wifi TURBO56K para
computadoras Pecos |
Este módem está
diseñado para conectarse al puerto paralelo de la
computadora Pecos. Requiere ser alimentado con una
fuente USB en el conector del módulo wifi.
Antes de armar el módem hay que escribir el
firmware al módulo. Para el firmware hay
varias opciones, pero para ser compatible con
Microterm TMX se deberá usar el firmware
zimodem, de Bo Zimmerman, que se puede
encontrar aquí: https://github.com/bozimmerman/Zimodem
Si no quieren compilar el firmware, pueden
usar este
binario, de una version anterior, 3.5.4.
Luego hay que configurar el módem, también
desde la PC, por medio de una terminal. En
Windows se puede usar Realterm,
en Linux se puede usar Moserial, pero hay
varias terminales para elegir en ambos
sistemas.
El módem arranca a 1200 bps, por lo que hay
que hay que abrir la terminal, seleccionar el
puerto serie del módem y una velocidad de 1200
bps.
En la terminal hay que ingresar el comando atb57600&w
Luego de esto el módem se comunicará a
57600 bps, por lo cual hay que cerrar el
puerto y volver a abrirlo en la terminal a
57600 bps.
Ahora
hay que ingresar el comando ats48=1s50=1
Por último hay que
ingresar atf0&w
Nuevamente la terminal dejará de recibir
datos, pero el módem ya debería estar
configurado para conectarlo a la Pecos.
PECOS Term 0.3,
terminal simple para probar el módem desde CP/M.
Módem wifi
TURBO56K para computadoras Timex Sinclair
2068
|
Este módem está
diseñado para conectarse al puerto de joystick de la
computadora Timex Sinclair 2068. Requiere ser alimentado
con una fuente USB en el conector del módulo wifi.
Antes de
armar el módem hay que escribir el firmware al
módulo. Para el firmware hay varias opciones,
pero para ser compatible con Microterm TMX se
deberá usar el firmware zimodem, de Bo
Zimmerman, que se puede encontrar aquí: https://github.com/bozimmerman/Zimodem
Si no quieren compilar el firmware, pueden usar
este
binario, de una version anterior, 3.5.4.
Luego hay que configurar el módem, también desde
la PC, por medio de una terminal. En Windows se
puede usar Realterm,
en Linux se puede usar Moserial, pero hay varias
terminales para elegir en ambos sistemas.
El módem arranca a 1200 bps, por lo que hay que
hay que abrir la terminal, seleccionar el puerto
serie del módem y una velocidad de 1200 bps.
En la terminal hay que ingresar el comando atb57600&w
Luego de esto el módem se comunicará a 57600
bps, por lo cual hay que cerrar el puerto y
volver a abrirlo en la terminal a 57600 bps.
Por último hay que ingresar atf0&w
Nuevamente la terminal dejará de recibir
datos, pero el módem ya debería estar
configurado para conectarlo a la TS2068.
Microterm
TMX 0.1, terminal simple para probar el
módem.
Plano del módem (.tap) para
ver en TS2068.
|