----------------------------------------------------------------------------- ================================================ MagiC64, emulador de Commodore 64 de Michael Kramer y Nick Sardelianos Traducción al español de Dámaso D. Estévez ================================================ Novedades de esta versión Nuevas características Introducción ¿Qué es MagiC64? ¿Un emulador de C64 hoy en día? ¿...qué es un C64? Requerimientos del sistema Puesta en marcha rápida El emulador Derechos de copia y registro Guardar Gráficos CPU y ROM Vídeo Sprites Sonido Joysticks Teclado Discos flexibles 'Discos' D64 'Cintas' T64 Ficheros P00 Estado del disco Ficheros C64 Iniciar emulación Salir Emulación de la unidad de discos flexibles 1541 Introducción Funciones soportadas Funciones no soportadas Herramientas auxiliares Monitor Las preguntas más habituales ¿Cómo transferir software desde el C64 al Amiga? ¿Cómo acelerar el emulador? ¿Cómo ralentizar el emulador? ¿Qué programas no funcionan? ¿Cómo cambiar de disco? ¿El emulador no responde? ¿Qué significan los avisos/advertencias? ¿Dónde encontrar soft de C64? Trucos y consejos para algunos programas ¿Su Amiga es veloz, pero el emulador no? Historia A implementar Saludos, agradecimientos y reconocimientos ----------------------------------------------------------------------------- Nuevas características ---------------------- - Ahora también es posible manejar MagiC64 completamente a través del teclado (consulte la sección Puesta en marcha rápida para más detalles). - La emulación en sí misma ha sido también mejorada, incluyendo su velocidad. El refresco inteligente ahora funciona en todo momento. - Se han corregido algunos pequeños errores en la emulación de vídeo, por lo que programas, con secciones de código en las que se desplaza la pantalla ('scroll'), ahora funcionan mucho mejor. - El parpadeo de los sprites en los juegos como Exploding Fist e International Karate se ha eliminado. - Ahora se informa brevemente en la línea de estado (parte inferior de la pantalla emulada del C64) sobre aquellas acciones que se controlan con ciertas (combinaciones de) teclas. - Nueva combinación de teclas que permite modificar el nº de ciclos desde la propia emulación permitiendo eliminar de forma directa cualquier parpadeo potencial. - Disponible un velocímetro (aunque también puede desconectarse) para que el usuario pueda ajustar la velocidad de la emulación. - La opción de guardar, para 'discos' D64, vuelve a funcionar. - Un error debido a la biblioteca 'playsid.library' se ha corregido (este error provocaba que MagiC64 fallase bajo ciertas circuntancias). - Se han añadido catálogos en francés e italiano al paquete. - También se ha añadido una nueva sección con trucos y consejos para algunos programas. Para más información, por favor, consulte la sección Historia. Puede conseguir la versión más reciente de MagiC64 en su propia página Web (también pueden registrarse en línea aquellas personas que posean tarjeta de crédito): http://www.ac-copy.com/~magic64 ----------------------------------------------------------------------------- ¿Qué es MagiC64? ---------------- MagiC64 es un emulador del ordenador C64 para Amiga, que intenta emular un C64 real al 100% (o sea, intenta que no se diferencie la emulación del comportamiento del equipo original). El emulador tiene las siguientes características: - Emulación completa de la CPU 6510 incluidas todas las instrucciones u 'opcodes' ilegales. - Emulación completa del chip VIC línea a línea soportándose: - todos los modos gráficos, y, - el desplazamiento horizontal y vertical. - Emulación de sprite completa con: - colisiones sprite-sprite, y, - colisiones sprite-fondo. - Emulación de sonido a través de las bibliotecas de terceros "6581sid.library" o "playsid.library". - Emulación de la ROM, pudiendo utilizar, si lo desea, las RR.OO.MM. originales de su C64. - Emulación de teclado y de palancas de control ('joystick'). - Emulación de la unidad de discos flexibles 1541: - con carga y grabación rápida para todos los programas, y, - soporte de casi todos los comandos de dicha unidad. - Soporte de los formatos de fichero D64, T64, P00 y C64, permitiendo la conversión entre todos ellos. - Funciones gráficas optimizadas para bitplanos, permitiendo en equipos rápidos emular el C64 a velocidad real; también se soportan tarjetas gráficas (vía CyberGfx). - El emulador ha sido programado para que sea amigable/legal con el SO, ejecutándose en un entorno totalmente multitarea. ----------------------------------------------------------------------------- ¿Un emulador de C64 hoy en día? ------------------------------- Este emulador fue escrito en un momento, en el que, según mi opinión, no había buenos emuladores de C64 para el Amiga: el prototipo de MagiC64 se basó esencialmente en los emuladores existentes de C64 para PC, que hoy en día han alcanzado una calidad realmente impresionante. Como consecuencia de esto, MagiC64 soporta la mayoría de los formatos habituales en PC, ya que casi todos los programas de C64 están disponibles en alguno de estos formatos. Otro objetivo a lograr durante el desarrollo de MagiC64 fue conseguir una buena velocidad de emulación: ésta es la razón por lo que MagiC64 dispone de funciones gráficas optimizadas para un rápido manejo de bitplanos: no se realiza ninguna conversión de bloque a planos ('chunky to planar'), por lo que los resultados en las prestaciones gráficas han sufrido una dramática mejora (es una técnica útil para otros emuladores de 8 bits o incluso para el de Macintosh). Además MagiC64 dispone de las características comunes, que sólo los emuladores pueden ofrecer, como son la carga y la grabación rápida y la posibilidad de detener/continuar la ejecución de los programas en cualquier momento. Todo esto permite a los usuarios de Amiga disponer de la mayoría de los juegos y programas de C64, que aunque están desfasados con respecto a los estándares actuales en cuanto a gráficos y sonido, a menudo poseen una sorprendente capacidad de diversión y entretenimiento gracias a las "originales ideas" en las que se han basado. ----------------------------------------------------------------------------- ¿Qué es un C64? --------------- Aunque esta página está en construcción actualmente, eso no impide que pueda decirle que el Commodore 64 es el mejor ordenador de 8 bits jamás fabricado :). ----------------------------------------------------------------------------- Requerimientos del sistema para ejecutar MagiC64 ------------------------------------------------ Cualquier emulación del C64, orientada a una emulación a nivel de línea de barrido como el MagiC64, usa de forma intensiva la CPU. Por ello, MagiC64 necesita al menos una CPU 68020, estando recomendado sin embargo una CPU 68030 o una 68040 (utilizando un A4000 o un Amiga con CPU 68030 debería bastar para una buena emulación si se define la relación de fotogramas a 1/3; disponiendo de un 68060 se consigue una emulación a velocidad real con una relación entre fotogramas 1/1). Además de lo indicado, las funciones gráficas necesitan memoria para las tablas de mejora ('look-up tables'), y por lo tanto, tendrá que disponer de al menos 1.8 MB de memoria RAM libre, que si es del tipo Fast le permitirá ejecutar el emulador de forma más cómoda. En cuanto a las exigencias de soft, basta con que disponga de Kickstart 2.04 o superior, aunque las prestaciones especiales proporcionadas por la Kickstart 3.0 (disponer de un buffer doble, más concretamente) son aprovechadas si está disponible. Resumiendo, necesita disponer de, - CPU MC68020 o superior, - 1.8 MB de memoria libre (mejor si es Fast RAM de 32 bits), - Kickstart 2.04 o versión superior. El emulador también puede ser utilizado en equipos Amiga que no disponga del juego de chips AGA. ------------------------------------------------------------------------------ Puesta en marcha rápida ----------------------- El emulador puede ser ejecutado desde el CLI o desde el Workbench. En el caso de la versión no registrada aparecerá una ventana, informando sobre el copyright y las condiciones de registro: ciérrela presionando el botón [Sí] (si dispone de Kickstart 3.0, MagiC64 le preguntará por la versión del programa SetPatch para decidir qué sistema de doble buffer ha de emplear). Hecho esto, verá una ventana (la ventana principal del emulador) con un buen nº de botones. MagiC64 puede controlarse con ratón o teclado. Cuando utilice el teclado, algunas teclas tendrán diferente función dependiendo de la ventana en uso: puede cerrar las ventanas presionando la tecla 'q', cargar y ejecutar programas en el emulador en cualquier formato presionando la tecla 'r' y finalmente con la tecla 'a' puede realizar las operaciones de grabación. Las teclas de cursor estarán operativas con las peticiones de selección (parecidas a las de ficheros), pudiendo utilizar la tecla 'Return' para seleccionar un fichero (equivale a cargar y ejecutar dicho fichero). Además el emulador recuerda la última posición de las ventanas (y las guarda con las preferencias), puediendo así usted ajustar la interfaz gráfica de MagiC64 a sus gustos. Puede iniciar la emulación (entrar en el modo C64) presionando el botón [Emular C64] y salir de ésta presionando la tecla ESC (haciendo esto el estado actual de la emulación queda suspendido, pudiendo retomarse con posterioridad). Para cargar y ejecutar un programa, debe elegir el formato correcto de entre los disponibles en la sección denominada "'Disco' y 'cinta'": tanto los ficheros D64 (ficheros imagen de discos flexibles utilizados en la unidad 1541) como los ficheros T64 (ficheros imagen de las cintas de cassette originales con soft para el C64) son soportados, lo mismo que los ficheros P00 y C64 (ambos representan a programas individuales). * Si las 'cintas' T64 o los ficheros P00 son elegidos, los directorios definidos por defecto para albergar cada uno de estos tipos de ficheros serán explorados y los nombres de los programas encontrados aparecerán en una petición de selección: pinchar sobre cualquier nombre doblemente y de forma rápida con el puntero hará que se cargue y se ejecute el programa correspondiente, saltando el emulador directamente al modo C64. Puede cambiar los directorios de búsqueda de ficheros en cualquier momento (con el botón [Directorio]) por otros en los que pueda haber estos tipos de fichero. * Si desea utilizar 'discos' D64, primero presione el botón [Cargar D64] y seleccione el fichero D64 deseado: el directorio de dicho 'disco' aparecerá en la petición de selección, pudiendo de nuevo cargar y ejecutar un programa, bastando con pinchar rápidamente dos veces sobre él (tambien puede utilizar este método cuando un programa le pida un cambio de disco). * Los ficheros C64 son programas de C64 sin ningún tipo de modificación: mantienen el mismo formato original que en un C64 real (dos bytes de cabecera seguidos de los datos del programa), y pueden ser cargados directamente también por el emulador. En el modo C64 se puede producir un reinicio del C64 emulado presionando la tecla F9, lo que irá seguido de un chequeo de módulos para proceder a su ejecución si existiese alguno. Si presiona la tecla F10 se producirá un reinicio total ("hard reset") que hará que el emulador salte a la pantalla azul inicial típica del C64 original. En cualquier momento (incluso dentro del modo C64 y después de haber cargado un programa), el puerto de joystick puede cambiarse presionando el botón [Joysticks] de la ventana principal. El cambio también se puede realizar durante la emulación presionando la tecla '*' del teclado numérico. Si en su opinión el emulador es demasiado lento, puede introducir un valor mayor que 1 en el campo 'Fotogramas 1/' (se accede a la ventana donde aparece mediante el botón [Gráficos] de la ventana principal del emulador): puede modificar también dicho valor desde el modo C64 con las teclas '+' y '-' del teclado numérico (en un A4000 debería alcanzar la velocidad de un C64 real con un valor de 3 en dicho campo). El cambio de este valor también ayuda cuando el sonido se reproduce de forma extraña. Su emulación preferida de sonido ha de seleccionarla a través del botón [Sonido] en la ventana principal del emulador. Puede elegir entre utilizar la biblioteca 'playsid.library' o la '6581sid.library': ninguna de ellas está incorporada en el paquete de distribución de MagiC64 (para más información consulte la sección Sonido). Otra posibilidad de acelerar la emulación es el modo rápido que puede ser activado/desactivado con la tecla '.' del teclado numérico: es muy útil cuando no es necesario en ciertos casos el refresco de la pantalla (por ejemplo cuando un programa se está descompactando). Si el desplazamiento de gráficos no funciona con un programa, los sprites parpadean o el cambio de barrido no funciona como se espera, intente modificar el número de ciclos definidos con las teclas 'Shift' y '+'/'-', 'Alt' y '+'/'-' o 'Shift+Alt' y '+'/'-' desde el modo C64 (en plena emulación): a menudo ayuda, así que no pierde nada por intentarlo. Todas las acciones realizadas a través de las combinaciones de teclas especiales se mostrarán en una línea de estado (aparecerá en la pantalla emulada del C64). Las teclas más importantes en el modo de emulación (modo C64) son: - ESC Se suspende la emulación y se vuelve a la ventana principal del emulador. - F9 Reinicio de la emulación con verificación de módulos. - F10 Reinicio de la emulación sin verificación de módulos. - Enter Pausa de la emulación. - * Intercambia los puertos de joystick del C64. - / Conecta/desconecta el sonido. - +/- Incrementa o reduce la relación de fotogramas. - [/] Decrementa/incrementa la frecuencia de autodisparo. - . Activa o desactiva el modo rápido. - Shift +/- Incrementa/decrementa el nº de ciclos por línea de barrido. - Alt +/- Incrementa/decrementa el nº de ciclos de inicio. - Shift+Alt +/- Incrementa/decrementa el nº de ciclos por línea errónea. ------------------------------------------------------------------------------ Copyright y registro -------------------- Existen dos versiones de MagiC64: - Una versión sin registrar, en la que el tiempo de uso del modo de emulación (C64) está limitada a 10 minutos. Puede copiar y distribuir dicha versión sin ningún tipo de restricción, pero si esta versión es distribuída en algún CD, por favor, envíeme una copia gratis. - La versión registrada sin restricción en cuanto al tiempo. La copia o distribución de esta versión está TERMINANTEMENTE prohibida. Correo postal: Michael Kramer Im Hirschfeld 28 52222 Stolberg Germany <- Alemania EMail (correo electrónico vía Internet): michael_kramer@ac-copy.com Puede registrarse utilizando la dirección postal anteriormente indicada o vía email: la cuota de registro es de 20 dólares EE.UU. o 30 marcos alemanes, pagaderos en metálico o a través de un Eurocheque (si lo desea puede enviarme la misma cantidad de dinero en su moneda local). Si me envía dicha cuota de registro, le enviaré el fichero llave para activará todas las prestaciones del programa. También es posible el registro en línea para aquellas personas que posean tarjeta de crédito a través de: http://www.ac-copy.com/~magic64. Nota importante: si desea utilizar cheques para el registro recuerde que ¡SOLO se aceptarán Eurocheques! Si lo desea, pídame información adicional vía email antes de registrarse. ¡Atención!: Para la emulación del sonido necesitará la biblioteca "6581sid.library" O "playsid.library": ninguna de ellas forman parte de MagiC64... la biblioteca "6581sid.library" es parte del paquete A64 (una versión de demostración de este paquete en la que se encuentra dicha biblioteca está disponible en Aminet), mientra que la biblioteca "playsid.library" está incluída en el paquete Sidplay (que también está disponible en Aminet). Por favor, acepte las condiciones de copyright de estos programas. RESPONSABILIDADES: MagiC64 debería ser un producto libre de errores; aún así el autor no se responsabiliza de cualquier error o daño producido cuando MagiC64 sea utilizado. ------------------------------------------------------------------------------ Guardar ------- Guarda todas las preferencias y caminos/vías de acceso definidos en el fichero "MagiC64.prefs". ------------------------------------------------------------------------------ Gráficos -------- - Mostrar vídeo Si desconecta esta opción, sólo aparecerá una ventana cuando pase al modo de emulación C64 (la emulación se ejecutará como tarea de fondo), pero será una emulación muy rápida: utilice esta opción si ejecuta programa que no tienen o tienen muy poca salida visual. - Sincronizar Activar esta opción significa que no se mostrarán los fotogramas de la emulación de forma sincronizada con la visualización real: esto mejorará la música y efectos de sonido. Debe desactivarla si su ordenador es lento como por ejemplo un A1200 básico y debe activarla si dispone de una CPU rápida como una 68060, o sino la emulación será mucho más rápida que un C64 real (esta opción no tiene efecto si el valor del campo 'Fotogramas 1/' en el menú 'Gráficos' es igual a 1, ya que todos los fotogramas serían visualizados en este caso). - Mostrar borde Activando esta opción, en el modo C64 se mostrará un borde (siendo necesario para que algunos juegos como Delta o Wizball funcionen correctamente). Sin embargo, en algunos modos de pantalla, éste podría no caber en el área de visualización por lo que debería desconectar esta opción. Atención: los sprites laterales en el borde no están soportados. - Limitar velocidad La velocidad de la emulación puede reducirse a la velocidad de un C64 real en equipos muy rápidos (68060) con esta opción. - Refresco mejorado o inteligente Cuando activa esta opción sólo las partes de la pantalla que han cambiado, serán actualizadas: esto puede acelerar la emulación hasta un 50%. Sin embargo, cuando partes de la pantalla de gran tamaño son actualizadas contantemente (por ejemplo en un desplazamiento vertical de la pantalla), el refresco mejorado no tiene utilidad, y la velocidad con o sin él activado, es la misma. Además con el modo de texto del C64 puede producirse algunos errores de visualización, así que también puede desactivarlo, si lo desea en estos casos. - Velocímetro Cuando utilice esta opción, se mostrará la velocidad de emulación comparada con la velocidad de un C64 real, en la parte inferior izquierda de la visualización simulada del C64. Una velocidad del 100% significa que la emulación tiene la misma velocidad que un C64 real, mientras que valores superiores indica que la emulación es más rápida. - Fotogramas 1/ Con esta opción puede determinar la relación de fotogramas entre la emulación y un C64 real: por ejemplo un valor 1/4 significa un fotograma mostrado por la emulación por cada 4 fotogramas que se hubiesen mostrado en un C64. Eso significa que valores más grandes aceleran la emulación ya que hay que calcular menos fotogramas, sin embargo también significa que la colisión de sprites se detectará más tarde y la visualización puede ser más brusca: no es un problema grave con la mayoría de los programas, pero alguno (muy pocos) requiere una relación 1/1. Los valores recomendados se encuentran entre 1 y 5. Aumente este valor si los efectos de sonido y/o música suenan muy lentamente (en este caso la emulación no puede enviar los datos de sonido con suficiente rapidez a la biblioteca de sonido). Desde el propio modo C64 puede cambiar el parámetro 'Fotogramas 1/' con las teclas +/- del teclado numérico. - Modo de pantalla Presionando el botón [Elija...] aparecerá una petición de modos estándar en la que podrá elegir el que desea. La emulación utiliza un tamaño de pantalla de 320x200, así que deberá elegir un modo PAL o DBLPAL: en otros modos como por ejemplo el EURO72 dispondrá de una frecuencia mayor, pero sólo se utilizará una parte de la pantalla. Necesita disponer de Kickstart 2.1 para cambiar de modo de pantalla, siendo el modo por defecto el PAL o el DBLPAL. - Tipo pantalla Con este botón cíclico puede elegir entre las tres opciones "Amiga-View" (Vista),"Amiga-Screen" (Pantalla) y "8 Bit RTG" (RTG de 8 bits). Debido a que el doble buffer es soportado primero por el Kickstart 3.0 con funciones del SO especiales, debería utilizar el modo "Amiga-View" para versiones de Kickstart inferiores para disponer de las mejores prestaciones (al utilizar este modo no podrá conmutar las pantallas utilizando la combinación de teclas AmigaIzqda+M, pero la multitarea no se verá afectada en ningún otro aspecto). El modo "Amiga Screen" funcionará correctamente *SOLO* si disponiendo de Kickstart 3.0 ha instalado SetPatch 40.16 o superior (si no dispone de este parche, MagiC64 podría fallar utilizando esta opción). Resumiendo: - Con SO 2.04 y 2.1, utilice siempre la opción "Amiga View" por razón de prestaciones. - Con SO 3.0 deberá instalar SetPatch 40.16 o superior, o sino la opción "Amiga Screen" no funcionará. Si no ha instalado SetPatch 40.16 o superior, elija la opción "Kick 2 Double-Buffering" ("Doble buffer Kick 2") cuando se le pregunte inicialmente o utilice la opción "Amiga View". - Con OS 3.1 la opción "Amiga Screen" funcionará correctamente. Puede determinar la versión de su programa SetPatch tecleando en una ventana CLI/Shell "Version C:SetPatch" (SetPatch 40.16 está disponible en Aminet en el directorio util/boot). En ciertos casos (por ejemplo con DBLPAL), puede que el área de visualización no aparezca correctamente centrada o que parte de ella no se muestre al utilizar el modo "Amiga View": lo siento, pero un fallo del sistema, así que le recomiendo que utilice la opción "Amiga Screen" en este caso. A partir de la versión 1.5 de MagiC64, las tarjetas gráficas son soportadas con el modo "8 Bit RTG" necesitando disponer, en este caso, de CyberGfx (con Amigas AGA puede disponer de los 8 bits nativos del Amiga pero es muy lento). Como MagiC64 trabaja con bitplanos internamente, debe de realizarse una conversión del modo planar al modo bloque: esa es la razón de que los modos de 8 bits son siempre más lentos que los modos nativos del Amiga. - Tipo DB Permite seleccionar el tipo de doble buffer a utilizar con el tipo de pantalla "Amiga Screen". Es posible utilizarlo si se dispone de Kickstart 3.0 (en versiones anteriores de MagiC64 sólo e permitía elegir al principio el tipo de doble buffer: ahora es posible hacerlo en cualquier momento). Para más información consulte el apartado 'Tipo pantalla'. - Acceso directo Puede acelerar algo el emulador en el modo "8 bit RTG" si activa el acceso directo a la memoria de la tarjeta gráfica: esto se consigue con esta opción. CPU y ROM --------- - CPU: aviso de instrucción fatal Cuando la emulación ejecuta una instrucción ilegal (que bloquea al C64 original lo cual obligaba a reinicializarlo) como por ejemplo la $02, normalmente se abandona ésta y aparece un aviso o advertencia ofreciéndose la posibilidad de reiniciar la emulación o de continuar (aunque esta última opción no tiene sentido, salvo para presionar la tecla F10 desde la emulación que también realiza un reinicio). - CPU: aviso de instrucción BRK La instrucción u 'opcode' $00 (BRK) en principio no es utilizada en los programas de C64 ni suele tener sentido su uso, sin embargo debería desconectar esta opción si quiere utilizar programas monitor o depuradores desde la emulación. - CPU: modo BCD rápido Los comandos aritméticos del procesador 6510 pueden utilizar un modo decimal especial. Con el modo BCD rápido sólo la bandera de acarreo será actualizada de forma correcta (las otras banderas tendrán valores indefinidos). Desconectar el modo rápido significa que todas las banderas serán modificadas adecuadamente cuando corresponda, pero seguramente no apreciará siempre diferencias. - ROM: no verificar RAM Normalmente la RAM del C64 se verifica cada vez que se reinicia el equipo: este paso puede saltarse (parche de la ROM), acelerando de forma notable el proceso de reinicio. - ROM: ROM emulada ('ROM Emulation') / ROM original ('Original ROM') Debido a razones de copyright, las RR.OO.MM. originales no se han incluído, pero sí se ha implementado una emulación (esta emulación utiliza versiones modificadas, de manera que si intentase utilizarlas en un C64 real no funcionaría). Si dispone de las RR.OO.MM. originales y desea emplearlas puede hacerlo (debe colocar los ficheros en el directorio ROMS y sus nombres han de ser BASIC.ROM, CHAR.ROM y KERNAL.ROM). ------------------------------------------------------------------------------ Video ----- - Temporización: ciclos/línea de barrido Es el valor para la emulación del chip VIC que determina el número de ciclos consumido por cada línea de barrido (visualización). Puede cambiar este valor ligeramente (!) cuando las interrupciones del barrido produzcan parpardeo de la pantalla. Los valores recomendables están comprendidos entre 60 y 66: desde el modo C64 (emulación) puede modificarlos con las teclas 'Shift' y '+'/'-'. - Temporización: ciclos/línea errónea ("badline cycles") Determina el nº de ciclos por línea errónea consumidos. Las "badlines" o líneas erróneas son líneas de barrido en las que la CPU dispone de menos ciclos debido a que estos ciclos son utilizados por el chip VIC. Se puede modificar su valor pero sólo ligeramente (los valores recomendados están comprendidos entre 20 y 24). Utilice las teclas 'Shift+Alt' y '+'/'-' para modificar los valores desde el modo C64. - Temporización: ciclo de inicio Determina el ciclo en el que el chip VIC comienza enviar los datos (caracteres). Para un desplazamiento vertical de la pantalla esto es importante ya que el registro de desplazamiento es escrito antes o después de este ciclo. Cambie este valor cuando no funcione correctamente este desplazamiento vertical. Los valores recomendados están comprendido entre 12 y 18. Desde el modo C64 puede modificar este valor con las teclas 'Alt' y '+'/'-'. - Modo de vídeo: PAL / NTSC Determina el número de líneas de visualización utilizadas internamente para la emulación (algunos juegos sólo funcionan en uno de los dos modos). Si utiliza el modo NTSC con la emulación, ésta será algo más rápida debido a que se han de calcular menos líneas, pero por contra, la CPU del C64 emulado dispondrá de menos ciclos por cada fotograma. ------------------------------------------------------------------------------ Sprites ------- - Globales: mostrar sprites Activa la visualización de los sprites: desactivándolos se acelera la presentación de gráficos, pero no tiene ninguna utilidad para la mayoría de los juegos. - Globales: colisiones sprite-sprite Activa las colisiones entre sprites. Si desconecta esta opción, la presentación de gráficos se puede acelerar ligeramente. Algunos juegos usan su propio sistema de detección de colisiones en lugar del proporcionado por el hardware, así que en estos casos puede tener utilidad desconectar esta opción. - Globales: colisiones sprite-fondo Activa las colisiones de los sprites con el fondo. Sólo algunos juegos utilizan esta detección por hard, así que la desconexión de esta opción suele ser útil (la velocidad gráfica mejora). - Sprites a emular: sprites activados - Detección de colisiones: sprite-sprite / sprite-fondo Las opciones comentadas anteriormente actúan simultáneamente sobre todos los sprites (son globales): para ajustes individuales dispone de botones binarios en la parte inferior de la ventana. Esto le permite jugar partidas de entrenamiento, si lo desea, bastándole con desconectar las colisiones del sprite que maneja el jugador (sólo funciona con juegos que utilicen la detección de colisiones por hardware). ------------------------------------------------------------------------------ Sonido ------ Se necesita, para disponer de él, la biblioteca '6581sid.library' O la 'playsid.library' (estas bibliotecas no forman parte del paquete MagiC64). La primera biblioteca puede localizarla en una versión de demostración del paquete A64 existente en Aminet (se trata de otro emulador de C64 para Amiga, que se convirtió en comercial a partir de la versión 3), mientras que la segunda está incluida en el paquete Sidplay, que también está disponible en Aminet. Nota: 'playsid.library' no funcionará con la CPU 68060 ni con Executive ya que ambos utilizan recursos comunes (temporizadores). Algunas personas afirman que existen versiones que sí funcionan con la CPU 68060, así como que hay una versión parcheada de esta biblioteca. Por favor, avíseme si dispone de alguna información sobre el tema. Ambas bibliotecas tienen ciertas ventajas: así la '6581sid.library' es rápida pero la salida de sonido a veces es un poco pobre, mientras que la 'playsid.library' produce un sonido de buena calidad pero requiere mucha potencia de CPU. - Globales: sonido activado Activada esta opción, se activa la música y los efectos de sonido. Su desactivación puede ser útil con juegos en los que la música suene mal o que no le guste. Desde la propia emulación puede activar y desactivar el sonido con la tecla '/' del teclado numérico. - Globales: emulación Con esta opción puede eligir su biblioteca preferida para la emulación del sonido (si la biblioteca no está instalada en el directorio LIBS: no oirá nada). Es posible cambiar de una biblioteca a otra sobre la marcha, pero a veces el sonido no estará disponible hasta que reinicialice el modo C64 (tecla F10). - Canales: canal nº x activado (Des)activa los canales de sonido de forma individual. - Volumen: volumen máximo Con esta barra deslizante puede regular el volumen máximo de forma conjunta para los tres canales de audio. ------------------------------------------------------------------------------ Joysticks --------- - Uso de los puertos del Amiga: nº x (Amiga) -> Tanto el Amiga como el C64 (original y emulado) disponen de dos puertos para joysticks digitales. Debido a que el Amiga utiliza el puerto 0 para el ratón, puede redirigir la entrada del puerto 1 a los "puertos" 0 y 1 del C64 emulado. Es posible redirigir un puerto del Amiga a los dos del C64 al mismo tiempo: si elige esta opción todos los juegos debería funcionar independientemente del puerto que utilicen, aunque puede producir efectos extraños en un juego que utilice el puerto 0 del C64 y el teclado. Naturalmente para juegos de dos jugadores el segundo puerto también puede ser usado, pero entonces el ratón deberá desconectarse (eso lo sabe, ¿no? ;)). El cambio del puerto del joystick desde el modo C64 es posible presionando la tecla '*' del teclado numérico. Si selecciona "No emular puerto" puede simular el joystick a través del teclado numérico. Consulte el esquema para las direcciones de movimiento, y tenga en cuenta que las teclas 0 y 5 funcionan como el botón de disparo, el '*' permite intercambiar los puertos y '['/']' disminuye/aumenta la frecuencia de autodisparo: | 7 8 9 | | \ | / | | 4 - 5 - 6 | | / | \ | | 1 2 3 | - Frecuencia de autodisparo: puerto nº x Con esta opción puede ajustar la frecuencia de autodisparo para los puertos de juego del Amiga. Una frecuencia de 0 significa que la prestación está desconectada para el puerto seleccionado, mientras que una frecuencia de 1 es lo mismo que mantener pulado el botón de fuego constantemente. Algunos juegos no pueden ser engañados de esta forma, así que tendrá que elegir un valor de 2 o superior. El autodisparo es 'inteligente', de manera que la primera vez que presiona el botón de disparo se activa, desactivándose si se vuelve a presionar (esto permite no tener que mantener presionado el botón de disparo durante todo el tiempo). Puede modificar la frecuencia de autodisparo durante la emulación con las teclas '[' y ']' del teclado numérico. ------------------------------------------------------------------------------ Teclado ------- - Original / National ("Nacional") Cuando se utiliza el modo original, el emulador intenta imitar lo mejor posible con el teclado del Amiga, el teclado QWERTY del C64 (localización física de las teclas similar) independientemente del teclado elegido para el sistema (preferencias del WB): este modo es muy útil para ciertos juegos manejados por teclado. Sin embargo en el modo nacional (teclado definido por preferencias del WB) puede haber teclas cambiadas con respecto al teclado del C64 de manera que el emulador hace la conversión adecuada para cada pulsación. En ambos modos hay ciertas teclas con funciones especiales: - ESC La emulación se congela y se salta del modo de emulación a la pantalla principal del emulador: esto permite que realice cambios en las preferencias del emulador, antes de volver a presionar el botón [Emular C64] para retomar (no se produce reinicio) la emulación donde la dejó. - F9 Reinicio de la emulación. Se realiza una verificación de módulos para los módulos situados en la dirección $8000 de manera que si existe un módulo se ejecuta, y si no existe, aparecerá la pantalla inicial del C64 cuando se enciende. - F10 Reinicio total de la emulación. No se realiza la verificación inicial y la emulación salta directamente a la pantalla pantalla inicial del C64 cuando se enciende. - Enter (teclado numérico) Detiene la emulación sin abandonar el modo C64: presionándola una segunda vez, la emulación continúa. Esta tecla es útil si desea comprobar u observar cuidadosamente una situación determinada durante la ejecución de un programa: también es posible capturar, gracias a esta opción, la pantalla actual con un capturador de pantallas. - Ctrl Corresponde a la tecla RUN/STOP del C64. - Help Corresponde a la tecla RESTORE del C64. - TAB Corresponde a la tecla Ctrl del C64. - Del Corresponde a la tecla CLR/HOME del C64. - AltIzqda Corresponde a la tecla Commodore del C64. - AltDcha Corresponde a la tecla @ del C64. - AmigaDcha Corresponde a la tecla ´ del C64. - AmigaIzqda Realiza un reinicio del teclado en el modo nacional: utilice esta tecla cuando el teclado se bloquee. - Teclas de cursor Equivalen a las de C64. ------------------------------------------------------------------------------ Unidad de discos flexibles -------------------------- Bajo esta etiqueta, se agrupan los ajustes referentes a la emulación de la unidad de discos 1541. La emulación utiliza ficheros D64 (más información sobre éstos en su propio capítulo). - Globales: unidad de discos activa Esta opción permite activar/desactivar la emulación de la unidad 1541: esto significa que si se desactiva, la emulación no dispondrá de unidad de discos "conectada", así que si teclea desde el modo C64 por ejemplo LOAD "$",8 se mostrará el mensaje "DEVICE NOT PRESENT" ("DISPOSITIVO NO PRESENTE"). La desconexión de la "unidad" puede tener utilidad cuando programas en formato P00 o T64 intentan volver a cargar algún tipo de datos como por ejemplo las tablas de mejores puntuaciones. - Globales: indicador de acceso a disco Cada vez que se accede al 'disco' se mostrará un mensaje en rojo con la palabra 'DISK' ("DISCO") en la parte inferior derecha de la pantalla emulada del C64, si la opción está activada. Por razones técnicas no podrá ver este mensaje en el modo 'RTG de 8 bits'. - Globales: protección de escritura Afecta al estado de protección del 'disco' D64 actual: si está activada el disco D64 cargado en memoria no podrá ser modificado por el usuario. La opción es muy útil si quiere prevenir cambios o escrituras accidentales de ficheros. - Advertencias: comandos no soportados Una unidad 1541 real es (bueno,... era) un unidad inteligente con su propio procesador, RAM y sistema operativo. Sin embargo, la emulación de la unidad 1541 sólo alcanza al nivel de comandos: así hay algunos comandos como el Memory-Execute ('ejecución de memoria') que permitía ejecutar programas propios o específicos en la RAM de la unidad 1541, que no son soportados. Por desgracia, como algunos programas lo utilizan, no funcionarán (para carga rápida o para ejecutar otras acciones complejas, como la protección contra copia, sobre el disco flexible). Si intenta ejecutar estos comandos, el emulador abandonará el modo C64 y le mostrará una advertencia: con esta opción puede desconectar la presentación de estos avisos. - Advertencias: escritura en disco protegido Se muestra un aviso, al intentar escribir sobre un 'disco' D64 protegido contra escritura: puede evitar estas advertencias con esta opción. ------------------------------------------------------------------------------ 'Discos' D64 ------------ Los "discos" D64 son ficheros imagen de discos reales de 5.25" y una sola cara utilizados por la unidad de discos flexibles 1541: este formato fue presentado por el emulador C64S para PC (puede encontrar prácticamente todos los programas para C64 en este formato). MagiC64 carga en memoria el fichero D64 completo, realizando la emulación de la unidad 1541 sobre esta copia cargada en RAM (para que las operaciones de escritura sean permanentes debe guardar el fichero D64 de forma explícita: esta opción [Guardar D64] sólo está disponible en la versión registrada de MagiC64). - Petición de selección En ella se muestra el directorio donde están situados los "discos" D64 listos para ser cargados en memoria con el botón [Cargar D64]: la primera línea de la petición muestra el nombre del disco, seguido de su identificador (ID) y la señal de formato (pinchar con el puntero sobre dicha línea no tiene ninguna utilidad/efecto). Las siguientes líneas muestran los programas/ficheros individuales contenidos en el 'disco' (el nº situado a la izquierda del nombre indica el tamaño del fichero en bloques de 256 bytes). Pinchar doblemente y con rapidez sobre uno de estos ficheros con el puntero y/o presionar la tecla 'Return' o la tecla 'r' producirá el reinicio de la emulación, el salto al modo C64, la carga del programa seleccionado y su ejecución. La última línea del listado proporciona información sobre los bloques libres en el 'disco' D64. - [Cargar] Carga un programa desde un 'disco' D64 en la memoria emulada del C64 (NO se reinicia la emulación y NO se salta automáticamente al modo de emulación). La carga es muy rápida, incluso con ficheros muy grandes (mayores de 200 bloques). Todos los datos son cargados en la memoria emulada del C64 sin modificarse el rango E/S durante el proceso, por lo que la carga de programas de más de 202 bloques en un C64 real no sería posible sin funciones de carga especiales. - [Ejecutar] Tiene el mismo efecto que pinchar dos veces rápidamente sobre el nombre de un programa mostrado en la petición de selección. En contra de lo que hace la opción [Cargar], esta opción fuerza el reinicio de la emulación y a continuación vuelve automáticamente al modo C64. - [Cargar D64] Después de presionar este botón, puede elegir un fichero D64 en una petición estándar (el contenido del directorio de este 'disco' D64 se mostrará en la petición de selección): equivale a insertar un disco en una unidad 1541, así que si un programa de C64 le pide que cambie de disco, ha de utilizar esta opción. - [Guardar D64] Guarda un 'disco' (fichero en formato) D64. Seleccione este botón si desea que los cambios en el fichero D64 sean permanentes, ya que la emulación de la unidad 1541 sólo funciona sobre la imagen de éste cargada en memoria. - [Guardar] Guarda un programa de C64 en el 'disco' D64 actual. El fichero sólo es modificado en memoria, de manera que para hacer que los cambios sean permanentes debe seleccionar también la opción [Guardar D64]. La grabación (guardar) tiene las mismas propiedades que la carga: alta velocidad y es posible guardar programas de más de 202 bloques. - [Formatear] Formatea un 'disco' D64 en memoria. Después de seleccionar esta opción deberá introducir el nombre del disco y su identificador (ID). Es equivalente al comando "NEW" de la unidad 1541. Si desea crear un disco vacío, cargue un 'disco' D64 con el botón [Cargar D64], seleccione el botón [Formatear] y guarde el fichero con [Guardar D64] bajo un nombre DIFERENTE. - [Borrar] Después de una confirmación previa, el fichero seleccionado de un 'disco' D64 es borrado en memoria. Equivale al comando "SCRATCH" de la unidad 1541. 'Discos' D64 ------------ - [Renombrar] Después de una confirmación previa, el fichero seleccionado de un 'disco' D64 es renombrado en memoria. Equivale al comando "RENAME" de la unidad 1541. - [Inicializar] Después de una confirmación previa, el 'disco' D64 seleccionado es inicializado en memoria (la BAM {1} del disco es cargado en memoria, de manera que se puede distinguir entre discos con el mismo ID). Equivale al comando "INITIALIZE" de la unidad 1541. - [Validar] Después de una confirmación previa, el 'disco' D64 es validado en memoria (todos los ficheros aún abiertos son cerrados y la BAM es actualizada). Equivale al comando "VALIDATE" de la unidad 1541. ------===------ {1} BAM = Block Allocation Map (Mapa de bloques utilizados) ------------------------------------------------------------------------------ 'Cintas' T64 ------------ El formato T64 fue introducido con el emulador C64S para PC: se tratan de imágenes (copias exactas) de las cintas de cassette para C64, pudiendo contener uno o más programas/ficheros. - Petición de selección Muestra el contenido de TODOS los ficheros en formato T64. Pinchar doblemente y con rapidez con el puntero sobre alguno de los ficheros T64 mostrados, hará que se cargue en la memoria emulada del C64 y se proceda a su ejecución. - [Cargar] Carga el programa seleccionado de una fichero T64 en la memoria emulada del C64. No se reinicia ni se vuelve/inicia de forma automática la emulación (modo C64). - [Ejecutar] Lo mismo que pinchar con el puntero dos veces rápidamente sobre el nombre seleccionado en la petición de selección: la emulación se reinicia, se entra en el modo de emulación, se carga el programa seleccionado y se ejecuta. - [Guardar] Se mostrará una petición para guardar la zona de memoria elegida del C64 emulado como un fichero en formato T64. El nombre que introduzca será el mostrado más tarde en la petición de ficheros. El rango dado por las localizaciones $2B/$2C y $2D/$2E es el guardado en dicho fichero: es posible guardar programas con una dirección final mayor que $CFFF. El fichero P00 escrito es nuevo, de manera que si existiese uno con igual nombre sería sobreescrito. - [Directorio] Una petición estándar aparecerá cuando seleccione esta opción: seleccionando el botón 'De acuerdo' después de haber elegido el camino de acceso al directorio deseado, el programa procederá a explorarlo a la búsqueda de ficheros en formato T64 (le puede llevar algún tiempo, si existen muchos ficheros)... mostrando al terminar los ficheros encontrados en la petición de selección. ------------------------------------------------------------------------------ Ficheros P00 ------------ El formato P00 se introdujo con el emulador PC64 para PC: cada fichero P00 representa a un programa de C64 individual. - Petición de selección El contenido de TODOS los ficheros P00 se muestra en dicha ventana, bastando con pinchar dos veces rápidamente sobre el fichero deseado, para que sea cargado y se proceda a su ejecución desde el modo de emulación. - [Cargar] Carga el programa seleccionado de un fichero P00 en la memoria emulada del C64. No se reinicia la emulación ni se activa/vuelve de forma automática al modo de emulación C64. - [Ejecutar] Lo mismo que pinchar con el puntero dos veces rápidamente sobre el nombre seleccionado en la petición de selección: la emulación se reinicia, se entra en el modo de emulación de forma visible, se carga el programa seleccionado y se ejecuta. - [Guardar] Se mostrará una petición para guardar la zona de memoria elegida del C64 emulado como un fichero en formato P00. El nombre que introduzca será el mostrado más tarde en la petición de ficheros. El rango dado por las localizaciones $2B/$2C y $2D/$2E es el guardado en dicho fichero: es posible guardar programas con una dirección final mayor que $CFFF. El fichero P00 escrito es nuevo, de manera que si existiese uno con igual nombre sería sobreescrito. - [Directorio] Una petición estándar aparecerá cuando seleccione esta opción: seleccionando el botón 'De acuerdo' después de haber elegido el camino de acceso al directorio deseado, el programa procederá a explorarlo a la búsqueda de ficheros en formato P00 (le puede llevar algún tiempo, si existen muchos ficheros)... mostrando al terminar los ficheros P00 encontrados en la petición de selección. ------------------------------------------------------------------------------ Ficheros C64 ------------ Los ficheros C64 son ficheros en el formato original del C64. Los primeros dos octetos contienen la dirección de inicio siendo seguidos por el resto de datos del programa. ------------------------------------------------------------------------------ [Estado disco] -------------- El estado actual de la emulación de la unidad es mostrado con este botón. El mensaje contiene información sobre el número de error, el texto asociado a éste, la última pista y último sector leídos. - [Actualizar] Lee el estado del disco/unidad y vuelve al estado OK. ------------------------------------------------------------------------------ [Emular C64] ------------ ¿No lo adivina? Inicia o retoma (en el punto que lo dejó) la emulación. ------------------------------------------------------------------------------ [Salir] ------- Este botón realiza una función extremadamente complicada, pero por desgracia no puedo decirle cual (es un secreto): tendrá que averiguarla usted por sí mismo ;-). ------------------------------------------------------------------------------ Introducción ------------ La unidad 1541 es emulada a nivel de fichero y de buffer. La CPU 6502 y el hardware especial NO es emulado. El acceso a ficheros en modo aleatorio es posible únicamente en modo de lectura. ------------------------------------------------------------------------------ Funciones soportadas -------------------- - CARGAR (LOAD) y GUARDAR (SAVE) programas (comodines '*' y '?' son posibles) Guardar datos en un fichero D64 es posible en la versión sin registrar de MagiC64, pero no puede guardar el fichero D64 en sí mismo. La sobreescritura de un fichero con @ al inicio de su nombre, funciona siempre correctamente (cosa que no ocurría con la unidad 1541 real). El acceso en modo aleatorio sólo es posible en modo de lectura. - Directorio Todos los tipos de ficheros, protegidos (<) y no cerrados (*) son mostrados. Los comodines y la selección de tipo de fichero mientras se carga un directorio es posible. - Acceso directo Es posible reservar buffers en la unidad con # (algunos comandos de ésta los utilizan). - Errores de canal Todos los errores y mensaje de estado son soportados. - Comandos de la unidad de discos Los comandos 'Scratch', 'Rename', 'Initialize', 'New' y 'Validate' son soportados. El comando 'Copy' no puede añadir datos a los ficheros ya existentes, siendo sólo posible duplicar ficheros con él. También la lectura, escritura, reserva y liberación de bloques es posible, lo mismo que los comandos del usuario equivalentes. El puntero del buffer debe definirse con el comando 'Buffer-Pointer'. Los comandos de memoria funcionarán en el rango definido para el buffer. El comando P para acceso aleatorio a ficheros también está soportado. ------------------------------------------------------------------------------ Funciones no soportadas ----------------------- Todos los comandos que ejecutan su propio código a medida en la unidad 1541 no funcionarán, como por ejemplo Block-Execute (ejecución de bloque), Memory-Execute (ejecución de memoria), los comandos de usuario del 3 al 8, y el comando &. Así tampoco funcionarán los programas que utilizan cargadores rápidos de propia cosecha (o rutinas de protección) ni es posible la escritura de ficheros en modo de acceso aleatorio. ------------------------------------------------------------------------------ El monitor MagicMon ------------------- MagicMon es un monitor para procesador 6510 muy potente que ofrece posibilidades de definir puntos de ruptura ('breakpoint') extendidos y ensamblado con etiquetas. El monitor se activa presionando el botón [Monitor] (único botón de la sección de 'Herramientas'. Hecho esto, el monitor siempre podrá ser (re)activado presionando la tecla ESC desde el modo de emulación o cuando la ejecución del programa llegue a algún punto de ruptura definido. Usando el comando 'x' abandonará el monitor (se cerrará su ventana y todos los puntos de ruptura definidos se borrarán), en cambio si utiliza en su lugar el comando 'q' la ventana permanecerá abierta y los puntos de ruptura permanecerán intactos. El comando 'g' le hará volver al modo de emulación C64, continuando la ejecución del programa mientras no se alcance alguno de los puntos de ruptura que se hayan podido definir o se presione la tecla ESC. La ayuda en línea de MagicMon se muestra con el comando 'h' (se ofrece información adicional sobre los comandos gracias a él). Como la mayoría de los comandos son autoexplicativos, sólo las posibilidades y opciones especiales se explicarán con cierto detalle. El comando para entrar en el modo ensamblador 'a dir_inicio' le mostrará la dirección 'dir_inicio', pudiendo introducir cualquier comando 6510 (todos son soportados incluyendo los ilegales). Puede abandonar el modo ensamblador presionando la tecla 'Return' sin introducir ningún comando o introduciendo 'f' seguido de 'Return' (en este último caso el programa será listado otra vez, sustituyéndose las etiquetas por los valores adecuados). Las etiquetas son de la forma Mxx (donde xx es un número hexadecimal entre 00 y 3F) y preceden a los comandos: se utilizan para comandos de bifurcación o con cualquier comando de carga y/o almacenamiento. Puede probar a introducir el siguiente programa comenzando en la dirección 4096 ($1000) con 'a 1000': 1000 ldx #00 1002 m02 lda m00,x 1005 beq m01 1007 jsr ffd2 100A inx 100B jmp m02 100E m01 rts 100F m00 .0d 1010 "HELLO" 1015 .00 Este programa mostrará en pantalla la palabra 'HELLO' ('HOLA') si se ejecuta tecleando SYS 4096 desde el modo de emulación. Por favor, percátese de que puede introducir bytes individuales en el programa con .xx y cadenas completas encerrandolas con las comillas dobles ". Los puntos de ruptura pueden definirse con 'b dir_ruptura', de manera que cuando se alcance esta dirección 'dir_ruptura', la ejecución del programa se detendrá y se invocará a MagicMon. Además puede especificar una dirección máscara con &: esta máscará será aplicada con una operación lógica Y (AND) siendo de este modo sólo posible definir rangos de direcciones. También es posible definir un contador de puntos de ruptura: en este caso el punto de ruptura se activará cuando dicho contador alcance un valor determinado. El último parámetro podría ser una configuración de memoria entre 0 y 7 (este número corresponde a los tres bits más bajos del puerto 1 de la CPU): de esta forma podría definir puntos de ruptura que se activen cuando un programa ejecute código de la ROM. Una prestación especialmente interesante de MagicMon son los puntos de ruptura tipo memoria que se activan si se accede a una posición o un rango de memoria determinado. Puede dividir esos puntos de ruptura en dos tipos: de lectura y/o de escritura, además de poder especificar un valor que los activará (cuando se escriba o se lea). De nuevo, es posible añadir una máscara numérica y así interrumpir la ejecución de un programa para definir o borrar bits individuales de posiciones de memoria (encontrará ejemplos en la ayuda en línea). Si se alcanza un punto de ruptura, el comando responsable de la interrupción de la ejecución del programa y el comando siguiente serán mostrados. Los puntos de ruptura pueden ser listados con 'bl' y borrados con el comando 'bk'. Definiendo estos puntos de ruptura, la emulación se ralentizará (y más si son puntos de ruptura de acceso tipo memoria). Puede ejecutar programas paso a paso con 't', mientras que con 'ts' puede hacer lo mismo pero con una subrutina completa. Como en estos casos se saltará al modo de emulación durante un breve lapso de tiempo con cada paso, puede activar la visualización con 'v'. Puede obtener información sobre el hardware con los comandos 'ci', 'si', 'vi', 'mi' e 'ii': le ofrecen información detallada sobre el estado actual de los chips CIA, del SID, del VIC, la configuración actual de memoria y de los vectores de interrupción. Con 'f' y 'fa' dispone de dos cómodos comandos de búsqueda. Puede cargar y guardar programas en formato C64 (lc, sc) y sin un formato especial (l, s). Es posible cargar o guardar datos en "discos" D64 con los comandos 'ld' y 'sd'. Puede acceder a los bloques de los "discos" D64 con 'rb','sb' y 'wb'. Para redirigir la salida de información utilice el comando 'o', para colocar secuencias de bytes en memoria utilice el comando ':', para listar o cambiar los contenidos de los registros use el comando 'r', para desensamblar programas utilice el comando 'd', para volcados de memoria utilice 'm'. Puede ejecutar comandos AmigaDOS desde el monitor si los precede con el carácter '.' y también puede definir el número de líneas (salida de datos) para los comandos 'd' y 'm' con el comando 'ln'. ------------------------------------------------------------------------------ ¿Cómo transferir software desde el C64 al Amiga? ------------------------------------------------ Aún no es posible conectar una unidad 1541 para ser utilizada desde MagiC64. Sin embargo, existe un buen número de programas gratuítos y de libre distribución (freeware) para este propósito: a continuación se reproduce una pequeña lista de programas disponibles en los directorios de Aminet (y su localización)... - Easy1541 de Fabrizio Farenga Conectando una unidad 1541 gracias a un cable especial a su Amiga, el programa crea ficheros D64 a partir de sus discos flexibles o permite extraer ficheros de dichos discos. Un muy buen programa, ¡altamente recomendable! /misc/emu/Easy1541.lha - 1541 Disk Reader de Dan Babcock Lee discos de C64 con una unidad de Amiga de 5.25 pulgadas. Puede crear ficheros D64 o leer ficheros individuales de dichos discos. /misc/emu/1541.lha - Datasette 64 de Holger Schemel Convierte ficheros de cintas turbo digitalizadas a un formato legible por el emulador MagiC64. /misc/emu/d64.lha - Emulador Frodo C64 de Christian Bauer Permite conectar una unidad 1541 al Amiga a través de un cable especial y transferir programas al Amiga (el esquema se incluye en su documentación). /misc/emu/Frodo.lha - Trans64 y StarCommander para clónicos IBM PC Ambos programas permiten conectar una unidad 1541 al PC a través de un cable especial. Puede encontrar estos programas entre ficheros relacionados con los emuladores por ejemplo en . ------------------------------------------------------------------------------ ¿Cómo acelerar el emulador? --------------------------- En la ventana "Preferencias gráficas", - Incremente la relación entre fotogramas (campo numérico "Fotogramas"). - Desconecte la opción "Sincronizar". - Desconecte la opción "Mostrar Borde". - Desconecte la opción "Límite de velocidad". - Conecte la opción "Refresco mejorado". - Use modos nativos del Amiga. - Use como tipo de pantalla "Amiga Screen" en lugar de "8 Bit RTG". - Active la opción "Acceso directo" cuando utilice una tarjeta gráfica. En la ventana "Preferencias de sprites", - Desconecte las colisiones sprite-fondo. - Desconecte las colisiones sprite-sprite. En la ventana "Preferencias de sonido", - Elija como "Emulación" la opción "Ninguna". ------------- Nota: Para una velocidad de emulación decente necesitará al menos una CPU 68030 (40 MHz) o una CPU 68040. ------------------------------------------------------------------------------ ¿Cómo ralentizar el emulador? ----------------------------- En la ventana "Preferencias gráficas" (use el botón [Gráficos]), - Active la limitación de velocidad: esto reducirá la velocidad de emulación ajustándola al del C64 original en equipos muy rápidos. ------------------------------------------------------------------------------ ¿Qué programas no funcionan? ---------------------------- Todos los programas que utilizan cargadores rápidos no funcionarán con MagiC64; los sprites en los bordes laterales no serán mostrados; la emulación del sonido tiene algunos problemas con efectos de sonidos complejos; los efectos gráficos de línea no se mostrarán correctamente. ------------------------------------------------------------------------------ ¿Cómo cambiar de disco? ----------------------- - Presione la tecla 'ESC' para abandonar el modo de emulación. - Entre en la ventana D64. - Elija [Cargar D64] - Cargue el fichero D64 que contiene un nuevo disco. - Salga de la ventana D64. - Vuelva a la emulación con el botón [Emular C64]. ¿El emulador no responde? ------------------------- Puede que haya presionado la tecla 'Enter' (en el teclado numérico): basta con que presione otra vez 'Enter' y el emulador seguirá con su trabajo. Con el teclado nacional (modo "National") éste a veces se bloquea... así que basta con presionar la tecla AmigaIzqda para reiniciar el teclado. Algunos juegos requieren el joystick en el otro puerto (puede cambiar el puerto desde las preferencias o desde la emulación con la tecla '*' del teclado numérico). En cualquier caso, debería ser posible abandonar el modo de emulación presionando la tecla ESC, y si no... seguramente es debido a un error del emulador. ------------------------------------------------------------------------------ ¿Qué significan las advertencias/avisos? ---------------------------------------- A veces el emulador cambia del modo C64 de emulación al modo Amiga y muestra una advertencia o aviso. Estos son los tres tipos de avisos posibles: 1. Se ha ejecutado una instrucción fatal que bloquea el C64: en este caso habitualmente es debido a que el programa está dañado. Pruebe el programa en otro emulador diferente (¡o incluso un C64 real!, y si funciona entonces póngase en contacto conmigo pues se trataría de un error en la emulación. 2. Se ha ejecutado una instrucción BRK ('Break'): en la mayoría de los casos el programa está defectuoso. Algunos programas, como por ejemplo los monitores de lenguaje máquina, utilizan esta instrucción: desconecte en la sección de preferencias de la CPU/ROM la opción 'Aviso de instrucción BRK'. 3. Comando de la unidad de discos 1541 no soportado (B-E,M-E): el C64 intenta ejecutar un programa en la propia unidad, sin embargo esto no está soportado por el emulador y así ciertos programas como "cargadores rápidos" fallarán. ------------------------------------------------------------------------------ Trucos y consejos para algunos programas ---------------------------------------- En esta página encontrará ayuda para programas que no se ejecutan o que lo hacen mal con la configuración estándar de MagiC64 (si usted encuentra por su propia cuenta mejores ajustes, por favor hágamelo saber). Estas son las preferencias estándar: - Ciclos por línea de barrido = 63 - Ciclos por línea errónea = 23 - Ciclo de inicio = 15 Puede modificar estos valores durante la emulación (modo C64) con las teclas definidas para ello. Para algunos juegos, bastantes intros y demos, verá que se produce cierto parpadeo, especialmente en el borde de la pantalla. A menudo ayuda definir el valor de los ciclos por línea de barrido a 64, siendo necesario algunas veces cambiar también en valor de los ciclos por línea errónea. Ajustes para algunos programas: - Flash Gordon Part 1 Fotogramas 1/1. - Fusion Intro Presione la tecla 'q' y la barra espaciadora simultáneamente para saltarse la introducción. - Highlander Part 1 Ciclo de inicio = 30. - Infernal Runner Fotogramas 1/1. - Infocom adventures Cuando le pregunte por el tipo de unidad de disquettes, elija NO 1541. - Inspector Gadget Ciclo de inicio = 30. - Tornado Low Level Fotogramas 1/1. Puede incrementar su valor de nuevo durante el juego. - Turrican I Ciclos por línea de barrido = 64. Ciclos por línea errónea = 64. - Zenji Ciclos por línea de barrido = 64. ------------------------------------------------------------------------------ ¿Su Amiga es veloz y sin embargo MagiC64 es lento? -------------------------------------------------- Cuando se utiliza una emulación a nivel de línea de barrido para emular un C64 como hace MagiC64, gran cantidad de datos han de ser procesados: aproximadamente 1.5 MB de datos gráficos por segundo. La utilización de un refresco inteligente ayuda algo, pero requiere la utilización de estructuras de datos complejas para funcionar correctamente (no se puede utilizar MMU en este caso y un coprocesador matemático aquí no sirve de nada). No se puede comparar una emulación de C64 en términos de velocidad, por ejemplo, con una emulación de Spectrum. El hard del C64 es mucho más complicado: la emulación de sprites consume gran cantidad de tiempo de procesador (no, el emulador no utiliza los sprites del Amiga). Tampoco la compilación dinámica tiene mucho sentido, pues: 1.- La emulación de video requiere mucho más tiempo que la emulación de CPU, 2.- Esto significa código automodificable, con el cual las CPU de Motorola tienen problemas, 3.- Debe contabilizarse siempre los ciclos, lo que significa una diferencia muy pequeña con el código interpretado. ¿Y porqué A64 es tan rápido? pero por contra, ¿porque A64 tiene tantos problemas con los efectos de barrido? Digamos simplemente que necesitaría un 68060 para una velocidad de emulación completa con un relación de fotogramas 1/1 si utiliza una emulación a nivel de línea... y percátese de que los emuladores de C64 para PC exigen al menos un 486 a 66 MHz para una velocidad idéntica a la original del C64 (lo que equivale a un 68040 a 40 MHz). Por ello nunca obtendrá una emulación completa (velocidad) en un Amiga con una CPU 68020 a 14 MHz (si no me cree escriba un nuevo emulador y estaré encantado de verlo :-). ------------------------------------------------------------------------------ Historia [claves: * = corrección de error, N = añadido] -------- 1.0 - Primera versión de distribución en Aminet. 1.01 * - Corregida detección errónea de CPU 68020. - Por defecto ahora se usa como tipo de pantalla el modo "Amiga View" ('Vista'). 1.1 * - El emulador no se podía ejecutar bajo SO 2.04 o 2.1. Corregido. * - Debido a un error en el SO 3.0 el tipo de pantalla "Amiga Screen" ('Pantalla Intuition') no funcionaba. La utilización de SetPatch 40.14 o versión superior corrige este problema. Si utiliza SO 3.0 una petición de selección aparecerá al principio.. * - Cuando se selecciona con una doble pulsación rápida un programa para cargar y ejecutarlo, algunas veces sólo se producía un reinicio; en el peor de los casos, la pantalla del C64 permanecía abierta, cuando se abandonaba el modo C64. Ahora debería estar corregido. * - En las preferencias de teclado al seleccionar el modo "National" ('Nacional') el teclado a menudo se bloqueba. Corregido. * - Algunos colores de la paleta de color simplemente aparecían incorrectos. Corregido. * - Los comandos PHP y BRK de la CPU 6510 no funcionaban correctamente; la instrucción DDR 0 tampoco era utilizada. Los tres errores se han corregido. * - Ahora es posible crear un 'disco' D64 seleccionando el botón "Formatear" cuando no se ha cargado previamente un fichero D64. N - Ahora puede sincronizar de forma explícita los fotogramas no visualizados. Desconectado por defecto, esta opción en la ventana de preferencias gráficas (botón [Gráficos]) le permitirá acelerar el funcionamiento del emulador, especialmente en los equipos Amiga más lentos. N - Alguna gente me ha solicitado el soporte directo de los ficheros del C64... y aquí está. N - El registro del programa con fichero llave ahora es posible. Dicha llave es válida para todas las actualizaciones. N - Ahora en la dirección encontrará el soporte oficial de MagiC64. En el directorio /pub/amiga encontrará nuevas versiones del programa y un fichero c64progs.lha que contiene aproximadamente 100 juegos en formato P00. 1.2 (22.12.1995) * - Problema de reinicio con doble pulsación del botón izquierdo del ratón finalmente corregido. * - Emulación del chip VIC 6569. - MagiC64 produce basura en la pantalla cuando el modo de 38 caracteres está activado y el registro de desplazamiento horizontal contiene un valor no nulo. Este error afecta a MUCHOS juegos y bloquea el emulador completo en el peor de los casos. Corregido. - En los juegos con desplazamiento ('scroll') vertical, las áreas superior e inferior del área de desplazamiento a menudo se perdían. Corregido en casi todos los casos, aunque a veces no pueda impedir algunos fallos en la visualización. - Mejor temporización de los sprites (International Karate). - Emulación de la CPU 6510. - Los tres bits superiores eran siempre borrados. Corregido (Bruce Lee, Zorro). - Emulación CIA 6526. - La entrada de datos en el teclado en modo invertido ahora es posible (Pitfall II, Johny Rebb II y otros). - Las interrupciones IRQ y NMI a veces eran ignoradas (Ghosts and Goblins). - Los temporizadores ahora son más precisos. - Emulación de la unidad 1541 - Corregidos muchos pequeños errores. * - Presionar la tecla ESC cuando el emulador se había detenido con la tecla ENTER bloqueaba MagiC64. Corregido. * - Las listas de selección ('listviews') a veces no se refrescaban correctamente. Corregido. N - Nuevas prestaciones en la emulación de la unidad 1541: - Lectura, escritura y adición permitida en ficheros secuenciales (SEQ). - Carga de programas ISEPIC. - Ahora se pueden usar los comodines para leer los directorios. - Ahora puede usar nº de unidad en los nombres de fichero. N - Las posiciones de las ventanas son guardadas en un fichero. N - Cuando seleccione el camino de acceso a los ficheros P00 o T64 gracias a los botones [Directorio] correspondientes, debe seleccionar un camino y no un fichero: habitualmente como una consecuencia de esto aparecerá una petición sólo para seleccionar dichos caminos. N - Los ficheros T64 sin nombre son mostrados como en la lista de selección. N - Teclas especiales para cambiar la relación de fotogramas (+/-) y el puerto de juegos (*) en plena emulación. N - En la versión registrada, una advertencia aparece cuando se cambia el fichero D64 y la versión anterior de este fichero ha sido modificada (escrita). La elección inicial de doble-buffer es guardada también. N - Añadidos algunos nuevos catálogos y un fichero guía en alemán y otro en sueco. 1.21 (25.12.1995) * - Error (advertencia de Enforcer) cuando se llamaba a LayoutMenus (dibujado de menús) eliminado. N - Añadido iconos estilo MagicWB. 1.3 (14.1.1996) * - Emulación del chip VIC. - En modo PAL, se calculaban 313 líneas en lugar de 312. Este error afectaba a juegos como Nemesis y Rainbow Islands. - En modo de gráficos multicolor, las colisiones sprite-fondo a veces no eran detectadas (Thrust). - Emulación de la CIA. - Completamente reescrita. Ahora es más corta y fiable. - El bit utilizado para el modo de acoplamiento de los temporizadores era incorrecto (Ballblazer). - Emulación de la CPU 6510 - PLP siempre activa la bandera B. Corregido. - En modo de memoria $01=01 se leía la ROM en lugar de la RAM (Park Patrol). - Emulación de la unidad 1541 - No era posible leer ficheros o el directorio de discos en los que los dos primeros bytes de la BAM no apuntasen al primer bloque de directorio. Corregido. - El comodín '*' a veces no era correctamente manejado (Bangkok Knights). * - Dos advertencias generadas por Enforcer raras veces (acceso de lectura a la dirección 0) eliminadas. N - Biblioteca 'playsid.library' ahora soportada. N - Añadida opción de autodisparo 'inteligente'. N - Indicador de acceso a disco. N - Nuevas (combinaciones de) teclas para sonido, autodisparo y modo rápido. 1.5 (3.7.1996) * - Emulación de la CPU 6510 - Todas las banderas de estado en el modo BCD son activadas de forma correcta. - Todas las instrucciones ilegales son soportadas. - Errores con algunas instrucciones ilegales eliminados (On Court Tennis). * - Emulación del chip VIC - Las interrupciones sprite-sprite y sprite-fondo son suspendidas hasta que los correspondientes registros no sean leídos (Potty Pigeon). * - Emulación de la unidad 1541 - Los ficheros de acceso aleatorio ahora pueden leerse, soportándose también el comando 'P' (Castler Wolfenstein). - La lectura de directorio con comodines Y número de unidad especificada ahora funciona correctamente (Dr. Creep). - Cuando un fichero es abierto, el fichero precedente que utiliza el mismo canal es cerrado (Creatures). * - Emulación SID - El escribir en el registro de control de volumen corrompía el contenido del registro de estado de la CPU 6510. Corregido. * - La pantalla es posicionada correctamente en todos los modos cuando se utiliza "Amiga View" ('Vista'). * - MagiC64 debería funcionar ahora bien con el gestor de tareas 'Executive'. * - Parpadeo de color verde cuando se ejecutaba Jumpman eliminado. N - Monitor 6510 'MagicMon'. N - Modo de refresco mejorado (inteligente). N - Ralentización para Amigas muy rápidos (limitación de velocidad). N - Soporte de tarjetas gráficas (CyberGfx). N - Emulación del joystick vía teclado numérico. N - Ahora todas las características disponibles en la versión sin registrar: se establece un tiempo límite de 10 minutos en el modo C64. 1.7 (1.12.1996) * - Emulación de la CPU 6510 - Corregidas las banderas en el modo BCD por SBC (Joe Blade). - Corregida una instrucción ilegal (Ms. Pacman). * - Emulación del chip VIC - El refresco mejorado (inteligente) ahora funciona con cada modo y es más rápido. - El borde es mostrado más rápido. - El borde es 4 pixels más grande en la parte superior e inferior. - La escritura en los registros de colisión es ignorada (Phantoms of the Asteroid). - Cuando la visualización es desplazada en la dirección X y el bit del modo de 38 caracteres no está activado, aparece el color del fondo (Pesky Painter). - La visualización libre ('idle display') con modos ilegales se mostrará en negro y no el valor $3FFF (Paperboy, Druid). - Los contadores internos ahora se actualizan en los modos ilegales. Bastantes programas en los que sólo partes de la pantalla son desplazados correrán ahora más suavemente y sin "efectos" visuales (Druid, Rambo). * - Emulación de la CIA - Los temporizadores acoplados corrían el doble de rápido de lo que deberían. Corregido (Enduro Racer). - Cuando los temporizadores estan en marcha con intervalos de tiempo muy pequeños ahora se utiliza el intervalo completo (Phantoms of Asteroid). * - Emulación de discos flexibles - La opción de guardar en 'discos' D64 que ya no funcionaba en la versión 1.5 se ha corregido. Además ahora es posible guardar ficheros mayores de 160 bloques. - El indicador de acceso a disco funcionará ahora en cada modo. * - El emulador puede bloquearse cuando se utiliza la biblioteca 'playsid.library' y 'Executive' bajo Kick 3.0. N - El emulador ahora es utilizable a través del teclado. N - Se opta por un modo de pantalla estándar, cuando el modo de pantalla en el fichero de preferencias no está disponible. N - Se añade un caché para los sprites (para una mejor velocidad de emulación). N - Velocímetro. N - Las acciones controlables a través de combinaciones de teclas son mostradas en una línea de estado. N - La selección del doble buffer bajo Kick 3.0 sólo aparecerá la primera vez que se ejecuta MagiC64. Lo mismo ocurre con la advertencia que aparece cuando la biblioteca de sonido no se encuentre disponible. N - Catálogo y fichero guía en francés. N - Catálogo italiano. 1.7 (8.12.1996) * - El emulador se puede bloquear en el modo C64 sin el refresco inteligente (mejorado) cuando se utilizan las (combinaciones de) teclas para controlar el emulador. * - El juego Stratton vuelve a funcionar. N - El manejo de sprites ha sido modificado. En juegos como Exploding Fist, International Karate o 1942 ya no se producirá el parpadeo de sprites. El único juego ligeramente afectado por el cambio de la forma de manejo es Delta. 1.7 (11.12.1996) N - Directorios con líneas de separación ahora se ven mejor en la lista de opciones de 'discos' D64. N - Nueva sección en el fichero guía referente a trucos y consejos para algunos programas. ------------------------------------------------------------------------------ Lista de planes futuros ----------------------- - Corregir errores que puedan existir. - Planeado un "congelador" de la emulación. - Posibilidad de conectar una unidad 1541 real. - Emulación 1541 completa para los modelos Amiga muy rápidos (68060). - Ya se verá... :-) ------------------------------------------------------------------------------ Saludos y agradecimientos ------------------------- Gracias a... - Jochen Wiedmann por Flexcat. - Helmut Neumann por sus pruebas con las versiones beta. - Mi hermana Katja por ayudarme con la traducción de la documentación (aunque NLS la ha retocado un poco ;). - Mi hermano Markus que ha apoyado este producto siempre :-). - NLS por algunos consejos útiles e informarme de errores encontrados. - Leon Woestenberg por el catálogo en holandés. - Christer Bjarnemo por el catálogo y fichero guía en sueco. - Peter Sandén por los iconos estilo MagicWB. - Florent Brun por el catálogo y fichero guía en francés. - Alessandro Basso por el catálogo italiano. y finalmente a: - ¡¡¡ TODOS LOS USUARIOS REGISTRADOS DE MAGIC64 !!! - Nick "NLS" Sardelianos por encargarse del mantenimiento de la documentación AmigaGuide. ------------------------------------------------------------------------------ Fuentes de soft para C64 ------------------------ Basta que realice una petición FTP en la dirección : en el directorio pub/amiga encontrará un fichero denominado c64progs.lha que contiene unos 100 juegos aproximadamente en formato P00 (todos estos juegos han sido probados con MagiC64 y deberían ejecutarse sin ningún problema). Además también puede probar en las siguientes direcciones: arnold.hiof.no 128.195.201.233 (Childhoods End) directorio cdrom frodo.hiof.no También puede consultar el grupo de noticias comp.emulations.cbm para informarse de otras posibles fuentes de soft para C64. Esta página está en construcción: incluirá en un futuro direcciones FTP y WWW. ------------------------------------------------------------------------------ TRADUCCION AL ESPAÑOL 1.7.1 (20.4.97) ------------------------------------- Este documento es de copiado y distribución gratuíta. Su utilización es siempre bajo la responsabilidad del propio usuario asumiendo éste todos los riesgos (ni siquiera garantizo una correcta traducción, así que por favor, consulte la documentación original). ¡¡¡ATENCION!!! El soporte local del programa aún no es total: algunas cadenas no son traducibles aún como "Kick x Double Buffering", "ScreenMode Requester", "National", "ROM emulation", "Amiga View", "floppy off", "C64 port x", etcétera, o sea, que no ha sido un lapsus mío a la hora de traducir el catálogo :D Dámaso Domínguez Estévez Email: amidde@arrakis.es ¡Sólo Amiga y NOSOTROS lo hacemos posible! ------------------------------------------------------------------------------ * EOF *