Here is the A2601 board running Keystone Kapers in demo mode. At the moment, the game ROM image is stored in the FPGA, because I had some problems with getting the on-board flash memory to work. Once I solve those issues and add the MegaDrive pad support, the electronics side of the project will be complete. Then, the final item in the project will be preparing the case to fit the board in.
Archive for August, 2010
Posted by retromaster on August 26, 2010
Posted by retromaster on August 23, 2010
I’ve (mostly) finished soldering the new A2601 board. The Xilinx Impact software recognizes the on-board FPGA and Configuration PROM through the parallel port JTAG cable, so I am able to download designs into the FPGA. Just for testing, I’ve uploaded a small design that outputs some NTSC color bars through the composite video port, and it seems to work fine.
It seems some more work needs to be done to get the A2601 FPGA design to work with the new board, though. It has been quite a while since I last worked on this project (judging from the dates on the files, almost three years), and during this time FPGA software (i.e. synthesis, simulation, etc.) has moved on. So I need to remember all the little bits and pieces and fix a few things here and there to make sure that the design works fine in the simulator again (it previously did). Once the design works in the simulator, it should be fine in the FPGA.
Posted by retromaster on August 16, 2010
Having made quite a bit of progress with UFE, I’ve decided it’s time to take a little break from it while I wait and see how recent developments in the manufacturing front pan out (sorry, cannot give details on that yet). So, I am now revisiting a never-before-released project of mine that is almost five years old now.
The project is an ATARI 2600 clone on FPGA, including 6502 and TIA cores in VHDL and dedicated PCB layout, all developed by me. The design fits in a 100K gate Xilinx Spartan 3E, and works quite well in the simulator. The PCB design contains the FPGA, resistor-ladder DACs for video and audio, custom joystick input ports and flash memory for storing ROMs. Few years ago I even built a prototype. It worked well, but unfortunately it did not survive, since my PCB-making techniques were not as advanced back then…
So, what’s new this time around? Basically, a reworking of the PCB layout that fits in a smaller case and contains a single input port for a Genesis/MegaDrive gamepad instead of custom-wired pads. I’ve ended up choosing MegaDrive pads because they are commonly available, very easy to drive and they contain the necessary auxiliary buttons (start/select etc.). I’ve already started manufacturing the board and the photo above shows the work in progress. Hopefully, all will go well and next time I’ll be posting working photos of the board…
Posted by retromaster on August 9, 2010
After implementing the I2C communications and a little bit of debugging, the UFE A1200 Keyboard Daughterboard is now operational. For testing, I had to use the previous Rev A1 development prototype of UFE, since the only existing Rev A2 prototype is now installed in an A500 machine and I did not want to remove it. I’ve had to make some cables and it also took some work with the hot glue gun to get the UFE installed in the A1200 case, but the results seem fine. In a little while, I’ll be updating the UFE page with this news; additional photos will be uploaded there as well.
Posted by retromaster on August 4, 2010
I’ve made some good progress with the A1200 keyboard daughterboard for UFE.
I painfully found out that the PCB design I’ve mentioned in my previous post had a physical issue: It was a little too large! After I made the board, I tried to fit it in an A1200, but it wouldn’t since the corner of the board hit a capacitor. Fortunately, I had not soldered any components yet.
So, back to the drawing board… The solution I came up with was to move the components in the lower left quadrant of the old design to under the PIC chip. Of course, a precision socket had to be fitted in order to raise the PIC to allow components under it. This way, I was able to cut the lower left section altogether, which meant that the new design would fit even with the metal shield in place.
Once I manufactured the PCB, I was glad to see it fit very well. This board is definitely NOT one of my better manufacturing jobs, but it seems it will do the job. The copperclad I used is thinner than the usual stuff, so it fits directly in the flex cable socket once the white plastic lock is removed.
The board has a PIC16F877 installed (I had some handy), although I think that a PIC16F884 would be a better, cheaper alternative, and could be used without modifying the board. During my first tests last night, a funny thing happened. I had a PicKit 2 attached to the daughterboard for testing and it was powering the daughterboard. The PIC was recognized by the PicKit and it was able to program and verify it. But as soon as I plugged the board in the A1200, the PicKit would give VDD Voltage level errors… I was puzzled. I checked for shorts all around the board and I was wondering if the edge connector footprint was incorrect. Then, I realized: The A1200 was off and the poor PicKit was trying to power the whole Amiga through the VCC pin on the flex cable connector! Once I turned the A1200 on, the errors went away 🙂
Last night I managed to write some code for the PIC, too. Now I am able to scan the Alt and Amiga keys so that I can detect the activation keycombo. Once the activation keycombo is detected, the board prevents the A1200 from receiving any keypresses and it looks like it can scan the keyboard without any interference. So, the basic functionality of the board is in place, although I need to do more tests to confirm problem-free operation. Eventually, I’ll implement the I2C communication with the UFE mainboard and I am sure there will be some quirks to sort out.