Home  GBA  NGC  NGPC  FPGA  Mobile  GP32  NDS  Oldies  Misc  

Saturday 20 May 2006

Video Games history conference

I'm a member of Silicium, a french association which goal is to preserve old computers and consoles and all related information.

Today we had to do a conference on "Video Games history", that was held at Odyssud. Unfortunately, no advertising or any kind of communication has been made about this event, so we ended up by doing the conference in front of... 4 persons. However, as some of us brought some stuff (handhelds, a C64dtv, and a Vectrex), many kids had a good time playing on these old systems.

Here are some pictures of the event :

Odyssud
Well, it would have been better if more people have been there (as the room, as well as the video equipment were pretty nice), but we still had a great time :)

Sunday 14 May 2006

6502 Board - WORKING!!!

6502board

Yay! The board works now :)

I made another bunch of attempts with the full system, but none of them were succesful. Then I removed the SRAM to keep only the CPU and the EEPROMs. Running the CPU at very low speed showed up the beginning of a startup sequence, but nothing really "stable".

After a while, I got a stable startup sequence, but it didn't do what I expected, so I performed another EEPROM read and I found out that the ROM contents has changed! This is due to another design mistake : the EEPROMs were connected like RAMs (i.e the WE pin was connected to the CPU), and the EEPROMs I use behave like RAMs, so my failed previous attempts corrupted the EEPROM contents!

So I tied the WE pins of the EEPROMs high (see the resistors above the EEPROMs), and continued my tests. I found out another short circuit, then after a while, EhBASIC booted up correctly.

I found one minor glitch, i.e the CE pin for the external memory doesn't work, but well that's nothing, as it's not mandatory, and I think I'll be able to fix it easily.

Next things to do, run the board at full speed, which probably requires to work at 5V (I'm still testing with 3.3V, which seems OK at least at low speed). But before doing so, I will need to get some extra components (mostly level translators), and design another board for power supply, clock and basic I/O. It means that I probably won't work on it for some days (weeks) for now. It will allow me (and my family that had to cope with my bad mood during this debugging process) to rest for a while...

Friday 12 May 2006

6502 Board - first hardware patch

6502board

I corrected the short circuit I discovered last night, then started to test the memory-related logic. I found out another "bug" here not related to the board itself, but to the design. Fortunately, it was easy to fix with a single wire, as you can see on this picture. Now I am able to read correctly the contents of one of the two EEPROMs. Good! Next things to do, perform the same tests with the other EEPROM and the SRAM...

Wednesday 10 May 2006

6502 board - EEPROM Reader

I made some extra tests on my board, but I got nothing working right. So it seems that I need to test things one by one.

First, I needed to ensure that the EEPROM writer was working, so I made a quick design on the Spartan-3 Starter board, that reads the contents of the EEPROM, and outputs the result on the serial port. I wrote a small program on the PC to catch this output, and everything went fine.

It means two important things :

  • The EEPROM contents is OK, so the EEPROM programmer works (even if as I said before, it is unable to read what it has written).
  • Driving the 5V EEPROM with the 3.3V FPGA seems ok, at least for those tests.


Next step, be able to perform the same with this EEPROM installed on my board. Yesterday I already discovered one short circuit, and I'm pretty sure that I will find other ones. The debugging process will be tedious but well, it might be worth the time spent on it.

Monday 8 May 2006

6502 board - debugging...

I spent a large part of the day to debug my board. Using a simple multimeter, I checked every conection, and corrected many bad ones. Then I flashed the EEPROMs with EhBasic, and made a simple design on my FPGA board, to test the whole thing... that of course failed. Even if I expected it to do so, I'm still disappointed about it.

Fortunately, I designed the board to make address and data busses, as well as control pins, easily available on connection headers, and components are mounted on sockets. So I will be able to remove the CPU, and control the other chips from an external source (the FPGA board), to test all the memory-related logic, and verify the contents of the EEPROMs (As I wrote some time ago, my EEPROM programmer isn't reliable, at least for reading, but I suspect it to be unreliable for writing too).

Saturday 6 May 2006

6502 Board - assembled !

I spent almost the whole day to finish the board : drilling, building vias (I used some pieces of wire, soldered on both sides of the board) and soldering components and headers, and here is the result :)

6502board3

Enough for today... Next week, I will add some required extra logic to test it (fingers crossed).

Friday 5 May 2006

6502 Board - looks better

I changed the design of the board : parts are placed in a different way, and tracks are now thinner. The resulting board is smaller than the previous one. I added some "markers" on the board corners in order to help to to adjust correctly the two sides. After some other failed attempts, I finally got a board that might work. Unfortunately, even with those markers, there is still an offset between the two sides of the board. However, as the tracks are still rather large, I should be able to cope with it, by being very careful while drilling... But enough for tonight, I will probably work on that tomorrow.

6502board2

Thursday 4 May 2006

6502 Board (first failed attempt)

Yet another new project... Well this one is more or less what I wanted to do some time ago with a Z80 : a simple computer. These last days, I started a design, and changed the CPU for a 6502 instead. The board has nothing fancy : two 8KB EEPROMs, one 32KB SRAM, and some glue logic. The connectors are designed to drive almost all the 6502 pins for expansion, as I plan to use the remaining 16KB of address space for a GPU and some extra I/Os, like keyboard, joysticks, etc. This extra logic will be designed into a FPGA.

This is my first attempt of a double-sided board. This board uses DIL components, so I didn't have the issues on pin/track drawing as with my previous board, but I misaligned the two sides of the board, leading to a useless board (but quite pretty, isn't it ? :)).
6502board1
Well enough for tonight... I will probably make another attempt tomorrow.