Skip to main content

Posts

Showing posts with the label data

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...