DÁMASO D'ESTEVEZ Manual castellano del AMIRIC V0.9 - (2/2) **************************************************************************** Amoric (v0.9) El primer emulador de ORIC Atmos 48K para Amiga © Copyright 1995-96 Jean-François Fabre Traducción al español de Dámaso D. Estévez - (2/2) **************************************************************************** GARANTIAS / RESPONSABILIDADES No me hago responsable de ningún daño causado directa o indirectamente por el empleo de este programa, independientemente de que se emplee correcta o incorrectamente. Siempre que use este programa, ¡¡será bajo su propia responsabilidad!!. ============================================================================= CAMBIOS DESDE LA VERSION ANTERIOR 'Amoric' se encuentra ya en la versión 0.9 (el nº de versión ha sido incrementado ya que incorpora algunas mejoras importantes). * Se ha añadido sonido, pero aún no es perfecto... * Se ha mejorado la emulación 6522 (de nuevo, gracias Fabrice por la documentación). * Documentación en sueco (pero corresponde a la versión 0.8b). * Soporte de la ROM del Oric 1 (con todos los parches correspondientes). * Mejora de la velocidad entre un 5-8% gracias al empleo de las rutinas de ROM para la lectura del teclado y en el sonido, al parcheo (opcional) de la rutina de escritura del AY-3-8912 que necesitaba una emulación precisa, y por consiguiente costosa en velocidad pues se llamaba ¡unas 6.400 veces por segundo! * Probado con éxito con Enforcer y Mungwall * He dejado de comprimir los ejecutables con CrunchManía ya que alguna gente me ha informado de cuelgues en ciertos equipos por su culpa. Gracias a Kamel por informarme. * Añadida una utilidad para obtener información y corregir, en ciertos casos, los ficheros de cinta de cassette virtual: TapeInfo . ============================================================================= ERRORES Y PROBLEMAS Los errores más importantes son debidos a las dificultades de emular correctamente al Oric original. He tenido problemas para que algunos juegos funcionasen. De hecho, algunos de estos errores detectados me han enseñado mucho sobre la estructura interna del Oric y me han permitido mejorar enormemente la emulación: personalmente, considero absolutamente imprescindible probar al menos 10 o 20 juegos cuando se programa un emulador (y digo juegos, porque es la única utilidad que le encuentro a una emulación de un ordenador de 8 bits). * En primer lugar, no he implementado 'correctamente' las instrucciones no documentadas (y hay un montón de ellas): al contrario que los programadores de Apple II y C64, por desgracia, se emplean poco en el Oric, y digo por desgracia ya que por ejemplo es frecuente el error cometido por los programadores con la instrucción BRK, que al retornar al programa deja el contador de instrucciones (PC) incrementado en dos unidades y no una como debiera. Si cree que lo he soñado, pruebe esto en su Oric: DOKE #400,#6000 -> BRK -> RTS POKE #402,#4C -> JMP $FAE1 (ZAP) DOKE #403,#E1FA Si ejecuta CALL #400 oirá un ZAP, que querrá decir que la instrucción RTS ha sido saltada sin ser ejecutada. Nota: En el C64 y el Apple II, las instrucciones no documentadas son encontradas muy convenientes por algunos 'programadorzuelos' y las usan sin ningún pudor. Actualmente, 'Amoric' maneja las instrucciones no documentadas avanzando el contador de instrucciones (PC) el mismo nº de bytes que lo haría un 6502 real, pero sin realizar ninguna operación (utilizando instrucciones NOP). 'Amoric' sólo falla (lo que lo obliga a terminar y a salir a usted del emulador) si se encuentra alguna de las instrucciones que originalmente en un Oric harían que se bloquease (como las de la familia $x2). * En segundo lugar, no he implementado un sistema de refresco de pantalla de manera demasiado natural por razones de velocidad. Justamente por ello algunos errores pueden producirse cuando se produce un cambio HIRES/TEXT, o si se usa, como en algunos juegos, el modo de vídeo mixto half-TEXT half-HIRES (DOGGY, FIRE FLASH, STYX...) pues este modo es bastante difícil de reproducir con mi técnica de refresco actual. Estos modos no son emulados, pero ya he prometido en la documentación de la versión 0.8 que lo serían en la próxima versión (que es justamente ésta por lo que me temo que he mentido ;-). Aún así, prometo que haré lo posible para implementarlo: mis últimas pruebas han sido infructuosas... en este momento, podría incorporarlo pero supondría ralentizar la emulación considerablemente, así que busco alguna solución ingeniosa para solucionarlo. * Para terminar, el chip VIA 6522, utilizado para gestionar las entradas y salidas (teclado, sonido) y las interrupciones del reloj, no es moco de pavo emularlo. He intentado emular las funciones vitales (Temporizadores 1 y 2, comunicaciones con el 8912), pero tengo siempre algunos problemas con el Temporizador 2 y con el PCR; por otro lado algunas funciones son activadas al leer los registros y como no intercepto dichas lecturas, nunca funcionarán (por suerte, no son utilizadas). Consultaré estos detalles con Fabrice. * Un molesto error que acaba de evitar que emplee una verdadera pantalla Intuition: si presiono el botón izquierdo del ratón, el sistema se bloquea. Esto es debido a un conflicto entre los eventos gestionados por Intuition y mi visualización: por esta razón emulo el segundo joy del Oric en el mismo puerto que el primero. ============================================================================= JUEGOS QUE FUNCIONAN CORRECTAMENTE CON 'AMORIC' La lista se incrementa de una versión de Amoric a la siguiente. Algunos de estos juegos deben ser parcheados para funcionar pues necesitan una emulación demasiado precisa (ciclos de reloj...): están en negrita y precedidos por un asterisco *. 3D-FONGUS (Loriciels) 3D-MUNCH (Loriciels) L'Aigle d'Or (Loriciels) Andromeda et Persepolus Le Spectre d'Anubis(Eric Chahi) Archerons'S Rage Arena Baston (Sprites) Bering (Dialog) Bombyx (Dialog) James Bond Part 1 (Severn) Breakout (Tansoft) Categ-Oric (No Man's Land) Centipede (PSS) Chess I et II (Tansoft) Chopper (Severn) Corsaire (Hebdogiciel) Crocky (Loriciels) Damsel in Distress (IJK) DEFENCE FORCE (Tansoft) Le Diamant de l'île maudite (Loriciels) Don Juan et Dragueurs (Micropuce) Don't press 'Q' (Andrew Moore) Dracula's Revenge (PSS) Driver (Dialog) Elektro Storm (PSS) Esquive (Oric France) NO EMPLEE LA VERSION DE LA PAGINA Frelon (Loriciels) <=== WEB 'ORIC': ¡¡¡ESTA CORRUPTA!!! Frogger GALAXION (Loriciels) GALAXIANS GALAXION (Loriciels) GASTRONON (Loriciels) Le Manoir du Docteur Genius (Loriciels) Ghost Gobbler (IJK) GHOSTMAN (Infogrames) GRAPH (Loriciels) Gravitor (Severn) HADESASM HADESMON HARRIER ATTACK (Durell) The Hobbit (Melbourne) Honey Kong (Sprites) Hopper (PSS) Hu*Bert (Loriciels) HunchBack (Ocean) Hyper Olympics ('Jueguecillo' mío de 1984) INVADERS (IJK) L'Immonde Dr Kokus ('Jueguecillo' mío de 1986) KRILLYS LAND-ILL (Tansoft) Light Cycle (PSS) Lilla et Jacky (MicroPuce) LMPLUS LOCUS M-A-R-C (PSS) Macadam Bumper (ERE) MISSION MR WIMPY (Ocean) Mushroom Mania Le Trident de Neptune (No Man's Land) Nibbler (Hebdogiciel) Nowotnik Adventure Orion (Loriciels) Panic (No Man's Land) Pastablasta (Arcadia) Pengo Playground 21 Tendre Poulet (Sprites) Probe 3 (IJK) Le Protector (Loriciels) Psychiatric (Ere) Lone Raider (Infogrames) Le rendez-vous de la terreur (Ere) Le retour du Dr Genius (Loriciels) S.A.G.A (Ere) SKRAMBLE (Micropuce) Spooky Mansion StarFighter (Severn) Starter 3D (No Man's Land) Strip 21 (Micropuce) Super Jeep (Loriciels) Two Gun Turtle Le secret du tombeau (Loriciels) Le tour du monde en 80 jours Triathlon (Ere) TrickShot (Ijk) Trouble in store TYRANN (Norsoft) WAYDOR WYX (Hebdogiciel) * XENON 1 (IJK) XENON 3 (IJK) ZEBBIE (IJK) ZODIAC (IJK) Zoolympics (No Man's Land) Zorgon's Revenge (IJK) ============================================================================= AUN NO IMPLEMENTADO... Algunas cosas que aún no están listas: * Modo half-TEXT/half-HIRES (¡¡por ahora realmente penoso!!). * Mejor emulación de sonido. * Multitarea. * Una verdadera pantalla generada desde Intuition. * Emulación de disquette (virtual o real). * Mejora del modo flash --parpadeo--. ============================================================================= FORMA DE REGISTRARSE Considero interesante la idea de registrarse aunque no voy a exponer la multitud de razones que existen a su favor. El programa Amoric es giftware (gift=regalo), de manera que para 'registrarse' deberá enviarme algo: acepto juegos y/o utilidades que usted mismo haya desarrollado, y también traducciones del manual al alemán, al español, y a otros lenguajes. Si ha perdido todo su dinero jugando al Mortal Kombat II de manera que no tiene tiempo para traducir este documento al checo, o no sabe programar,... puede aún así puede enviarme un mensaje por correo electrónico para decirme lo que le parece el programa. Alguna gente ya contactó conmigo cuando distribuí la versión UNIX pues en el fichero .readme ('.léeme') comentaba que tenía un Amiga: lo peor, es la indiferencia. ============================================================================= YO Si quiere hacerme comentarios sobre este programa, sugerencias o informar de errores/fallos en su funcionamiento, por favor, escríbame por correo electrónico (E-mail) a: fabre@supaero.fr o fabre@cert.fr Las cartas de amor y las amenazas de muerte son bienvenidas (¿le he comentado que practico artes marciales?). ============================================================================= AGRADECIMIENTOS Me gustaría dar las gracias a: - Fabrice Frances, quien me ha proporcionado la documentación completa del 6522 y del AY-3-8912, y que ha programado para los usuarios de PC un programa que no se merecen ;-). También me ha ayudado a corregir errores en la versión UNIX y me ha proporcionado su código de emulación 6522 para i80x86 (¡aunque funciona mejor en su casa!) además de un montón de sugerencias. Por si fuera poco, vive en Toulousse, y trabajamos a 500 m. de distancia el uno del otro. - Olivier Galibert, que contactó conmigo por la versión Unix para informarme de un error y por pura 'chiripa' hablamos de una versión para 680x0. Gracias a todas tus estupendas sugerencias sobre la emulación de la CPU 6502 y la documentación correspondiente (incluyendo instrucciones indocumentadas): si no fuera por ellas, posiblemente, Amoric nunca llegaría a existir. - Boris Granveaud, que ha escrito la rutina de digitalización de cassette. Por su amistad y por su precisa ayuda en la eliminación de errores cuando decidí escribir la versión Unix. - Christer Bjarnemo, por la traducción de este documento al sueco. No conocía el ORIC, pero le chiflan los emuladores. - Olivier Balet, por trabajar en mi versión Unix. - Sylvain SOUCHE y Jean-Yves ROSSI por proporcionarme algunos juegos que me había 'cargado' por descuido. Gracias especialmente a Jean-Yves que me prestó su ORIC (perdí el mío), sus cables y su (jod***o) magnetófono. - Bruno Thiebolt, creador de OricLink, y quien ha transferido multitud de juegos del Oric a la página Web dedicada a este ordenador. - La difunta revista francesa 'Theoric', en la cual Boris y yo pudimos encontrar información técnica sobre el 6522 y el formato en cassette. - Eric Totel, por haber probado el programa en su A1200, y por dejarme su manual 'RKM Libraries'. - Oliver Rummeyer, por su gran programa "RO", un gestor de ficheros del estilo Directory Opus, shareware, del que soy actualmente distribuidor oficial en Francia [FIN DE LA PUBLICIDAD]. - Al Amiga , por ser un gran ordenador y una alternativa a los todopoderosos PCs. - A todo el mundo que ha probado y disfrutado con este programa en su versión UNIX, a los nostálgicos del ORIC, y también a quienes me han escrito por correo electrónico para hablar sobre Amoric. - Los Pixies, los Breeders, y Franck Black. Esta música no es para P0s (tú eres la excepción a la regla, Fabrice). ============================================================================= FABRICE FRANCES Ha escrito Euphoric (disponible en ftp.ensica.fr), un emulador de Oric para PC. Es un asiduo en Web y en la lista de correo de Oric. Para contactar con él, pruebe: frances@ensica.fr o frances@laas.fr OLIVIER GALIBERT Actualmente está escribiendo la versión para Atari ST. Para contactar con él, pruebe: Olivier.Galibert@mines.u-nancy.fr ============================================================================= EL AMIGA Es un equipo fabuloso: espero que continúe por mucho tiempo. ============================================================================= TAPEINFO Permite obtener información de los ficheros 'cassette' y corregir las marcas de sincronía incorrectas. Escribí TapeInfo recientemente para corregir de modo automático algunos ficheros que no tienen suficientes bytes de sincro ($16). Los ficheros funcionan correctamente con Amoric 0.8, 0.8a, 0.8b pero no con Euphoric, el emulador de Oric para PC de Fabrice Frances (ya me pedido que lo arreglara), ni con esta última versión de Amoric (0.9). COMO USARLO: 1) Para obtener información de un fichero de cinta tapeinfo [fichero] Ejemplo: 6.MiDiscoDuro:Programacion/ORIC48K/games> tapeinfo DEFENCE.DAT -- Amoric TapeInfo -- Written by JF FABRE -- Loading source file : DEFENCE.DAT... File size : 58686 bytes. Analysing tape... Program 1 : Offset $0 Good Sync found at offset $0. Program name : L Start : $6000 End : $69ff Length : $9fe Program 2 : Offset $a0f Good Sync found at offset $a0f. Program name : A Start : $4fd End : $4dff Length : $4901 Program 3 : Offset $5321 Good Sync found at offset $5321. Program name : B Start : $2980 End : $727f Length : $48fe Program 4 : Offset $9c30 Good Sync found at offset $9c30. Program name : C Start : $4e00 End : $96ff Length : $48fe 2) Para corregir errores de sincronía, incluso con ficheros 'cassette' multi-partes: tapeinfo -c [fichero] Ejemplo: 6.MiDiscoDuro:Programacion/ORIC48K/games> tapeinfo -c HOPPER.DAT -- Amoric TapeInfo -- Written by JF FABRE -- ** Correcting mode activated... Loading source file : HOPPER.DAT... File size : 19218 bytes. Analysing tape... Program 1 : Offset $0 Weak Sync found at offset $0. <- Marca de sincronía errónea Program name : HOPPER Start : $500 End : $5000 Length : $4aff Correcting part 1... El programa no modifica el fichero si todas las marcas de sincronía son correctas (puede usar este programa con un gestor de ficheros como RO, Browser II o Directory Opus). ATENCION: NO use este programa con ficheros que no sean del tipo 'cassette' pues puede que los interprete y destruya (así que no está de más que compruebe este detalle antes de procesar algún fichero para evitar riesgos innecesarios). ============================================================================= TRADUCCION AL ESPAÑOL v. 1.1 (9-2-96) Este documento es de copiado y distribución gratuita. Su utilización es siempre bajo la responsabilidad del propio usuario asumiendo éste todos los riesgos. Dámaso "AmiSpaTra" Domínguez http://www.xente.mundo-r.com/amispatra/ Que lo disfrute y recuerde que... ¡¡Sólo Amiga y nosotros lo hacemos posible!! ============================================================================= NOTA DEL TRADUCTOR... El programa está disponible en el CD de AmiNet nº 9