A couple months ago I released the first version of Rhope, my main "hobby" project for quite some time now. Rhope is a multi-paradigm programming language designed to make writing concurrent code easier. Check it out at the main Rhope site or head straight over to the download page
I've started another little reverse engineering project. Google hasn't released any documentation on their new VM so I decided to get some the hard way. Well, hard is relative here. A decompiled Java class is a bit easier to read than a disassembled 68K binary. Anyway, I've managed to write some documentation on the dex file format used by the VM. I hope to have some documentation on the actual instruction set used by the VM in a few days, but for now I can whet your appetite with this: The instructions are variable length from 1 to 5 16-bit words. The VM appears to support 256 registers, but most instructions can only access the first 16. Instructions can take anywhere from 0 to 4 operands (though most take 2 or less). The actual opcode is stored in the first (least significant) byte.
It's hard to belive it's been over a year since I last updated this site. I'm currently working on a clone of the Palm OS with the intention of turning it into an open source project if enough people want to help. If you haven't noticed, Palm OS hasn't been doing so well as of late and with the announcement that Access/Palmsource will be developing a mobile Linux platform rather than Palm OS 6 it's been effectively handed a death sentence. I for one don't want to see Palm OS die. If you want to help out with the project or just express your support e-mail me or write a post in this thread at Zodiac Gamer.
In other news, I released a command line utility to read the filesystem of 3DO ISOs a while back and never posted a proper link here. Click here to download it.
A page for PocketJam will be going up in the near future. For now you can get it from gbax.com from the link for the GBAX 2K5 competition.
For a small taste of what you can do with it here are some short demo tracks I put together with it: Sustain Demo, Chord Demo
Stay tuned for more updates.
After many months of stagnation, I'm finally turning my attention back to my website. Expect new content and a spiffy new design. I also want to add a dynamic CovnSCD compatability database that users can easily contribute to (since I've been lazy and haven't bothered putting one together manually). Also, since I'll be using a CMS, updates will hopefully be a bit more frequent.
In the man time, I've released a new version of ConvSCD. It's a complete rewrite so it's a little lite on new features, but it fixes two rather nasty bugs. Here's the rundown:
Fixed Region Detection: The last version miscorrectly identified Japanese ISOs because of a silly typo. This has been fixed and region detection should work 100% (and I mean it this time).
Fixed European Conversions: In the last version, any conversion to Europe would result in an ISO that wouldn't work on real hardware. This has been fixed.
Full Command Line Support: You can now enter in all the needed information via command line switches if you so desire. The old interactive mode is still available.
You can get the new version on the ConvSCD page.
I've released a new version of ConvSCD. It has the following new features:
Improved Region Detection: ConvSCD should now be able to correctly identify an ISO's region 100% of the time.
Identifies converted ISOs: ConvSCD will now tell the user if it detects that the image has been converted before
Report Mode: If a filename is given on the command line, ConvSCD will print a report about the image and exit without doing a conversion
You can get the new version on the ConvSCD page.
I updated the Sega CD section of the site today. I added a datasheet for the PCM chip and fixed a minor error in my boot documentation.
I've gotten my first report on the SMS dumping feature of my "Transfer Suite." It doesn't work. It would seem that the SMS cartridge doesn't pay any attention to the address decoding logic on the Genesis so the SMS cartridge interferes with the BIOS preventing the machine from booting. Nemesis was able to get some success by taping over the ground, VCC, and one of the address pins, but the data was not surprisingly rather corrupted. It may not be possible to dump SMS carts without some modifications to the adapter.
As you may have noticed, I'm on a new host. I finally got some proper hosting and my own domain. Please update your links to point to the new address. The site will remain up at the old address for some time, but it will no longer be updated.
I updated my "Transfer Suite" for Sega CD today. It has the following new features:
-Dump 40Mb Carts (Super Street Fighter 2)
-Dump the Sega/Mega CD BIOS
-Dump SMS carts (using the PowerBase adapter)
Additionally, you can return to the boot menu by pressing Start after the dump has finished.
Auto-detect does not work for 40Mb carts.
32KB SMS games are currently not supported, though you should be able to dump them using the 64KB option.
Dumping SMS games requires that you somehow disconnect pin B30 on your convert as well as B32. A piece of tape over the pins should suffice.
I haven't tested any of this except for the BIOS dumping.
In other news, I'd like to link to Metalix's site as I promised, but I don't have a link section yet so I'll have to do it here. He has a couple of Genesis/Megadrive tutorials that should be useful for the beginner.
You can find his site here: http://www.emulationzone.org/projects/metalix/
I finally got around to adding a page for ConvSCD, my Sega CD region converter program. It should have higher compatability than scdconv, but it hasn't been tested extensively.
I added my 68K assembly tutorials to the Sega CD section of the site. Expect Part I of my Sega CD programming tutorial soon. I also finally linked my "Transfer" page in to the main site. This page covers the construction and operation of a simple cable that connects your PC and Genesis/Sega CD. It allows you to dump cartridges and test software.
I added a document on the Sega CD graphics coprocessor. Get it on the Sega CD page.
It turns out that when I did my last update, I uploaded the wrong version of BuildSCD. The new one is now up.
I've added a whole lot of new content. First off is a little Sega CD application I wrote called Sega Loader (I'm so creative arent' I?) or SLO for short. It presents the user with a list of files on the CD-ROM and allows him/her to load and run one of said files. It also has a limited text-viewer. I've released the source which includes a handy ISO-9660 library. Check it out here.
In addition, I've updated my Sega CD page with some new information as well as a useful utility, buildscd. It will take an ordinary ISO file, add your own boot code to it and write out the necessary data structures. Get it on the Sega CD page.
I've started to reverse engineer the 32X, but I haven't gotten far enough yet to post information up on the site.
NOTE: All updates below this one are from when this site consisted of only one page, if they don't make sense anymore then that's why.
I finally found the code that copies the data off the CD into RAM at boot so I updated my documentation to match what I now know.
Here's the info I have on the Sega CD boot process. This information is for American models and may not apply to Japanese and European models.
Note to Eidolon: Feel free to include this info in the SegaCD Programming FAQ
This page is Copyright 2002-2004 by Michael Pavone.