Home  GBA  NGC  NGPC  FPGA  Mobile  GP32  NDS  Oldies  Misc  

Thursday 20 July 2006

IntvFPGA - First good results !

IntvFPGAok
Tonight, I managed to get ROM working. After some time struggling with this weird CPU bus control (especially that wonderful ADAR phase), I finally found out that I needed to add some delay to prevent bus contention.

I am now able to run some ROM-based demos (bundled with the SDK-1600). Great! However, it seems that the Intv carts have a lot of features (RAM, bank-switching), so I'm all but close to completion... Enough for tonight, I'm quite satisfied with that result for now :)

Tuesday 18 July 2006

IntvFPGA - Putting things together

IntvFPGA_all1
Last night, I made some attempts with the whole system assembled. On the picture above, you can see an Intv motherboard, to which is connected my small board, itself connected to the Spartan-3 starter board. It suddenly points out one stupid mistake I made while designing the PCB : the cartridge header is too short, so I can't connect it to a "closed" Intv... Well it doesn't really matter, as the whole thing is for prototyping, but I could have thought about it before.

Anyway, I made some designs attempts, and those were not very successful. However, I managed to get (sometimes) the following display on the screen (see picture below), which correctly displays the game name (4-tris). This is a bit weird, though, as this game features a custom loader screen, whereas on this picture you can see the built-in loader screen... Weird isn't it ?

IntvFPGA_all2

Well, at least it might prove that my board is correct, as it seems that the Intv is able to read correct data (sometimes, at least). I made many attempts, but I haven't gone further than that... I think there are some timing issues (I currently use the starter board SRAM, which caused me some trouble in the past, especially with my T65-related project), and probably some lack of understanding on how the bus phases should be implemented. Well, enough for today, I need some rest :)

Saturday 15 July 2006

IntvFPGA - Board assembled

IntvFPGA_board

Here is the board, assembled. I had to repair only one track, but I still need to re-verify the whole board again, and I should be done for the hardware part.

Now comes the time to study how the Intv works, and think about the FPGA related part.

Friday 14 July 2006

IntvFPGA - PCB built

IntvFPGA_pcb

After some attempts, I managed to build a reasonably good PCB. It was a bit difficult, as I encountered some issues with the printing of the board : the laser printer I usually employ for this purpose gave bad results (weak prints, the toner might be empty) so I ended up using my inkjet printer, and after some tuning, I ended up with correct printings.

I still had to correct some tracks "by hand" before the etching process, and the final results seems acceptable (moreover, it seems that there is no alignement issue between the two sides, as opposed to my previous 6502 board).

Next things to do : drilling, track checking and correction if needed, then parts soldering !

Saturday 8 July 2006

"IntvFPGA" PCB design done

intvfgpa

Yesterday, I started to design a small PCB that will be used to connect the Intv cartridge port to my Spartan-3 starter board. Here is the current design : nothing fancy, it just features three 74LVC4245 ICs used to perform 5V to 3.3V level translation, as well as two headers : one for the cartrdige port, the other to connect to the one of the expansion header provided by the starter board.

The signal connections were a source of some questioning. The organization of the solder side of a Intv cartridge is pretty clear : 16 address/data bus signals, and the BC1, BC2 and BDIR signals. However, the component side signal description (found on this page, compared to what I've found on real Intv cardridges, was a bit confusing (for instance, how come that the MCLK signal could be connected to the cartrdige ground ?). So I designed the board in order to use some extra signals (MCLK and RESET), but kept the possibility to easily connect them to the ground.

Next thing to do, double-triple check the board design, and then build the PCB !