| 1   2   | Next
maemo.org - Talk

maemo.org - Talk (https://talk.maemo.org/index.php)
-   Applications (https://talk.maemo.org/forumdisplay.php?f=41)
-   -   HP48GX emulation (https://talk.maemo.org/showthread.php?t=27888)

st5150 2009-03-28 00:22

HP48GX Emulation
 
EDIT: Thanks to the maemo community for coming up with a solid port of x48 posted on page 3: http://talk.maemo.org/showpost.php?p...3&postcount=26 ! ! !


------------------------------------------------------------------------
Hi guys, seems like all the HP48 (HP48G / HP-48GX / HP48S / HP48SX, etc) threads are scattered around this forum or mixed in with the Ti emulator threads. Lets get some discussion and teamwork going to find a viable HP-48 emulator on Maemo. There is a x48 port floating out there, but it's way too slow and in landscape mode ( http://sense.net/zc/x48/ and the deb http://yannbng.free.fr/Maemo/x48_0.4.3_armel.deb ). After some searching, I was able to find a Palm HP-48G emulator that could run under Garnet VM. I tried to get it running under the latest Garnet VM ( http://misc.nicejewel.com/garnet-vm_1.0.2b_ITOS2008.deb) with no luck. The app runs fine, but after I install the rom dump, Power48 crashes upon startup. Here is the emulator:

http://www.hpcalc.org/hp49/pc/emulat...er48-1.5.1.zip

(grab the hp-48g rom here: http://www.hpcalc.org/hp48/pc/emulators/gxrom-r.zip )

Here is an older version that does not run under palm:

http://www.hpcalc.org/hp49/pc/emulat...8-1.0-os41.zip Anyone know what the company ID and device ID of an older palm to trick this older version into running?


I also tried installing the HP49G rom with the same crash on startup result. Any Garnet wizards out there want to give this a try? I played with all the settings and couldn't find a solution.


Besides Power48 and x48, I have tried two dos emulators under DosBox with no luck: Emu48 and Emul48w.

The TI guys are leaving us in the dust when it comes to emulation on NITs. It's a shame because the HP is superior to the TI in many many ways.

jacekjacek 2009-03-29 02:08

Re: HP48GX emulation
 
I have sent feedback to the access company regarding power48 after each release of the garnetvm. Either, there havn't been may requests to make an effort or they dont want to bother with emulating an emulator.

I too would greatly appreciate an emulator of the hp 49. It's the only thing missing since i shifted from the palm tx.


Edit:
Garnet VM Compatibility Survey - maybe in their next release.

Addison 2009-03-29 03:18

Re: HP48GX emulation
 
Ia no a speaka da espanio but does this page help you out at all?

Emulator 48

Edit:
If you could quickly explain what all is need for the Dosbox version, I'm pretty sure I can get it set up for you the rest of the way.

If not, I'll ask one of my friends over at the Vogons forum and they'll help me out.

st5150 2009-03-29 09:02

Re: HP48GX emulation
 
jacekjacek- Thanks for the link, all of us should make a Power48 request. I still haven't looked into getting HP48 programs loaded into Garnet since it doesn't have SD ram support.

Addison, grab this zip and run emu48dos.exe from within dosbox: http://www.sendspace.com/file/0cx264 it runs under doxbox for windows, but not for maemo. I'm not a big fan of dosbox under maemo. Not only is it slow compared to Garnet VM, but the keyboard input doesn't work right. For example, if I try to type a slash / I get ///////// instead.

Here is a translation of the link you posted: http://translate.google.com/translat...ml&sl=es&tl=en Maybe someone can try to get the Amiga UAE emulator running this Amiga HP48 emulator: http://aminet.net/package/misc/emu/Alcuin1_2

Addison 2009-04-01 01:26

Re: HP48GX emulation
 
Hey st5150!

So yeah, I also tried it in Dosbox and got a segmentation fault but I don't know what exactly is causing this.

I'll look into later tonight hopefully and see if it might have something to do with DPMI settings.

Dosbox guide on DPMI

Also, the keyboard problems have been resolved for Dosbox, just make sure to use Ukki's latest version of Rubybox along with downloading the extra keyboards from the applications menu.

RubyBox simple install

See ya.

st5150 2009-04-01 10:33

Re: HP48GX emulation
 
Thanks for the update. Yes, this is what I ran into running emu48dos instantly crashes on dosbox under maemo. Emu48dos runs under dosbox under XP and running it from a normal XP command prompt gives me this:
Code:

\hp48>Emu48
Stack Fault at eip=21fe
eax=00000301 ebx=000063b4 ecx=00000000 edx=0000ffff esi=0000054d edi=0000ae6a
ebp=0000ffa0 esp=000519d4 cs=19f ds=17f es=17f fs=0 gs=0 ss=1b7 cr2=00001fd8
Call frame traceback EIPs:
  0x000021fe
  0xffc00001

I fear the dosbox version will run too slow. I remember it running comprable to a real HP48G on a i486 DX2 66. Going to check out rubybox now....


While on the HP48GX topic, I haven't had time to work on the emulator project because I just picked on my first GX. It was broken. Classic GX issue of a dried out foam pad causing a poor keyboard to PCB connection. I did a lot more damage opening it up. Lots of traces were cut when drilling the rivets out. Had to jumper them all. I did a sloppy job out of laziness, but she works now. Probably spent 20+ hours bringing her back to life:

http://i44.tinypic.com/1o28ed.jpg
http://i39.tinypic.com/2ltrlly.jpg

Now to build a 2 or 4MB ram card for it! Thanks to everyone in the HP48 community for posting PCB scans, schematics, etc!

st5150 2009-05-31 05:49

Re: HP48GX emulation
 
Addison and others, have you made any progress on this project? After several failures since my last post, I finally fixed my GX and upgraded my 48G to 768K ram...this time for good! I should have some time to spend on the software side of things in the coming weeks(months?). In the mean time, if anyone has maemo software skills for this project and owns a HP48, I'll gladly do any hardware repairs/updates/modifications for you in exchange for improving and releasing a HP48 emulator to the maemo community.

jsmanrique 2009-05-31 07:26

Re: HP48GX emulation
 
There is an emulator called Saturn's Poor Man Emulator on www.hpcalc.org, it needs to be adapted but it used to work on old linux based ipaqs ;)

pinnchus 2009-11-04 02:58

Re: HP48GX emulation
 
1 Attachment(s)
My be this thread is dead, but
I hate to see i48 on iphone and dont get something like that working on my N810 so here we go...

I made a very small modification to solve the x48 performance problem in the last available version 0.6.1 and its working ok. The performance is good and with out problem. (It need better beta testers)

If anybody want to test it, the change is basically this

2457c2457
< gettimeofday(&tv);
---
> // gettimeofday(&tv);
2459c2459
< gettimeofday(&tv, &tz);
---
> // gettimeofday(&tv, &tz);
2461,2463c2461,2464
< while ((tv.tv_sec == tv2.tv_sec) && ((tv.tv_usec - tv2.tv_usec) < 2)) {
< gettimeofday(&tv, &tz);
< }
---
> // while ((tv.tv_sec == tv2.tv_sec) && ((tv.tv_usec - tv2.tv_usec) < 2)) {
> nanosleep(2);
> // gettimeofday(&tv, &tz);
> // }
2465,2466c2466,2467
< tv2.tv_usec = tv.tv_usec;
< tv2.tv_sec = tv.tv_sec;
---
> // tv2.tv_usec = tv.tv_usec;
> // tv2.tv_sec = tv.tv_sec;

I dont know how to make a deb pkg and the forum not support ELF files so i uploaded the modified source code to be compiled here http://talk.maemo.org/attachment.php...1&d=1257303161
as x48-0.6.1-maemo.tar.gz

Thanks

By the way, you need execute this in this way
./x48 -geometry +0+0 -xrm '*smallLabelFont: fixed' -xrm '*mediumLabelFont: fixed' -xrm '*largeLabelFont: fixed' -xrm '*connectionFont: fixed' -rom PLACE_OF_YOUR_ROM_DUMP

jkq 2009-11-04 04:27

Re: HP48GX emulation
 
Quote:

Originally Posted by pinnchus (Post 365032)
My be this thread is dead, but
I hate to see i48 on iphone and dont get something like that working on my N810 so here we go...

I made a very small modification to solve the x48 performance problem in the last available version 0.6.1 and its working ok. The performance is good and with out problem. (It need better beta testers)

I tried this on my N800 just now. It seems much faster than the old version that was floating around in the forums! However, it doesn't show an icon in the task switcher, so it's kind of hard to get back to it if you switch to something else. :eek:

-jkq

jkq 2009-11-04 05:37

Re: HP48GX emulation
 
2 Attachment(s)
Quote:

Originally Posted by pinnchus (Post 365032)
I dont know how to make a deb pkg and the forum not support ELF files so i uploaded the modified source code to be compiled here http://talk.maemo.org/attachment.php...1&d=1257303161
as x48-0.6.1-maemo.tar.gz

Okay, after some hacking around (and the files from the 0.4.3 floating around on these forums :D), I've built a deb that works on my N800. Having a desktop file seems to make it create an entry in the taskbar too, so all is good. :)

I've attached a patch against pinnchus' tarball that adds the deb-making stuff. For some reason, I can't seem to duplicate the results of his configuration step -- every time I try, the output binary segfaults on my tablet. Sigh. :confused:

-jkq

lemmyslender 2009-11-04 13:34

Re: HP48GX emulation
 
jkq-

Just installed your deb over my old x48 install. Updated no problem. Significantly faster. Actually usable. Little to no lag using it.

Big thanks to pinnchus and you for updating this.

st5150 2009-11-17 01:13

Re: HP48GX emulation
 
Amazing news!!! Thanks for doing this pinnchus (and jkq)! I too installed your deb over my original x48_0.4.3_armel.deb install and it worked great. There is no kermit port for maemo so I compiled x48_0.6.1 on a linux box ( ./configure --disable-shm was a must for me), used C-kermit to load up some libs into x48 then copied ~/.hp48 from the linux box to the tablet.

In case others want to know how to use kermit to do this:

# cd directory for HP stuff
# kermit
C-Kermit>set line /dev/pts/1 (look at x48 wire: (under LCD) it may be different on your box)
C-Kermit>set speed 9600
C-Kermit>set carrier off
C-Kermit>set parity none
C-Kermit>robust
C-Kermit>server

Transfer files from the HP as normal (Green Right shift, I/O, Transfer,enter file name you want to pull into x48 (case sensitive!), kget).

If there is any interest, I'll upload a ram file with some software pre-loaded for those who don't want to hassle with kermit. Initially I thought compiling kermit on maemo would be nice, but quickly realized the steps above will be much more painful on a NIT.

So far fcalc.lib seems to hang when it disables the LCD, but I need to do more testing. I'm really digging into the mental archives here and remember there was a technique where the Saturn could run ~11% faster if it didn't talk to the LCD driver during intense calculators.



How difficult would it be to get x48 running in portrait mode on the NIT like i48?

http://www.fabriceroux.com/files/ext...hp48_froux.png


If that's too hard, what about having the keyboard on the left and display on the right in landscape mode?

st5150 2009-11-17 23:29

Re: HP48GX emulation
 
Some tools to make transferring your programs to x48 easier:

http://www.guengel.ch/myapps/hptalx/download.shtml

How do I map /dev/pts/2 to /dev/ttyS0 which is what hptalx uses?

http://www.hpcalc.org/details.php?id=2305

How do I put kermit in remote host mode?




v0.6.1 is suppose to have copy/paste support. Anyone gotten this to work?

Helmuth 2009-11-18 16:15

Re: HP48GX emulation
 
Ooookay, a little bit Offtopic... but I would love a CASIO fx-991MS Emulator. Is it possible?

http://upload.wikimedia.org/wikipedi...O_fx-991MS.jpg

I only know of Texas Instruments and HP Calculator Emulators. Why? Copyright?

ashes 2009-11-20 21:28

Re: HP48GX emulation
 
Wow thank you. It's wonderful to have an emulator of my treasured 48gx on my n810. I used my 48gx heavily for 8 years, even after having a 49g+/50g for a couple of years I have not managed to unlearn the 48gx keypad layout.

st5150 2009-11-21 11:53

Re: HP48GX emulation
 
Helmuth, it's probably due to the casio's just not having a big following. Just take a look at the massive use contributed software database for the HP48 ( http://www.hpcalc.org ) to get an idea of what kind of following HP has.


ashes, did you get hptalx talking to x48 or some other Kermit front end GUI? It is tedious to transfer everything via ckermit alone.

pinnchus 2009-11-24 11:59

Re: HP48GX emulation
 
What is the processor model used by this casio calculator? Do you have the firmware for it?
Regards,

Anunakin 2010-02-24 14:01

Re: HP48GX emulation
 
2 Attachment(s)
Quote:

Originally Posted by st5150 (Post 385113)
Helmuth, it's probably due to the casio's just not having a big following. Just take a look at the massive use contributed software database for the HP48 ( http://www.hpcalc.org ) to get an idea of what kind of following HP has.


ashes, did you get hptalx talking to x48 or some other Kermit front end GUI? It is tedious to transfer everything via ckermit alone.

Try do the hard work on a PC, then copy .hp48 folder for you nit. home

I made patchs on same way to 0.6.3 version, and compiled works very very fast.

I used old patchs from pdaXrom x48, for font fixed issue:
http://www.oesf.org/forum/index.php?showtopic=17031

I used a little program to test speed:
Code:

<< TICKS 1 5000
    FOR n 1 1 + DROP
    NEXT TICKS SWAP - B->R 8192 /
>>

Results on a N810:
Code:

Real Hardware HP50G    21.3553 secs
x48  0.6.1                        34.9902 secs
x48  0.6.3                    14.7964 secs

Now is faster then a real HP50g!

I tested on plotting graphics, it has about 100% speed of a real HP48G, and 1/2 of a HP50G!

I added two Menu items, x48 for horizontal skin and x48 for vertical ... because 0.6.3 has +netbook option...

Electric Lungfish 2010-02-26 06:33

Re: HP48GX emulation
 
1 Attachment(s)
I've managed to turn x48 on its side, though only without XShm, and not using all of the screen yet (see attached image).

I started on this a few days ago using x48-0.6.3 (independently of Anunakin) and merging in the emulate.c and GetEvent() code from the version of 0.6.1 posted earlier in this thread. I wrote a small Python script to rotate each of the bitmaps, including the nibble_maps used in lcd.c, and converted the text used on some of the buttons to rotated bitmaps. For the wire/IR status line I used xvertext 5.0. I also painstakingly went through and rotated all of the line draws, rectangles, etc. in x48_x11.c.

I'll post the code in a few days, once I've had the chance to clean up a few things. Right now none of the HP-48SX code is modified, and the two restrictions mentioned at the beginning of the post are there, but otherwise it appears to work.

Anunakin, did you make any other changes to 0.6.3? If so, I can merge them with these changes.

st5150 2010-02-26 19:34

Re: HP48GX emulation
 
Amazing work guys. Thank you so much! This is going to be a killer app. It's very fast now. I can't wait for the side ways version to be released.

Have you guys found a fast way to load all your programs into x48? Command line via kermit is just too tedious for the amount of software I have.

lemmyslender 2010-02-26 20:16

Re: HP48GX emulation
 
2 Attachment(s)
Anunakin

Thanks for the deb. This was one of the things I was missing on my N900. I've only played with it a little bit, but it seems to work.

Horizontal is fine, Vertical doesn't work right, goes off the bottom of the screen.

jkq 2010-02-26 20:59

Re: HP48GX emulation
 
Quote:

Originally Posted by lemmyslender (Post 548145)
Thanks for the deb. This was one of the things I was missing on my N900. I've only played with it a little bit, but it seems to work.

Nice, I'm going to have to try this out.

-jkq

st5150 2010-02-26 22:13

Re: HP48GX emulation
 
Quote:

Originally Posted by lemmyslender (Post 548145)
Anunakin

Thanks for the deb. This was one of the things I was missing on my N900. I've only played with it a little bit, but it seems to work.

Horizontal is fine, Vertical doesn't work right, goes off the bottom of the screen.

You probably want to wait for the deb from ElectricLungfish who has spent a lot of time turning the app on its side http://talk.maemo.org/showpost.php?p...5&postcount=20 Can't wait!

lemmyslender 2010-02-27 02:14

Re: HP48GX emulation
 
I had 6.1 running on my N800, but it wouldn't work on the N900. I'm just happy this one does. But waiting to see it on its' side.

Electric Lungfish 2010-02-28 04:38

Re: HP48GX emulation
 
2 Attachment(s)
OK, here it is: x48 on its side. It now runs in fullscreen mode, and I have rotated the SX display as well. I've merged in anunakin's changes and have tried to improve the Maemo integration by adding desktop and Application Manager icons and by adding an informational window that lets the user know that a ROM dump is required.

Note that I did not retain the capability to run using the normal orientation or the netbook mode. For this reason I've named the package x48-sideways to avoid confusion (though the executable is still named x48). If somebody wants to merge these versions of x48_x11.c and lcd.c with the normal ones and add a command-line option to switch between orientations -- be my guest.

Remaining issues: getting the calculator to be centered on the screen; modifying the XShm code (anybody who knows how to do this is welcome to take a crack at it); and testing I/O and memory card features (which I have not done). Also, the HP48 display occasionally blanks on me for no apparent reason. Pressing CANCEL brings it back, but it's annoying. I'd be interested in hearing whether others experience the same behavior.

Anyway, enjoy, and do let me know if I broke anything I haven't mentioned.

jkq 2010-02-28 05:37

Re: HP48GX emulation
 
Quote:

Originally Posted by Electric Lungfish (Post 549573)
OK, here it is: x48 on its side. It now runs in fullscreen mode, and I have rotated the SX display as well. I've merged in anunakin's changes and have tried to improve the Maemo integration by adding desktop and Application Manager icons and by adding an informational window that lets the user know that a ROM dump is required.

I didn't see an obvious way to quit, now that it is fullscreen.

Quote:

Originally Posted by Electric Lungfish (Post 549573)
Note that I did not retain the capability to run using the normal orientation or the netbook mode.

Bummer. I was hoping to have both modes. :(

Quote:

Originally Posted by Electric Lungfish (Post 549573)
For this reason I've named the package x48-sideways to avoid confusion (though the executable is still named x48).

Note that it'll fail to install if you already have the x48 package installed (at least it did for me).

Quote:

Originally Posted by Electric Lungfish (Post 549573)
Pressing CANCEL brings it back, but it's annoying.

I vaguely remember that the HP48G (and I'd bet the other models too) had an option to turn itself off after a while to save battery. That's probably what you're experiencing.

-jkq

Electric Lungfish 2010-02-28 05:48

Re: HP48GX emulation
 
Quote:

Originally Posted by jkq (Post 549594)
I didn't see an obvious way to quit, now that it is fullscreen.

On the N800/N810 there is a "home" button to the left of the display; if you press that you'll get the window list, and you can easily switch back to the desktop or kill the application. I don't have an N900; does it have a similar hardware-based way to switch back to the desktop?

I'll look into making the off button close the window. It does when I run x48 on a "normal" computer; I'm not sure why it doesn't here.

Quote:

Originally Posted by jkq (Post 549594)
Bummer. I was hoping to have both modes. :(

Note that it'll fail to install if you already have the x48 package installed (at least it did for me).

I wasn't completely sure at the outset what I would need to do, so I didn't try to retain the normal mode. However, it's a straightforward matter to merge the normal draw instructions and bitmaps back into the code and add a command-line argument... just tedious. :) A simpler alternative might be to rename the executable so that there's no conflict with the normal package.

Quote:

Originally Posted by jkq (Post 549594)
I vaguely remember that the HP48G (and I'd bet the other models too) had an option to turn itself off after a while to save battery. That's probably what you're experiencing.

-jkq

I thought about that possibility, but it happens when I'm in the middle of pressing buttons. Possibly the battery-save feature is being triggered accidentally. Let me know if you encounter it too.

st5150 2010-02-28 06:09

Re: HP48GX emulation
 
Amazing work ElectricLungfish! This has been on my wishlist since day one. I had to uninstall x48 before x48-sideways installed. If I remember right, the screen blanking is due to the automatic turn off timer of the calculator triggering faster because the emulator running faster than a real HP48. I've noticed fsimp hangs when turning off the LCD to run ~10% faster. Haven't tested this with other programs that disabled the LCD while calculating to improve performance.

Centering would be nice, but maybe bigger Emu48 like buttons would be better:

http://i46.tinypic.com/v3362o.png



http://e.vampirefreaks.com/emotes/worship.gifThank you to everyone who chipped in on this project. http://e.vampirefreaks.com/emotes/worship.gif

jkq 2010-02-28 17:24

Re: HP48GX emulation
 
Quote:

Originally Posted by Electric Lungfish (Post 549596)
On the N800/N810 there is a "home" button to the left of the display; if you press that you'll get the window list, and you can easily switch back to the desktop or kill the application. I don't have an N900; does it have a similar hardware-based way to switch back to the desktop?

Yes. Ctrl-Backspace does the equivalent of the "home" button on the N8x0.

Quote:

Originally Posted by Electric Lungfish (Post 549596)
I'll look into making the off button close the window.

Personally, I'd prefer a close 'button' in one of the corners. I don't mind the close on off, though.

Quote:

Originally Posted by Electric Lungfish (Post 549596)
I wasn't completely sure at the outset what I would need to do, so I didn't try to retain the normal mode. However, it's a straightforward matter to merge the normal draw instructions and bitmaps back into the code and add a command-line argument... just tedious. :)

That's good, I suppose. For me, having the non-vertical mode is important so I reinstalled the original 0.6.3 from earlier.

Quote:

Originally Posted by Electric Lungfish (Post 549596)
A simpler alternative might be to rename the executable so that there's no conflict with the normal package.

I suspect you'll have to rename everything that is installed to prevent conflicts.

Quote:

Originally Posted by Electric Lungfish (Post 549596)
I thought about that possibility, but it happens when I'm in the middle of pressing buttons. Possibly the battery-save feature is being triggered accidentally. Let me know if you encounter it too.

st5150 also thinks you might be seeing the auto-off, so the close button might be safer. :)

-jkq

Electric Lungfish 2010-02-28 20:43

Re: HP48GX emulation
 
Would people prefer a special 'close' button, or a menu that offers a 'close' option as well as a choice of sideways/side-by-side orientation?

For the moment, if you'd like both versions to be installed simultaneously, follow these steps:

1. Install anunakin's x48 package.
2. Download the source tarball from my post yesterday.
3. Do the following as root:
Code:

tar xvfz x48-sideways-0.6.3.tar.gz
cd x48-sideways-0.6.3/debian/x48-sideways/usr/
mv bin/x48 /usr/bin/x48-sideways
mv share/applications/hildon/x48.desktop /usr/share/applications/hildon/x48-sideways.desktop
mv share/icons/hicolor/64x64/hildon/x48_icon.png /usr/share/icons/hicolor/64x64/hildon

4. As root, edit /usr/share/applications/hildon/x48-sideways.desktop and change "/usr/bin/x48" to "/usr/bin/x48-sideways". Change the "Name" field in this file to something meaningful, like "x48 (sideways)".
5. Also as root, execute the following commands:
Code:

update-desktop-database /usr/share/applications
gtk-update-icon-cache -f /usr/share/icons/hicolor
maemo-select-menu-location x48-sideways.desktop

The other files in the package are essentially the same as the normal-orientation versions, so there's no need to copy them.

Electric Lungfish 2010-02-28 20:54

Re: HP48GX emulation
 
BTW, instead of using one RESCALE_FACTOR for both x and y directions I can create different ones for x and y in order to fill the screen. Making the buttons bigger is easy, but getting all of the shadow effects right might not be; it might be better to try multi-color pixmaps (if that's possible). I'll look into it, but perhaps not right away.

andyph666 2010-03-01 10:14

Re: HP48GX emulation
 
Where do you put the rom file??? Thanks.

st5150 2010-03-01 11:03

Re: HP48GX emulation
 
/home/user/.hp48/rom



ElectricLungfish, are the shadow effects really required? The audible clicks from the key taps should be enough user feedback?

andyph666 2010-03-01 11:12

Re: HP48GX emulation
 
st5150: Thank you sir. I put the rom in there. It's not working its just crashing to desktop. Am I supposed to edit a config file to tell it the filename? Or what is the filename supposed to be? Mine is: HP48GXRomfile.bin

lemmyslender 2010-03-01 13:59

Re: HP48GX emulation
 
Quote:

Originally Posted by andyph666 (Post 550848)
st5150: Thank you sir. I put the rom in there. It's not working its just crashing to desktop. Am I supposed to edit a config file to tell it the filename? Or what is the filename supposed to be? Mine is: HP48GXRomfile.bin

Mine is just called "rom" try renaming it.

Electric Lungfish 2010-03-01 17:10

Re: HP48GX emulation
 
Quote:

Originally Posted by st5150 (Post 550839)
/home/user/.hp48/rom



ElectricLungfish, are the shadow effects really required? The audible clicks from the key taps should be enough user feedback?

I guess I'd just like it to look as good as that TI emulator... :)

Electric Lungfish 2010-03-01 17:18

Re: HP48GX emulation
 
Quote:

Originally Posted by lemmyslender (Post 551021)
Mine is just called "rom" try renaming it.

You need a couple other files in /home/user/.hp48 as well; these are created by x48 during initialization.

Move the ROM file to your home directory. Assuming it is named HP48GXRomfile.bin (I obtained mine from hpcalc.org and it's named gxrom-r), execute the following command in the terminal (no need to be root):

Code:

x48 -rom HP48GXRomfile.bin -initialize
It will copy the ROM file to /home/user/.hp48/rom and create the other needed files there. You should see the prompt "Try to recover memory?", to which you should answer "NO".

More info is available in the README file contained in the source package (the .tar.gz file).

st5150 2010-03-02 01:56

Re: HP48GX emulation
 
1 Attachment(s)
Quote:

Originally Posted by Electric Lungfish (Post 551257)
I guess I'd just like it to look as good as that TI emulator... :)

That's great to hear! :D :D :D Let me know if I can help in any way.

I compiled v0.63 on an i386 box and experienced the same random shut off phenomenon while pressing keys as you described. I also tried to simplify a basic expression like x*x using fsimp from the attached fcalc library. It works fine on the i386 build, but hangs on maemo. I vaguely remember something about having to disable shared memory for the display to work properly on i386.

Anunakin 2010-03-03 13:18

Re: HP48GX emulation
 
Quote:

Originally Posted by Electric Lungfish (Post 547045)
Anunakin, did you make any other changes to 0.6.3? If so, I can merge them with these changes.

x48 0.6.3 has two skins, one for horizontal and other for vertical use, on horizontal you must use +netbook option...

I made some changes on x48 0.6.3 sources:

On emulate.c, same way like pinnchus made:
Code:

--- ../temp/x48-0.6.3/src/emulate.c        2010-02-01 13:35:19.000000000 -0300
+++ src/emulate.c        2010-02-24 16:33:07.000000000 -0300
@@ -2452,23 +2452,23 @@
    step_instruction();
 
 #ifdef SOLARIS
-    gettimeofday(&tv);
+    //gettimeofday(&tv);
 #else
-    gettimeofday(&tv, &tz);
+    //gettimeofday(&tv, &tz);
 #endif
-    while ((tv.tv_sec == tv2.tv_sec) && ((tv.tv_usec - tv2.tv_usec) < 2)) {
+    /*while ((tv.tv_sec == tv2.tv_sec) && ((tv.tv_usec - tv2.tv_usec) < 2)) {
        gettimeofday(&tv, &tz);
-    }
+    }*/
 
-    tv2.tv_usec = tv.tv_usec;
-    tv2.tv_sec = tv.tv_sec;
+    //tv2.tv_usec = tv.tv_usec;
+    //tv2.tv_sec = tv.tv_sec;
 
 /* We need to throttle the speed here. */
 
-    if (schedule_event < 0) {
+//    if (schedule_event < 0) {
 //puts("bug");
 //        schedule_event = 0;
-    }
+//    }
    if (schedule_event-- <= 0)
      {
        schedule();

X48.ad.h like on pdaXrom x48 0.4.3
Code:

--- ../temp/x48-0.6.3/src/X48.ad.h        2010-01-29 21:53:20.000000000 -0300
+++ src/X48.ad.h        2010-02-24 16:49:08.000000000 -0300
@@ -4,10 +4,10 @@
 "*gray:                        False",
 "*monoIcon:                False",
 "*useXShm:                True",
-"*smallLabelFont:        -*-fixed-bold-r-normal-*-14-*-*-*-*-*-iso8859-1",
-"*mediumLabelFont:        -*-fixed-bold-r-normal-*-15-*-*-*-*-*-iso8859-1",
-"*largeLabelFont:        -*-fixed-medium-r-normal-*-20-*-*-*-*-*-iso8859-1",
-"*connectionFont:        -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-iso8859-1",
+"*smallLabelFont:        fixed",
+"*mediumLabelFont:        fixed",
+"*largeLabelFont:        fixed",
+"*connectionFont:        fixed",
 "*verbose:                False",
 "*quiet:                        False",
 "*printVersion:                False",
@@ -20,5 +20,5 @@
 "*resetOnStartup:        False",
 "*romFileName:                rom.dump",
 "*homeDirectory:                .hp48",
-"*useDebugger:                True",
+"*useDebugger:                False",
 "*disassemblerMnemonics:        class",

debian/rules: I added a better CFLAG
Code:

--- ../temp/x48-0.6.3/debian/rules        2010-01-30 13:02:47.000000000 -0300
+++ debian/rules        2010-02-24 15:55:06.000000000 -0300
@@ -1,22 +1,23 @@
 #!/usr/bin/make -f
 # -*- makefile -*-
+# Sample debian/rules that uses debhelper.
+# This file was originally written by Joey Hess and Craig Small.
+# As a special exception, when this file is copied by dh-make into a
+# dh-make output file, you may use that output file without restriction.
+# This special exception was added by Craig Small in version 0.37 of dh-make.
 
+# Uncomment this to turn on verbose mode.
 #export DH_VERBOSE=1
 
-CFLAGS = -Wall -g
 
-ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
-        CFLAGS += -O0
-else
-        CFLAGS += -O2
-endif
+
+
+CFLAGS = -Wall -g -O3 -mcpu=arm1136j-s -mtune=arm1136j-s -fomit-frame-pointer -fsigned-char -mfpu=vfp -mfloat-abi=softfp
 
 configure: configure-stamp
 configure-stamp:
        dh_testdir
-
-        autoreconf
-        ./configure --prefix=/usr
+        # Add here commands to configure the package.
 
        touch configure-stamp
 
@@ -25,8 +26,8 @@
 
 build-stamp: configure-stamp
        dh_testdir
-
        $(MAKE)
+        #docbook-to-man debian/x48.sgml > x48.1
 
        touch build-stamp
 
@@ -36,7 +37,7 @@
        rm -f build-stamp configure-stamp
 
        # Add here commands to clean up after the build process.
-        [ ! -f Makefile ] || $(MAKE) distclean
+        -$(MAKE) clean
 
        dh_clean
 
@@ -46,9 +47,13 @@
        dh_clean -k
        dh_installdirs
 
+        cd src
        # Add here commands to install the package into debian/x48.
        $(MAKE) install DESTDIR=$(CURDIR)/debian/x48
-
+        # maemo stuff
+        mkdir -p $(CURDIR)/debian/x48/usr/share/applications/hildon
+        cp $(CURDIR)/x48.desktop $(CURDIR)/debian/x48/usr/share/applications/hildon
+        cp $(CURDIR)/x48v.desktop $(CURDIR)/debian/x48/usr/share/applications/hildon
 
 # Build architecture-independent files here.
 binary-indep: build install

For binary compile and run without crash, you need remove libreadline5-dev or libreadline4-dev before run configure script. :eek:

Quote:

Originally Posted by st5150 (Post 548279)
You probably want to wait for the deb from ElectricLungfish who has spent a lot of time turning the app on its side http://talk.maemo.org/showpost.php?p...5&postcount=20 Can't wait!

On N810, I used kenel patched for rotate:
http://3.bp.blogspot.com/_M6e9BjVoy5...3-08-39-01.png


| 1   2   | Next
All times are GMT. The time now is 19:23.

vBulletin® Version 3.8.8