viernes, 7 de septiembre de 2018

VIDEOPAC MULTIROM CART version 1.2 (con display)

Aquí os dejo una nueva version de mi anterior cartucho para Videopac.
El sistema de microswitches era sencillo y barato, pero algo farragoso de usar, por lo que me he decidido a añadirle un display y 4 botones al cartucho para seleccionar los juegos.

A nivel de hardware, para controlar el display, vamos a utilizar un pequeño arduino Nano, basado en el microcontrolador ATM328

Imagen





ESQUEMA




INSTRUCCIONES DE USO DEL CARTUCHO

Nada mas arrancar la consola nos aparecerá en el display del cartucho una pantalla de bienvenida como la de la foto de cabecera y pasados unos segundos nos acabará apareciendo el nombre del primer juego de la lista contenido en el display.


En la primera línea del display veremos el número del juego que tenemos en pantalla en este momento y a su derecha la posición de los jumpers a que correspondería en la versión 1.1
En la segunda línea se mostrará el nombre del juego.


Utilizando los botones "Up" y "Down" podremos ir cambiando el juego que se visualiza en la pantalla OLED.

Una vez tenemos en pantalla el juego que deseamos seleccionar para jugar deberemos pulsar "Enter", y veremos aparecer un recuadro sobre el nombre del juego indicando que ese juego ha sido seleccionado.


Una cosa importante es que cada vez que seleccionemos un nuevo juego en el display, deberemos pulsar "RESET" en nuestra Videopac.

MODIFICANDO LOS NOMBRES DE LOS JUEGOS

Cuando lo recibimos, nuestro cartucho ya viene con todos los nombres que contiene la memoria flash, pero si alguna vez cambiamos el contenido de la memoria flash con un grabador, podríamos necesitar modificar los nombres del display.

Si queremos modificar el nombre del juego que tenemos en este momento en pantalla deberemos mantener pulsado el boton Enter durante unos segundos. Tras liberar el botón nos aparecerá una lista de 230 nombres pregrabados con todos los juegos conocidos de videopac ordenados por orden alfabético.


Con los botones "Up" y "Down" buscaremos el nombre del juego que queremos asignar a la posición en curso y pulsaremos "Enter".


NOMBRES CUSTOMIZADOS

Es de prever que nunca vamos a necesitar introducir un nombre personalizado, pero si por lo que sea necesitamos modificar un nombre a nuestro gusto, lo podremos hacer pulsando el boton "Down" cuando estamos situados sobre el primer nombre de la lista.
Nos aparecerá una pantalla como esta:


Pulsaremos unos segundos "Enter" para indicar al sistema que queremos modificar ese Custom Name

Utilizaremos las teclas "Up" y "Down" para seleccionar cada letra seguida de "Enter", y cuando terminemos pulsaremos prolongadamente la tecla "Enter" para aceptar.


Si ahora volvemos a pulsar "Enter" se seleccionará ese custom name para la posición actual.


GUARDANDO Y CARGANDO ROMSETS

Un ROMSet es un conjunto de 32 nombres. Nuestro cartucho puede almacenar hasta 4 ROMSets diferentes que pueden ser cargados posteriormente con facilidad.

Para acceder a la gestion de ROMSets pulsaremos el botón "ESC" desde la pantalla principal, tras lo que nos aparecerá el siguiente menú:

Desde esta pantalla podremos acceder a cargar o salvar el ROMSet actual en o desde cualquiera de los cuatro ROMSets disponibles.


MINIJUEGO INCLUIDO

Ademas de las opciones de Salvar y cargar, en el menu anterior aparece una tercera opción que nos permitirá acceder a un minijuego que se podrá jugar directamente en el display del cartucho.


RESTAURANDO LA CONFIGURACION DE FABRICA

Si por lo que sea, queremos recuperar la configuracion que venía cuando adquirimos nuestro cartucho podremos hacerlo pulsando simultáneamente las teclas "ESC"+"ENTER" en el momento aparezca la siguiente pantalla (tras haber pulsado el boton de reset del arduino).


Tras ello aparecerá el texto indicativo de que se ha restaurado la configuración.


MODIFICANDO EL ROMSET DE FABRICA

A partir de la versión 1.6 del Videopac ROMSet maker, podemos generar código automático que nos permitirá incluir nuestro propio romset en uno de las cuatro posiciones que permite almacenar el cartucho.

Esto mismo lo podemos hacer manualmente, pero hacerlo de esta manera automática nos permitirá ahorrar tiempo y además nos permitirá seleccionar el  cuales son los ROMSets que se restauraran cuando utilicemos la opcion de restablecer los valores de fábrica.

El primer paso que tenemos que realizar es cargar el proyecto que contenga nuestro ROMset en el Videopac ROMSet Maker.


Una vez cargado el ROMSet pulsaremos el botón "Code", tras lo que nos aparecerá una ventana como la siguiente.


Dicho cuadro de dialogo nos permitirá seleccionar la posición donde se guardará el ROMset y el nombre que le daremos.
Una vez pulsemos OK se generará un archivo ".h" con el mismo nombre que hayamos seleccionado en ROMSetName.


Repitiendo este proceso podremos generar hasta 4 archivos .h correspondientes a cada uno de las posiciones disponibles en nuestro cartucho.

Dichos archivos deberemos copiarlo a la carpeta donde tengamos descargado el programa del arduino y los renombraremos con los nombres "ROMSET0.H", .... "ROMSET3.H", sobreescribiendo los existentes si es necesario. 



Posteriormente cargaremos el programa desde el IDE de Arduino y lo transferiremos al arduino del cartucho. 

Finalmente, resetearemos y restableceremos la configuracion de fábrica, tal y como se indica más arriba.

VIDEOPAC MULTIROM CART version 1.1


As part of a learning process about the Phillips Videopac G7000 console, I have designed a MultiROM cart handled with microswitches.

Imagen

I have made the cart able to be placed in a standard case of a old original cartridge.

Perhaps you have to make a little modification in both sides.

Imagen

Maximum size of a videopac game is 12KB. Memory is organized in 4KB pages but the first KB is allways internal ROM, and then only 3KB is available to use.

To reduce the complexity of the cartridge I have divided it in block of 16KB. Due to it, there are room for 32 games in each cartridge.

SCHEMATICS