home *** CD-ROM | disk | FTP | other *** search
/ World of A1200 / World_Of_A1200.iso / programs / emulator / spectrumaga / zxam_spectrumaga.doc_esp < prev    next >
Text File  |  1995-02-27  |  27KB  |  578 lines

  1. ›[0m›[0 p
  2.                        ›[0;1;33;40mZXAM SPECTRUM EMULATOR AGA v1.3 ß›[0m
  3.          © 1994 WareSoft Todos los derechos reservados
  4.            Programado por Antonio J. Pomar Rosselló
  5.  
  6.  
  7.  
  8.  
  9. ›[0;1mDISTRIBUCION›[0m
  10.  
  11.    Este programa es FreeWare. Esto  significa  que el programa    puede  circular
  12. libremente  siempre que se incluyan todos los ficheros    asociados al  programa.
  13. Está  prohibido  utilizar el programa para fines comerciales, o sea que solo se
  14. pueden    cargar los gastos normales de copia y envio que se cargan habitualmente
  15. en las librerias de Dominio Público.
  16.  
  17.    El paquete completo de distribución comprende:
  18.  
  19.     ZXAM_SpectrumAGA    Este es el programa ejecutable (con icono).
  20.     ZXAM_SpectrumAGA_FAST    El mismo, pero versión rápida (con icono).
  21.     ZXAM_SpectrumAGA.DOCesp El fichero que estás leyendo ahora (con icono).
  22.     ZXAM_SpectrumAGA.DOCeng Traducción a inglés de este DOC (con icono).
  23.     LEEME!!            IMPORTANTES notas de distribución (con icono).
  24.     README!!        Lo mismo, pero en inglés (con icono).
  25.     INTERFACE.IFF        Esquema del interface de cinta (con icono).
  26.     DIGIT_INTERFACE.IFF    Digitalización de mi interface (con icono).
  27.     powerpacker.library    Necesaria para cargar ficheros comprimidos.
  28.  
  29.    El autor  del  programa  no acepta ninguna  responsabilidad    sobre cualquier
  30. perjuicio  que puede  suponer el uso  o abuso del  programa,  ni ofrece ninguna
  31. garantia  sobre el programa y sus capacidades. Tampoco se garantiza  nada sobre
  32. la precisión  o  estilo   literario  de  este  documento  ni  se acepta ninguna
  33. responsabilidad sobre las consecuencias que puede acarrear su lectura.  Tampoco
  34. acepta ninguna responsabilidad sobre cualquier  consecuencia que puede tener la
  35. realización o uso del interface de cassette.  Esta prohibido montar y vender el
  36. interface  para sacar un provecho económico.
  37.  
  38.    Se reconocen  todas las marcas registradas, marcas  comerciales y Copyrights
  39. de los productos mencionados en este documento.
  40.  
  41.    Por lo que he podido leer en el DOC    del  Spectrum  Emulator  v1.7  la  casa
  42. AMSTRAD,  que  posee  ahora los derechos sobre los componentes del Spectrum, ha
  43. dado permiso especial a los autores de emuladores para poder distribuir la  ROM
  44. del  Spectrum  original. De todas formas el Copyright sobre la ROM sigue siendo
  45. de AMSTRAD.
  46.  
  47.    La powerpacker.library es © Nico François.
  48.  
  49.    El Sinclair ZX Spectrum Emulator V1.7 es © Peter McGavin.
  50.  
  51.  
  52.  
  53.  
  54. ›[0;1mREQUERIMIENTOS›[0m
  55.  
  56.    Este programa necesita WorkBench 3.0 (o sea, versión 39), los chips gráficos
  57. AGA y un microprocesador 68020, o versiones superiores. En resumen, necesita un
  58. Amiga 1200 como mínimo. Además necesita la powerpacker.library en libs: o en el
  59. mismo directorio del programa.
  60.  
  61.    Algo muy importante es la memoria FAST de 32 bits. El emulador funciona bién
  62. sobre memoria CHIP, pero si hay memoria FAST 32 bits disponible  el  incremento
  63. de  velocidad puede ser impresionante. Por lo que yo he podido saber la adición
  64. de FAST al Amiga 1200 incrementa la velocidad  de  proceso  al    219%  (más  del
  65. doble).  Esto  se  debe  a  la    constante lucha entre el procesador y los chips
  66. gráficos  para acceder    a la memoria CHIP,  y al sistema de  SLOTs que usan los
  67. chips gráficos para asignar el    tiempo de uso  de la memoria CHIP entre éstos y
  68. el procesador. Debido al sistema de SLOTs un Amiga 4000/030 sin FAST solo va un
  69. 15% mas rápido    que un Amiga 1200  sin FAST.  Por otro    lado la  velocidad  del
  70. emulador depende mucho del programa de Spectrum que se esté ejecutando.
  71.  
  72.  
  73.  
  74.  
  75. ›[0;1mINTRODUCCION›[0m
  76.  
  77.    Como habrás deducido de forma inmediata este  programa  tiene  como    función
  78. principal  (y  única)  la  de  emular  un  Sinclair  ZX  Spectrum  48k, con sus
  79. entrañables atributos y su sonido de 1 bit (lagrimilla...).
  80.  
  81.    Es importante notar que ésta es una versión MUY de prueba (ßeta).  Por  esta
  82. razón  es  por    lo  que  el programa no está depurado del todo, y que accede al
  83. hardware AGA de forma directa (y eso que no tengo ninguna  documentación  sobre
  84. los  nuevos  chips gráficos...je, je). Lo he puesto en circulación para que los
  85. usuarios interesados en el emulador me ayuden a encontrar errores y  a    aportar
  86. ideas (dos piensan mejor que uno...).
  87.  
  88.    Cuando los errores hayan sido corregidos crearé una versión    definitiva  del
  89. emulador, más "amistoso" con el hardware y el sistema operativo, con un DOC más
  90. completo y un montón de nuevas opciones.
  91.  
  92.    Notarás que el emulador está en inglés, pero cualquiera que    haya  usado  un
  93. Spectrum antes sabrá lo que significa LOAD, SAVE, POKE, etc...
  94.  
  95.  
  96.  
  97.  
  98. ›[0;1mFORMATOS DE PROGRAMA›[0m
  99.  
  100.    Antes de poder comprender la función de algunos de los gadgets  y  ToolTypes
  101. del  programa  debemos    discutir  algo sobre formatos de programas de Spectrum.
  102. Actualmente hay varios emuladores de Spectrum 48k para    diferentes  ordenadores
  103. (Amiga,  PC,  Atari, etc...) y cada uno de estos emuladores graba los programas
  104. en disco en un formato de fichero diferente. Esto significa que para poder usar
  105. programas grabados con un emulador en otro debes  disponer  de    algún  tipo  de
  106. utilidad que convierta los programas de un formato a otro (yo hice uno en BASIC
  107. compilado  para  pasar programas Spectrum de PC a Amiga). Este emulador intenta
  108. evitar la necesidad de conversor admitiendo cargar y grabar directamente varios
  109. formatos en vez de tener un solo formato propio. Asi también se puede  usar  el
  110. emulador como conversor de formatos, si surge la necesidad.
  111.  
  112.    De momento solo hay implementados dos  formatos  (los  únicos  que  conozco)
  113. a los que he llamado provisionalmente PC y MIRAGE, y que son:
  114.  
  115.      PC: Este formato proviene del emulador de Spectrum para PC programado
  116.      por Pedro Gimeno. El ejecutable se llama SPEC386.EXE y la versión que
  117.      he usado (yo no tengo PC) es la 0.99D ß. Supongo que a estas  alturas
  118.      debe haber una versión mas completa en circulación (creo recordar que
  119.      este  emulador ya tiene unos años).  Necesita un 386DX a 25MHz con un
  120.      caché de 256Kb para acercarse a la velocidad del Spectrum real. Estos
  121.      ficheros se reconocen por que ocupan 49190 bytes en el disco y suelen
  122.      llevar la extensión .SP al final del nombre.
  123.  
  124.      MIRAGE: Este es el formato del Spectrum Emulator 1.7. Es un excelente
  125.      emulador  para  AMIGAs  sin chips AGA , prácticamente igual de rápido
  126.      (o de lento) que el mío, a pesar de que el autor de este emulador    me
  127.      lleva  3 años de ventaja (la primera versión del Spectrum Emulator es
  128.      de 1990). La última versión que tengo de  este  emulador  es  la  1.7
  129.      (Junio 1993) y se lo  recomiendo a cualquiera que no tenga chips AGA.
  130.      Los ficheros se reconocen por que ocupan 49179 bytes y por que suelen
  131.      llevar la    extensión .snapshot,  aunque  yo prefiero cambiarsela  por
  132.      .mirage para evitar confusiones. Por lo que dice la documentación del
  133.      Spectrum Emulator v1.7 este formato es el mismo que usa otro emulador
  134.      para  PC llamado JPP.  Hay que notar que  hasta  la  versión 1.6  del
  135.      Spectrum Emulator este formato no guardaba el color actual del borde,
  136.      por lo que  al cargar ficheros  de formato pre-1.6 el borde arrancará
  137.      en negro. Para arreglar esto puedes regrabar en dicho formato, ya que
  138.      el  ZXAM    utiliza  el   formato  moderno,   que  almacena  el  borde
  139.      correctamente.
  140.  
  141.    Conozco otro emulador de Spectrum para Amiga (KGB  Spectrum    Emulator  v1.2)
  142. pero  creo  que  ya  casi  no  se usa porque es muy antiguo, tiene errores y es
  143. incompatible con el sistema operativo 2.0 y superiores    (más  si  tienes  AGA).
  144. Además no tengo información sobre el formato de ficheros de dicho programa.
  145.  
  146.    En caso de que tengas información sobre otros formatos de otros  emuladores,
  147. aunque    sean de otros ordenadores, solo tienes que mandarme un disco con varios
  148. programas en ese formato y la información de que dispones. Procuraré incluir en
  149. la proxima versión del emulador la posibilidad de usar dicho formato.
  150.  
  151.  
  152.  
  153.  
  154. ›[0;1mARRANQUE DEL PROGRAMA›[0m
  155.  
  156.    El programa está pensado para arrancar desde WorkBench ya que  las  opciones
  157. se  leen del icono del programa. De todas formas, si lo arrancas desde el SHELL
  158. el programa buscará el icono en el mismo directorio del ejecutable, para cargar
  159. dichas opciones. Además, se "despegará" de la ventana del SHELL.
  160.  
  161.    Si hay algún problema al arrancar el programa, éste    lo  comunicará    con  un
  162. requester y volverá al sistema operativo.
  163.  
  164.    Las ToolTypes ("Tipos Herramientas" en WB3.0 en castellano)    que  se  pueden
  165. meter en el icono son:
  166.  
  167.     PATTERN=    Le  indicamos  el  pattern   (plantilla)  para    el
  168.             requester  de ficheros.  Este pattern es un filtro
  169.             que especifica    que ficheros  deben  mostrarse    en
  170.             dicho requester.  Consulta el manual del ordenador
  171.             sobre el uso de plantillas de fichero.
  172.  
  173.     PATH=        Indica en  que    directorio  queremos  que  se abra
  174.             inicialmente el requester de  grabar/cargar.  Esto
  175.             es útil  para  dirigirlo  al  directorio del disco
  176.             duro donde guardas  normalmente  los programas    de
  177.             Spectrum y no tener que meter cada vez el path (yo
  178.             tengo  en  el  disco duro un  directorio  con  232
  179.             juegos comprimidos [4.7 Megas]).
  180.  
  181.     DEFFORMAT=    Indica el  formato por    defecto usado  para grabar
  182.             los programas  de Spectrum  (formato PC o MIRAGE).
  183.             De todas formas se  puede cambiar el formato usado
  184.             mediante los  gadgets adecuados  de la ventana    de
  185.             control.
  186.  
  187.  
  188.  
  189.  
  190. ›[0;1mVENTANA DEL PROGRAMA›[0m
  191.  
  192.    Si has arrancado el programa verás que abre una ventana en el WorkBench  con
  193. los  gadgets  de  cargar,  grabar,  poke, etc. Los gadgets que tienen una letra
  194. subrayada (TODOS) significa que si pulsas la tecla correpondiente a dicha letra
  195. es como si pulsaras el gadget con el ratón.
  196.  
  197.    Las funciones de los gadgets son las siguientes:
  198.  
  199.    Load  Program  .-   Abre  el  requester  de    ficheros  para     que  puedas
  200.      seleccionar el programa  que  quieres  cargar.  El  emulador  detectará
  201.      automáticamente  en  que  formato    está  el  programa, por lo que no es
  202.      necesario especificarle nada. IMPORTANTE: los programas de Spectrum  se
  203.      pueden  comprimir    con  el programa PowerPacker, y se descomprimirán al
  204.      cargarlos. Así nos ahorramos un montón de espacio en disco (en un disco
  205.      de 880k suelen caber unos 45 programas una vez  comprimidos).  Una  vez
  206.      cargado se verá el nombre del fichero en el recuadro "Loaded File" y el
  207.      formato  en  que  está  en  el recuadro "Format". Si intentas cargar un
  208.      fichero que no es un programa de Spectrum lo único que puede  pasar  es
  209.      que  se borre el contenido anterior de la memoria del Spectrum. Hay que
  210.      notar que el emulador YA es  capaz  de  cargar  programas    directamente
  211.      desde  cinta (V1.3 ß),  pero debes montar  el interface  descrito en la
  212.      pantalla INTERFACE.IFF.
  213.  
  214.    Reload.-  Vuelve a cargar de disco el  programa de Spectrum    que  aparece
  215.      en la ventana "Loaded File", sin abrir el requester de ficheros.
  216.  
  217.    Save program.-  Graba la memoria del  Spectrum en el formato indicado por
  218.      los  gadgets  de  la  derecha  (recuadro  "SAVE FORMAT"). De momento se
  219.      graban sin comprimir, aunque más adelante le incorporaré la  opción  de
  220.      grabar comprimido directamente.
  221.  
  222.    POKE.- Es facil imaginarselo, ¿no?.
  223.  
  224.    Recuadro  "Save  Format".-    En este recuadro hay 4 gadgets,  aunque solo
  225.      se pueden usar 2 de ellos, que  determinan el  formato  en  el  que  se
  226.      grabará  la  memoria  del    Spectrum  si  seleccionamos  el gadget "Save
  227.      Program".    Los otros 2 gadgets están  reservados a  un posible  formato
  228.      propio de mi emulador.
  229.  
  230.    RUN.- Arranca el Spectrum.  En el momento  de arrancar  se  desactiva  la
  231.      multitarea  y  el    emulador toma el control de la máquina. He preferido
  232.      desactivar la multitarea por que no me parece necesaria en  el  momento
  233.      de  usar  un Spectrum  y para que el emulador tenga aspecto de Spectrum
  234.      de verdad. Más adelante se explica como volver al WorkBench.
  235.  
  236.    Reset & RUN.- Lo mismo que RUN pero forzando un RESET del Spectrum.
  237.  
  238.  
  239.  
  240.  
  241. ›[0;1mMENUS Y TECLADO›[0m
  242.  
  243.    Todos los gadgets que tienen una letra subrayada significa que  pulsando  la
  244. tecla  correspondiente    a  esa    letra  es  como  si  pulsáramos  el gadget, sin
  245. necesidad de tocar el ratón para nada.    También  tenemos  la  tecla  HELP,  que
  246. mostrará  el  requester  de 'About...', la tecla ESCAPE, con la que salimos del
  247. programa, y la tecla TAB, que  selecciona  el  primer  gadget  numérico  de  la
  248. ventana  para  poder  modificarlo  sin    tener  que seleccionarlo  con el ratón.
  249. Mientras estás modificando un gadget numérico puedes pulsar TAB para  pasar  al
  250. siguiente gadget numérico, o Shift+TAB para pasar al anterior.
  251.  
  252.    Por otro lado está el menú del programa, aunque todo lo que está en el  menú
  253. se  puede hacer desde teclado o pulsando los gadgets adecuados. Esta ahí por si
  254. se quisiera usar el programa sin el teclado, ya que  la  opcion  'About...'  no
  255. tiene gadget asociado en la pantalla (es una función importante...).
  256.  
  257.  
  258.  
  259.  
  260. ›[0;1mTECLADO EN EL SPECTRUM›[0m
  261.  
  262.    Cuando el Spectrum está en marcha el teclado equivale al de un Spectrum 48k,
  263. aunque he configurado algunas teclas especiales:
  264.  
  265.      <-   Borra un caracter (Shift+0)
  266.      Ctrl Equivale a pulsar Caps+Symbol, o sea, pasa a modo E (extendido)
  267.      Alt  Equivale a Symbol Shift
  268.      Del  Equivale a Shift+1 (Edit)
  269.      Help Vuelve al WorkBench
  270.      Esc  Reset
  271.      F1   Conmuta entre modo color o blanco y negro. En ordenadores sin memoria
  272.       FAST el conflicto existente entre  el procesador y los chips AGA para
  273.       acceder a la memoria CHIP frena el procesador. Si necesitas el máximo
  274.       de  velocidad  puedes poner  el emulador  en blanco  y negro,  con lo
  275.       que se acelerará un 10%, aproximadamente.  Además el sonido irá MUCHO
  276.       mejor.
  277.      F2   En modo Blanco y Negro invierte la imagen.
  278.      Cursores  Equivalen a los cursores del Spectrum original (Shift+5 6 7 8).
  279.      ,      (tecla a la derecha de la M) equivale a la coma (Symbol+N)
  280.      .      (2ª tecla a la derecha de la M) equivale al punto (Symbol+M)
  281.      ´      (3ª tecla a la derecha de la M) equivale a las comillas (Symbol+P)
  282.      Ñ      (tecla a la derecha de la L) equivale a dos puntos (Symbol+Z)
  283.      ;      (2ª tecla a la derecha de la L) equivale al punto y coma (Symbol+O)
  284.  
  285.    El keypad funciona completo.
  286.  
  287.    El joystick Kempston se emula con el de Amiga.
  288.  
  289.    Debo decir que seguramente más de un  usuario  de  Amiga  1200  notará  algo
  290. extraño en el teclado, y es que no se pueden pulsar al mismo tiempo 2 teclas en
  291. la misma linea. Esto significa que si pulsas, por ejemplo, la P y la Q al mismo
  292. tiempo      el  emulador    creerá    que  no  tienes  pulsada  ninguna  tecla.  Este
  293. comportamiento no se debe a un fallo en el emulador si no  a  una  "curiosidad"
  294. bastante molesta del teclado del Amiga 1200 (al menos del alemán, que es el que
  295. yo tengo).
  296.  
  297.  
  298.  
  299.  
  300. ›[0;1mEMULACION›[0m
  301.  
  302. Detalles puntuales de la versión completa (FULL):
  303.  
  304.     - La ROM del Spectrum 48k original está en el ejecutable, en vez
  305.       de venir en un fichero separado, por comodidad.
  306.     - El registro R es correctamente emulado.
  307.     - En el registro F no se emulan los 2 bits no utilizados, y se
  308.       emulan parcialmente los bit N y H.
  309.     - La emulación del BCD es prácticamente completa.
  310.     - Se emulan todas las instrucciones "secretas" del Z80.
  311.     - El modo 0 de interrupciones se emula como el modo 1 (RST $38).
  312.     - No hay NMI (¿para que lo quiero?).
  313.     - El borde es de tipo lento, debido a que está implementado en la
  314.       copperlist. Esto significa que, de momento, no se vén las rayas
  315.       al hacer SAVE a cinta, pero el comando BORDER funciona
  316.       correctamente.
  317.     - Las instrucciones de transferencia funcionan a nivel 32 bits.
  318.     - Se puede conmutar (con F1) en modo blanco y negro o color para
  319.       acelerar el emulador en ordenadores sin memoria FAST.
  320.     - FLASH perfectamente emulado.
  321.     - El sonido se emula a nivel de la instrucción OUT. Se emulan los
  322.       2 bits del spectrum (el del altavoz y el de cassette) en un solo
  323.       canal del Amiga.
  324.     - El joystick Kempston se emula a nivel de la instrucción IN.
  325.     - La sincronización con el barrido de la pantalla es solo parcial.
  326.       Por eso algunos programas parpadearán (de momento).
  327.     - La pantalla del Spectrum se abre en PAL con 15KHz de barrido
  328.       horizontal, o sea que no se puede usar el emulador con monitores
  329.       tipo VGA, aunque si se puede usar con monitores MultiSync, con
  330.       el Commodore 1084, el Philips 8833 y con cualquier televisor.
  331.       No hay parches que valgan.
  332.     - La pantalla es compatible genlock.
  333.     - El emulador funciona correctamente aunque VBR no sea 0.
  334.    >>>>>>>>> Añadido para 1.3 ß <<<<<<<<<
  335.     - Carga de cinta, por parche (en realidad parchecillo) en la ROM.
  336.     - Graba hacia cinta en TIEMPO REAL, o sea, es la emulación Z80 la
  337.       que manda los impulsos a la salida de audio. Incluso en 1200 sin
  338.       memoria FAST.
  339.     - El borde es "casi" real (ya no es de tipo lento).
  340.       
  341.     Notas sobre versión FAST (v1.3 ß):
  342.     - No emula BCD. Esto significa que el BASIC no imprimirá correctamente
  343.       los numeros, y que algunos juegos no imprimirán bién la puntuación.
  344.     - Las temporizaciones son menos precisas, lo que puede suponer que
  345.       algunos juegos se comporten de una forma "peculiar".
  346.     - No se emula el registro R.
  347.     - La salida de audio no está estabilizada, por lo que el SAVE a cinta
  348.       no funciona.
  349.     - El borde es de tipo lento.
  350.     - No hay LOAD de cinta.
  351.         (en realidad la versión FAST es solo PARA JUGAR!!)
  352.     - La diferencia de velocidad entre la versión FULL y la FAST es de
  353.       entre un 5% y un 10% (depende del juego). La verdad es que prefiero
  354.       usar la versión FULL en mi 1200 para tener la emulación lo más
  355.       completa posible.
  356.  
  357.  
  358.  
  359.  
  360. ›[0;1mCUESTIONES TECNICAS›[0m
  361.  
  362.    Este programa ha sido escrito en  ensamblador  desde  la  primera  linea  de
  363. código a las 11096 (!!!!) actuales (111926 al expandir las MACROs). En mi Amiga
  364. 1200  con  disco duro el emulador tarda 1 min 58 seg en ensamblarse (antes eran
  365. 3 min 50 seg cuando no tenia disco duro, o 4 min 53 seg la última  versión  que
  366. ensamblé sobre el 500 Plus). La verdad es que se me ha ido un poco la mano...
  367.  
  368.    Este es el tercer programa "completo" que  hago  en    ensamblador.  Empecé  a
  369. programarlo  sobre  un    Amiga  500  Plus con 2 Megas de RAM, 3 disqueteras y el
  370. ensamblador Devpac 3.02. En  cuanto  he  podido  comprarme  un    Amiga  1200  he
  371. covertido el emulador a código 68020 puro y chips AGA.
  372.  
  373.    Lo empecé para aprender sobre todo en cuanto a código específico 68020, para
  374. explorar las posibilidades y ventajas de programar en codigo especial para este
  375. procesador. Era además un capricho de programador compulsivo (es que soy adicto
  376. a la programación). Cuando solo tenia el 500Plus programaba condicionalmente en
  377. código 68000 y 68020 al mismo tiempo y lo probaba en el Amiga  4000/030  de  un
  378. amigo.      Aprovechado  mi  reciente  adquisición  del  Amiga  1200  también  he
  379. investigado sobre las posibilidades de los chips AGA  (que  son  muchas)  y  la
  380. forma de utilizarlos.
  381.  
  382.    Hace poco le he podido añadir un disco duro    de  3.5  pulgadas/85  Megas  al
  383. 1200, con lo que ahora programar es mucho (muchísimo) más cómodo y rápido.
  384.  
  385.  
  386.  
  387.  
  388. ›[0;1mPRE-HISTORIA›[0m
  389.  
  390.    La primera versión (en blanco y negro,  arrancable  desde  SHELL  y    con  el
  391. ManicMiner  integrado  en el ejecutable)  funcionó en 10 dias.    A partir de ahí
  392. hay acumulados 6 sistemas diferentes de emulación del color del  Spectrum  (los
  393. atributos  y  la  estructura de la pantalla), 4 reestructuraciones del emulador
  394. del Z80 y montones de horas  buscando  errores    y  apurando  la  velocidad  del
  395. procesador. Ninguna de las versiones pre-AGA han sido distribuidas.
  396.  
  397.    El emulador no ha sido, ni es, un  proyecto    de  tiempo  completo.  Mientras
  398. desarrollaba    el   emulador  he  estado  estudiando  un  curso   de  sistemas
  399. automáticos, he desarrollado otro  programa,  llamado  MPMaster,  y  he  estado
  400. practicando mi vagancia habitual.
  401.  
  402.  
  403.  
  404.  
  405. ›[0;1mHISTORIA›[0m
  406.  
  407.       Versión  Versión
  408.            interna
  409.  
  410.     1.0 ß    39.00
  411.         -Primera versión en circulación.
  412.  
  413.     1.1 ß    39.01      (ejecutable llamado ZXAM_CuelgueSeguro)
  414.         -Desactiva filtro de audio al entrar. Lo restaura al salir.
  415.         -Desactivadas las interrupciones de los Timers. Actualmente
  416.          solo permanece activada la del teclado. Esto ha mejorado
  417.          drásticamente el sonido.
  418.         -Debido a la desactivación de los Timers el emulador se
  419.          "congela" al cabo de un cierto numero de pulsaciones de
  420.          tecla (en realidad el que se cuelga es el HANDLER DE
  421.          TECLADO DEL SISTEMA, ya que se le desborda el buffer).
  422.  
  423.         39.02      (19-ABRIL-94, tras 2 semanas sabáticas)
  424.         -añadido gadget ZOOM a la ventana del programa
  425.         -el hadler del teclado me sigue tocando las narices...
  426.  
  427.     1.2 ß    39.03      (26-JUNIO-94, tras 2 meses de exámenes y MPMaster)
  428.         -¡Al fin! Arreglado el problema con el teclado. El emulador
  429.          ya no se cuelga por culpa del desborde del buffer del teclado.
  430.         -Ahora, si pulsamos Caps Lock dentro del spectrum, al salir
  431.          al sistema, éste es informado correctamente del estado de
  432.          mayúsculas del teclado. Antes, al no recibir bién la señal,
  433.          escribia minúsculas aunque Caps Lock estuviese iluminado.
  434.         -Disponibles versiones FULL (completa) y FAST (rápida) para
  435.          usar en Amiga 4000 y 1200 respectivamente. La versión FAST
  436.          es un 10% más rápida que la FULL, aproximadamente, aunque se
  437.          aprecia en algunos programas mejor que en otros. Esto se ha
  438.          conseguido eliminando algunos detalles de la emulación.
  439.  
  440.         39.04
  441.         -El emulador se "despega" de la ventana del SHELL, dejándola
  442.          libre por si quieres usarla, o cerrarla.
  443.         -Ahora se leen las opciones del icono incluso si arrancas el
  444.          emulador desde SHELL.
  445.  
  446.         39.05
  447.         -Eliminado el problema con el audio. Ahora el sonido del
  448.          spectrum suena perfectamente aunque antes de arrancarlo
  449.          hubiera algún tipo de player (como el Delitracker) en marcha.
  450.          A la salida el tracker seguirá donde estaba (al menos, con
  451.          los players que yo tengo...).
  452.  
  453.         39.06
  454.         -Realizadas algunas optimizaciones preparatorias para la
  455.          implementación de LOAD y SAVE de cinta.
  456.         -Ahora alojamos el Timer-B de la CIA-B para las temporizaciones
  457.          del emulador, en preparación para el estabilizador de audio.
  458.         
  459.     1.3 ß    39.07        (7-JULIO-94)
  460.         -Primer intento de parchear la ROM para cargar. La carga puede
  461.          realizarse tanto en B/N como en color, incluso sin la
  462.          presencia de memoria FAST (!). Tampoco es necesario parar las
  463.          interrupciones del FLASH (!!). La estabilidad de carga parece
  464.          muy buena, aunque debe probarse en otras configuraciones
  465.          (68040, 68030/40MHz o 68030/50MHz). Sobre el 1200 y 4000/030
  466.          la carga funciona perfectamente.
  467.         -Sincronizada instrucción OUT. Con esto ya tenemos SAVE en
  468.          TIEMPO REAL (incluso en color!!), y BEEP en tiempo real. El
  469.          sonido de algunos juegos ha mejorado extraordinariamente (como
  470.          el Pheenix). Por otro lado otros juegos se han ralentizado
  471.          alrededor de un 3% (3 weeks in paradise) debido a que la
  472.          sincronia supone instrucciones adicionales en la rutina OUT.
  473.          
  474.         39.08        (11-JULIO-94)
  475.         -¡Borde REAL! Si la velocidad es suficiente se pueden ver los
  476.          efectos de borde que hacen algunos programas.
  477.         -Reajustada la correspondencia de colores para BRIGHT 0 y 1.
  478.          Ahora la proporción de brillo es prácticamente idéntica a la
  479.          del Spectrum original.
  480.         -Reajustes del parche de carga. Sigue funcionando igual de
  481.          bién pero ahora reacciona mejor al BREAK, HELP y ESC.
  482.         -Al fin le he dado la segunda vuelta al contador de lineas del
  483.          Devpac. La versión 39.08 consta de 133637 lineas con las
  484.          macros expandidas. Si sigo así no me bastarán los 2 Megas del
  485.          A1200 para ensamblarlo... :-)
  486.          
  487.         39.09        (16-JULIO-94)
  488.         -Arreglado el problema del borde con el parche de la rutina
  489.          LOAD y con la instrucción OUT. Ahora el borde es "casi"
  490.          perfecto tanto con LOAD como con SAVE (y OUT).
  491.  
  492.  
  493.  
  494.  
  495. ›[0;1mMEJORAS A REALIZAR›[0m
  496.  
  497. En el futuro las versiones disponibles serán:
  498.  
  499.    - Versión rápida:  con cargador de cinta externo, parcheando la ROM como
  500.      el Spectrum Emulator v1.7, pensada para Amiga 1200. En esta versión
  501.      dejan de emularse cosas como el registro R, el BCD, y algunas
  502.      temporizaciones se hacen menos precisas, para sacar un poco más de
  503.      velocidad a costa de una emulación menos "refinada". Esta versión
  504.      servirá solo PARA JUGAR.
  505.  
  506.    - Versión  completa:  podrá cargar  en tiempo  real,  con lo que cargará
  507.      correctamente programas protegidos de cualquier tipo (como un Spectrum
  508.      real), en ordenadores más potentes (Amiga 4000). En esta versión se emula
  509.      todo lo posible (registro R, cálculos BCD, etc...). Incorporará un parche
  510.      opcional para cargar de cinta en sistemas sin la potencia suficiente para
  511.      cargar en tiempo real.
  512.  
  513.    Puede  que  haya posibilidad  de  carga  REAL incluso en un 1200 con memoria
  514. FAST  de 32 bits,  pero no puedo  comprobarlo hasta  que no consiga  un poco de
  515. dicha memoria para el mio.
  516.  
  517.    Aparte de ésto tengo ya previstas muchas mejoras en cuanto  al  interface de
  518. usuario  para  facilitar  la  búsqueda    de  POKEs,  la    incorporación de nuevos
  519. formatos, etc...
  520.  
  521.  
  522.  
  523.  
  524. ›[0;1mAGRADECIMIENTOS›[0m
  525.  
  526.    Mis más sinceros agradecimientos para:
  527.  
  528.    - Fco Javier Cocaña Galán, Leonardo Cocaña Galán y Juan A. Estela Valín
  529.      por su amistad, y por sus constantes sugerencias (y feroces críticas).
  530.    - Commodore-Amiga Inc por crear el mejor ordenador del mundo.
  531.    - Motorola por sus excelentes microprocesadores, fáciles de programar y
  532.      extremadamente flexibles.
  533.    - Nico François por crear las fantásticas librerias  reqtools.library y
  534.      powerpacker.library.
  535.    - Jan van den Baard por el utilísimo GadToolsBox.
  536.    - IBM y Atari por crear  unos ordenadores  tan malos y facilitar así mi
  537.      elección por el Amiga (muchiiisimas gracias).
  538.    - Miguel Barnosi, Sysop de TANIT-BBS, por haber distribuido el emulador
  539.      por otras BBSs.
  540.  
  541.  
  542.  
  543.  
  544. ›[0;1mPARA CONTACTAR›[0m
  545.  
  546.    Te agradeceria que me enviases toda información que me pueda ser  útil  para
  547. ampliar  la  potencia  del  emulador, como por ejemplo, información sobre otros
  548. formatos de fichero. En  el  caso  de  querer  informar  sobre    algún  error  o
  549. incompatibilidad  lo  mejor  es  que me mandes el/los programas de Spectrum que
  550. producen dicho problema,  junto con toda la información posible sobre el equipo
  551. que usas (procesador, sistema operativo, tamaño y tipo de memoria, etc...).
  552.  
  553.    También me gustaria que  me informases de  la velocidad  del emulador  en tu
  554. ordenador.  Yo he podido  probarlo en un  4000/030 con    FAST  (corre más que un
  555. Spectrum real, y el SAVE va a velocidad de TURBO) y en mi 1200 sin FAST (snif).
  556. Para  informarme puedes  cronometrar,  por ejemplo,  lo que tarda un RESET,  un
  557. bucle largo de BASIC (por favor, incluye el listado del bucle para que yo pueda
  558. ejecutarlo),  o cualquier otra cosa que  yo pueda comparar con el 1200 o con el
  559. Spectrum real (aún conservo un +2A, un Plus, y un +3 que está cadaver [RIP]).
  560.  
  561.    Para enviar sugerencias, informar de errores, intercambiar información, etc,
  562. contacta conmigo en esta dirección:
  563.  
  564.  
  565.              Antonio J. Pomar Rosselló
  566.                C/ Alférez Cerdá  nº 13-bajos
  567.               Palma de Mallorca 07014
  568.                  Baleares (España)
  569.  
  570.  
  571. o,  si  tienes  modem,  puedes  contactar conmigo  a través de LEO,  usuario de
  572. TANIT BBS-IBIZA (971-392829). Déjale un mensaje a LEO en la BBS y él me lo hará
  573. llegar.
  574.  
  575. Palma de Mallorca  16-Julio-1994
  576.  
  577.  
  578. ›[0m›[1 p