treocentral.com >> Stories >> Software
Treo Tekniques: Emulation Pt. 1

Tue Jun 6, 2006 - 5:23 PM EDT - By Xious Sonenberg


Behind the Scenes

You might liken the entire new generation of emulators to digital magic, turning one machine into another with absolutely no annoying hardware dongles or costly extra equipment whatsoever.

Though it's not easy to code something like this, the concept behind it is really quite simple. An emulator is a program, which runs a virtual machine that translates the codes and instructions of the original machine into something your computer can understand. It also lets you interact with the emulated "state" using your modern hardware, presenting you with the visual display (monitor) of the emulated system in a window on a separate screen, and in some cases transferring the input/output of devices like printers, plotters, and the like to your modern laser or ink jet, joysticks, modems, and so on.

Some emulators even let you use your disk drives to run the old software, or store data on your hard disk or memory card as a virtual disk device" to ease data management. Setting up hard disk files, or simply translating the file system on your hard drive to something the emulated system can understand are just two more of the amazing innovations with which you could interact using your up-to-date, current hardware making for a fresh, radically cool experience.

So, if you want to play the original Atari Centipede, instead of tinkering with a cheesy port that looks and plays like it was coded in your cousin's basement, we can instead run MAME, The Multiple Arcane Machine Emulator, on our home PCs and slap on a trackball for the true to life Arcade Experience!

Or, how about running GEOS or (some other C=64 title) in Frodo, a Commodore 64 Emulator in a window right next to Yars' Revenge in Stella, the Atari 2600 emulator?

The possibilities are literally endless. You could even run an Apple /// emulator and boot up the Apple ][ emulation disk image, or emulate an Amiga emulating a Mac for a vicious onion layers effect.

Some time ago, just for grins, I did exactly that; I set up an Amiga emulator (UAE) on a PowerMac, and then ran Shapeshifter (a Mac emulator for the Amiga) on top of it just to prove it was possible. While it was slower than snot and far from fun to use, it actually worked!! It was a Mac running an Amiga running a Mac; Kind of twisted, but certainly, bitchin' to see.

There are even free emulators out there now that let you emulate a Mac on Windows, or Windows on Linux, not to mention run just about any x86 OS on a Mac.

So, why not run some on your Treo?


Emulation in your shirt pocket.


Yes indeedy, the Treo can run tons of emulators. With their fast CPUs, expandable memory and eye-popping high-res screens, the Treo 650 and both 700s are perfect for running lots of classic games and applications on the couple dozen emulators out there.

Before the current generation of handheld computers, we've not been able to get on par with desktop PCs for emulation potential, and while there is still quite a bit that we can't do on a Treo, the level of versatility has grown by leaps and bounds in just the last two to three years.

Of course, there's going to be a bit of a learning curve here if you've never run an emulator before, so I'm going to do my best to explain how it all works and what you'll need to do to get bootstrapping. Just work along with me and we'll have you playing Psygnosis' "Lemmings" in no time!

However, if you want your Treo to be a happy camper, there are still some things you should consider doing before you go and load up on a bunch of emulators.


What You'll Need


First, before you even think about setting up an emulator make sure you have an SD card. You don't want a lot of emulation stuff clogging up your Treo's internal RAM, and it's messy to try to get it in there anyway, so an SD card is a must-have for this to work right. For practical reasons, if you expect to be running a lot of emulators, or even just have an array games for one emulator, unless you feel like running out of space fast I suggest getting at least a 512MB card.

The SanDisk Ultra II USB folding SD card is, in my opinion, the absolute best way to go here. It saves a lot of hassle dealing with cables, card readers, converters and such, and the 512Mb version costs less than $50 these days.

If you already have an SD card, even a smaller one for now you can set up some of your emulation software right away. One of the first things you will probably need is UDMH: the "Unlimited Dynamic Memory Hack" from PalmPowerups.

You may already know that the Treo 650 has 32MB of built in internal RAM, but what you probably don't know is that only about 4MB of it is dynamically available to applications at any given time; The rest of the memory is reserved for data storage.

What UDMH does is trick your Treo into using memory reserved for storage as dynamic RAM for applications. In its control panel, you set up which programs will need more memory, and configure how much RAM to give each.

It reminds me of "memmaker" for DOS; back in the mid-90s, when you wanted to run most games or high-res apps you needed to configure extended memory (beyond 640K) in three different types. UDMH is the same sort of thing for PalmOS, only it's much easier to set up, and customizable for each program you want to use with it.

This is a brilliant piece of work, and I applaud its developer. It isn't free, but it's a small expense (only $10) and may come in handy for other things too.

De-fragmenting your internal RAM is also important, as having a lot of small blocks of RAM can cause your emulators to run very choppily, or exhibit more critical problems (like the inability to properly load a disk image). The easiest way to resolve this situation is with Backup Buddy VFS from Blue Nomad.

Simply back up your Treo to your SD card and then do a hard reset to clear everything from internal RAM, and it wouldn't hurt to upgrade to the latest ROM revision for your particular flavor of Treo while you are at it. Afterward, just use BBVFS to restore your data and bingo! � everything's ready.

Once you have the memory managed, you'll want to start getting emulation programs. In our next installment of Treo Tekniques: "Retrospective: Puttin' it all Together", we'll cover how to set up and configure the emulators themselves, as well as the basics on how to use them and how to get the software to run on them.

Thanks for stopping by, and see ya' next level!




Copyright 1999-2016 TreoCentral. All rights reserved : Terms of Use : Privacy Policy

TREO and TreoCentral are trademarks or registered trademarks of palm, Inc. in the United States and other countries;
the TreoCentral mark and domain name are used under license from palm, Inc.
The views expressed on this website are solely those of the proprietor, or
contributors to the site, and do not necessarily reflect the views of palm, Inc.
Read Merciful by Casey Adolfsson