To get my program debugged, I built a simulated environment that sits on top of the free Visual C 9 express edition and Free SDL which simulates the MeggyJrSimple API. It should be an almost-trivial exercise at this point to port this to either a Mac or a Linux box.
This is *not* a cycle-for-cycle exact hardware emulator. It's a mock up allowing you to compile your program on a PC and run it on a simulator, including debugging in a sane environment. Much as I hate to admit it, Visual C 9 is a *much* more stable environment than Dev-CPP, upon which I /first/ started the simulator.
It was just a one-day hack, but I figured it might save someone else having to spend that day. The compile-test-debug cycle goes faster using Visual C 9 too...
The functions simulated are:
CheckButtonsDown()
CheckButtonsPress()
SetAuxLEDs()
SetAuxLEDsBinary()
DrawPx()
ReadPx()
ClearSlate()
DisplaySlate()
milis()
delay()
MeggyJrSimpleSetup()
The functions not (yet?) simulated are:
SoundOn()
SoundOff()
Tone_Start()
Tone_Update()
EditColor()
You get all the source code (that's a feature, not just me not knowing enough about Visual C++ to configure it to build a library), so if anyone wanted to, they could have a stab at adding support for these.
Obviously, the down-to-the-metal functions of the original Meggy library are *not* simulated, emulated, or anything else.
If it's of any value to anyone, I'll package this up and pop it up on a web page for others to play with. (But send me email at ken@kencorey.com so that I know there's interest!)
If anyone indicates interest, I'll be releasing this as GPL, for the record.
-Ken