palmdoogie
Junior Member
Re-living the 80s
Posts: 66
|
Post by palmdoogie on Jun 21, 2009 7:24:17 GMT 1
Sorry about the slightly off topic thread , but the PalmMAME forum seems to be gone. I downloaded the source code for PalmMAME_021 and after changing all of the wrong pointers to the Tapwave SDK(apparently was on the dev's H: drive), I can get the modules to build with no errors. However, when I try to use them with the PMAME_021 loader, I get "FATAL EXCEPTION". ALso, I can only build the "debug" version of the loader. The loader seems to work OK, but the modules have the above problem. Curiously, the modules I build are smaller in size than the one's released with the PMAME_021 binary release. Is there a library not linking possibly or some other "hole" in the PRC that the compiler is not catching? I have noticed a lot of LJP code in the PalmMAME sources including - "ljp_pnoloader". If I disagreeumption is correct, and the modules are similar to the LJP emulator modules, I want to add a PALMMame-Lite to my LJP-Lite project and have a centralized launcher I want to cut the MAME drivers way down and get everything to fit in one MAME module that supports some of the more simple, fun, and classic games like Pacman, Centipede, and others that I remember fondly. I already identified that 90% of the games I want to support are in Modules 0 and 6 and I could easily trim those down into one module after removing the unwanted drivers and possible unused CPUs and Sound HW. I expect to post pics of LJP-Lite so far in my other thread soon. I have the modified UI almost polished off. Some of you will like it(Hint: Tungsten|* and Zodiac owners)
|
|
|
Post by rcoltrane on Jun 26, 2009 19:46:21 GMT 1
I've compiled PalmMAME successfully a loong time ago, when the forum was still alive. With the help of the author, I managed to get it to compile with the latest Codewarrior version and its update packs. I've compiled it to backport the Pit-Fighter driver from version 0.53 to 037b16 in order to get it fully working and to enable lots of game clones...
One thing I remember is that after you compile one module, you have to copy the new .sbin file over an existing .prc, so they are 'merged' together and after that your new .prc module will work. Take a look inside the 'module0' folder and you'll see a batch file that does this trick. Copy this .bat file inside the other modules folders together with the original .prc binary files and after the compilation, copy the ARMC0001.sbin over the PMameModX.prc. This should work.
|
|
palmdoogie
Junior Member
Re-living the 80s
Posts: 66
|
Post by palmdoogie on Jun 27, 2009 19:53:19 GMT 1
Hi and thanks for the info. When I run the batch script, I don't see any evidence of merging, though. The .sbin simply blows away the .prc file. The resulting file is the same size in bytes as the .sbin file. The script looks like a straight DOS copy command which won't actually merge the files. I noticed with version 018 and 021 source code, the PRC I build is a different size from the binary released version and has the Fatal Exception when loading issue.
When I build module 0 of the 017 sources, it turns out the same size as the binary release and works with the released loader. The only problem with the 017 sources is that all of the files are not there - there's no loader source code and you only get module 0 (However, you could probably reconstruct the other modules as the common code is there). Also, the 017 module has choppy sound on PalmPilots(but not on the Zod, go figure). If I could at least get 018 to build properly, it has proper sound on the Palm platforms. Something funny is going on, but If I can figure out how to build a module that matches the released module in size, I bet it'll work.
I just don't see anything special about the copy batch script. It appears to have the effect of blowing away the built .prc file and replacing it with an exact copy of the .sbin file renamed to the .prc filename. Thanks for the input though and if there's something I'm missing here, any further help would be greatly appreciated.
|
|
|
Post by rcoltrane on Jul 1, 2009 20:27:00 GMT 1
At first I had the same thought as you. I thought it would have no difference by copying one file into (over) another one, but believe, it made difference. I reaaly didn't understand why because I'm not an experienced programmer and I only followed the PalmMAME author instructions 'step by step'. That .bat file was previously there, It wasn't created by me...
I'll try to find my PalmMAME sources at home later today and I ]'ll check it out.
|
|
palmdoogie
Junior Member
Re-living the 80s
Posts: 66
|
Post by palmdoogie on Jul 2, 2009 1:13:14 GMT 1
I did manage to get a dialog going with the author of PMAME. He switched from building and loading in a PRC to simply loading in the ARM binary directly in order to save HEAP overhead. The batch file doesn't really do anything special. In fact, I can rename the .sbin file after having moved it onto the SD card and it works fine now. This method of module loading appears to have changed from version 017 to 018 which also explains why I was having trouble interchanging modules as a debug process. The other piece of the puzzle was that I needed a patched up version of the Tapwave 1.1 SDK, which the author supplied to me along with the latest verion source code (022).
I can now build a fully working version of PMAME from sources, and I've already started paring down the modules. I started with module 9 and reduced it down to about 1.3MB. There is still more to remove like unnneded machine files, and video and HW audio. The 50% cut came from just the drivers and the CPUs alone. I'm going to keep working with module 9 as my base and adding in the games module by module working downward until I have my single module PMAME-Lite. Then I'll finish stripping out video and audio HW that is not needed. Once I get a working PMAME-Lite(With about 50-70 games supported), I'll then work on integrating the module into something that can be loaded from LJP-Lite's Launcher. This whole experience is helping me get very famliarized with both the LJP and PMAME sources and organization. This will probably be my first, last, and only major Palm project; but I totally want to port the whole monolithic emulator system to Mac OS-X(first) and then the iPhone(Later). Why Mac OS-X, you ask? Because I want to put it on a hacked AppleTV and set it up in Kiosk mode(No finder-Launches the Emulator Launcher at boot up) and make a multi emulator game system that hooks up to my TV and only requires game controllers to use(an idea that I've been trying to figure out how to implement for several years).
|
|