Skip to main content

Posts

Showing posts with the label gameboy

GameBoy (Classic) Work In Progress Part 5

21.2 FPS! I'm borrowing a ChipKIT Max32 from a friend. Hooked it up to the long running GameBoy Classic LCD project I've been working on and after some optimized code I hit 21.2 FPS! Best result yet. I'm used a simple java program to generate a version of my AVR C code in optimized Processing (Arduino-ese). I had to un-roll loops to the point of absurdity that's why I started using code generation... Java code is here . Up on my plate in the near future: IOIO Tinkering - I need to come up with a project worthy of android powers. 30 Days of Creativity - June 1-30 - I'll be doing this again for sure! Maple Tinkering - I think this board might be the next step for the GameBoy Project. I have to return the ChipKIT Max32...the thing can only toggle an I/O pin at 719 kHz (I can get something better at the same price point). And most importantly the KC Maker Faire: June 25-26 :

GameBoy (Classic) Work In Progress Part 4

I finally dug the GameBoy back out of the project box and started making some more progress on it. I'm still working with an ATMega32, but now I've cranked it up to the full 16Mhz it can handle... I also took some new data from the GameBoy LCD control signals with the Logic Sniffer. This time I wasn't clocking the GameBoy with my micro-controller. Instead I used the GBs original crystal, so the data is from the actual signals with actual timing that the GameBoy uses. I was able to break down the timings of the signals and essentially emulate them with the ATMega32. The logic I use to determine what pixel data to push out was simply if(x = y) then the pixel was turned on. I figure a diagonal line is a good test that doesn't look like the crazy vertical and horizontal screen artifacts you sometimes get with the GB. This picture is very deceiving, the contrast is a lot better in the picture than on the actual screen. The ATMega32 can't quite outpu...

GameBoy (Classic) Work In Progress Part 3

First: The Open Logic Sniffer is the best thing since sliced bread. Second: I finally have reliable recorded data from the GB CPU to the GB LCD. Okay so before making sense of the data here's what you need to know. I clocked the GameBoy CPU with my own micro-controller the resulting GameBoy CPU Frequency was 812 kHz. That's 24.63 times slower than normal (20 MHz), so all of the data collected needs to be time scaled appropriately. The data was collected on Pins 12-19 of the ribbon cable between the CPU board and the LCD board (See previous post for pin numbering and pin names, some of which are guessed). These pins correspond to inputs 0-7 on the logic analyzer respectively (see labels on image above if you're confused). Two of the data sets were sampled at 10MHz and one at 1MHz. The 1MHz set was only taken for timing of the Vblank (it isn't a high enough sample rate to be considered accurate for data analysis). I won't be drawing conclusions about the...

MakeKC: Mini Maker Faire

So I'll be participating in my first (Mini) Maker Faire next month. I'll have most of the projects from previous posts there with me on display. I don't know exactly where I'll be, probably get that email in the next few weeks. Should be some good projects out there. In the time between now and the fair I'll be working feverishly to finish my GameBoy project . The idea has picked up some new traffic in the previous post's comments and on the forums so I've got some new data and help in that respect. New data is below and I've ordered a logic analyzer so I can get even better info. 1 Frame of GB LCD Data More Data

GameBoy (Classic) Work In Progress Part 2

This is mostly just to get some pictures up. I'm just getting this posted so I can try and refocus on thesis...I should be so easily sidetracked... Any future developments will be posted in the forum first...I'll post here as facts become more concrete. The farthest I got with this setup was a man-in-the-middle setup (as shown below) where I could intercept the CPU's commands to the LCD passing them through the microcontroller and then to the LCD board. I had to move up to a ~11MHz crystal (not shown) on the microcontroller just to come close to allowing the signals to pass through unhindered. The best I managed was a slightly distorted picture...I'll need something faster to actually read the signals so I can reverse engineer them. I've also removed the GameBoy's oscillator so I could clock the GB at a slower speed. This did work but I haven't taken a ton of time to work on the coding side. The goal when I can work on it again is simply to replace th...

GameBoy (Classic) Work In Progress

This is a dump from the forum...it's notes on an in progress GameBoy hack. I will refine it later. Forum thread is here . I'm trying to identify and spec out the LCD signals in the GB (classic). I'm looking to do away w/ the GBs original controller board while keeping the LCD board. Basically I want to plug the ribbon cable into my on PCB and output the necessary signals to drive the video myself. I'm just wandering if anyone has more info on LCD signals output by the z80 so I can emulate them to display stuff. So far I've mapped all the buttons, speaker, power LED, LCD negative power to the appropriate pins on the ribbon cable. What I have so far: Note: Pin 01 is the pin on the ribbon cable closest to the power switch (at the cables connector). Note: Pin LCDV1 is the pin closest to power switch on the LCDs vertical axis connector (beneath LCD). Note: Pin LCDH1 is the pin closest to power switch on the LCDs horizontal axis connector. Pin 01 GND Pin...