View Full Version : LET'S GET THIS PARTY STARTED!!! Programmers... let's do Sega's emu!
GoldenTiger
04-17-2003, 08:55 PM
As you probably know, Sega has released a gamegear emulator for palm with 5 games in it. Programmers from two companies have posted on palminfocenter.com that by bypassing the sound, the emu will work on Sony Clie's, and that you can easily place different ROMs inside the emulator by replacing the old rom with one of any size.
Those with the skill, please make a utility to replace the ROMs and release a .prc of the emulator without the sound for us with Sony Clie's. I don't have the skill to do it, so thus I can't, but I have provided the info that I can here. Let's bring Clie gaming into a new era!
yOyOYoo
04-17-2003, 10:28 PM
Good idea, but this isn't going to be easy. Like I mentioned in the previous post, our CLIEs simply do not have enough buttons at this time to run the Gamegear emulation. The Tungsten uses the datebook/phone as Start Select buttons and the Todo/Memo as A/B buttons. up/down/left/right is accomplished by the 5 way navigator, which our CLIEs are missing.
So if programmers made a sound workaround, we could see the game, but we couldn't do anything with out button layout (maybe the gamepad would work - but I doubt this)
The only workaround I can see to this is a complete software workaround, where "start" and "select" options are written into the toolbar at the bottom of this program. Also, button remapping needs to be integrated into the software also, so we can map our datebook/phone buttons to LEFT/RIGHT.
So as you can see, no easy feat. How good are these programmers anyways?
Unregistered
04-17-2003, 11:57 PM
Originally posted by GoldenTiger
As you probably know, Sega has released a gamegear emulator for palm with 5 games in it. Programmers from two companies have posted on palminfocenter.com that by bypassing the sound, the emu will work on Sony Clie's, and that you can easily place different ROMs inside the emulator by replacing the old rom with one of any size.
Those with the skill, please make a utility to replace the ROMs and release a .prc of the emulator without the sound for us with Sony Clie's. I don't have the skill to do it, so thus I can't, but I have provided the info that I can here. Let's bring Clie gaming into a new era!
I'm glad about your intention of porting this great emu into the CLIE platform, but may I ask you: Do you have any ideas of how time-consuming it is to write a software to emulate hardwares?
Please don't ask someone to do the work for you. If you're interested to do a port, then maybe at least you can start writing a draft, and with the help from Sega, I'm sure this project will attract the attentions from CLIE developers worldwide.
PS~Start Working, Stop Asking
ashVID
04-18-2003, 02:56 AM
People generally dont understand how this works. They assume that "system X ran at 15mhz, Clie runs at 200mhz, it should be EASY to emulate a system 1/12th as powerful..."
Sounds logical but it is DEAD wrong. ROMS or games are made to run on SPECIFIC hardware and have instructions that comply and maximize performance based on that hardware. When you try to use software to emulate hardware it becomes a programming nightmare. PPC has many emus because there have already been many people working YEARS AND YEARS perfecting them for PC and the port to PPC is much easier. You cannot port an emulator to Palm and expect it to be very good. It will have to be re-written from scratch. It will need to be a labor of love as the developer will never make his money back.
I think Xcade is the best emu right now, only supports 17 games but they all look and play PERFECT.
ash =o)
cbulock
04-18-2003, 03:11 AM
I think some of you misunderstood the post. The emulator has already been written and works on the on the Tungsten T alright. Supposedly if the sound is disabled, then it could work on the Clie's too. So the emualtor writting is all done. Unfortanltly I am no programmer, so I can't help with getting this to work as GoldenTiger would like.
Glacialeye
04-18-2003, 03:31 AM
Well... Being a member of the PalmWarezGroup (www.pilotwarez.com) I'm really thinking about some sort of Mega-Patch to make everything run fine.
The point is, that modifying such features in a program at assembler-level can be very difficult, probably impossible. Bypassing the sound could be an idea, but I need to know what are the instructions I need to bypass first, and of course this could be not too easy...
Replacing the ROMS will probably be easier though. The problem is, doing an (illegal) thing like that, that you are not sure that every ROM will work. It's also likely to create problems on your device, not excluding data loss.
Finally, I think replacing the button placements at assembler-level is veeeery hard to do. It will be MUCH easier if someone writes a hack (or something like OKey) to make the clie "think" it has a navigator...
Finally, about the 80% of those things are illegal. This is because you use code you don't own. Rewriting all the code (in any programming language) is a VERY BIG task, as ashVID already pointed out.
Anyway today I'll have a further look and report you anything I find out...
Glacialeye
04-18-2003, 03:47 AM
Sonic ROX :) At least now i can see it on my Cliè NX70v
I made a patch to disable sound... of course :)
Here we go ladies and gents:
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE PW_DATA SYSTEM "palmpass.dtd"><PW_DATA VERSION="2" DATE="2003-04-18 10.41" CREDITS="#PalmWarez"><INFOTEXT/><UPDATES/>
<TARGET LONGNAME="Sonic_Hedgehog_h 1.0 sound disabler" URL="http://software.palm.com/sega" CREDITS="GlacialEye" TEXT="This patch will make Sonic work on the Cliès...">
<FILE LONGNAME="main file" NAME="sonic_hedgehog_handango.prc" SIZE="533692" ID="Sonic_Hedgehog_h" VER="1.0" CRC16="43126" TEXT="">
<CHANGE PRECRC="56433" UCNT="3">791F4 4E560000 70014E75</CHANGE>
<CHANGE PRECRC="60730" UCNT="6">792B7 56 75</CHANGE>
<CHANGE PRECRC="38688" UCNT="8">792F7 56 75</CHANGE>
</FILE>
</TARGET>
</PW_DATA>
Btw. This patch is 100% legal... Of course if applied to the demo version it will not register it...
If you don't know how to apply the patch, read the faq at www.pilotwarez.com
You'll have to use the PWCPP or the pwpatcher Lite (best for all windows users). Get it at www.prcedit.tk
Now I'll see if this thing is playable or what...
Glacialeye
04-18-2003, 03:49 AM
No this thing is not playable at all. I can only jump and nothing else :(
Glacialeye
04-18-2003, 03:54 AM
Now, what we really need, is to bug OKey author so that we can have a Navigator emulated with our keyboard keys...
It seems, in fact, that the routines that actually handle the keys and the navigator are inside the ARM code, wich I cannot patch any way, because I don't have any ARM disassembler/debugger that could help me...
yOyOYoo
04-18-2003, 04:28 AM
you guys didn't read my post.
This program won't work on our CLIES, because we don't have enough buttons!
Good work GlacialEye. I commend your efforts. any chance we could get button remapping? I doubt it as it would seem like it would take a LOT of modifcations to the software.
btw. I can't get that patch to work. I get a SAXParseException, character conversion error, Malformed UTF-8 char - line number may be too low. PM a new xml if you get a chance.
cbulock
04-18-2003, 04:34 AM
There is an app that allows you to map one button to another. It's FlexButton and can be found here. (http://www.jade.dti.ne.jp/~imazeki/palm/FxBT/index.html) BUT, the FiveWay Navigator function buttons are not one of the options. I'm going to e-mail the developer and see if he has plans to add it. There are already a lot of options. You can even remap the buttons on the Remote Control found on some Clies. I imagine the FiveWayNavigator shouldn't be that hard.
Glacialeye
04-18-2003, 04:34 AM
quote:
"This program won't work on our CLIES, because we don't have enough buttons!"
Well... we have an entire keyboad instead... If anyone could write an almost simple hack... I cannot because
1) I have only 1/2 of the knowledge needed
2) I do not have any time, that patch was surely very easy, it took me ~5 mins to do that... writing an hack is another thing...
Glacialeye
04-18-2003, 04:46 AM
yOyOYoo: patch works fine here. Be sure to copy/paste the entire patch (and only that) to a text file, then rename it in something.xml and open it with pwpatcherlite...
Then of course HotSync the .patched.prc file you obtain
For the remapping: I already said it is quite impossible (at least for me...) as I don't have ARM tools nor ARM knowledge to do any patch. I would really need *at least* a disassembler in order to *try* to do anything. But I doubt everything will be easy. A hack/application like OKey would be a much minor pain...
yoyoyoo, the Clie indeed has all the buttons needed. You have left/right with the datebook/phone buttons, up/down with the Page Up/Down switch and A/B is as usual (and every other platform game out there for the Palm) todo/memo button.
So the Clie has more then enough buttons for every emulation software out there (as long as it need "just" 2 buttons).
Start/Select is placed then indeed at the software buttons, cause thos buttons arent time sensitive at all.
hansschmucker
04-18-2003, 06:48 AM
Just use Jog/back as Start and
Jog/Push as select.
You only need a start button every once in a while, so it's position shouldn't be that important.
Oh and a NX has 11 button + keyboard states as opposed to TT's 10. Not enough buttons??? (Comment: I'm counting individual buttons, that's why an axes, eventhough it has 3 states only counts as one, while the NX up/down buttons count as two since they work independently)
NX:
Rec Pushed/Not
JogPushed Y-Axes
JogReleased Y-Axes
JogBack Pushed/Not
Power Pushed/Not
DB Pushed/Not
AB Pushed/Not
TD Pushed/Not
Memo Pushed/Not
Up Pushed/Not
Down Pushed/Not
TT
Voice Pushed/Not
5w X-Axes
5w Y-Axes
Power Pushed/Not
DB Pushed/Not
AB Pushed/Not
TD Pushed/Not
Memo Pushed/Not
Up Pushed/Not
Down Pushed/Not
Sega Gamegear:
On/Off (Not usable as it's not a real button, but just cuts the power)
Start Pushed/Not
A Pushed/Not
B Pushed/Not
X-Axes
Y-Axes
Glacialeye
04-18-2003, 07:08 AM
Ahem... guys... you better stop dreaming about where to use the keys and so on... we need a software to do that first...
hansschmucker
04-18-2003, 07:23 AM
180942 is the ROM offset I believe. What irritates me is that Sonic used to be a 256kb ROM. But the one used by the Clié version is 512kb???
edit. Silly me, it's of course still 256kb
Glacialeye
04-18-2003, 07:29 AM
hans: simply open it with prcexplorer... all the rom is there
we have 9 chunks of 26215 bytes each... and one more 26209 bytes long. That does 262144 bytes, aka 256 kb (1k= 1024 bytes). That means: they probably don't have touched one byte in the ROM... just splitted it... If somebody has some other ROM I could even try to replace it...
The offset, of course, is 0x2C2CE for the first, 0x32935 for the second... and so on
hansschmucker
04-18-2003, 07:42 AM
As well as a checksum. Question is where??? (haven't looked into prcexplorer yet)
hansschmucker
04-18-2003, 07:50 AM
Oh and they didn't split it. Or only in the resource declaration. The ROM is untouched
Glacialeye
04-18-2003, 07:55 AM
hans: there are many possibilities that CRC checks you're talking about is in the ARM code... I can't see any tracks of it in the 68000 code...
Anyway I don't want to change the rom inside - not before I can play sonic
hansschmucker
04-18-2003, 08:11 AM
I've tried including StreetsofRage. But it throws an invalid ROM error at me. And I'm pretty sure I got the replace right.
Glacialeye
04-18-2003, 08:15 AM
try this on it
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE PW_DATA SYSTEM "palmpass.dtd"><PW_DATA VERSION="2" DATE="2003-04-18 15.11" CREDITS="#PalmWarez"><INFOTEXT/><UPDATES/>
<TARGET LONGNAME="Sonic_Hedgehog_h 1.0" URL="http://software.palm.com/sega" CREDITS="GlacialEye" TEXT="ROMs could work better...">
<FILE LONGNAME="main file" NAME="sonic_hedgehog_handango.prc" SIZE="533692" ID="Sonic_Hedgehog_h" VER="1.0" CRC16="43126" TEXT="">
<CHANGE PRECRC="12876" UCNT="3">78FDE 67 60</CHANGE>
</FILE>
</TARGET>
</PW_DATA>
I'm really not sure, but it *COULD* work. Tell us if it does :)
hansschmucker
04-18-2003, 08:18 AM
I don't know about this so please help me out. If you wanted to see if a button is pressed what would you do? Is it possible to call a PalmOS function directly from the ARM code and let the function do it? Or is it possible to probe the interrupts directly? Or is there simply a memory area for any button that always includes the current state. If so what are these memory areas or what are these PalmOS functions (events won't do I believe). Would be possible to just search for these values and replace them with a different button's address. Just thinking and probably talking nonsense.
hansschmucker
04-18-2003, 08:21 AM
Hey, that's great! It works now. Thanx dude, we all owe you one. (Give me an address and I'm gonna send you a good Mannheimer beer). Cheers!
Glacialeye
04-18-2003, 08:22 AM
It is taking nonsense for the simple fact I don't have any disassembler. A disassembler is a program that takes the compiled code and shows you the related Assembler code, so that you can at least understand it a little and try to change it. Nowadays we have great 68000 disassemblers (that I used for the two patches posted here) but we don't have any for the ARM processors.
In other words: without an ARM disassembler no patches to the ARM code are possible (at least for me). And, the code that handles the keys, as far as I can see, IS in the ARM code.
Glacialeye
04-18-2003, 08:24 AM
OK. So now I can write a thing that hardcodes any 256 k ROM into Sonic... quite easy. I'll post it here in a minute.
hansschmucker
04-18-2003, 08:25 AM
For native code, couldn't we just use the same disassemblers that the PPC guys worked with all those years. I mean, sure it's a different platform, but that shuoldn't matter at the assembler level
Glacialeye
04-18-2003, 08:39 AM
I couldn't get any one of them until now... if you know any please tell me :)
Anyway I need someone to try my program to hardcode ROMS... Do you want it hans? I just finished writing it and I have no ROMS to try it on...
hansschmucker
04-18-2003, 08:49 AM
I can send you a few, but yes, I would love to test it. And it's even legal since I actually own a GG and a few games =) .
hansschmucker
04-18-2003, 09:00 AM
For all those who cannot wait, you can get a simple batch script at http://hansschmucker.free.fr/Converter.zip Included is a pinball game by Domark (doesn't exist anymore) which can be played on NX as well. To use the converter just open a DOS window change to the dir were you've extracted all your stuff to and type
Re filename.gg
i.e.
Re pinball.gg
This will generate a SegaEmu.prc. Which you can then hotsync. It will still read Sonic but play the game just fine. Please use ONLY 256 kb ROMS. otherwise a hard-rest might become necessary!
Glacialeye
04-18-2003, 09:02 AM
hans check out pm list
hansschmucker
04-18-2003, 09:08 AM
check yours
OcellNuri
04-18-2003, 09:14 AM
Wow... and the pinball game can actually be played! It's a bit slow (as already noted) but this is very cool.
hansschmucker
04-18-2003, 11:31 AM
BTW could somebody please look into which companies that produced games for the Sega GameGear don't exist anymore? That give us some (legal) roms to work with.
cbulock
04-18-2003, 01:26 PM
Originally posted by cbulock
There is an app that allows you to map one button to another. It's FlexButton and can be found here. (http://www.jade.dti.ne.jp/~imazeki/palm/FxBT/index.html) BUT, the FiveWay Navigator function buttons are not one of the options. I'm going to e-mail the developer and see if he has plans to add it. There are already a lot of options. You can even remap the buttons on the Remote Control found on some Clies. I imagine the FiveWayNavigator shouldn't be that hard.
For anyone that was intrested, I got a reply back from the developer of FlexButton and he said that has doesn't have a device with a FiveWay Navigater and until he gets one he won't be be able to add that function.
hansschmucker
04-18-2003, 01:32 PM
Can't he use the simulator?
cbulock
04-18-2003, 02:01 PM
Originally posted by hansschmucker
Can't he use the simulator?
Thats a good point.
squish
04-18-2003, 03:17 PM
Wow... and the pinball game can actually be played! It's a bit slow (as already noted) but this is very cool.
Well... it runs as smoothly as hell on my tungsten-t. There is no frame skip at all.
hansschmucker
04-18-2003, 03:41 PM
Hmmm.... I doubt that. 12 to 15 fps might be smooth to you. But how should be any faster on a device with 2/3 of the speed. Wouldn't make any sense
squish
04-18-2003, 03:51 PM
Indeed, what i meant is that it runs as smooth as the other released sega games...
hansschmucker
04-18-2003, 04:31 PM
Yes of course, but I compare to a GameGear which used to run these games at 60fps
GoldenTiger
04-18-2003, 05:01 PM
When I try to import the nosound patch into PWCPP, it says "Malformed UTF character" and can't import. What am I doing wrong?
hansschmucker
04-18-2003, 05:03 PM
What does that mean???
GoldenTiger
04-18-2003, 05:07 PM
Originally posted by hansschmucker
What does that mean???
It means I can't get PWCPP to import the patch :(. Any chance of some help,. or could you send me a file patched with both patches to defcon2 at 987.info :)? I'd really appreciate it...
yOyOYoo
04-18-2003, 05:16 PM
Here's food for thought about speed comparisons between the Tungsten and our CLIEs: if our sonys are so fast, why does Bejeweled run so fast and smoothly on the TT and yet so slow and choppy on my TG50? yes I did install the correct version, it is just slower and more choppy than on the TT.
GoldenTiger
04-18-2003, 05:22 PM
NM, I got the emulator to work using the Rom Injector with a sonic rom (I of course own the actual game), but all I can do is jump... seeing if I can get the second patch in now and hoping that it did the key rebindings (looks like it from the posts?) :).
Edit: target not patchable... owell. Any luck so far on getting key rebindings done? The work so far on disabling sound and importing any rom is GREAT! If you can get key rebindings done, you've gotten everyone a gamegear emulator... I wonder if it works with the registered version, too. First compactflash, and now possibly this... this has been a great month for Clies!
Anxiously watching this thread...
-GoldenTiger
hansschmucker
04-18-2003, 05:44 PM
The key rebinding should be done by an external driver, similar to the driver the Clié gamepad uses. Unfortunately we're not going to do it, but if anybody else has a project that aims into this direction, maybe he would consider changing things a bit to make it work.
hansschmucker
04-18-2003, 06:06 PM
Wizard Pinball is the only game I know of, which works without Left/Right
HentaiDSL
04-28-2003, 08:49 AM
How much better would the results be if the game was ported (or
cloned LOL) than emulated? I mean, wouldn't it be better if we all
just made a Sonic clone?? I, of course, have absolutely no skills
to offer in this regard, I'm just curious :)
aaronchow
04-29-2003, 08:26 AM
Originally posted by HentaiDSL
How much better would the results be if the game was ported (or cloned LOL) than emulated? I mean, wouldn't it be better if we all just made a Sonic clone?? I, of course, have absolutely no skills to offer in this regard, I'm just curious
Then we will have one more issue to worry about.... Copyright Lawsuit... :rolleyes:
HentaiDSL
04-29-2003, 06:18 PM
No, no, I meant it out of curiosity, I don't know much about
emulation etc but have been reading here and other emu sites
etc what I meant was, is the Clie capable of running a normal
version of Sonic let alone an emulation? or would there not be
much difference?
vBulletin v3.0.3, Copyright ©2000-2012, Jelsoft Enterprises Ltd.