San Floppy, a cyberciruja odyssey
+------------------------------------------------------------------------------+ +-----+-------+-----+ | | | | | | | | | | | +-------+ | San Floppy, a cyberciruja odyssey | | | # # | | | Demo 256 bytes intro para la gloriosa | --- | Magnabox Odyssey 2 | .| +-------------------+ +------------------------------------------------------------------------------+ --- La maquina --- La Magnabox Odyssey 2 era una maquina basada en un microcontrolador (ni siquiera un microprocesador) Intel 8048, que ya para la epoca era limitado pero supo dar batalla en esta consola y algunas otras ya sea como unidad de procesamient central como tambien como chip de soporte. Nota curiosa, es el mismo micro que se usaba como controlador de teclado en las primeras PCs, micro que fue usado mucho tiempo cumpliendo esta funcion. Caracteristicas: CPU * Intel 8048 8-bit funcionando a 5.37 MHz (NTSC) o 5.91 MHz (PAL) Memoria: * En el microcontrolador: 64 bytes * Externa: 128 bytes * Audio/video RAM: 128 bytes * BIOS ROM: 1024 bytes Video: * Intel 8244 (NTSC) o 8245 (PAL) custom IC * Resolucion 160×200 (NTSC) Paleta de 16 colores fija (8 colores basicos negro, azul, verde, cyan, rojo, magenta, amarillo y blanco) con un valor que le baja el brillo a la mitad. Audio: El mismo chip de video puede generar sonido mono 24-bit shift register, con un generador de ruido de dos frecuencias configurable --- ¿Por que la maquina? --- ¿Por que no? Pensando en el animo cyberciruja de reutilizar todo lo que se puede quise darle un nuevo uso a una maquina con minimo recursos, con hardware muy humilde se pueden hacer cosas interesantes, o al menos aprender en el proceso y pasar un tiempo explorando como se pensaba el soft y hard en el pasado. --- compilar la demo --- Si quieren compilar el ejemplo, necesitan tener una maquina con windows y seguir los siguentes pasos. 1. Descargar el compilador aswcurr.zip y descomprimir. En el ejemplo, C:\temp 2. Copiar los dos archivos fuentes en la carpeta descomprimida (C:\temp\aswcurr) 3. Abrir una ventana de Powershell en esa carpeta y correr: .\bin\asw.exe .\flashparty_2022.asm Esto va a generar un archivo de codigo intermedio flashparty_2022.p. Este archivo necesita ser procesado una vez mas. 4. Sin movernos de carpeta correr: .\bin\p2bin .\flashparty_2022.p .\flashparty_2022.raw Esto nos genera un archivo de 250 bytes que es el ejecutable de la demo. El problema es que el emulador que tengo valida el tamaño del rom, esperando un tamaño de cartucho valido. Para resolver este problema, podemos decirle al programa que rellene un sector del binario para que coincida con la estructura del cartucho 5. En la misma carpeta correr: .\bin\p2bin .\flashparty_2022.p -r 1024-3071 Esto nos genera un archivo de 2048 bytes que corresponde con el formato base de los cartuchos. --- correr la demo --- La demo fue probada en el emulador O2EM (http://o2em.sourceforge.net/#) Una vez descomprimido, el emulador espera la bios de la odyssey en la carpeta BIOS y la ROM en la carpeta del mismo nombre. En la carpeta que les comparto ya esta armado, descomprimiendolo en la PC abrimos una terminal Powershell y escribimos .\o2em.exe -wsize=1 -scanlines flashparty_2022.bin Con eso deberia arrancar el emulador, preguntar por un digito (0-9) y arranca. La demo no tiene sonido ni fin, espero que les guste. :D --- pasos futuros (?) --- La idea es subir los fuentes y el binario a github, pero no he tenido tiempo todavia, por lo pronto no quiero colgar el tema de pasarles mi mini demo.
[ back to the prod ]