Ultimamente, despues de la "maraton" de desarrollo de Retroterm que duro casi un año, estuve planificando nuevos videos para retomar el canal de youtube, empece la intro de un video, y estaba en etapa de lectura de material para ir escribiendo el guion, cuando se me ocurrio algo para resolver la futura implementacion de Retroterm para Commodore 128.
Retroterm, para el que no sepa de que se trata, es una terminal para Commodore 64 que puede comunicarse a 57600 bps con un modem wifi o RS232. Para servir a esta terminal escribimos un nuevo tipo de BBS en Python que permite ver imagenes de una galeria (imagenes comunes jpg, png, etc, que se convierten automaticamente al formato de C64 antes de enviarse), escuchar audios digitalizados en vivo (streaming) sin limite de duracion, consultar wikipedia, leer noticias, y proximamente escuchar radios online. Todo esto se puede portar al modo 128 para hacer Retroterm128, pero hay una de las caracteristicas de Retroterm que no tendria sentido en el modo 128: la capacidad de descargar juegos directo a memoria. Esto se podria hacer con soft de C128, pero hay muy pocos juegos en ese modo, y lo ideal seria que desde una C128 se pudiera entrar a un BBS de C64 y descargar juegos (de C64), lo cual requeria que la terminal pudiera descargar esos juegos desde el modo 128 y luego ejecutarlos en modo 64. Era un problema importante para resolver, y asi quedo por varios meses.
Hace un par de meses se me ocurrio como podria resolver el problema de cargar un juego de C64 desde el modo 128 de la C128, hice unos cuantos experimentos, y eso termino en una rutina de carga que funciono bien. Con este codigo se podia "hackear" cualquier .prg de C64 para que cargara desde el modo 128. Pero quise hacerlo mas generico y logre hacer un menu en BASIC (para que el usuario pudiera agregar sus juegos) que mostrara una lista de juegos, permitiera elegir uno, y el programa le pasaria ese parametro a la rutina de carga en asm. Esto funciono bien, pero para agregar juegos habia que andar editando el menu, asi que pense que lo mejor era hacer un menu completo en asm que leyera el directorio y se armara automaticamente.
Ahi es que empezo, hace un mes, principios de julio, un proyecto que termine llamando RetroLoader, que en principio era solo un menu y se termino convirtiendo en un navegador. No es un programa muy elaborado en cantidad de funciones, esta basicamente hecho a medida del uso que le doy a la C128. Yo suelo cargar mas del 90% del tiempo archivos .prg, y tengo la C128 sin Fast Load conectado, porque tengo una SD2IEC que no funciona con esa aceleracion. Asi que la idea era que el programa detectara la SD2IEC, cosa que hace, y si se detectara se habilitara tambien la lectura de directorios. Esto actualmente no esta implementado pero llegara en alguna version futura.
Dejo un video rapido que hice probando la version anterior:
Este navegador puede cargar programas de C64 que ni la C64 puede cargar de forma directa, ya que soporta .prg de hasta 62K, y ahora tiene aceleracion compatible JiffyDOS integrada, gracias a JiffySoft (SJ128), que es una implementacion por soft similar a SJLOAD para C64.
Si se usa C128 y 1571, los programas se van a cargar a una velocidad similar o superior a una 1541 con Fast Load, gracias a la carga rapida de estos equipos. Si se usa SD2IEC se obtiene la mayor velocidad de carga gracias al soporte de JiffyDOS.
El navegador es simplemente un .prg, hay que agregarlo a un diskette o a la tarjeta SD de la SD2IEC, y va a mostrar los PRG que se encuentren en el mismo directorio. Todavia no esta implementada la navegacion de directorios. El programa detecta si hay una SD2IEC conectada, y cambia el icono de un diskette por el de una tarjeta SD.
Se puede descargar desde la web del proyecto: www.pastbytes.com/retroloader
Ya esta disponible en la web del proyecto la version 0.5 en ingles y en español.
En esta version se puede navegar la lista con las teclas de cursor, y cargar presionando RETURN.
Se aumento la compatibilidad con programas que cargaban bien desde el modo 64 pero no desde RetroLoader.
Ahora si hay una SD2IEC conectada, se puede navegar por los directorios de la tarjeta SD.
Web del proyecto: LINK