Questo blog e' libero dal NOFOLLOW!

Emu48

Dopo tanto silenzio ecco che il miglior emulatore Open Source di calcolatrice HP subisce un piccolo aggiornamento. Non si tratta di stravolgimenti, dato che le ROM su cui si appoggia non sono cambiate, quanto un miglioramento dal punto di vista dell’emulazione dell’hardware e quindi praticamente invisibili agli occhi degli utenti (tranne nel caso in cui corregge i crash del programma).

Il programma è disponibile in due diverse varianti, la prima contiene unicamente il Cab con il codice dell’emulatore (da installare manualmente), la seconda invece permette l’installazione da PC e contiene sia la ROM del modello HP49 sia diverse skin per poter utilizzare più comodamente la calcolatrice.

Download:
Emu48 for Pocket PC and Windows Mobile 1.17 – cab – No ROM -No Skin
Emu48 for Pocket PC and Windows Mobile 1.17 – setup

Per coloro che sono curiosi di sapere quali siano le differenze rispetto alla precedente versione 1.16, ecco un elenco dei cambiamenti effettuati da Christoph Gießelink a livello di codice sorgente:

DISPLAY.C
- made global variable pbyLcd static
- added function SelectObjectZoom(), select bitmap object with zoom
- changed function CreateMainBitmap(), stretch background bitmap now to the output size

EMU48.C
- changed function OnPaint(), source bitmap is now at stretched output size, so source coordinates of background bitmap have changed and StretchBlt() has replaced with BitBlt()
- bugfix in function OnPaint(), added workaround for WM5 and WM6 VGA devices for showing the icons in the menu bar correctly
- added function PropSheetProc(), callback function for Settings property sheet
- changed function OnViewSettings(), adjusted property sheet view to Pocket PC style guidelines
- bugfix in function OnObjectLoad(), readded delay after ON key state change switching calculator on, bug introduced in v1.03, made ON key hold time variable and changed load object warning message
- changed function About(), adjusted to new prototype of function FULLSCREEN()

EMU48.H
- removed extern declaration of pbyLcd
- extern declaration of global variables
- changed function FULLSCREEN(), added dwFlags parameter and removed SHIDIF_DONEBUTTON from the dwFlags structure member

EMU48.RC
- changed IDR_MENU SHMENUBAR from MOVEABLE PURE to DISCARDABLE
- changed size of IDD_ABOUT, IDD_SET_GENERAL, IDD_SET_PORT and IDD_SET_SERIAL to fit on a square or landscape screen
- changed design and size of IDD_CHOOSEKML and IDD_KMLLOG to fit on a square or landscape screen
- changed version and copyright

FILES.C
- bugfix in function OpenDocument(), if document reload was refused the function returned no success -> this caused trouble in function OnFileMruOpen() removing the MRU entry of this document
- changed function GetOpenFilename(), added file filter for all Emu48 specific filenames which is default, changed filter names and removed model specific file extension selection
- changed function GetSaveAsFilename(), changed filter names and use small size characters for file extensions
- added function ReadRleBmpByte() for save RLE bitmap byte reading
- changed function DecodeRleBmp(), changed function prototype and added check of bitmap file size at reading
- added function DecodeBmp(), contain the BMP image file decoder prior located in function LoadBitmapFile() and added check of bitmap file size
- added functions ReadGifByte(), ReadGifWord() and DecodeGif() for decoding GIF image files
- changed function LoadBitmapFile(), moved BMP image file decoder to function DecodeBmp() and added GIF image file support

KEYBOARD.C
- changed function KeyboardEvent(), made key switch time variable

KML.C
- removed LONGHOLDTIME conditional parts
- changed szText variable qualifier from LPTSTR to LPCTSTR
- added keyword “IfMem” to pLexToken[] table
- added token TOK_IFMEM to eIsBlock[] table
- changed function KMLLogProc() and ChooseKMLProc(), changed to a full size dialog to adjust view to Pocket PC style guidelines
- changed function CreateKmlList(), adjusted to new prototype of function GetStringParam()
- added function UpdateScriptList(), filling the KML script combo box with all found script titles and select the current used one
- changed function ChooseKMLProc(), call function UpdateScriptList() to update the KML script combo box now
- removed function FatalError()
- changed function InitLex(), adjusted to constant pointer of variable szText
- bugfix in function ParseToken(), modifying the script buffer content isn’t allowed
- bugfix in function ParseString(), replaced error text
- bugfix in function IncludeLines(), removed fatal error message text and adjusted to constant pointer of variable szText
- bugfix in function ParseLines(), in some cases parsing hadn’t stopped with an error inside a block with an unreferenced include file and removed a fatal error message text
- bugfix in function ParseBlock(), block argument checking generated wrong error messages in the case of syntax errors
- bugfix in function IncludeBlocks(), removed fatal error message text and adjusted to constant pointer of variable szText
- changed function ParseBlocks(), removed “Invalid block.” message text and made some code optimizations calling the function FatalError()
- changed function InitGlobal(), removed creation of background bitmap at TOK_BITMAP and changed some punctuation and capital letters
- changed function InitButton(), source code improvement checking the size of button array
- changed function RunLine(), added implementation of “IfMem” command
- changed function KillKML(), added reset of szBitmapFile variable
- changed function GetStringParam(), changed return variable qualifier from LPTSTR to LPCTSTR
- changed function DrawButton() and RefreshButtons(), source bitmap is now at stretched output size, so StretchBlt() is replaced with BitBlt()
- bugfix in function ReloadButtons(), global variable bKeyPressed wasn’t updated
- changed function DrawAnnunciator(), source bitmap is now at stretched output size, so replaced StretchBlt() with BitBlt()
- changed function InitKML(), added initialization of background bitmap (moved from InitGlobal())

KML.H
- added TOK_IFMEM definition

RPL.C
- renamed definition DOEREAL to DOEREL and adjusted usage in function RPL_SkipOb() and RPL_ObjectSize()
- bugfix in function RPL_SkipOb() and RPL_ObjectSize(), the object at address 0×02BAA was always interpreted as =DOACPTR, a constant-length object consisting of two 5-nibble addresses, on the HP48S series the object is interpreted as =DOEXT1, an object with 5-nibble length information followed by data

SETTINGS.C
- changed function ReadSettings() and WriteSettings(), added items “WakeupDelay” and “KeyMinDelay” in section [Emulator] in the INI-File

STACK.C
- bugfix in function OnStackPaste(), readded delay after ON key state change switching calculator on and made ON key hold time variable

  • Share/Bookmark

Articoli sullo stesso argomento:

  1. Emu48 for Pocket PC and Windows Mobile – Una potente calcolatrice scientifica emulata sul vostro Pocket PC o Smartphone.
  2. PosteRazor – Nuova versione dell’ottimo programma Open Source per creare poster con una semplice stampate A4.
  3. Minimo – Il browser Open Source per il tuo Pocket PC o Smartphone Windows Mobile
  4. SMath Studio – La matematica sul palmare e pc si aggiorna.
  5. Pocket RAR – Comprimere e decomprimere gratis gli archivi ZIP e RAR col nostro PocketPC o Smartphone Windows Mobile.
  6. SMath Studio – L’emule di MathCAD compie un altro passetto avanti.
  7. MediaPortal 1.1.0 BETA 1 – La TV Open Source per Windows prosegue la sua evoluzione.

Hai trovato interessante quest'articolo? Dagli un voto... mi aiuterai a migliorare!

Puoi trovare altri interessanti articoli nella Homepage

178 reads
1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)

Categorie: Open Source, PocketPC, Windows Mobile

4 Responses to “Emu48 for Pocket PC and Windows Mobile – Nuova minor release!”

  1. mt mt (73 comments) scrive:

    Devo ammettere che, dal primo articolo in cui ne hai parlato, pensavo che questo programma fosse poco usabile nel mio 2,6”.
    Invece pochi giorni fa’ mi sono sbattuto un po’ per installarlo (ho avuto problemi a trovare la rom) e devo dire che è carino, cioè è usabile anche sul mio, pur avendo io una schermata diversa, dove lo schermo della calcolatrice è più piccolo….forse perché sto ancora usando la versione vecchia.
    Devo dire che una parte di usabilità credo di doverla alla risoluzione VGA.
    Quando tu mi dissi che avere una VGA in un palmare era importante, io ne fui perplesso e mai convinto.
    In questo caso, anche se il display della calcolatrice è piccolo, la leggibilità è ottima.
    Avessi tempo, mi sforzerei un po’ per imparare ad usare meglio questo programma, cercando di:
    1) installare le librerie
    2) vedere se si possono importare i dati dalla calcolatrice fisica HP49g+
    Nel mio caso poi, vedrei se su questo emulatore gira la HP49g+, con cui mi trovo meglio (e chissà se gli si può far leggere spazi di memoria come fosse la sd integrabile nella calcolatrice fisica).

    Saluti

  2. IngMecc IngMecc (153 comments) scrive:

    Ti devo ringraziare per l’intervento dell’altro giorno, era da un pò di tempo che non tenevo d’occhio quest’emulatore :woot:

    Per le ROM ti consiglio di scaricare Debug4x, all’interno del quale trovi tutte le rom che vuoi (forse è superfluo visto che dici di averle trovate).

    L’usabilità dipende molto dello skin… quando comprerò il palmare cercherò di crearne una che sia abbastanza completa e non troppo confusionaria!

    Visto che ogni tanto un buon consiglio te lo so dare :whistle: (VGA)

    Domanda… possiedi un HP49G+? Se si, i miei complimenti!

  3. mt mt (73 comments) scrive:

    E’ per questo che attendo che tu compri il palmare, per poter scroccare il tuo lavoro :D .
    La skin “che mi sono ritrovato” sul palmare, è diversa da quella che hai postato.
    E’ questa:http://img99.imageshack.us/i/090813105528.png/
    che come detto va comunque bene
    Non mi ricordo se sul pc ho installato il Debug4x, ma la rom l’ho trovata sul pc, dove ho l’emulatore dell’HP49g+.
    Complimenti per l’HP49g+?
    No, non me li merito.
    La pagai cara e so sfruttare poco le sue funzionalità.
    Per altro, la uso poco, perché da noi comunque agli esami fanno usare le calcolatrici dei Dixan ed allora…. è meglio che a casa usi quelle e comunque a casa hai il pc; sbaglio?
    Se sei appassionato di calcolatrici (come forse ho letto), ti farò vedere un giorno delle foto di un “pezzo d’epoca” (perfettamente funzionante) che ho:Canon Palmtronic F7 introdotta nel 1974.
    Qui una foto: http://www.thimet.de/calccollection/Calculators/Canon-F7/Contents.htm

    Saluti

  4. IngMecc IngMecc (153 comments) scrive:

    Credo che tempo un mesetto la tua attesa termini ;)

    No, non posso reputarmi un appassionato… piuttosto uno che in un periodo della sua vita ha avuto bisogno di una calcolatrice abbastanza evoluta… e che in giro c’è molta gente combinata come me.

    Si, la skin che usi l’ho usata anche io, molto completa… vorrei basare il mio riarrangiamento proprio su di lei… te l’ho detto appena mi compro il palmare mi metto a lavorare con Gimp per ottenere uno skin leggermente più realistico.

    Quando ero piccolo in famiglia avevamo una calcolatrice a led… credo TI… non ho la più pallida idea di quando sia andata dispersa!… la tua è un bel pezzo d’antiquariato :)

Aggiungi nuovo commento

Registrati per riservare il tuo nickname preferito su IngMecc e per caricare il tuo avatar (per crearne uno vai su Gravatar. Se sei già registrato, effettua il login per usare il tuo nickname e non dover rispondere al CAPTCHA.

:D :) ^_^ :( :o 8) ;-( :lol: xD :wink: :evil: :p :whistle: :woot: :sleep: =] :sick: :straight: :ninja: :love: :kiss: :angel: :bandit: :alien:

Notificami quando un nuovo commento è stato aggiunto.


Parse error: syntax error, unexpected T_VARIABLE in /membri/toninormanno/php-stats/def/ip_spider.dat on line 1