PSA: Installing this project on a GBA SP is easier. The test pads are bigger and it has a smaller footprint.
Here is a photo on how to install this project on a SP: https://imgur.com/gallery/YES6Nlj
more photos in the google drive link at the bottom
______________________________________________________________________
What is gbaHD?
Its a GBA to DVI converter.
To create a stable HDMI signal without buffering whole frames, but rather go line-by-line, the quartz crystal of the GBA is removed. Instead, the FPGA generates the clock signal for the GBA.
_________________________________________________________________
Update 1:
zwenergy has released a firmware update for gbaHD that fixes the color issues.
I will always have the compiled latest version availible on my linked Google Drive at the bottom.
Here is a video of the color fix
__________________________________________________________________________
##SOFTWARE:
You will need to install on your windows pc:
Arduino IDE:
https://www.arduino.cc/en/Main.Software
Vivado Web Edition from Xilinx (You may need to make an account):
https://www18.zippyshare.com/v/IZrkFiOp/file.html
or use my gdrive link at the bottom to get the .bit file.
Zwenergy’s git repository:
https://github.com/zwenergy/gbaHD
___________________________________________________________________________
##HARDWARE
An original GBA aka agb-001
Storage:
MicroSD Card (Any Size)
Controller Interpreter:
A Seeduino Nano; AKA Arduino Uno. You can order from Here:
https://www.seeedstudio.com/Seeeduino-Nano-p-4111.html
FPGA:
Spartan Edge Accelerator Board - Arduino FPGA Shield with ESP32:
https://www.seeedstudio.com/Spartan-Edge-Accelerator-Board-p-4261.html
__________________________________________________________________________________
##PROGRAMMING:
First let’s start with the easy one, the Nano/Uno.
Open controller.ino with ArduinoIDE
Select Tools>Board>Arduino/ Genuine Uno
Select Tools>Programmer >USBasp
Select Port>”Your COM device”
Click the Check Mark in the top left to verify
Click the -> arrow to upload
That’s it now solder it up.
TP are here:
https://drive.google.com/file/d/1PyYKaE1JHFlH0gSuT3w1-opkUd5M9oJG/view?usp=sharing
______________________________________________________________________________________
##Programming ESP 32 and Spartan:
[Video of how to program the Spartan:]
you need to add the library
Sketch>Include Library>add zip
and add this zip
https://drive.google.com/file/d/1r0pKkC2piuYXaQMudEuKW3354AatcVGG/view?usp=sharing
Noteworthy:
Flip the switch above the usb-c port and select USB-C on the Spartan.
Next, There are a series of little switches on the Spartan under some clear brown tape. Look at the orientation board and insure its right side up and flip the far right switch to ON. (You will turn this off when programming is over) and make sure your power jumper is set to off.
Install the current upstream Arduino IDE at the 1.8 level or later. The current version is at the Arduino website.
Start Arduino and open Preferences window.
Enter
https://dl.espressif.com/dl/package_esp32_index.json
into Additional Board Manager URLs field. You can add multiple URLs, separating them with commas.
Stable release link:
https://dl.espressif.com/dl/package_esp32_index.json
Development release link:
https://dl.espressif.com/dl/package_esp32_dev_index.json
Open Boards Manager from Tools > Board menu and install esp32 platform (and don't forget to select your ESP32 board from Tools > Board menu after installation).
________________________________________________________________________________
##synthesize the HDL code:
Watch my video on synthesizing .vhd files into a .bit file.
Per the creator: /u/Zwenergy
“You first have to synthesize the HDL code. Use Xilinx Vivado (the WebPack edition is free) for this. This generates a bitstream file. In case of the Spartan Edge Accelerator board you can place this file onto a MicroSD card. In order to load to the bitstream from the card and program the FPGA, you have to program the ESP32 processor on the board once via USB and the Arduino IDE.”
Further info at:
https://wiki.seeedstudio.com/Spartan-Edge-Accelerator-Board/
Make a folder named “overlay” on the root of your fat32 4096k formatted SD Card
Copy “default.bit” into “overlay”
insert sd into the spartan.
_________________________________________________________
##Program ESP and Spartan:
Open 01LoadDefaultBitstream.ino with Arduino IDE
Select tool -> board-> DOIT ESP32 DEVKIT
Connect the Spartan Board with USB -C to the PC.
>NOTE: (install USB232 driver (chip CP2102) for your computer's operating system if it shows up as unknown device in the device manager).
Turn the power switch (near the USB Type-C slot) to USB side to power on the board.
Check serial port and board (DOIT ESP32 DEVKIT) as you would do when programming any other Arduino IDE-supported board.
Open the Arduino IDE's serial console (using the top right button), and ensure that it is set to 115200
Verify and upload the code using the 'Upload' button, and watch the result on the serial port.
It will say "run" over and over if successful.
>Note: When it starts uploading you will need to press BOOT button on the ESP32 portion of the FPGA for longer than 1 second to upload.
Now on to soldering,
Please refer to my photos and Zwenergy github at:
https://github.com/zwenergy/gbaHD
If you don’t have a 3D printer you can get the .STL printed from:
https://www.shapeways.com/
Video sig points:
https://drive.google.com/file/d/1NjH-A9CD9fRdE_gBbub3kq7Nk1ejclKT/view?usp=sharing
TP points for Seeduino:
https://drive.google.com/file/d/1PyYKaE1JHFlH0gSuT3w1-opkUd5M9oJG/view?usp=sharing
Power and Ground Locations:
https://drive.google.com/file/d/1ZW09uDcCA9EpZCWTCS5QQy_Fa1iXpFHV/view?usp=sharing
More Photos, My Files and info.
https://drive.google.com/drive/folders/1Jvu2CEMZRhmcFOKjo7Q3kQaTsbca5phK?usp=sharing
Here is a photo on how to install this project on a SP: https://imgur.com/gallery/YES6Nlj
more photos in the google drive link at the bottom
______________________________________________________________________
What is gbaHD?
Its a GBA to DVI converter.
To create a stable HDMI signal without buffering whole frames, but rather go line-by-line, the quartz crystal of the GBA is removed. Instead, the FPGA generates the clock signal for the GBA.
_________________________________________________________________
Update 1:
zwenergy has released a firmware update for gbaHD that fixes the color issues.
I will always have the compiled latest version availible on my linked Google Drive at the bottom.
Here is a video of the color fix
__________________________________________________________________________
##SOFTWARE:
You will need to install on your windows pc:
Arduino IDE:
https://www.arduino.cc/en/Main.Software
Vivado Web Edition from Xilinx (You may need to make an account):
https://www18.zippyshare.com/v/IZrkFiOp/file.html
or use my gdrive link at the bottom to get the .bit file.
Zwenergy’s git repository:
https://github.com/zwenergy/gbaHD
___________________________________________________________________________
##HARDWARE
An original GBA aka agb-001
Storage:
MicroSD Card (Any Size)
Controller Interpreter:
A Seeduino Nano; AKA Arduino Uno. You can order from Here:
https://www.seeedstudio.com/Seeeduino-Nano-p-4111.html
FPGA:
Spartan Edge Accelerator Board - Arduino FPGA Shield with ESP32:
https://www.seeedstudio.com/Spartan-Edge-Accelerator-Board-p-4261.html
__________________________________________________________________________________
##PROGRAMMING:
First let’s start with the easy one, the Nano/Uno.
Open controller.ino with ArduinoIDE
Select Tools>Board>Arduino/ Genuine Uno
Select Tools>Programmer >USBasp
Select Port>”Your COM device”
Click the Check Mark in the top left to verify
Click the -> arrow to upload
That’s it now solder it up.
TP are here:
https://drive.google.com/file/d/1PyYKaE1JHFlH0gSuT3w1-opkUd5M9oJG/view?usp=sharing
______________________________________________________________________________________
##Programming ESP 32 and Spartan:
[Video of how to program the Spartan:]
you need to add the library
Sketch>Include Library>add zip
and add this zip
https://drive.google.com/file/d/1r0pKkC2piuYXaQMudEuKW3354AatcVGG/view?usp=sharing
Noteworthy:
Flip the switch above the usb-c port and select USB-C on the Spartan.
Next, There are a series of little switches on the Spartan under some clear brown tape. Look at the orientation board and insure its right side up and flip the far right switch to ON. (You will turn this off when programming is over) and make sure your power jumper is set to off.
Install the current upstream Arduino IDE at the 1.8 level or later. The current version is at the Arduino website.
Start Arduino and open Preferences window.
Enter
https://dl.espressif.com/dl/package_esp32_index.json
into Additional Board Manager URLs field. You can add multiple URLs, separating them with commas.
Stable release link:
https://dl.espressif.com/dl/package_esp32_index.json
Development release link:
https://dl.espressif.com/dl/package_esp32_dev_index.json
Open Boards Manager from Tools > Board menu and install esp32 platform (and don't forget to select your ESP32 board from Tools > Board menu after installation).
________________________________________________________________________________
##synthesize the HDL code:
Watch my video on synthesizing .vhd files into a .bit file.
Per the creator: /u/Zwenergy
“You first have to synthesize the HDL code. Use Xilinx Vivado (the WebPack edition is free) for this. This generates a bitstream file. In case of the Spartan Edge Accelerator board you can place this file onto a MicroSD card. In order to load to the bitstream from the card and program the FPGA, you have to program the ESP32 processor on the board once via USB and the Arduino IDE.”
Further info at:
https://wiki.seeedstudio.com/Spartan-Edge-Accelerator-Board/
Make a folder named “overlay” on the root of your fat32 4096k formatted SD Card
Copy “default.bit” into “overlay”
insert sd into the spartan.
_________________________________________________________
##Program ESP and Spartan:
Open 01LoadDefaultBitstream.ino with Arduino IDE
Select tool -> board-> DOIT ESP32 DEVKIT
Connect the Spartan Board with USB -C to the PC.
>NOTE: (install USB232 driver (chip CP2102) for your computer's operating system if it shows up as unknown device in the device manager).
Turn the power switch (near the USB Type-C slot) to USB side to power on the board.
Check serial port and board (DOIT ESP32 DEVKIT) as you would do when programming any other Arduino IDE-supported board.
Open the Arduino IDE's serial console (using the top right button), and ensure that it is set to 115200
Verify and upload the code using the 'Upload' button, and watch the result on the serial port.
It will say "run" over and over if successful.
>Note: When it starts uploading you will need to press BOOT button on the ESP32 portion of the FPGA for longer than 1 second to upload.
Now on to soldering,
Please refer to my photos and Zwenergy github at:
https://github.com/zwenergy/gbaHD
If you don’t have a 3D printer you can get the .STL printed from:
https://www.shapeways.com/
Video sig points:
https://drive.google.com/file/d/1NjH-A9CD9fRdE_gBbub3kq7Nk1ejclKT/view?usp=sharing
TP points for Seeduino:
https://drive.google.com/file/d/1PyYKaE1JHFlH0gSuT3w1-opkUd5M9oJG/view?usp=sharing
Power and Ground Locations:
https://drive.google.com/file/d/1ZW09uDcCA9EpZCWTCS5QQy_Fa1iXpFHV/view?usp=sharing
More Photos, My Files and info.
https://drive.google.com/drive/folders/1Jvu2CEMZRhmcFOKjo7Q3kQaTsbca5phK?usp=sharing