Commodore 64C: Modem/300 Modelo 1660

Publicado el 20 marzo 2024 por Alejsanc @cdrninformatica

El Commodore Modem/300 modelo 1660 es un módem creado en 1985 para varios modelos de ordenadores Commodore. Se conecta al ordenador a través del puerto usuario y utiliza el protocolo de comunicación Bell 103. Este protocolo permite transmitir 300 baudios - 300 b/s, por eso el módem recibe el nombre de Modem/300. Para la marcación por tonos se utiliza el chip de sonido SID. El módem no permite el uso de comandos AT.

El módem tiene un altavoz piezoeléctrico que permite monitorizar el marcado de números de teléfono, la recepción de llama y la conexión entre módems. En la parte de arriba del módem se indica su nombre/modelo y hay una rejilla para que salga al exterior el sonido del altavoz.

En uno de los extremos tiene dos conexiones RJ11 y una conexión RCA. Con la conexión "LINE" se conecta el módem a la línea telefónica. En la conexión "PHONE" se puede conectar un teléfono para hacer y recibir llamadas cuando el módem no está en uso. En la conexión RCA se debe conectar la salida de audio del ordenador. Por esta conexión se introducen en el módem los tonos de audio generados con el chip SID para la marcación por tonos. En el extremo opuesto se encuentra el conector para el puerto usuario del ordenador.

En el lado izquierdo tiene una palanca con dos posiciones para configurar el módem para recibir llamadas o realizarlas. Una de las posiciones tiene la inscripción "A" de "Answer" (Contestar). La otra posición tiene la inscripción "O" de "Originate" (Originar). En la posición "A" contesta la llamada recibida y en la posición "O" permite ser el origen de una nueva llamada.

Por la parte de abajo el módem tiene un ID (identificador) de la FCC - Comisión Federal de Comunicaciones de Estados Unidos y se indica que el aparato cumple con los límites de emisiones de radiaciones electromagnéticas necesarios para no interferir con otros aparatos electrónicos.

La parte de arriba y la de abajo están solamente unidas por unos pivotes de plástico. Para abrir el módem solo es necesario tirar de la parte de arriba, de las cuatro esquinas a la vez, para no romper los pivotes. Una vez abierto podemos ver como el altavoz está fijado a la parte de arriba de la carcasa y en la parte de abajo se encuentra la placa con el circuito electrónico.

El circuito integrado principal es el MM74HC942N. Este chip se encarga de la modulación/demodulación en el sistema Bell 103. Por un lado se comunica con el ordenador y por el otro envía y recibe los datos a través de la línea telefónica mediante una onda portadora. En uno de sus pines se conecta el conmutador A/O para poner el chip en modo recibir llamadas o en modo hacer llamadas. Este chip también recibe los tonos de sonido del chip SID y los envía por la línea telefónica para el marcado por tonos. A su derecha tiene un resonador que le proporciona su frecuencia de funcionamiento de 3,5795 Mhz.

El chip MM74HC942N se conecta a la línea telefónica a través de un transformador de aislamiento TTC-07-1 para su protección frente a la corriente continua de alimentación procedente de la central telefónica y otras corrientes que puedan entrar por la línea telefónica.

Entre el chip MM74HC942N y el altavoz de monitorización se encuentra el chip amplificador LM358N. Este chip amplifica las ondas electromagnéticas del establecimiento de la conexión para que puedan ser oídas a través del altavoz.

Otras funciones del módem se controlan por software desde el ordenador mediante algunos componentes electrónicos en el circuito. El módem no dispone de ningún chip que entienda comandos AT. El chip optoacoplador MCT111 se usa para detectar la señal de llamada desde el ordenador. Esta señal es corriente alterna de más de 60 voltios y podría dañar el ordenador. El optoacoplador ofrece aislamiento eléctrico entre la línea telefónica y el ordenador. Recibe la señal eléctrica, la convierte en luminosa y la vuelve a convertir en eléctrica a un voltaje distinto. En este caso 5 V, un voltaje seguro y compatible con la electrónica del ordenador.

Otro componente que se controla desde el ordenador es el relé STANDEX LGK100-1-5. Se usa para conectar y desconectar la línea telefónica. También se puede utilizar para la marcación por pulsos. Se debe desconectar la línea un número determinado de veces para cada número. En la mayoría de los países el número de desconexiones es igual al número que se quiere marcar, a excepción del 0 que son 10 desconexiones.

En una esquina de la placa se indica el modelo del módem. Por el reverso de la placa se pueden ver números indicando la versión de la placa.

En el manual del módem se explica como programar el chip SID para generar los tonos de marcado. Por cada número se deben generar dos tonos de dos frecuencias distintas. Se utilizan siete frecuencias ordenadas en filas y columnas. A cada número le corresponde una frecuencia de una columna y una frecuencia de una fila.

La detección de señal de llamada y la conexión/desconexión de línea en el ordenador Commodore 64 se realizan con los siguientes comandos en BASIC. En otros ordenadores las direcciones de memoria son distintas.

Detectar señal de llamada
-----------------------------------------------
IF (PEEK(56577) AND 8) = 0 THEN PRINT "LLAMADA"

Conectar línea
-----------------------------------------------
OH = 56577: HI = 32: LO = 255-32
POKE (OH + 2),(PEEK (OH + 2) OR HI)
POKE OH,(PEEK(OH) AND LO)

Desconectar línea
----------------------------------------------
POKE OH,(PEEK(OH) OR HI)

Cuando se realiza la conexión entre dos módems podemos abrir un canal de comunicación serie con el comando OPEN para la lectura y escritura de datos. Con el parámetro chr$(6) se configura el canal para 300 baudios. Para otras velocidades el número es diferente.

Leer datos
----------

10 OPEN 1,2,0,CHR$(6)
20 INPUT# 1,A$
30 PRINT A$
40 CLOSE 1

Escribir datos
--------------

10 OPEN 1,2,0,CHR$(6)
20 PRINT# 1,"MENSAJE DE PRUEBA"
30 CLOSE 1

Para hacer o recibir llamadas se debe colocar el conmutador en la posición deseada y ejecutar el código BASIC necesario según se ha indicado anteriormente.

Hacer Llamada
-------------

- Colocar conmutador en "O"
- Conectar línea
- Marcar número de teléfono con tonos o pulsos
- Transmitir datos
- Desconectar línea

Recibir Llamada
---------------

- Colocar conmutador en "A"
- Detectar señal de llamada
- Conectar línea
- Transmitir datos
- Desconectar línea

Si queremos hacer una conexión módem a módem y no tenemos dos líneas telefónicas, una para cada módem, podemos conectar un cable entre los dos módems con los hilos cruzados. Los hilos del cable van desde las líneas de transmisión a las líneas de recepción. Con esta forma de comunicación no hay señal de llamada, por lo que hay que saltarse el paso de detectarla. Y como los módems no están conectados a una línea telefónica no tienen asignado un número y se puede marcar cualquier número para iniciar la comunicación.

Módem A                              Módem B
TX (Transmisión) ------------------- RX (Recepción)
RX (Recepción) --------------------- TX (Transmisión)

Utilizando un cable cruzado y el programa minicom pude conectar desde un PC con un módem serie a un Commodore 64C con el Modem/300. Solo tuve que ejecutar el comando ATD para iniciar la conexión. Cuando se conecta desde otro tipo de ordenador a un Commodore existe el problema del uso de diferentes codificaciones de texto. En los ordenadores Commodore se utiliza PETSCII. Para poder trasmitir texto con codificación PETSCII desde el PC ejecuté el emulador VICE y lo configuré para utilizar el puerto serie del módem. Para conectar con el Modem/300 es necesario que el otro módem pueda usar el protocolo Bell 103.

Con el módem venía el software Common Sense y un emulador VT-100 para conectar a ordenadores remotos y realizar transferencia de archivos. También había disponibles otros programas como CCGMS. Desde la creación de este programa en los años 1980 se han ido publicando múltiples versiones desarrolladas por diferentes programadores. Las últimas versiones permiten conectar a sistemas BBS a través de internet.