Contact MeContact Me

fc64 — the flash c64 emulator

Tuesday, May 30, 2006

I had previously posted about the incredible speed of the new Flash Virtual Machine, but had some doubts as to whether a full-blown emulator would perform well in Flash. I've gotta say... those doubts have been thoroughly squashed.

Flash Player 9 beta running a C64 emulator

Even on my modest machine, the FC64 Emulator runs at an eye-popping 99FPS. That may not seem like any special feat compared to other C64 emulators, but you have to remember that this is not native code, but Flash byte code running through a virtual machine. Really amazing stuff!

redesign preview

I've been overhauling the look & feel of and the redesign is about 90% complete. Take a sneak peek at the new design and tell me what you think.

infinitely zooming mosaic (via kottke)

Friday, May 26, 2006

I'm normally too self-absorbed to post about stuff on other people's sites, but I have to make an exception. This thing will kick your mind's ass.

it's alive!

Wednesday, May 17, 2006

The GTA Status Page now provides more-or-less live feedback for many of its fields. Don't bother trying to be sneaky and open another window to update fields like "CAPTCHAs viewed" to see if it updates automatically. It doesn't. Those fields still require a page refresh.

ioyu goes gta

Tuesday, May 16, 2006

Like its console cousin, my new GTA Status Page offers more useless information than you'll know what to do with.

It gets the job done by firing events to keep a combination of cookies and session variables current. My first approach involved the use of the Ajax object in the prototype toolkit, but I was immediately met with a barrage of synchronization issues. So I opted for a much simpler approach where I'm tracking mouse movement and mouse clicks using JavaScript on the page and saving those values in a cookie when the page onunload event fires.

A nice benefit of using this approach is that my HTML-only blogger content also updates the status page.

ascii slider widgets

Friday, May 12, 2006

These fun little slider widgets are rendered completely with text and don't use any absolute positioning tricks. They tend to kick it old skool.

flash actionscript 3 == reeeally fast

Wednesday, May 10, 2006

I knew the latest Flash Virtual Machine was rebuilt from the ground up and that it realized significant performance improvements, but I didn't know it was fast enough for C64 emulation. This kind of "serious" emulation using Flash was out of the question before the release of the new FVM and AS3.0. The details surrounding this project are a little thin though, particularly regarding the configuration of the hardware it was running on when they clocked 6MHz CPU emulation speed.

In any case, it was fast, even for only emulating the CPU — a key choke point for any emulator. The C64 is a sophisticated machine and emulating all of the necessary subsystems so that it can play games will surely put the new FVM through its paces. (For instance, the C64's disk drive had its own onboard CPU, which alone would cut the performance of the emulator in half when accessing the drive unless some shortcuts are used to speed up emulation but reduce game compatibility.)

Perhaps Flash will start getting more love as a true application platform now versus a "skip intro" player — especially considering that it enjoys more ubiquity than pants.

sketchup practice session

Monday, May 08, 2006

So I spent a couple hours playing with the free version of Sketchup and built my house (plus a section of sidewalk, but no yard):

I've dabbled in 3D modelling and built some levels in UnrealEd, but I have to say this represents a leap in innovation for all 3D modellers to come and certainly makes 3D modelling more accessible to the masses. While the UI at first seems "fast & loose," it is exceptionally intuitive and offers some subtle hinting that allows one to easily apply a great level of precision. Go download it now!

commissioned work

Friday, May 05, 2006

I've always thought of Trekkers as being geekier than myself — and I'm pretty geeky. So it's an honor to accomodate one with a commissioned CAPTCHA. Feed me some vocabulary and I can have it randomly pick words.

I have no idea what it can be used for, but it's got "geek" written all over it.

pretty captcha

Thursday, May 04, 2006

While researching various CAPTCHA solutions to use on my contact page, I concluded that all the free ones were not very pretty. They were certainly not ioyu palette-compatible. So I took a shot at building my own CAPTCHA solution and was surprised at the relative ease of coding it and making it pretty at the same time.

I'm easy!

The above image is rendered on the server using the ServerObjects ASPImage component. If your host has this component installed and you'd like the source code to use on your own page, please contact me.

Oh, and I apologize if it generates the occasional curse word. I hadn't taken the time to refine its sensibilities yet.

ascii burger time demo

Tuesday, May 02, 2006

I decided to add an old JavaScript demo to the JavaScript page that I coded a while back. I have a more recent version backed up somewhere that includes more interactivity which I'll post when I find it.

The nifty thing about this particular demo compared to the ASCII Pachinko demo is that it's based on a relatively flexible color ASCII display engine. The engine itself uses two screen buffers, one that contains a static background and one that is used to render the sprites. It also supports animated sprite objects that one can apply movement vectors to. A major component that's missing from the engine is sprite collision detection which, when added, will surely have all the major software houses clammoring at my doorstep to license it.