Welcome to Robot Dialogs. This is a place where I will record my progress, mistakes, errors, failures, lessons learned and hopefully occasional success in my designs and implementations of robots and other technical endeavors. I will try to make it as educational, informative and entertaining as I can...

Saturday, May 28, 2011

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:

2 comments:

  1. I'm also working with the GB LCD, trying to get something displayed on it. Really haven't been able to start just yet. I am going to use PIC+assembly, that way the code should be pretty much faster. Am I correct if I say that there are only 5 lines to bitbang to make something on the screen, HSYNC, VSYNC, CLOCK, DATA0 and DATA1?

    ReplyDelete
  2. Nope, unfortunately there are 2 control signals that I can't find any documentation on and that's the major hold up on my end. If you do the math and find that you can get all seven lines updating with meaningful information at a reasonable frame rate 30 fps or better, then maybe you can just spoof those two control lines. Check out the data I recorded in my previous posts, that should give you the timing info you need to spoof all the weird control signals...

    I've pretty much resolved myself to find an FPGA to create a display driver that does all that. I'm very tempted to use this: http://www.xess.com/prods/prod047.php

    Good Luck! Please post here or in the gameboy dev forum if you figure out any information regarding those control signals...I'd love to be able to use a dirt cheap uC at low frame rates...but I haven't been able to get a good visual yet...the 21 frames a second is not really a practical implementation...

    ReplyDelete