Here’s an intense hack that lets [Matt Evans] play Game Boy Advanced on a larger LCD monitor. He didn’t take the easy way out during any step of the process.
He’s using an FPGA to translate the LCD signals from the GBA hardware into a 1280×960 picture that is then pushed to the large monitor. But did he use an FPGA development board? No, instead he picked up an old PCI card at a surplus store because it had a Xilinx Virtex-E FPGA. So the first thing he had to do there was to remove unneeded components and figure out how to make the connections to reprogram that chip.
So next you’d grab a working monitor and hook it up to the FPGA signal, right? Wrong, [Matt] had a slightly borked monitor, getting rid of the LVDS section and wiring up his own connections to push the RGB signals through in parallel.
Yeah, that’s a lot of work. But as you can see in the clip after the break, it works like a charm. If you’re looking for some other gnarly video-out hacks, check out this one that lets you play Game Boy on an oscilloscope.
[youtube=http://www.youtube.com/watch?v=MXrjUgqq6ik&w=470]
WTB +1 button
I used to love that game!
Nice hack. Wonder if the TV being on its side is part of the hack?
Hacking at its finest.
I don’t understand why people think it’s called the Game Boy Advanced, but there is not, and has never been a “D” in the name.
Nice hack though.
Anon, you must be the same person that complains when someone adds an ‘S’ to LEGO…
Anyways, very interesting, but playing sideways could only be fun if I was laying down next to it… I do believe there is an easier way to accomplish this (with the Transverter), but it’s not near as rewarding as doing it yourself.
Insane in a great way.
Very nice work.
Why does matt evans have a russian typewriter?
Advance, not Advanced!
*pet peeve*
why go through all that trouble? seems like a huge waste of time when there are simpler and faster ways to getting it done.
@joe
I can’t be sure whether you are sarcastic or not, so if you are disregard the following comment.
I hate these posts, sure there are easier/simpler/faster ways but he did not chose the easy way, that is the hack itself. So please keep all the stupid “this can be done easier” comments to yourself.
@Joe git off my lawn
My mind boggles at how hardcore Matt is, this is great.
Also, maybe HaD could think about installing filters in the comment submission system, cull phrases like “waste of time” or “could just buy”…
@Craig: congrats, that sounds like a particularly original interpretation of the well known “I disagree strongly with what you say, but I will defend to the death your right to say it”. To rephrase that: the seventies called, socialism wants its censors back…
In other news, nice work on the FPGA upscaler!
I don’t understand why people that say “why the trouble ?” come to this site at all, really :-)
Anyway quite awesome, I’d love to see the result of the combination with this algorithm : http://research.microsoft.com/en-us/um/people/kopf/pixelart/index.html
The real kick here is the re-use of some random hardware with an FPGA… I’ve been wanting to do that for ages!
on the project: I think that the LVDS output is actually simpler to implement once you have an FPGA at hand…
Great hack, I think people forget that doing things the hard way is the only way to learn.
@vic the output of that algo reminds me of one of the filters on the megadrive emulator gens. Kai I think maybe the name was.
Nice hack!
Too bad he didn’t do anything with the audio…
Well done.
The only thing I don’t understand is
why is the monitor on it’s side when the Game Boy screen is horizontal and not vertical?
@Mark A:
’cause putting the monitor up-side-up would result in major wire twistage and/or inadequate structural support?
Wow, that is just wonderful. Most hacks I see are very doable with some free time and a little money. What makes this hack so special is the sheer amount of knowledge required to get it done. FPGA programing, signal processing, hardware repair? I have seen his other work on the GBA platform and taking it a step further like this is just geat!
Thanks so much for the kind comments — very motivational for future hacks! :-)
@Whoever, exactly right, the monitor’s on its side just because it leant up against my desklamp that way without twisting the board around… no deeper meaning to it, but I should’ve mentioned it. ;)
@vic, I hadn’t seen that algo, very cool. C’mon, implement it in Verilog, I dare you!
@Wartex, good question! Typewriter is the result of “Guess what I bought on ebay!” from my g/f. :D
I encourage others to make their projects pointlessly tricky and debug them until they work; I def. learned a lot from this one (but breathed in too much lead…)!
Nice job, but couldn’t you have just used the Gamecube Gameboy Advance Player attachment?
@fasf, like most projects that wasn’t really the point of doing it. In almost all cases it’s the journey that’s interesting, not the destination. :)
Matt:
Nice job!
I am wondering can I use SX28(http://www.rickard.gunee.com/projects/video/sx/gamesys.php) to implement similar thing to output gba video to a tv instead of the vga monitor you’re using?
Can you shed some light about the gba lcd pin out?
TIA!
Apologies for commenting on such an old post, (by the way, nice work!) but I am curious to know if this process can be reversed. Could you display onto the GBA screen from an external source?
@Jo-Jo, do you mean to reuse the screen itself without tophe GBA (crappy screen tho), or to display “into” a working GBA? The latter would be more fun & how things like the GBA TV tuners work is (I believe) to have an external cart providing the video data in a way that looks “memory mapped” just like the program ROM, then using the GBA DMA controller to basically “memcpy” hat into the framebuffer every vsync. That way, there should be enough bandwidth for the 15-bit mode 3/full colour display. I think. :)
I’ll dig out my pin out notes if I can find them, too…