stringtranslate.com

Cargador rápido

Una captura de pantalla del emulador de un programa que se carga desde el disco usando un cargador rápido

Un cargador rápido es un programa de software para una computadora doméstica , como Commodore 64 o ZX Spectrum , que acelera la velocidad de carga de archivos desde un disquete o un casete compacto .

Disquetes

Los cargadores rápidos surgieron debido a una discrepancia entre la velocidad real a la que las unidades de disquete podían transferir datos y la velocidad que proporcionaban las rutinas predeterminadas del sistema operativo . Esta discrepancia era más pronunciada en el VIC-20 y el Commodore 64. Si bien la serie PET anterior de Commodore había utilizado un bus paralelo IEEE-488 estándar de la industria , este fue reemplazado por un bus serial Commodore personalizado en el VIC-20. El bus serial estaba destinado a ser casi tan rápido como su predecesor, debido al uso del VIA 6522 como registro de desplazamiento de hardware tanto en la unidad como en la computadora. Sin embargo, se descubrieron errores de hardware en el 6522 que impedían que esta función funcionara de manera consistente. Como resultado, las rutinas ROM KERNAL se reescribieron apresuradamente para transferir un solo bit a la vez, utilizando un protocolo de enlace de software lento . [1]

Aunque el C64 reemplazó el VIA 6522 por dos chips CIA 6526 , que no sufrían de este problema, la unidad de disco 1541 que lo acompañaba seguía teniendo un VIA 6522. Commodore decidió no rediseñar el hardware del 1541, también para mantener la compatibilidad con los periféricos VIC-20; sin embargo, esto se hizo a expensas de la velocidad. Debido al protocolo de transferencia, las unidades de disco Commodore 1540 y 1541 pronto se ganaron una reputación de extrema lentitud. Solo con la introducción del ordenador Commodore 128 y la unidad de disco Commodore 1571 se puso en práctica el plan original y se utilizó un registro de desplazamiento de hardware, lo que redujo la necesidad de cargadores rápidos especiales.

Poco después del lanzamiento del C64, algunos programadores astutos se dieron cuenta de que las rutinas seriales KERNAL de Commodore eran innecesariamente lentas. Dado que la CPU del C64 funcionaba aproximadamente a la misma velocidad que la de la unidad de disco 1541, era suficiente sincronizar solo al comienzo de cada byte , en lugar de cada bit individual . Además, este método de transferencia permitía enviar dos bits simultáneamente, uno por la DATAlínea estándar y otro por la CLKlínea (que normalmente se usaba para realizar el protocolo de enlace). En el C64, esto requería una sincronización muy cuidadosa para evitar interferencias de interrupciones y del chip gráfico VIC-II , que podía "robar" ciclos de CPU. Algunos cargadores rápidos deshabilitaban las interrupciones y dejaban la pantalla en blanco por esta razón. Un cargador rápido generalmente se "encajaba" en el vector en , interceptando así cualquier llamada a la rutina KERNAL . A continuación, el cargador rápido transferiría el código necesario a la memoria RAM de la unidad y ordenaría su ejecución, para luego recibir el archivo enviado por el código de transferencia modificado. Dependiendo de la naturaleza exacta de las rutinas utilizadas, la velocidad de carga podría mejorarse hasta en un factor de cinco.LOAD $0330LOAD

Esta técnica se utilizó en algunos de los muchos sistemas de carga rápida que se crearon (como JiffyDOS). Otros simplemente eran más eficientes en la entrada/salida y el manejo de archivos, y ofrecían mejoras que iban desde marginales hasta buenas. Otros productos añadieron hardware paralelo.

Varias compañías de software lanzaron cargadores rápidos para el C64, generalmente en forma de cartucho . En los Estados Unidos , probablemente el cartucho más popular de este tipo fue el Epyx FastLoad . La mayoría de los cartuchos de carga rápida también incorporaron otras características para aumentar la facilidad de uso. Una implementación incorporada de DOS Wedge de Commodore se incluyó en la mayoría de los cartuchos de carga rápida. Monitores de lenguaje de máquina , editores de disco y varios comandos de conveniencia para Commodore BASIC también fueron adiciones comunes. Algunos cartuchos de carga rápida eran muy sofisticados, incorporando un botón de reinicio , capacidades de "congelación" y una interfaz gráfica de usuario integrada simple . El Final Cartridge III fue quizás el más exitoso de este género. Unos pocos cargadores rápidos comerciales, en particular JiffyDOS de CMD , no estaban controlados por cartuchos, sino que reemplazaron la ROM KERNAL en el C64 y la ROM DOS en el 1541. Si bien estos eran más difíciles de instalar, ofrecían una compatibilidad mucho mayor, siendo casi invisibles para el software que se ejecutaba en la máquina. El cargador RAM del cartucho Action Replay MK6 carga un programa de 202 bloques en unos 9 segundos. Su cargador Warp es 25 veces más rápido, pero los programas solo se pueden cargar con un cargador guardado en el disco cuando el cartucho no está presente. Mientras que el cargador rápido ARMK6 era compatible con la mayoría del software, se sabía que The Final Cartridge III se bloqueaba a menudo, [ cita requerida ] por lo que los programas tenían que cargarse en el modo C64 normal, desactivando el cartucho, haciéndolo más o menos inútil.

Muchos programas comerciales para el C64, especialmente juegos, contenían sus propias rutinas de carga rápida en el medio de distribución. El usuario cargaba un pequeño programa "stub" desde el disco con las rutinas lentas estándar, que luego instalaban rutinas de transferencia más rápidas tanto en la computadora como en la unidad antes de proceder a cargar el resto del programa a alta velocidad. De esta manera, el usuario se beneficiaba del cargador rápido sin tener que comprar o conocer un producto de carga rápida dedicado.

Varias revistas populares de Commodore publicaron software de carga rápida de archivos . En abril de 1985, Compute! publicó TurboDisk , un cargador rápido que incluía versiones para C64 y VIC-20. Este programa se hizo popular y se volvió a publicar en la edición de julio de 1985 de la Gazette de Compute !. [2] [3] [4] [5]

Se imprimió nuevamente en agosto de 1986, sin la versión VIC-20, pero con varias utilidades complementarias para reubicar el programa en la memoria y crear un software de arranque automático que aprovechara la velocidad de TurboDisk . También se incluyó una versión Commodore 128 para aquellos usuarios de C128 que aún tenían unidades de disco 1541. [6] [7] [8] [9] [10] [11]

La Gaceta de COMPUTE! también publicó otras utilidades que aceleran las comunicaciones entre C64 y 1541, incluyendo Turbo Copy (una copiadora de disco completo de 4 minutos), [12] [13] TurboSave (una utilidad que acelera la velocidad de guardado de disco) [14] y Quick! (otro cargador rápido). [15] [16]

La revista RUN publicó Sizzle! en diciembre de 1987, un paquete integrado que incluía un cargador rápido reubicable con capacidad de generación de arranque automático.

BYTE publicó Loader, un software de carga rápida en lenguaje máquina para Apple DOS 3.3, en noviembre de 1983. [17] Compute! publicó TurboDisk para DOS 3.3 en octubre de 1986. [18]

La moda de los cargadores rápidos de tipo "type-in" continuó en la era de Internet. Loader (2009) y Spindle (2013) de Krill son dos ejemplos de "cargadores IRQ" de C64 a 1541, cargadores rápidos que permiten que los programas (principalmente juegos) mantengan sus propios IRQ durante la carga. Con los cargadores modernos, la baja velocidad de decodificación de GCR resultó ser el cuello de botella, y todos los cargadores modernos tienen sus propias rutinas optimizadas para ello. [19]

Cintas de casete

Pantalla de título de Invade-a-Load

Las rutinas integradas para almacenar y leer datos en y desde cintas Compact Cassette se crearon para almacenar de forma segura, no para aumentar la velocidad. La mejor calidad de las cintas en la década de 1980 permitió almacenar datos de forma más eficaz, lo que redujo el tiempo de carga y la longitud de la cinta.

Tales programas existían para varias computadoras, como la Ohio Scientific Challenger . [20] El PET Rabbit fue uno de esos programas para el PET, [21] mientras que TurboTape fue uno para el Commodore Datassette . [22] [23] [24] Turbo 2000 fue un sistema similar para el Atari. [25]

Speedlock era un sistema de protección de software utilizado en el ZX Spectrum y el Amstrad CPC , escrito por David Aubrey-Jones y David Looker en 1983. Los dos programadores se habían frustrado por los lentos tiempos de carga del sistema de carga de cintas del ordenador, y se dieron cuenta de que sería posible escribir uno mejor. El prototipo estuvo sin uso durante aproximadamente un año, pero finalmente fue recogido por Ocean Software en Decathlon de Daley Thompson , lanzado a finales de 1984. [26] Posteriormente fue utilizado por US Gold y para varios títulos de Ultimate Play the Game , entre otros. [27] Speedlock también fue portado al Amstrad CPC en 1985. El sistema utilizaba varias características avanzadas de la arquitectura del Spectrum, como el registro de actualización de memoria y las instrucciones de rama de paridad del procesador Z80 , lo que dificultaba la creación de copias ilegítimas sin la protección. [28] Las primeras versiones utilizaban un conjunto de tonos audibles de "clic" al cargar un programa. Las versiones posteriores no incluyeron esto, pero en su lugar tenían un contador que mostraba el tiempo restante para terminar de cargar el programa, similar a los de Technician Ted y Fairlight . [26] [27] [29] [30]

Algunas empresas crearon software para eludir los esquemas de protección, incluido Speedlock, con el fin de realizar copias de seguridad o transferir a ZX Microdrive , ZX Spectrum +3 u otros sistemas de disco propietarios. [27]

Invade-a-Load era un cargador rápido para juegos basados ​​en casetes que no solo aceleraba la carga de bloques de la cinta, sino que también contenía un minijuego (en este caso, un clon de Space Invaders ) que se podía jugar mientras se esperaba que terminara de cargarse el juego principal. Este minijuego inicial se cargó en menos de un minuto, lo que brindaba entretenimiento mientras se esperaba que se cargara el juego real, lo que podía demorar entre cinco y diez minutos más. En al menos una ocasión, un crítico expresó su preferencia por Invade-a-Load sobre el juego principal en sí. [31] Apareció principalmente en juegos vendidos en el Reino Unido , ya que, en el momento en que se escribió, el mercado de Commodore en los Estados Unidos había cambiado principalmente a los medios de disquete . El cargador fue escrito por Richard Aplin para el propio uso de Mastertronic . El cargador en sí tiene una fecha de copyright de 1987, pero los primeros juegos que usaron el cargador aparecieron en 1988. Durante los años siguientes, Mastertronic usó el cargador en docenas de títulos. El cargador también fue memorable por la banda sonora, originalmente realizada por Rob Hubbard para el título de Mastertronic One Man and His Droid .

En el Reino Unido, donde el precio de una unidad de disco 1541 estaba fuera del alcance de muchos de los propietarios de C64, hubo una enorme demanda de cargadores rápidos para juegos de C64. Uno de los primeros en utilizar un cargador de este tipo fue Llamasoft , donde el clásico Revenge of the Mutant Camels de Jeff Minter venía con una versión de carga rápida en un lado del casete y una versión de carga convencional en el otro. Pronto otras empresas de software se sumaron al proyecto. Ocean utilizó "pavloda" y un verdadero avance llegó con el software Novaload, que permitía que se reprodujeran pantallas de carga y música. Decathlon de Daley Thompson fue un ejemplo muy visible de esto. Los lanzamientos de US Gold se hicieron famosos por reproducir el Himno Nacional de los Estados Unidos y mostrar una versión de mapa de personajes de la bandera de las barras y estrellas mientras se cargaban sus juegos. Otros lanzamientos notables incluyen el puerto de Ocean/Imagine de Hyper Sports de Konami , que tenía sprites animados de corredores mientras se cargaba el juego y dos bandas sonoras impresionantes de Martin Galway , incluida una versión de " Chariots of Fire " de Vangelis .

Discos ópticos

En 1995, Yoichi Hayashi de Namco Ltd. inventó una variante de la técnica Invade-a-Load para usarla con plataformas basadas en discos ópticos como PlayStation y solicitó una patente. La patente estadounidense 5.718.632 se concedió en febrero de 1998 y se asignó a Namco a pesar de la técnica anterior de Invade-a-Load . La técnica se utilizó para Ridge Racer .

Véase también

Referencias

  1. ^ Brain, Jim (10 de enero de 1996). "Puertos serie Vic-20/C-64 - alt.folklore.computers | Grupos de Google" . Consultado el 26 de septiembre de 2012 .
  2. ^ Lewis, Don (julio de 1985). "TurboDisk". Gaceta de COMPUTE! . p. 34 . Consultado el 16 de enero de 2013 .
  3. ^ Lewis, Don (julio de 1985). "TurboDisk". Gaceta de COMPUTE! . p. 36 . Consultado el 16 de enero de 2013 .
  4. ^ Lewis, Don (julio de 1985). "TurboDisk". Gaceta de COMPUTE! . p. 37 . Consultado el 16 de enero de 2013 .
  5. ^ "Matainsectos". Compute's Gazette . Enero de 1986. pág. 120.
  6. ^ Lewis, Don (agosto de 1986). "TurboDisk 64". Gaceta de COMPUTE! . p. 64 . Consultado el 16 de enero de 2013 .
  7. ^ Lewis, Don (agosto de 1986). "TurboDisk 64". Gaceta de COMPUTE! . p. 65 . Consultado el 16 de enero de 2013 .
  8. ^ Lewis, Don (agosto de 1986). "TurboDisk 128". Gaceta de COMPUTE! . pág. 68 . Consultado el 16 de enero de 2013 .
  9. ^ Lewis, Don (agosto de 1986). "TurboDisk 128". Gaceta de COMPUTE! . pág. 69 . Consultado el 16 de enero de 2013 .
  10. ^ Bavaro, Dino (agosto de 1986). "TurboDisk Relocator". Gaceta de COMPUTE! . p. 66 . Consultado el 16 de enero de 2013 .
  11. ^ Rozenberg, Bert (agosto de 1986). "Turbo BootMaker". Gaceta de COMPUTE! . p. 67 . Consultado el 16 de enero de 2013 .
  12. ^ Cutrone, AM (abril de 1986). "Turbo Copy". Gaceta de COMPUTE! . pág. 81 . Consultado el 16 de enero de 2013 .
  13. ^ Cutrone, AM (abril de 1986). "Turbo Copy". Gaceta de COMPUTE! . pág. 82 . Consultado el 16 de enero de 2013 .
  14. ^ Voosen, William (abril de 1987). "TurboSave 64". Gaceta de COMPUTE! . pág. 71 . Consultado el 16 de enero de 2013 .
  15. ^ Zaky, Adib (diciembre de 1988). "¡Rápido!". Gaceta de COMPUTE! . pág. 82 . Consultado el 16 de enero de 2013 .
  16. ^ Zaky, Adib (diciembre de 1988). "¡Rápido!". Gaceta de COMPUTE! . pág. 85 . Consultado el 16 de enero de 2013 .
  17. ^ Williams, John (noviembre de 1983). "Carga rápida con Apple DOS 3.3". BYTE . págs. 502–504 . Consultado el 19 de marzo de 2016 .
  18. ^ Ellerbrock, R. (octubre de 1986). "TurboDisk para DOS 3.3". Compute! . pág. 83 . Consultado el 9 de noviembre de 2013 .
  19. ^ Åkesson, Linus (31 de marzo de 2013). «Descodificación GCR sobre la marcha». Archivado desde el original el 21 de marzo de 2017. Consultado el 21 de marzo de 2017 .
  20. ^ Carlson, Edward H. (marzo-abril de 1980). "Programas rápidos de lectura y escritura en cinta para su sistema OSI". Compute! . págs. 115-117 . Consultado el 25 de octubre de 2013 .
  21. ^ Strasma, James (marzo-abril de 1980). "The PET Rabbit". Compute! . pág. 94 . Consultado el 25 de octubre de 2013 .
  22. ^ De Ceukelaire, Harrie (enero de 1985). "TurboTape / Utilidad de cinta de alta velocidad para Commodore 64 y VIC-20". Compute! . p. 124 . Consultado el 30 de octubre de 2013 .
  23. ^ De Ceukelaire, Harrie (febrero de 1985). "Cómo funciona TurboTape". Compute! . p. 112 . Consultado el 30 de octubre de 2013 .
  24. ^ "¡Capute!". ¡Compute! . Marzo de 1985. pág. 146. Consultado el 30 de octubre de 2013 .
  25. ^ "Turbo 2000". AtariMax .
  26. ^ ab Eddy, Richard (1987). "The One David" (44). Crash . Consultado el 9 de enero de 2013 . {{cite journal}}: Requiere citar revista |journal=( ayuda )
  27. ^ abc Lerm Tape Utility D (manual de instrucciones) (PDF) . Lerm. 1990 . Consultado el 9 de enero de 2013 .
  28. ^ North, Jon (1990). "Cómo hackear: Speedlock" (61 páginas = 66–67). Your Sinclair . Consultado el 28 de julio de 2023 . {{cite journal}}: Requiere citar revista |journal=( ayuda )
  29. ^ Martin van der Heide, Martin Kopanske y Tomaz Kac (1997–1999). «Tape Decoding : Encoding schemes» (Descodificación de cintas: esquemas de codificación). World of Spectrum. Archivado desde el original el 2020-06-02 . Consultado el 2013-01-09 .
  30. ^ "Reseña de CRASH de 1985" . Consultado el 29 de enero de 2007 .
  31. ^ "Pinball 3D". Zzap!64 . Reino Unido: Newsfield Publications Ltd . Marzo de 1991 . Consultado el 17 de junio de 2019 .