Revistas en papel
Anterior
MenĂº
Logotipo

Amiga.InFo Nº 1 - Enero/Febrero 1995 - CONEXIÓN PC

NOTA: Pulsando sobre las fotos con borde azul ampliarás la imagen.

Os presentamos una nueva sección dedicada a establecer una comunicación entre otras plataformas y el Amiga. Si en la sección anterior la hacíamos con el MAC, en este caso, la "conexión" se establece con los PC's. Y para entrar de lleno en ello, que mejor que comentar una novedad y de paso convertir nuestro Amiga en un PC...emulándolo.
¿Emulando? Pues sí, de todos es conocido que existen algunos programas que te permiten configurar el Amiga de tal forma que pueden ejecutar programas de otras plataformas. También existen placas hardware que son verdaderos PC's "pinchados" en el Amiga, pero en esta ocasión no las comentaremos, lo dejaremos para otro artículo, a la espera de que aparezca la tan comentada EMPLANT con el módulo del procesador 586i (¿Emular un Pentium? Pronto la testearemos...).

Por FMartin.     

Para iniciar esta nueva sección, hablaremos de un programa que está causando verdaderos "shocks" entre usuarios de Amiga y PC's. Se trata de la última versión del emulador de PC por soft: PCTASK V3.0.

Si las anteriores versiones de este mismo programa ya sorprendían por su velocidad y manejo de la multitarea, ya que podías tener el emulador en una pantalla simultánea a la del Amiga, esta versión le da un giro de 360 grados y abre nuevos horizontes en lo que a materia de emulación se refiere...

Antes de entrar de lleno en el PCTask, comentaremos brevemente qué componentes suelen tener un PC IBM compatible típico:

* Placa Base con un procesador Intel o compatible.
* Tarjeta gráfica CGA o VGA o SVGA.
* Tarjeta con puertos paralelo y serie.
* Tarjeta de Sonido.
* Memoria, Disco Duro y Floppy 1.44 Mb
* Teclado y ratón.

Después de observar el número de tarjetas que un PC necesita para poder comenzar a funcionar algún que otro lector avispado se habrá preguntado ¿cómo es posible emular a un PC en un Amiga sin una sola de esas tarjetas? Puesla respuesta es evidente: Aprovechando al máximo los recursos de los que dispone cualquier Amiga (Léase memoria, disquetera, disco duro, ratón, monitor, etc). En realidad se están compartiendo todos estos periféricos de forma que pueden trabajar con los programas y sistema operativo del PC en el emulador. Esto no significa que cuando ejecutamos el emulador perdamos el ratón, monitor, disquetera, etc en el Amiga, sino que simplemente se comparten y hacen usos diferentes dependiendo del programa que esté activo. (En ocasiones como esta se hace patente la potencia de la multitarea...)


Emulando un procesador...80x86

Como todos sabemos, el Amiga incorpora como procesador principal un Motorola 680x0, totalmente incompatible con los procesadores de Intel o clónicos, y por lo tanto, teóricamente, no se pueden ejecutar instrucciones deun 8086 en un 68000 y viceversa. Aparte de este problema, que es quizás el más importante, se añade el hecho de que la arquitectura interna de las dos familias en totalmente diferente. Aunque no entraremos en detalles, basta decir que el manejo de la E/S, memoria, interrupciones y demás se realiza de forma extremadamente distinta en un Intel en comparación con un Motorola.

Sin embargo, aunque en el tema de hardware sean distintos, es posible utilizar a un M680x0 para que "emule" un 80x86. ¿Cómo? Un método podría ser interpretando el código de las instrucciones del 80x86 y sustituyéndolas por una o más instrucciones del M680x0 que realicen la misma tarea. Vamos a poner un simple ejemplo: Tenemos un ejecutable ".exe" de PC y queremos que nuestro Motorola lo entienda y logre correrlo en Amiga. Para ello, programamos una rutina que carga el fichero y lee una por una sus instrucciones de código máquina del 80x86. Para cada una de esas instrucciones, existen las equivalentes en el Motorola que realizan la misma tarea, por lo tanto, se efectúa una traducción de código máquina del 80x86 al 680x0, permitiéndonos "ejecutar" el fichero. Por ejemplo, la instrucción ensamblador 80x86 para mover datos "movb AL,BL" podría traducirse a "move.b d0,d1". En realidad la tarea de traducir un código a otro es mucho más complicada ya que entran en juego multitud de parámetros que no comentamos, pero la idea principal sigue siendo la misma.

El problema adicional que tiene esta técnica de traducción es que para emular una instrucción de un 80x86 son necesarias, generalmente, varias del M680x0. Esto tiene como consecuencia inmediata un menor rendimiento y velocidad de ejecución, aunque todo tiene solución...a base de subir los Mhz.

En PCTask los procesadores que se emulan son el 8086 y el 80286. Otros programas anteriores ya ofrecían la primera emulación, pero no habíamos visto hasta ahora un PC AT 286...en nuestro Amiga y por soft. (Por hardware y en forma de tarjeta existen hasta 486DX...pero ya los comentaremos...)

Las diferencias existentes entre un 80x86 y 80286 son muchas, puesto este último incorpora nuevas instrucciones, más velocidad y MMU. La MMU es la Unidad de Manejo de Memoria, que permite utilizar el disco duro como memoria secundaria, apoyando a la memoria principal en caso de necesidad.

Pues bien, existe gran cantidad de programas de PC's que no podíamos correr en nuestro Amiga debido a que utilizaban memoria virtual o instrucciones propias del 286, pero ahora PCTask nos permite ejecutarlos y además con un grado de compatibilidad muy alto. Hemos probado el Word Perfect, Frame Work III, PCTools, Deluxe Paint, Clipper 5.2, Turbo C, etc. y todos funcionan al 100%, eso sí, relativamente más lentos de lo normal. Este aspecto de la emulación siempre ha sido el mayor punto débil, peor es perfectamente excusable si se tiene en cuenta la cantidad de trabajo que realiza el PCTask.

En general, mientras más rápido vaya el Motorola de nuestro Amiga, más rápido irá la emulación del PC AT 286. Por ejemplo, veamos que rendimiento aproximado obtenemos en diferentes máquinas frente a un 286 real (velocidad 6 MHZ):

- A1200 68020/14Mhz 120% Un cuarto más rápido
- A1200 68030/28Mhz 210% Dos veces más rápido
- A1200 68030/50Mhz 415% Cuatro veces más rápido
- A3000 68030/16Mhz 125% Un cuarto más rápido
- A4000 68040/25Mhz 805% Ocho veces más rápido

Como se puede apreciar en los resultados, para utilizar seriamente el PCTask se necesita un Amiga acelerado, ya que conseguiremos ser, en el caso de un A4000, ocho veces más rápido que un 286. Es compatible con un M68060...aunque no lo hemos podido confirmar. Teóricamente, el rendimiento obtenido en un 060 a 60Mhz puede ser del orden de 2500% a 3000%, aunque puede ser aún mayor.

Paralos que consideren que no es suficiente el rendimiento obtenido, el autor de PCTask ha programado una versión TURBO PCTask, mucho más rápida en todos los aspectos, sobre todo en la emulación del 286. El inconveniente de esta versión turbo es que necesita 4 veces más memoria que la normal. Si por ejemplo utilizamos 2 mb para la emulación, en esta necesitaríamos 8 mb.

Hemos probado esta versión en un A4000/040&33 Mhz equipado con 68 Mb de RAM y dado como resultado un 1460%, o sea, del orden de 13 a 14 veces más rápido que un PC AT 286.

También hay que comentar que el rendimiento obtenido en este tipo de emulación es muy relativo y depende en gran medida de parámetros como el tipo de procesador utilizado, memoria cache, memoria RAM; disco duro, etc. que poseamos en nuestro Amiga. Por lo tanto, las anteriores estadísticas únicamente puede servirnos para darnos una idea. Sería necesario un análisis exhaustivo utilizando diferentes programas de test para PC's para poder medir con garantías el verdadero rendimiento obtenido en cada una de nuestras máquinas.


Emulando una tarjeta gráfica...

En el mundo de los PC's existen multitud de tarjetas gráficas todas diferentes entre sí y muy a menudo incompatibles entre ellas. Este aspecto supone un serio problema a la hora de emular el sistema gráfico de un PC. Si queremos un mínimo de compatibilidad con sus programas, es necesario imitar varios tipos de tarjetas típicas: CGA, VGA, SVGA, etc.

En PCTask tenemos opción a elegir las siguientes:

Tarjeta Resoluciones Nro. Colores
MDA 320x200 / 640x200 Monocromo
CGA 320x200 / 640x200 2,16
EGA 320x200 / 640x200 / 640x350 2,4,16
VGA 320x200 / 640x480 2,16 256
SVGA 512KB 640x200 / 640x480 / 800x600 16,256
SVGA 1MB 1024x768 / 1280 x 1024 16,256
SVGA 2MB 1280x1024 256

Pantalla de configuración principal del PCTask 3.0

Prácticamente podemos configurar la tarjeta que más se adapte a nuestro equipo, y con la ventaja de que si no funciona un modo, podemos probar en las preferencias con otro. Por ejemplo, si ejecutamos la versión del Deluxe Paint para PC, aparece un menú donde indicas qué modo gráfico y cuantos colores quieres utilizar para dibujar...sólo hay que seleccionar una VGA o SVGA o la que sirva a nuestro propósito (Ver Figura 1). Es importante reincidir en que toda la emulación, incluida la gráfica, se efectúa por "soft" y no hay ningún tipo de hardware adicional en el PCTASK.

En máquinas que sean ECS (A500+/A3000) o anteriores, algunos de los modos de VGA y SVGA no son operativos, sin embargo, en un AGA (A1200/A4000) podemos utilizar cualquier pantalla, siempre que tengamos memoria disponible. Incluso en 256 colores y super_alta_resolución para compatibilizar al máximo con algunas aplicaciones gráficas de PC.

La velocidad gráfica, conseguida con MDA y CGA es excelente, permitiéndonos trabajar con la mayoría de programas que corran sobre MSDOS sin ningún tipo de problema y en 16 colores. Si optamos por utilizar VGA o superior, el refresco de pantalla se retarda ligeramente. Pero donde realmente se observa la velocidad de la emulación gráfica es en los juegos, ya que se efectúan continuos cambios de pantalla. No hemos tenido oportunidad de testearlo a fondo en este aspecto, puesto que no disponemos en la redacción de juegos de PC, pero aún así, logramos encontrar un antiguo juego llamado ROCKFORT que utilizaba CGA y gráficos en movimiento de 16 colores. El resultado fue impresionante: los personajes se movían muy rápidos y el scroll era exactamente igual que en un PC original.

Aún así, es de esperar que existan juegos que no den este buen resultado, o incluso que sufran alguna incompatibilidad.

Una de las novedades de esta nueva versión es que permite ¡abrir ventanas en el Workbench! Me explico: cuando abrimos un Shell se crea una ventana que pertenece a la pantalla del Workbench y en ella podemos teclear y ejecutar comandos. Pues bien, es posible abrir una ventana de tipo Shell utilizando PCTask y teclear comandos de MSDOS desde el WB ¡Sorprendente!


Fig.2 El PCTask puede abrirse como una ventana de Workbench y trabajar en multitarea con otras aplicaciones.

Produce una rara sensación ver por ejemplo ejecutándose el PCTOOLS o DBASE en una ventana del Workbench...y tener una Shell de Amiga al lado...(Ver Figura 2)

Aunque esta posibilidad es toda una ventaja, se nota el esfuerzo que realiza la rutina de refresco de pantalla para actualizar siendo bastante más lenta cuando se utiliza el PCTask como ventana del WB que como una pantalla independiente.


Emulando periféricos...

En PCTask se aprovecha la unidad de disco de 880kb para convertirla en 720 Kb formateados en PC. Si se trata de un A4000 ó se tiene una unidad de alta densidad en el Amiga, se puede leer y escribir en discos de 1.44 mb formato PC. Cualquier otra unidad externa también es tratada como unidad de PC, asignándole nombres lógicos como A: o B:. Es sorprendente la facilidad y seguridad con que el Sistema Operativo AmigaDOS puede compartir dispositivos entre diferentes procesos, y un ejemplo claro de ello es utilizar simultáneamente la DF0: y A: dependiendo de si activas el PCTask o una aplicación de Amiga.

Pero el Floppy no es el único medio utilizado para almacenar datos, también podemos compartir cualquier disco duro, creando una partición de PC o utilizando una semi-partición creada en un fichero de AmigaDOS. De nuevo destaca la flexibilidad del sistema permitiéndonos configurar nuestro equipo como más nos convenga.

Existen varios comandos para poder acceder a particiones de AmigaDOS desde MSDOS y viceversa, pudiendo incluso hacer directorios de uno y otro sistema, para traspasar ficheros de Amiga a PCTask y al revés.

Por otro lado, también se proporciona un fichero de configuración CDROM.SYS para poder utilizar cualquier mecánica de CDROM conectada al Amiga desde el PCTask y MSDOS. Las posibilidades son prácticamente ilimitadas ya que podemos acceder directamente a CD's preparados para PC's...y ejecutar los programas directamente. Esta posibilidad ha sido probada satisfactoriamente en un A4000 equipado con CDROM Toshiba, leyendo directamente CD's de revistas de PC.

En cuanto al teclado, se compatibiliza totalmente con el de IBM PC utilizando las teclas propias del Amiga para la emulación. El ratón también es configurado para ser utilizado desde MSDOS y se proporciona un comando para activarlo como COM2:.


Emulando la memoria...

El esquema de memoria que siguen los procesadores 80x86 es totalmente diferente del seguido por los Motorola 680x0, Mientras el primero divide la memoria en segmentos distintos según se trate de código o datos, el segundo utiliza un espacio continuo pudiéndose almacenar indistintamente datos y código. Aparte, el espacio de direcciones visible desde MSDOS es limitado a 640 Kb y el resto es tratado como memoria extendida.

En PCTask se tienen en cuenta esas diferencias y existe la opción de configurar qué cantidad de memoria quieres que utilice la emulación, eligiendo de 640 a 704kb de memoria convencional y el resto como memoria extendida. Esta cantidad es reservada para el uso privado del PCTask y hay que tenerlo en cuenta si usamos multitarea.

El manejo de la memoria es estable, no parece que tenga "bugs" o grandes problemas de compatibilidad y es reconocida por MSDOS como memoria primaria y extendida, si la hay. PCTask intenta reservar la cantidad que hemos solicitado, y si no es posible, reserva el máximo disponible.

En general, parece que mientras más memoria se pueda asignar al PCTask más estable y rápido es, siendo recomendable configurarlo con 704kb de memoria convencional y un mínimo de 3 ó 4 mb de memoria extendida para los programas que la requieran.

También se ha intentado utilizar memoria virtual con VMM2.1 desde AmigaDOS, pero el PCTask no la ha reconocido. Tampoco se ha producido ningún conflicto entre los procesos de AMigaDOS y la emulación del PCTask cuando la MV estaba activa. Aunque al propio proceso PCTask no se le ha podido asignar MV, a los restantes del AmigaDOS sí.


Emulando Puerto Serie y Puerto Paralelo...

Los puestos propios del Amiga son configurados desde PCTask para funcionar como tal, siendo compatibles, por ejemplo, con todo tipo de programas de comunicaciones o que utilicen impresoras. Hemos probado la compatibilidad ejecutando un programa de comunicaciones de PC y conectando un módem al puerto serie. Todo funciona normalmente e incluso llamamos a alguna BBS para comprobar cual era la máxima velocidad que soportaba el puerto serie desde PCTask. Se ha conseguido conectar a una velocidad de 14.400 bauds y transferir ficheros sin ningún problema.

El puerto paralelo también es totalmente compatible con todo tipo de impresoras y lo hemos probado satisfactoriamente con una HP520 y un procesador de textos.

Debido a que el PCTask se apropia de los puertos y como consecuencia no están disponibles desde AmigaDOS, es opcional el activarlos o no en la emulación.


¿A quién va destinado PCTask?

* Para el usuario de Amiga que necesita de vez en cuando transferir ficheros entre AMIGA<>PC verá en PCTask una herramienta insustituible y muy flexible.

* Para el que desee ejecutar los miles de programas existentes para PC desde MSDOS y aprovechar el amplio catálogo de programas de contabilidad, gestión o bases de datos.

* Para el que trabaje con PC y en casa tenga un Amiga, puede llevar trabajo a casa.

* Para el que, como yo, tenga que hacer prácticas de programación y proyectos en Turbo C o Borland C o Clipper 5.2, etc. Es muy reconfortante ver como se puede compilar programas de C o Clipper sin ningún problema.


¿Qué máquina es recomendable?

Cualquier Amiga puede ejecutar PCTask (si no ésta, la anterior versión 2.0), aunque para trabajar a una velocidad aceptable es necesario un procesador '020 como mínimo. Es evidente que mientras más potente sea nuestro Amiga más rápido será la emulación.


Pero...¿Podemos ejecutar Windows en Amiga con PCTask?

La respuesta es afirmativa, tal y como se muestra en la figura 3. Hemos instalado Windows 3.1 en la partición de PC de un A1200 (con un '030 a 50Mhz), un A2000 (con un '030 a 33Mhz) y un A4000 (con un '040 a 33Mhz) sin ningún problema y probado su comportamiento.

FIGURA 3. ¡Windows en acción!
Para poder colocar el Windows en una ventana de Workbench hemos seleccionado el parámetro de Screen a Window. El resultado: ¡Un Windows en una ventana y en modo gráfico!
Por cierto, es muy recomendable colocar en los TOOLTYPES del icono del PCTASK los siguientes parametros:

JDIGU
NEVERBLANKCURSOR
BIOSUPDATEFILE=YES
FORCEFASTMEM
PUBSCREEN

Con estos parámetros, el PCTASK funciona mucho más rápido..(Gracias a Javier y Carlos)

Los resultados han sido sorprendentes, el hecho de trabajar en modo gráfico y unido a que el Windows es lento por sí solo, hace que prácticamente no podamos trabajar seriamente con sus ventanas e iconos. El refresco de pantalla en modo VGA es muy lento, a parte de que utilizamos una configuración a todo color. Únicamente el A4000/40 se salva, aunque sigue siendo notablemente lento.

Viendo como en estas máquinas aceleradas corremos un Windows a plazos, nos preguntamos si con un '060 a 50 Mhz obtendríamos un Windows a una velocidad aceptable. Volveremos al tema cuando podamos testear una CyberStrom '060 ...

Lo más impresionante es ver en una ventana del Workbench a todo un Windows 3.1... funcionando plenamente con aplicaciones. Genial. Pero aún hay más, ya que en el A4000 equipado con 68Mb pudimos abrir ¡¡¡ hasta 8 Windows en multitarea y en ventanas de WB !!!! Más de uno de nuestros colaboradores todavía no se han recuperado del "shock" y algunos todavía siguen riéndose...(¿Verdad Antonio?).

Sin comentarios al respecto.

Hasta la próxima Conexión, donde comentaremos los programas que podemos utilizar para conectar PC's y Amigas así como distintas posibilidades de transferir de una forma rápida información entre los dos sistemas. Por último, un dato bien curioso, ¡el PCTask 3.0 ocupa sólo 60 kb!...

PCTASK 3.0
Autor: Chris Hames
Distribuidor: Quasar Distribution, P.O. Box 188, Southland, VIC 3192, Australia
Telf. +61 358 88 06 Fax. +61 3 585 10 74

Distribuidor Nacional: Preguntar para más información en tu distribuidor habitual.


Envía esta página web a un amigo:
Esta opción está desactivada temporalmente, rogamos disculpen las molestias

Volver a la página anterior

Al menú principal