domingo, 3 de octubre de 2021

SUPERUPGRADE 

ASSEMBLY MANUAL

If you already have experience with this stuff I advice you to read the errata’s list that comes in the end, you know what happens with protypes, sometimes some bugs remain.

For those who doesn’t have it, I guess this set up’s guide will help.

We’ll start with a couple of images which will work as a guide during the assembly.

The first one of them is the component’s layout:





And the second one is the circuit’s scheme. To see it bigger click on the image.
There are other two sections to take into account in the tutorial’s end and they are the components’ list, and the erratum.

It’s important to realize that, once interface is plugged in Spectrum, components go in the television’s side, remaining the tracks’ side oriented to us. This is done in this way so that the bigger components don’t stumble into Spectrum when connecting interface.

Afterwards, we’ll see that it is shown in the board, but I just warned you that the connector must be soldered in the tracks’ side, but not in the components’ side.

Let’s have a look at the plaque.

Here I show you  components’ front.



And this is tracks’ front.




It’s cool/great, right?

Well, let’s put on our working clothes, heat the soldering iron, take the components and put  the tin close to us.

We’ll start soldeing what has the lowest altitude and we’ll end with the highest, so that we’ll be able to put the board on the table without any problem to do welds quietly.

Following that rule, we’ll start with diodes.


We’ll fold components’ legs, so that they neither move nor separate when we turn the plaque over.



Once they’re soldered, we take the cutting tool and we start cutting whatever.



Wow, I didn’t do it that bad, hehehehe.

Let’s continue with resistors…




Be careful when you reach this point, because, as erratum says, the board has two labeled mistakes.
With that components’ mess , R32 doesn’t have a label and R14 has the label moved, above the diode which is over it.



I tell you I seemed to be pretty smoked cause labels moved from side to side :)

Then we continue with the sockets.




After sockets, we solder the glass, ceramic capacitors and audio connectors.



As it’s comfortable, as well as, once interface is connected, the tracks’ front is in front of the user, I decided to put jumpers, led and seletors in the tracks’ side. You can do it in that way or in the other side, but if you do it like me, be careful and don’t make the same mistake as me.




The two lowest jumpers must be soldered in components’ side, because if we don’t do this they stumble with Spectrum and they don’t let interface be inserted.
Well, it’s my turn to desolder those two jumpers and solder them in the opposite side.
Let’s move on to the EDGE connector and the expansión board.

The design we have has the peculiarity of non copying pin by pin Spectrum’s port with the expansión board, so we can’t solder the expansión board directly with connector EDGE’s welds.
Due to that reason, we have a diferent pad for each thing.
In the board comes a help label that points out in what side and what altitude we have to weld the expasion port or the EDGE connector.

To weld the expansión board we’ll cut two strips of 28 pins and we’ll push the pin number 5 to take it out of the strip. This pin will match later with the Spectrum’s slot’s position.
Once we have strips cut, we take one of them and we insert it where it’s written “expansión” in components’ side.






It’s extremely important to weld this strip before the EDGE connector, since if we don’t do that later we won’t have Access to solder this strip’s pins.

It will look like this:




Once we have this strip soldered, we can move on to mechanize the EDGE connector.

First we take the corresponding pins to the position number 5 pushing them from below.



Then we’ll cut the sides with a saw, being really carefully so as not to break the connector. After that we can move on to welding the connector on the board.


Once we’ve soldered the connector we solder the other pins’ strip.


Let’s go with the video connector now.




NOW IS WHEN I NOTICE MY FIRST BIG MISTAKE. THE VIDEO CONNECTOR HAS ------------ INTERCHANGED. THAT IS WHAT COMPONENTS’ TRACE HAS TO DO PAYING ATTENTION JUST IN A PICTURE AND A MEASURE IN EBAY’S ADVERT. FINALLY THESE THINGS HAPPEN.
We can just transform this connector in AERIAL.
It must have looked like this:


And it looks like this:

You realized in the previous pictures that this moment is great to solder DB9 connectors for joysticks and insert chips in their BSES/PLINTHS.
When you insert chips in their PLINTHS/BASES we careful with putting the slot in the same position as in the plaque and pay attention because GAL aren’t iterchangeable one another, since each one of them has different functions.
In the packet I sent you they’ll be perfectly labeled as IC10 and IC5 and programed so that it’s EASILY READY.
Let’s weld the expansión plaque nos. To do it we’ll fold slightly those pins we’ve already soldered to make the plaque be fixed in the  resulting gap.

Check if the plaque is aligned before welding it.

We move on to soldering the plaque above and below.

After that we just have to put jumpers in the right position and try the invention.

I send you the flash ROM with a TEST set, but if you want to put other different ROMs, you just have to do it with the programmer.
JUMPERS’ POSITION
JP2-With the jumper in position 1-2 interface’s memory is enabled and in position 2-3 Spectrum’s internal memory is enabled.
JP1 and JP6-Their function is to enable the 512kb memory or disable it. With both jumpers in the position 2-3 interface will have 128kb and in the position 1-2 will have 512kb.
JP3 (LOWER bit), JP4 (intermediate bit) and JP5 (SUPERIOR bit)-They’re used to select one of the eight memory flash 64kb blocks. These jumpers in position 2-3 correspond to a 0 and in position 1-2 correspond to 1.
With these three jumpers we create a number of 8 bits which correspond to 64kb block that is active.
INTERNAL RAM’S DISABLING IN OUR 48kb
If we have a 16kb Spectrum we don’t need to touch it when it comes to using our interface, but if it’s a 48kb we’ll need to make a Little internal change in our Spectrum which permits interface to disable THE HIGH MEMORY.
We have two different cases DEPENDING on the plaque’s versión.
For every model from Issue 1 to Issue 4:
To disable the high memory of a -------- we have to put 5v in pin 5 of IC23.
In normal conditions this is achievable BRIDGING/CONNECTING it with pin 14 of the same chip, but in our set up we’ve disabled BUS’ PIN 4ª WHICH WASN’T USED  to supply those 5V. Therefore when interface and jumper are inserted in the right position and high memory is disabled automatically, and if you unplug it is enbled again.
We should weld a cable between pin 5 of IC23 and expansion slot’s pin 4ª.

In case  our Spectrum is an Issue 5 or 6 we should connect ------35 of IC27 with expansion bus’ 4ª--------------
It isn’t shown in the image because it is under the metallic spendthrift, but it is the ------- which i on 15 place if we start counting from the bottom right side.

ERRATUM
-R32 doesn’t have a sign. It’s the only one that doesn’t have it because it won’t take you a long time to find it. It is the -1k8 resistor which is fixed on the flash memory’s left.
-R14 has a sign displaced upwards, above the D7 diode, that is, it is the resistor located between D7 and D13.
-The video connector is upside-down, ---------------------. This is the biggest mistake and it obligates to make into AERIAL what was supposed to be soldered on plaque. Anyway, we aren’t foolproof.
-JP2 shouldn’t be called DISA17 as it’s written in the plaque, but DISRAM, this is the jumper to disable interface RAM and enable internal one without disconnecting interface.

NECESSARY CORRECTIONS
I’ll expose then necessary corrections so that the circuit works properly.
The first correction is oriented to permit flash memory’s recording and it consists in the addition f a diode that puts at high level chip’s /EO signal when we are trying to write. In the original design 0 it was always put to 0 when we accessed to the chip and this is not right in writing’s case.
The second correction is necessary to add a reset to the GAL which controls paging.
As everyone of that GAL’s--------- were BUSY/FILLED I’ve taken out the utility which disabled the ROM with A14, A15 and MREQ signals.
Lastly, it’s necessary bridging R27 to make external RAM’s disabling work. This isn’t necessary if you don’t need this option.
Finally modifications consist in the addition of 3 diodes (D17, D18 and D19) and a bunch of cables that makes the circuit a Little bit uglier.
Relating to components’ side, changes will look as the following:


If we look at it from tracks’ side, where we have to solder, changes will look like this:


The list of the options we have to realice is the following one:
-Desoldering the D15 anode and soldering a CABLE from the anode to the ------- 4 of IC10.
-Soldering the D17 anode with the D6 anode and the D17 cathode with the D115 cathode.
-Soldering the D18 anode with the ----13 of IC10 and the D18 cathode with the D15 cathode.
-Soldering the D19 anode with the ------------7 of IC10 and the D18 cathode with the D15 cathode.
-Soldering a cable between the ------------14 of IC10 and---------1 of IC3.
-Soldering a cable between both edges of R27.
The IC10 equtions are already modified to add these changes.

POSSIBLE PROBLEMS WE CAN FIND
I’ve noticed that in some Spectrums, when we connect interface the two superior  half rows stop working. That is, keys 1234567890.
The problema is provoked by joystick interface.
As you know Sinclair’s protocol and Protek/cursor share the port with superior half rows, translating joystick’s buttons in keys. Well, joystick’s keys which are pressed putt he corresponding bit to 0, whereas the rest is PUT to 1.
This ones are intentionally weak, so if a key in spectrum is pressed this one can put that bit to 0. The way in which that ones’ weakness is forced is with resistors R11, R12, R13, R14, R23 of 1K5.
This 1K5 value is the one which was used in MHT engineers  commercial interface and it works in the major part of Spectrums, but I’ve found out with some spectrums that this value is not enough.
I suppose that the problem has to do with the impedance in the membrane, either as a result of being dilapidated or because it has been replaced with another one of higher impedance.
The solution of this problema ( just in case it appears) consists in replacing those resistors with 10K resistors. In the empirical tests that I’ve done this has worked perfectly.
Obviously I can’t try it with every existing spectrum, but in case YOUR joystick didn’t work making this replacement, try it with a lower value, for instance 4K7.
SELECTION ADD-ON BY SOFTWARE
Selection Add-on by software consists basically in replacing JP3, JP4 and JP5 jumpers’ function with a GAL which permits to change the active ROM with the $043B port (1083) with a parcial de-codification (bits A15, A7; A5, A1 and A0).
It’s really important removing jumpers to make the add-on work.
Firstly, the idea was that the add-on just consisted in a GAL with a necessary logic, but fue to the conflicts the divide had with add-on, additional circuitry has been added, which consists basically in a 4 OR DOORS chip (74LS32), three diodes and a 4k7 resistor.
The plaque is supposed to poke on flash memory’s BASE/PLINT, because we have most of the signals we need there. However, there are some signals we have to take from other points of the plaque, such as (A15, /WR, /IORQ, /RESET, /MREQ, BACK_MREQ, BACK_A15).
Let’s start with the plaque’s scheme and we’ll continue then with MAIN PLAQUE’S WIRING.


The methode we’ll use will be putting two rows of 16pins in the inferior part of a prototype’s plaque piece to permit us poke on the flash memory’s base.
In the superior part, slightly displaced ABOVE THE PREVIOUS ONES, we’ll solder other two rows of pins, but SOCKET this time, to work as a base for the flash memory.
We’ll have to weld both EVEN, pin by pi so that we confirm the continuation between flash memory and its original base.
We’ll solder everyone of the pins WITH EACH OTHER (the superior base ones with the inferior pins), one by one except ROMA14 and ROMA15 signals ( -----29 and 3 of the memory) that, as you can see in the scheme they should be separated, because we’ll screen them in the GAL, generating two new ROMA14` , ROMA15` signals.
Here you have a picture of how it should look (sorry for ugly welds =) ):


In the case of ROMA14 (-----29) , and ROMA15 (--3) signals, signals which come from the plaque should be connected to ------- 8 and 9 of the GAL respectively, whereas signals that GO TO the memoery (ROMA14` and ROMA 15`) go to --------18 and 19 of the GAL.
Once we’ve made this, we have the possibility of welding the necessary cables between a  narrow base of 24 pins which we’ll solder for the GAL and the new base we`ve improvised for the flash memory.
To do that, we’ll follow the previously shown scheme.
Once we’ve made it, we’ll move on to make the signals’ connections left, with the main plaque.
The scheme that should be followed for those threads is the following one:


To be able to connect and disconnect the plaque I’ve added a Little row of 7 rocket pins which will allow us to connect a plain cable where I’ve soldered pins ------.
I don’t add a picture of how mine looks so as not confuse you, because I have a lot of unnecessary things after lots of tests.

Something you have to take into consideration is that A15 and /MREQ signals, when we add add-on, have to be disconnected of the rear expansionn buus, because add-on’s gal will generate new BACK-A15 and BACK_MREQ signals to connect with the rear expasion bus.
Sorry for the bad picture’s quality, but I haven’t been able to take a better one that close.
The idea is connecting A15 and /MREQ signals with the pins we’ve lifted and BACK_A15 and /BACK_MREQ directly on the expansion bus’ tracks.
I’ve added a piece of thermo-retracting to the cable that goes to the pin, so that they aren’t in contact.
Lastly you’ll have to record the equations in add-on’s gal.
You have here this new GAL’s equations:
COMPONENTS’ LIST
SYSTEM FILES
In the following link, you can download the files you’ll need to programme GAL and flash memory.
You also have schemes and all the VERSION’S SOURCES.
I also attach the main PATCHED ROMs of the +3 to work with superupgrade.

Download
You should take into account that IC10 equations change from versión 0.4, which is the one that corresponds to the plaque. For that reason it’s essential to make modifications in the plaque to make it work.
In the ROMs file you have two different ROMSETs, as well as the BIOS’ sources.
In the case we made the add-on we would be able to take advantage of those ROMSETs characteristics, though, anyway, there are functios we can take advantage of in the case we didn’t make the add-on.
-TEST’S ROMSET. This ROM will permit us to realice the beginning tests to make sure everything works well.
It consists of a starting manu and 31copies of the original Spectrum’s ROM. If we have the add-on connected, when we start up it’ll appear the menú which will permit us select the ROMSET and the ROM we want to start up with.
In the case we didn’t have the add-on we’ll be able to select the acive ROM with jumpers and we’ll press reset.
The ROMs’ beginning message is changed to show us which ROMSET and which ROM is active.
-Example ROMSET. This ROMSET has BIOS installed in the ROM0 ad a series of different systems already copied. If we have the add-on connected we’ll be able to start up the system we want just selecting the corresponding letter to that system and then pressing Enter.
The combination BIOS/add-on doesn’t work well if we don’t have connected the divIDE and it’s likely to come out a new versión with modifiers in the hardware, as well as in the software.
To work with jumpers we should take into consideration that we only have 8 simultaneous systems, although in this case we have complete compatibility with the divide as long as we take into account the following points:
-Each ROM should take 64kb.
-In the case of 32kb ROMs we should copy them twice in the desired SLOT.
-In the case of 16kb ROMs we should make 4 copies.
Games and systems compatible with divide (as Jupiter ACE) will need to disconnect or deactivate it before starting them up.
BIOS’ MANAGEMENT
The main superupgrade’s BIOS’ screen show us a list with the ROMs included in the flash memory.
To start up one of them, we’ll select the corresponding letter and we’ll press “ENTER”.
In in versio 0.2 of the BIOS a tool submenú has been added, which can be accessed pressing “V” and “ENTER”, from the main menu.
In that menu we’ll have tolos to test our interface:
-KEY IN TEST: it’ll show us visually the letters we’re pressing and the three superior bits of each half row.
For the KEY IN we just use bits 0 to 4, whereas bit 6 is used to the EAR input.
To finish the test we’ll press BREAK.
-JOYSTICK’S TEST: it will permit us to make a complete joystick’s test, asking us to press sequentially each one of joystick’s keys. When we get to the Sinclair’s test we should use both joysticks simultaneously.
In the case we press “BREAK” we’ll move on to the next key, though we don’t press the right key.
-RAM’S TEST: it will realize a RAM’s paging test, pointing out how many pages of memoery we have.
It isn’t about a complete RAM’s integrity test, because it just tests the paging.
-AUDIO’S TEST: it will make a musical scale sound for each one of the three AY channels.
-ROM’S PAGE’S SELECTION: This option is thought to those users that don’t insert the add-on.
Remember that the memory is divided in 64kb blocks’ which are selectable with jumpers, and that in each one of the 64kb blocks four 64kb pages fit.
Well, if after starting up the menu we change jumpers to the desired ROM, this option will permit us to select the 16kb page we want to execute.
Once the desired page is selected, the system will ask us to press a key, and then spectrum will be reset executing the programme which is restrained in the selected page.
Alejandro Valero Sebastián (wilco2009)










domingo, 3 de enero de 2021

12/16KB VIDEOPAC+ GAMES

In order to better understand the paging of 12 and 16KB games with videopac + graphics, and to be able to include those games in my "Videopac micro-SD cart", I have reverse engineered one of these cartridges.

The following games fall into this group:


 - 55+ Neutro Star 

 - 58+ Air Battle 

 - 59+ Helicopter Rescue 

 - 60+ Trans American Rally


Any of those games can serve my purpose as they all use the same type of pagination.

In general they are rare games and they are expensive to acquire, so I have bought the most affordable of all which is the 55+ Neutron Star.

After following the ways with the multimeter I have reached the following diagram:

Basically, this cartridge works as follows:

- The A0-A9 and A11 address lines of the console are connected to the A0-A10 address lines of the ROM chips, resulting in 2K per bank as in standard paging games.
- Any write access to the external RAM (P14 = 0 and P16 = 0) in the range 0800h-0bffh causes the values ​​of D0..D2 of the data bus to be stored in the latch (IC2 in the diagram).
- When P10 = 0 the latch is activated and the stored bank number is selected.
- If P10 = 1 the latch is deactivated and the pull-up resistors select bank 111b.
In the schematic, D0 and D1 are connected to the A11 and A12 address lines of the ROM chips, while D2 is used to select the active chip.

The EPROM chips used in these cartridges are 8KB / 4KB, and are currently hard to find, so I have modified the schematic to allow a single 64KB EPROM to be used much easier to find and also cheaper.


Finally I leave here an image of how the PCB would look once routed.









JUEGOS 12/16KB VIDEOPAC+

Con objeto de entender mejor la paginacion de los juegos de 12 y 16KB con graficos videopac+, y poder incluir dichos juegos en mi cartucho "Videopac micro-SD cart", he realizado ingeniería inversa de uno de estos cartuchos. 
Los siguientes juegos entran dentro de este grupo: 
 - 55+ Neutro Star 
 - 58+ Air Battle 
 - 59+ Helicopter Rescue 
 - 60+ Trans American Rally

Cualquiera de dichos juegos puede servirme para mi propósito, ya que todos utilizan el mismo tipo de paginación.

En general son juegos raros y que son caros de adquirir, por lo que he comprado el más asequible de todos que es el 55+ Neutron Star.

Después de seguir las pistas con el polímetro he llegado al siguiente esquema:






Básicamente, este cartucho funciona de la siguiente manera:

- Las líneas de dirección A0-A9 y A11 de la consola están conectadas a las líneas de dirección A0-A10 de los chips ROM, lo que da como resultado 2K por banco como en los juegos con paginación estándar.  
- Cualquier acceso de escritura a la RAM externa (P14=0 y P16=0) en el rango 0800h-0bffh provoca que se almacenen los valores de D0..D2 del bus de datos en el latch (IC2 en el esquema). 
- Cuando P10 = 0 se activa el latch y se selecciona el número de banco almacenado.
- Si P10=1 el latch se desactiva y las resistencias de pull-up seleccionan el banco 111b.
En el esquema, D0 y D1 están conectados a las líneas de dirección A11 y A12 de los chips de ROM, mientras que D2 se utiliza para seleccionar el chip activo.

Los chips EPROM usados en estos cartuchos son de 8KB/4KB, y actualmente son difíciles de encontrar, por lo que he modificado el esquema para permitir usar una sola EPROM de 64KB mucho más sencilla de encontrar y también más barata.





Por último dejo aquí una imagen de como quedaría la placa una vez enrutada.

lunes, 26 de octubre de 2020

 

The Videopac µSD cart is a revolutionary cartridge allows the loading of Videopac/Magnavox Oddysey2 ROMs from a micro-SD card directly to the console.

 







Features:

·       Supports the Magnavox Oddysey2, Philips Videopac G7000, Videopac+ G7400, JOPAC and all compatible consoles

·       File selection with OLED display and/or ‘on screen’ game selector

·       Supports the following ROM types:

o   Standard P10/P11 games: 2K, 4K and 8K

o   XROM games: Game 31 (Musician) & Game 40 (4 In Row)

o   Videopac+ games: Game 55+ (12K), 58+, 59+ and 60+ (16K)

o   Soren Gust format: 12K

·       Serial transfer from PC for developers

·       Hexadecimal memory monitor for debugging

·       USB upgradable firmware

PREREQUISITES

The following items are required for a working system with the Videopac µSD cart:

1.       A Magnavox Oddysey2, Philips Videopac G7000, Videopac+ G7400, JOPAC etc. console

2.       The Videopac µSD cart itself

3.       A micro-SD card (not supplied)

4.       A copy of the “SD.ZIP” file containing the files for the Videopac µSD cart


 LAYOUT

The Videopac µSD cart connectors and elements are listed below:




1.       Backlit 1.3” OLED display

2.       Direction buttons

3.       Enter & ESC buttons

4.       LED’s for SD & RAM access

5.       Buzzer

6.       Arduino Mega pro 2560

7.       Serial port header

8.       USB connector for programming firmware

9.       RAM

10.   JTAG header to program the CPLD

11.   3.3V regulator

12.   Micro-SD Slot

13.   CPLD for pagination control



Manual de usuario 

User Manual Thanks to Dandore

Manual de usuário Obrigado a Pablo Vidarte

Flash & Serial comunications Utilities

starting pack to copy to your uSD

 

I would like to thank Rene Van Den Enden for his help. Especially in the development of native rom selection software.

CONTACT: wilcoavs at gmail dot com



 

El cartucho “Videopac uSD cart” es un revolucionario cartucho que permite cargar ROMs de Videopac/Magnavox Oddysey2 desde una tarjeta uSD directamente a la consola.

 







Características:

·       Funciona en las consolas Oddysey2, G7000, G7400, JOPAC y todas las consolas compatibles.

·       Selección de archivos desde el display OLED o mediante el “game selector” directamente desde la consola.

·       Soporta los siguientes tipos de ROMs

o   Juegos estándar de 2K, 4K, y 8K

o   Juegos “XROM”: Catucho 31 (Musician) y Cartucho 40 (4 en raya)

o   Juegos de Videopac+ de 12K y 16K: 55+ (12K), 58+, 59+ y 60+ (16K)

o   Formato de Soren Gust: 12K

o   Trasferencia serie para desarrolladores

o   Monitor hexadecimal para depuración

o   Firmware actualizable por USB

PRERREQUISITOS

Se requieren los siguientes elementos para funcionar con Videopac uSD cart:

1.       Una consola Magnavox Oddysey2, Philips Videopac G7000, Videopac+ G7400, JOPAC etc.

2.       Un Videopac µSD cart

3.       Una tarjeta micro-SD (no suministrada)

4.       Una copia del ZIP conteniendo los archivos y utilidades para manejar y configurar el Videopac µSD cart

Se requieren los siguientes elementos para funcionar con Videopac uSD cart:

1.       Una consola Magnavox Oddysey2, Philips Videopac G7000, Videopac+ G7400, JOPAC etc.

2.       Un Videopac µSD cart

3.       Una tarjeta micro-SD (no suministrada)

4.       Una copia del ZIP conteniendo los archivos y utilidades para manejar y configurar el Videopac µSD cart

DESCRIPCION DEL CARTUCHO

Seguidamente se listan los elementos y conectores del Videopac µSD cart.

1.       Display OLED de 1.3”

2.       Botones de dirección

3.       Botones Enter y Esc

4.       LEDs de indicación de acceso a SD y a RAM

5.       Buzzer

6.       Arduino Mega pro 2560

7.       Conector de puerto serie

8.       Conector USB para reprogramar el Arduino

9.       RAM para albergar el juego actualmente en uso

10.   Conector JTAG para programar la CPLD

11.   Regulador de tensión a 3,3V para alimentar la CPLD

12.   Slot para la tarjeta uSD

13.   CPLD para controlar las señales de paginado.


              Manual de usuario 

              User Manual Thanks to Dandore

              Manual de usuário Obrigado a Pablo Vidarte

CONTACT: wilcoavs at gmail dot com


Manual de usuario 

User Manual Thanks to Dandore

Manual de usuário Obrigado a Pablo Vidarte

Flash & Serial comunications Utilities

starting pack to copy to your uSD

 

I would like to thank Rene Van Den Enden for his help. Especially in the development of native rom selection software.



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.