Benchmarko Logo
Benchmarko Logo
Home
Projects
CPCEMU
Software
Download
Contact
Links

Alemán Inglés Francés
 
back

CPCEMU - Transferencia

  1. Transferencia de datos CPC <-> PC
    5.1 El disco como intermediario
    5.1.1 El programa para transferencia de discos CPCTRANS
    5.1.2 La utilidad de formateo y copia 22DISK por SYDEX
    5.2 El interface paralelo
    5.3 El interface serie
    5.4 Otras posibilidades

 


 

5. Transferencia de datos CPC <-> PC

¿Qué se puede hacer con un buen emulador si no se tienen programas para el, o si no se vislumbra la posibilidad de traspasar programas del CPC al PC? En el capítulo 6 (Suministro, ...) se listan algunos sitios ftp donde puede encontrarse software para el CPC.

Este capítulo trata de la transferencia de software del CPC al PC.

Se describen algunas utilidades para los distintos métodos de realizar esto (disco, mediante interface paralelo o serie).

 

5.1 El disco como intermediario

Esta es la forma más simple de transferir software del CPC al PC. Lo único que hace falta es una segunda unidad de discos del CPC con el tamaño adecuado. Tamaño adecuado significa que los discos que use deben encajar también en la unidad del PC. (Si no es así, aún se podría intentar conectar una unidad de 3” al PC.) Al PC se le engaña, para que reconozca los discos formateados con el CPC, con una utilidad llamada CPCTRANS.

 

5.1.1 El programa para transferencia de discos CPCTRANS

He desarrollado CPCTRANS para crear imágenes de disco a partir de discos del CPC.

Tiene soporte para formatos de CPC estándares, así como para formatos Vortex de doble cara.

¡CPCTRANS no está preparado para transferir discos protegidos contra copia!

Si se ejecuta CPCTRANS sin parámetros se visualizará una breve ayuda.

CPCTRANS es similar a la orden COPY del DOS:

‚CPCTRANS <origen> <destino> <opciones>‘.

Ejemplos:

‚CPCTRANS B: DISK1.DSK‘ copia el disco de la unidad B a la imágen de disco DISK1.DSK. Si ésta no existe se creará.

‚CPCTRANS DISK1.DSK B:‘ escribe la imagen de disco de vuelta al disco de la unidad B.

Este primer ejemplo sólo funciona con el formato DATA.

Para copiar otros formatos hay que usar una opción:

/f 0 : formato DATA (por defecto)

/f 1 : formato DATA, doble cara

/f 2 : formato SYSTEM

/f 3 : formato SYSTEM, doble cara

/f 4 : formato VORTEX, doble cara

/f 5 : desconocido, CPCTRANS intenta averiguarlo

/f 6 : +3DOS

Fíjate que hay un espacio entre “/f” y el número.

Si usas un formato DATA o SYSTEM de doble cara podrás elegir la cara A o B en el menú de disco (3.2.1).

Cuando se vaya a escribir una imagen de disco de vuelta, ¡el disco que está en la unidad debe tener el mismo formato! Para formatear con formatos simples puede usarse 22DISK, explicado en la siguiente sección.

Para copiar la cara B de un disco se usa la opción “/s 1”

Con ‚CPCTRANS B: DISK1.DSK /s 1‘ se copia sólo la cara B del disco, con ‚CPCTRANS DISK1.DSK B: /s 1‘ se escribe de vuelta.

La opción “/v” activa la “verificación”, de esta forma CPCTRANS comprueba que la copia es correcta. Por supuesto esto hace más lento el proceso, pero se incrementa la seguridad.

La opción “/t <número>” indica el númbero de pistas a copiar.

Normalmente es 40 pistas, sólo en los formatos VORTEX es de 80.

La opción “/q” (formateo rápido) es una característica con la se puede formatear una imagen de disco, en lugar de copiar datos en ella. No obstante se debe especificar primero una unidad válida como parámetro.

Ejemplo:

‚CPCTRANS a: SYSTEM.DSK /f 2 /q‘ formatea SYSTEM.DSK como imagen de disco con formato SYSTEM.

 

5.1.2 La utilidad de formateo y copia 22DISK por SYDEX

Este programa se distribuye como shareware. Con las definiciones adecuadas se pueden usar ¡casi todos los formatos CP/M!

Por desgracia sólo los formatos del CPC no están incluídos con la versión de evaluación de 22DISK. Por tanto he definido yo los formatos en el fichero CPMDISKS.DEF. Este fichero lo encontrarás en el subdirectorio UTILITY.

¿Qué es lo que se puede hacer con 22DISK?

Pueden transferirse ficheros individuales entre formatos DOS y no DOS de un lado para otro, formatear discos y cosas por el estilo.

Copia los ficheros del CPC en el sirectorio TAPE. Mira en la sección 3.2.2 la explicación de cómo cargarlos.

 

5.2 El interface paralelo

Si no tienes segunda unidad en tu CPC, puedes realizar las transferencias mediante el interface paralelo. La idea original proviene de Gilles Molinari, además también ha escrito algunos programas en Turbo Pascal. Pero probablemente perteneces al grupo de usuarios que no tienen un compilador de Turbo Pascal en su CPC, por lo que de poco te serviría tener el código fuente en Pascal. Debido a esto he re-escrito las utilidades en Locomotive BASIC, y las he apliado añadiendo la dirección PC->CPC.

Por tanto es posible transferir ficheros entre el CPC y el PC ¡de un lado para otro!

El CPC y el PC se enlazan mediante sus respectivos interfaces paralelos.

Si tienes un CPC 6128 con conector Centronics y lo comparas con el de impresora te darás cuenta que el CPC y el PC se enlazan perfectamente ¡usando un cable de impresora de PC estándar! Un momento, no hagas eso ahora, continúa leyendo.

Parece ser que únicamente los CPC Schneider incluían conector Centronics. Si tienes un Amstrad CPC 6128 con conector simple, o un CPC 464, 664, usa el diagrama que hay al final de esta sección.

Lo primero de todo es superar dos obstáculos:

1. construir un adaptador simple

2. meter un pequeño programa en el CPC


¡Alto! ¡No te saltes lo demás!

Ambos pasos son muy fáciles, ya que

1. es posible realizarlo sin tener que soldar y

2. es realmente muy corto (unas 30 líneas de BASIC)


Para el paso 2.

El programa que necesitas se llama CPCREC.BAS y está en el directorio UTILITY.

Está guardado en ASCII, por lo que puedes imprimirlo sin problemas y teclearlo en el CPC.

Su cometido es parecido al de una cuerda fina que se mete en una tubería para luego servir de guía a un cable grueso.

En nuestro caso, la cuerda fina es CPCREC.BAS, que sirve para recibir ficheros desde el PC.

Con esta pequeña utilidad se puede transferir CPCPARA.BAS (el cable grueso) al CPC. Con CPCPARA.BAS se puede recibir y enviar. Por lo que una vez trasferido al CPC ya no hará falta para nada CPCREC.BAS. Por lado del PC se usa PCPARA.EXE, también incluído en el directorio UTILITY.

Antes de que teclees CPCREC.BAS echa un vistazo al paso 1:

 

El adaptador paralelo

Hace falta tener un adaptador entre el cable de impresora del PC y el conector de impresora del PC.

La forma más sencilla es usar una caja para cableado de tipo RS-232, la cual tiene un conector D-Sub macho de 25 pines (clavija) y un conector D-Sub hembra de 25 pines (enchufe).

Puede realizarse cualquier tipo de conexión entre ambos lados conectando cables cortos en esta caja. Normalmente esta caja se usa - como su propio nombre indica - para adaptar interfaces RS-232. Las conexiones en serie no suelen funcionan a la primera, para que sepas.

Este adaptador lo usamos en sentido inverso, esto es, la clavija es para el lado del PC y el enchufe para el cable de impresora.

Conéctalos ahora:


Clavija para el conector de         Enchufe para el cable de
impresora del PC (lado izquierdo)    impresora (lado derecho)
       Pin 2     ---------------       Pin 11
       Pin 10    ---------------       Pin 8
       Pin 11    ---------------       Pin 1
       Pin 12    ---------------       Pin 7
       Pin 13    ---------------       Pin 6
       Pin 15    ---------------       Pin 5
       Pin 19    ---------------       Pin 19

Como puedes ver no hacen faltan los 25 cables, sólo 7 de ellos.

Aunque la caja para cableado es barata, si se compra en una empresa de electrónica de venta por correo, puede salir más barato todavía usando una caja para jumper. En este caso habría que soldar los cables. La forma más barata es comprar una clavija D-Sub de 25 pines, un enchufe D-Sub de 25 pines, una caja y algunos cables.

En este momento asumo que ya has conectado ambos ordenadores y que tienes el programa CPCREC.BAS en el CPC.

¿Qué es lo siguiente?

1. En el CPC : Ejecuta CPCREC.BAS (después de habelo guardado)

2. En el PC : Ejecuta ‚PCPARA /s CPCPARA.BAS‘


La cosa se pone interesante, si no aparece ningún mensaje de error en el PC es que todo funciona correctamente, el fichero debe estar en el CPC.

Si el PC no envía nada y da un mensaje de error, es posible que la conexión no este bien.

Si está enviando (“Sending block xx”), pero aparecen mensajes de error de vez en cuando, puede que tu PC sea, bien demasiado rápido, bien demasiado lento. En la dirección PC->CPC es muy importante la medición del tiempo, tenlo en cuenta.

En mi 386/33 tengo que quitar la memoria EMS, de lo contrario es demasiado lento. En un ordenador muy rápido podría hacer falta usar el botón de turbo.

Utiliza el programa bajo DOS puro, ni OS/2 ni Windows.

Si no funciona en absoluto comunícamelo.

Mientras tanto puedes ir tecleando el programa CPCPARA.BAS, el cual es algo más largo. La dirección CPC->PC funciona siempre, también bajo OS/2, debido a que es prácticamente lo mismo que imprimir. El PC se comporta como una impresora.

Ahora asumo que ya tienes CPCPARA.BAS en el CPC.

Hay que transferir ficheros del CPC al PC de la siguiente forma:

1. En el PC : Ejecuta ‚PCPARA /r‘.

2. En el CPC : Ejecuta CPCPARA, selecciona S)end (Enviar) e introduce todos los ficheros que quieras transferir. (Ejecuta ‚PCPARA /r‘ para cada fichero que quieras transferir, CPCPARA se ejecuta en un bucle sin fin.)

Po tanto, usa PCPARA de la siguiente manera:

  • PCPARA /r : inicia PCPARA en modo de recepción

  • PCPARA /s <fichero> : envía el <fichero> al CPC, si usas ‚TRM:‘ como fichero entrarás en modo terminal.


Todos los programas del directorio UTILITY muestran una pequeña descripción de sus opciones si los ejecutas sin especificar ningún parámetro.


AVISO:

Aún cuando la construcción es muy simple, no puedo garantizar que no se pueda dañar algo, si el puerto de impresora del CPC queda dañado después de todo es una pena y más bien un accidente desafortunado. Es muy posible que también se hubiera dañado por la simple conexión de una impresora.

Por ejemplo, tengo conocimiento de un antiguo usuario de CPC cuyo teclado dejó de funcionar correctamente de un día para otro.

Después de repararlo le dijeron que no debía conectar el joystick

¡mientras el ordenador estaba encendido!

(¿¡¿ No sé, yo siempre lo he hecho así ?!?)


Donde estaba:

Yo he construído el adaptador con éxito. Y algunas veces incluso me he “olvidado” de insertar el adaptador en la conexión y no he tenido ningún problema.





Diagramas por David Chapeau, en caso de que tu CPC no tenga conector Centronics:


 34 <- - - - - - - - 18      \
 ______________________      |
|   ________________   |     |
|  |________________|  |   - | ---> Conector de impresora
|______________________|     |          (Hembra) al CPC
                             |
 17 < - - - - - - - - 1      |
                             |
   ||||||||||||||||||        |
   ||||||||||||||||||        \
   ||||||||||||||||||         >   Cable “CPC 6128 a DMP 2160”
   ||||||||||||||||||        /
   ||||||||||||||||||        |
                             |
 1 - - - - - - - - > 18      |
________________________     |
\    ______________    /     |
 \  |______________|  /    - | ---> Conector Centronics
  \__________________/       |         (Macho)
                             |
 19 - - - - - - - -> 36      /



 18 < - - - - - - - - 1      \
________________________     |
\    ______________    /     |
 \  |______________|  /    - | ---> Conector Centronics
  \__________________/       |         (Hembra)
                             |

 36 <- - - - - - - - 19      |

                             |
   ||||||||||||||||||        |
   ||||||||||||||||||        \
   ||||||||||||||||||         >   Adaptador Paralelo del PC
   ||||||||||||||||||        /
   ||||||||||||||||||        |
                             |
 1 - - - - - - - - > 13      |
________________________     |
\  ..................  /     |
 \  ................  /    - | ---> Conector Sub-D (Macho)
  \__________________/       |         al PC (LPT1)
                             |
 14 - - - - - - - -> 25      /


 13 < - - - - - - - - 1      \
________________________     |
\  ..................  /     |
 \  ................  /    - | ---> Conector Sub-D (Hembra)
  \__________________/       |
                             |

 25 <- - - - - - - - 14      |

                             |
   ||||||||||||||||||        |
   ||||||||||||||||||        \
   ||||||||||||||||||         >   “Caja para cableado” RS 232
   ||||||||||||||||||        /
   ||||||||||||||||||        |
                             |
 1 - - - - - - - - > 13      |
________________________     |
\  ..................  /     |
 \  ................  /    - | ---> Conector Sub-D (Macho)
  \__________________/       |         al PC (LPT1)
                             |
 14 - - - - - - - -> 25      /

 


Conector    Centronics  Centronics     Connector  Connector    Connector
Impresora    (Hembra)     (Macho)       Sub-D      Sub-D        Sub-D

    1 ---------  1           1 ---------  1         11 ---------  2
          .                        .                 8 --------- 10
          .                        .                 1 --------- 11
          .                        .                 7 --------- 12
   17 --------- 17          14 --------- 14          6 --------- 13
   18 --------- 19          19 --------- 19          5 --------- 15
          .                 21 --------- 20         19 --------- 19
          .                 23 --------- 21
          .                 25 --------- 22
   34 --------- 35          27 --------- 23
                            29 --------- 24
                            30 --------- 25
                            31 --------- 16
                            32 --------- 15
                            33 --------- 18
                            36 --------- 17

 

Velocidad de transferencia CPCPARA -> PCPARA (v1.1):

Tiempo para transferir un bloque de 0x4000 Bytes del CPC al PC con el adaptador paralelo:

Origen en el CPC: bytes/s: bit/s:

Fichero de disco: 1600 12800


Bloque de memoria: 2240 17920


Bloque de memoria, sin ints.: 2445 19560

(poke &b941,&c9 en el CPC 6128)

El bloque enviado estaba controlado en BASIC (dentro de CPCPARA):

defstr a:a="test.$$$":call sstr,@a
a=string$(&80):for i=1 to &80:call sstr,@a:next
call sbyte,0:stop

Puedes leer información más detallada acerca del adaptador paralelo en el capítulo 7.

 

5.3 El interface serie

Si posees un interface serie en tu CPC desde luego puedes usarlo para transferencias de datos al PC.

 

5.4 Otras posibilidades

Hay otros métodos más exóticos de poner el software en el PC.

  • Conectar la unidad de 3” al PC. Algunos modelos (antiguos) deberían encajar en un conector de 5.25”.

  • Mediante un desvío hacía el Spectrum+3: leer el disco de 3” en el Spectrum+3, convertirlo al formato del Spectrum y usar una utilidad para leerlo en el PC. Esta utilidad está disponible en el emulador de Spectrum Z80 hecho por Gerton Lunter.

  • Cuando es necesario obtener la ROM tu mismo, alguien me comentó este método:

El quitó el chip de la ROM del CPC y lo colocó en lugar de la BIOS de la VGA. Con un pequeño programa fue capaz de leer el contenido.

  • ¿Tal vez tú puedas encontrar otras formas?

 

El capítulo 6. Fuentes de Suministro, Soporte y Reconocimientos

 

© Marco Vieth, Mai 1998



Marco Vieth, 19.04.2008 14:32:08