Zerover
Badajoz, julio 2003
Revisión: abril 2004
El planteamiento es hacer un adaptador de clavija del QL a DB9 macho, de forma que el puerto serie del QL fuera como un puerto serie de PC, así se podría conectar al QL cualquier cosa conectable a un PC. Luego sería simplemente cosa de conectar el QL y el PC con un cable nullmodem.
Para que los dos puertos del QL funcionasen como los puertos serie del PC hay que hacer adaptadores diferentes, ya que en el QL los puertos son diferentes. El adaptador para el puerto SER1 valdría también para el puerto RS232 del Spectrum 128K.
Creo que el conector de los puertos serie es BT631W y el de los puertos de joystick es BT630W, aunque no estoy seguro. En Homestead venden unos cables con conector BT631A, que son muy parecidos al BT631W y se pueden arreglar con un cutter. Es buena idea comprar un cable de estos y cortarlo por la mitad, así tenemos dos conectores ya grapados a su cable.
El manual de Sinclair es un poco confuso al explicar las señales de los puertos, pero he podido llegar a la siguiente conclusión:
|
|
Con lo que las conexiones para simular un puerto de PC son las siguientes. También he puesto los números correspondientes a un conector de 25 pines.
|
|
Los conectores DB9 o DB25 son macho. El cable A es para SER1 y el cable B es para SER2. Una vez que tengo en el QL un puerto como el de un PC, cabe la posibilidad de conectarlo con otro ordenador (un PC o compatible o un QL con este cable) con un cable nullmodem o con un cable transparente, si utilizo un cable transparente en lugar de un nullmodem debo intercambiar los cables A y B y utilizar conectores DB9 hembra.
El resultado de combinar el cable con un nullmodem es el siguiente:
Cable A y nullmodem
Cable B y nullmodem
Las comunicaciones las realizo a 9600 baudios, 8 bits de datos, sin paridad y con 2 bits de parada. Hay que tenerlo en cuenta porque son los parámetros por defecto en el QL, pero no en el PC.
Este es un programa escrito en QBASIC, para comprobar el buen funcionamiento del cable. Yo lo he probado con los dos tipos de cable en los dos puertos del QL. De paso vas tener tu propia ROM en tu emulador de QL favorito.
PuertoQL$ = "1" ' puerto serie que se usará en el QL PuertoPC$ = "1" ' puerto serie que se usará en el PC CLS PRINT "1. Reinicia el QL" PRINT "2. Escribe en el QL: LRUN ser" + PuertoQL$ + "z <INTRO>" PRINT "3. Pulsa cualquier tecla en el PC" DO WHILE INKEY$ = "": LOOP FicROM$ = "QL.ROM" ' nombre del fichero ROM en el PC IniROM# = 0# ' dirección inicial de la ROM en el QL TamROM# = 49152# ' tamaño en bytes de la ROM OPEN "COM" + PuertoPC$ + ":9600,N,8,2" FOR OUTPUT AS #5 LEN = 1 PRINT #5, "100 BAUD 9600: TRA 0"; CHR$(10); PRINT #5, "110 OPEN #5,ser" + PuertoQL$; CHR$(10); PRINT #5, "120 FOR i=" + MID$(STR$(IniROM#), 2) + " TO " + MID$(STR$(IniROM# + TamROM# - 1), 2); CHR$(10); PRINT #5, "130 PRINT #5,CHR$(PEEK(i));"; CHR$(10); PRINT #5, "140 END FOR i"; CHR$(10); PRINT #5, "150 CLOSE #5"; CHR$(10); PRINT #5, CHR$(26); CLOSE #5 OPEN "COM" + PuertoPC$ + ":9600,N,8,2" FOR INPUT AS #5 LEN = 1 OPEN FicROM$ FOR OUTPUT AS #6 FOR i# = 1# TO TamROM# c$ = INPUT$(1, #5) PRINT #6,c$; IF i# MOD 128 = 0 THEN PRINT "."; NEXT i# PRINT CLOSE #5: CLOSE #6
Alojado en / Hosted at: Sinclair QL Recursos en Castellano Sinclair QL Spanish Resources |