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 casete compacto .
Disquetes
Fondo
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 proporcionada por las rutinas predeterminadas del sistema operativo . Esta discrepancia fue más pronunciada en el Commodore VIC-20 y 64 . Si bien la anterior serie Commodore PET 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 6522 VIA como un 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 de KERNAL ROM se reescribieron apresuradamente para transferir un solo bit a la vez, utilizando un protocolo de protocolo de enlace de software lento . [1]
Aunque el C64 reemplazó al 6522 VIA con dos chips 6526 CIA , que no sufrieron este error, la unidad de disco complementaria 1541 todavía tenía un 6522 VIA. Commodore optó por no rediseñar el hardware 1541, también para mantener la compatibilidad con versiones anteriores de los periféricos VIC-20; Sin embargo, esto se produjo a expensas de la velocidad. Gracias al protocolo de transferencia, las unidades de disco Commodore 1540 y 1541 pronto se ganaron la reputación de ser extremadamente lentas. Solo con la introducción de la computadora Commodore 128 y la unidad de disco Commodore 1571 se puso en marcha el plan original y se utilizó un registro de desplazamiento de hardware, lo que redujo la necesidad de cargadores rápidos especiales.
Desarrollo
Poco después del lanzamiento del C64, algunos programadores astutos se dieron cuenta de que de Commodore bits golpeando rutinas de kernel de serie eran innecesariamente lento. Dado que la CPU en el C64 funcionaba aproximadamente a la misma velocidad que en la unidad de disco 1541, era suficiente sincronizar solo al comienzo de cada byte , en lugar de en cada bit individual . Además, este método de transferencia permitía enviar dos bits simultáneamente, uno por la DATA
línea estándar y otro por la CLK
línea (que normalmente se usaba para realizar el protocolo de enlace). En el C64, esto requería una sincronización muy cuidadosa para evitar la interferencia de las interrupciones y del chip gráfico VIC-II , que podría "robar" los ciclos de la CPU. Algunos cargadores rápidos desactivaron las interrupciones y dejaron la pantalla en blanco por este motivo. Un cargador rápido generalmente se "encaja" 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, luego recibiría el archivo enviado por el código de transferencia alterado. Dependiendo de la naturaleza exacta de las rutinas utilizadas, la velocidad de carga podría mejorarse hasta en un factor de cinco.LOAD
$0330
LOAD
Esta técnica se utilizó para algunos de los muchos sistemas de carga rápida creados (como JiffyDOS). Otros eran simplemente más eficientes en E / S y manejo de archivos, ofreciendo una mejora de marginal a buena. Otros productos agregaron hardware paralelo.
Cargadores rápidos comerciales
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 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. Se incluyó una implementación a bordo del DOS Wedge de Commodore en la mayoría de los cartuchos de carga rápida. Los 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. Algunos cargadores rápidos comerciales, sobre todo JiffyDOS de CMD , no funcionaban con cartuchos, sino que reemplazaban la ROM de KERNAL en el C64 y la ROM de DOS en el 1541. Si bien eran más difíciles de instalar, ofrecían una compatibilidad mucho mayor, siendo casi invisibles. al software que se ejecuta en la máquina. El cartucho, el cargador de RAM Action Replay MK6 carga un programa de 202 bloques en alrededor de 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 fallaba a menudo, [ cita requerida ] por lo que los programas tenían que cargarse en modo C64 normal, desactivando el cartucho, haciéndolo más o menos inútil.
Muchos programas comerciales para el C64, especialmente los juegos, contenían sus propias rutinas de carga rápida en los medios de distribución. El usuario cargaría un pequeño programa "stub" del disco con las rutinas lentas estándar, que luego instalaría 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 benefició del cargador rápido sin tener que comprar o conocer un producto de cargador rápido dedicado.
Cargadores rápidos de inserción
Varias revistas populares Commodore publicaron tipo de software de carga rápida. En abril de 1985, Compute! publicó TurboDisk , un cargador rápido que incluía las versiones C64 y VIC-20. Este programa resultó popular y se volvió a publicar en la edición de julio de 1985 de Compute! 'S Gazette . [2] [3] [4] [5]
Se imprimió una vez más en agosto de 1986, sin la versión VIC-20, pero con varias utilidades que la acompañan para reubicar el programa en la memoria y crear un software de autoarranque que aproveche la velocidad de TurboDisk . Un Commodore 128 versión también fue incluida para aquellos usuarios que todavía tenían C128 1541 unidades de disco. [6] [7] [8] [9] [10] [11]
COMPUTE! 'S Gazette también publicó varias otras utilidades que aceleran las comunicaciones de C64 a 1541, incluida Turbo Copy (una copiadora de disco completo de 4 minutos), [12] [13] TurboSave (una utilidad que acelera la velocidad del disco salva) [14] y ¡Rápido! (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 de 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 del cargador rápido de escritura continuaba en la era de Internet. Krill's Loader (2009) y Spindle (2013) son dos ejemplos de "cargadores de IRQ" de C64 a 1541, cargadores rápidos que permiten a los programas (principalmente juegos) mantener sus propias IRQ durante la carga. Con los cargadores modernos, la velocidad lenta de la decodificación GCR demostró ser el cuello de botella, y los cargadores modernos llevan sus propias rutinas optimizadas para ello. [19]
Cintas de casete
Las rutinas integradas para almacenar y leer datos desde y hacia cintas de casete compacto se hicieron para un almacenamiento seguro en lugar de para la velocidad. La mejor calidad de cinta en la década de 1980 hizo posible almacenar datos de manera más eficaz, reduciendo el tiempo de carga y la longitud de la cinta.
Estos programas existían para varias computadoras, como el 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 era un sistema similar para el Atari. [25]
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. para que el juego principal termine de cargarse.
Ver también
- Emulación de cinta / disco Commodore 64
- Speedlock
Referencias
- ↑ Brain, Jim (10 de enero de 1996). "Puertos serie Vic-20 / C-64 - alt.folklore.computers | Grupos de Google" . Groups.google.com . Consultado el 26 de septiembre de 2012 .
- ^ Lewis, Don (julio de 1985). "TurboDisk" . COMPUTE! 'S Gazette . pag. 34 . Consultado el 16 de enero de 2013 .
- ^ Lewis, Don (julio de 1985). "TurboDisk" . COMPUTE! 'S Gazette . pag. 36 . Consultado el 16 de enero de 2013 .
- ^ Lewis, Don (julio de 1985). "TurboDisk" . COMPUTE! 'S Gazette . pag. 37 . Consultado el 16 de enero de 2013 .
- ^ "Mata-insectos" . Gaceta de Compute . Enero de 1986. p. 120.
- ^ Lewis, Don (agosto de 1986). "TurboDisk 64" . COMPUTE! 'S Gazette . pag. 64 . Consultado el 16 de enero de 2013 .
- ^ Lewis, Don (agosto de 1986). "TurboDisk 64" . COMPUTE! 'S Gazette . pag. 65 . Consultado el 16 de enero de 2013 .
- ^ Lewis, Don (agosto de 1986). "TurboDisk 128" . COMPUTE! 'S Gazette . pag. 68 . Consultado el 16 de enero de 2013 .
- ^ Lewis, Don (agosto de 1986). "TurboDisk 128" . COMPUTE! 'S Gazette . pag. 69 . Consultado el 16 de enero de 2013 .
- ^ Bávaro, Dino (agosto de 1986). "TurboDisk Relocator" . COMPUTE! 'S Gazette . pag. 66 . Consultado el 16 de enero de 2013 .
- ^ Rozenberg, Bert (agosto de 1986). "Turbo BootMaker" . COMPUTE! 'S Gazette . pag. 67 . Consultado el 16 de enero de 2013 .
- ^ Cutrone, AM (abril de 1986). "Copia Turbo" . COMPUTE! 'S Gazette . pag. 81 . Consultado el 16 de enero de 2013 .
- ^ Cutrone, AM (abril de 1986). "Copia Turbo" . COMPUTE! 'S Gazette . pag. 82 . Consultado el 16 de enero de 2013 .
- ^ Voosen, William (abril de 1987). "TurboSave 64" . COMPUTE! 'S Gazette . pag. 71 . Consultado el 16 de enero de 2013 .
- ^ Zaky, Adib (diciembre de 1988). "¡Rápido!" . COMPUTE! 'S Gazette . pag. 82 . Consultado el 16 de enero de 2013 .
- ^ Zaky, Adib (diciembre de 1988). "¡Rápido!" . COMPUTE! 'S Gazette . pag. 85 . Consultado el 16 de enero de 2013 .
- ^ 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 .
- ^ Ellerbrock, R. (octubre de 1986). "TurboDisk para DOS 3.3" . ¡Calcular! . pag. 83 . Consultado el 9 de noviembre de 2013 .
- ^ Åkesson, Linus. "Decodificación GCR sobre la marcha" . lft . Consultado el 27 de abril de 2019 .
- ^ Carlson, Edward H. (marzo-abril de 1980). "Programas rápidos de lectura / escritura de cintas para su OSI" . ¡Calcular! . págs. 115-117 . Consultado el 25 de octubre de 2013 .
- ^ Strasma, James (marzo-abril de 1980). "El conejo PET" . ¡Calcular! . pag. 94 . Consultado el 25 de octubre de 2013 .
- ^ De Ceukelaire, Harrie (enero de 1985). "TurboTape / Utilidad de cinta de alta velocidad para Commodore 64 y VIC-20" . ¡Calcular! . pag. 124 . Consultado el 30 de octubre de 2013 .
- ^ De Ceukelaire, Harrie (febrero de 1985). "Cómo funciona TurboTape" . ¡Calcular! . pag. 112 . Consultado el 30 de octubre de 2013 .
- ^ "¡Capute!" . ¡Calcular! . Marzo de 1985. p. 146 . Consultado el 30 de octubre de 2013 .
- ^ "Turbo 2000" . AtariMax .