EmuCR Feeds
Email Us

EmuCR: Emu42Emu42 v1.18 is released. Emu42 is an emulator for the Pioneer series calculators HP14B, HP17B, HP17BII, HP27S, HP32SII and HP42S and for the Clamshell series calculators HP19BII and HP28S. It base on the sources of the famous HP calculator emulator Emu48 and is published under the GPL. The emulator PC version is running on all Win32 platforms and the Mobile version should run on all ARM CPU based Pocket PC 2002, Windows Mobile 2003 (SE), 5.0, 6 Classic and Professional versions.

Emu42 v1.18 Changelog:

DEBUGGER.C
- removed INSTRSIZE definition
- changed function GetAddr(), made function more general by adding
address range check and the ability of decoding a symbolic entry
into an address
- bugfix in function OnSetCursor(), on "Activation follows mouse"
enabled child dialogs lost focus when cursor moved over parent
debugger dialog
- changed function Debugger(), removed initialization of global
variable wInstrSize
- changed function EnterAddr(), changed parameter storage from
static variable to window user data and replaced address decoder
code by GetAddr() function call
- changed function EnterBreakpoint(), replaced address decoder code
by GetAddr() function call and so added decoding a symbolic entry
into an address
- bugfix in function LoadMemData(), forgot to check if file content
fit into Saturn address range, loading now stops also after last
Saturn address written
- changed function SaveMemData(), added assertion for Saturn address
verification
- bugfix in function DebugMemLoad() and DebugMemSave(), adjusted to
new prototype of function GetAddr() and so added checking if the
given addresses are in the Saturn address range because Saturn
read/write functions don't do the range check; this also cause a
change in behavior, on empty address fields the operation fails
and the dialog still remains open

DISPLAY.C
- changed table sSegtabSaca[], added 64bit qualifier to image
constants
- changed function UpdateContrastLewis(), replaced BitBlt() by
PatBlt() function call
- changed function CreateLcdBitmap(), the height of a Lewis chip
Pioneer calculator pixel is now calculated by formula and added
implementation to select the pixel drawing routine over function
pointer, Zoom factors 1-4 still using the old implementation,
greater Zoom factors are using a more generic approach
- changed DestroyLcdBitmap(), added reset of variables x-zoom factor
and function pointer WritePixel
- replaced function WritePixel() by the new functions
WritePixelZoom4(), WritePixelZoom3(), WritePixelZoom2() and
WritePixelZoom1() and WritePixelDWORD(), WritePixelWORD() and
WritePixelBYTE() with new implementation to support nLcdZoom
values > 4
- changed function UpdateDisplayClamshell() and
UpdateDisplayPioneer(), removed zoom factor assertion
- changed function UpdateAnnunciators(), changed to a more efficient
bitcount implementation

EMU42.C
- changed function SetSoundDeviceList(), replaced "Standard Audio"
device ID from constant to definition
- bugfix in function SettingsProc(), restart the sound engine by
calling the clean up and initialization functions now and on
"Activation follows mouse" enabled debugger dialog maybe got focus
even if it's not the last active one
- changed function OnFileNew(), removed call of function
SaveBackup() which is already a part of function NewDocument()
- changed function OnFileNew(), OnFileOpen(), OnFileMruOpen(),
OnFileSave(), OnFileSaveAs() and OnFileClose(), switched detection
of document is available from variable pbyRom (ROM image loaded)
to variable bDocumentAvail
- changed function WinMain(), added sound engine initialization and
clean up

EMU42.RC
- changed version and copyright

ENGINE.C
- initialized variable wInstrSize with size of last instruction
array (the circular buffer can hold (wInstrSize-1) instructions)
- bugfix in function WorkerThread(), moved sound engine
initialization and clean up from SM_RUN state to main function,
this prevents a non responding Saturn CPU emulation when changing
from SM_SLEEP to SM_RUN state during sound engine initialization

FETCH.C
- made typedef of jump table struct constant, so the const keyword
was removed from all references of JMPTAB
- changed function EvalOpcode(), minor code optimization

FILES.C
- bugfix in function PatchRom(), removed limitation that patch file
must have 6 characters minimum, fixed a buffer overflow when end
of patch file consists of white space characters, recalculate
CRC's only on address patch written and return failture on syntax
errors now

KML.C
- changed function InitLcd(), removed Zoom factor 4 limitation

PCH.H
- added MSVC6.0 compatible 64bit constant qualifier macro
- added GWLP_USERDATA, SetWindowLongPtr, GetWindowLongPtr and
LONG_PTR definitions for MSVC6.0 SDK and earlier

REDEYE.C
- changed function IrPrinter(), changed to a more efficient
bitcount implementation for missed bits

SETTINGS.C
- changed function ReadSettings() and WriteSettings(), added item
"LastInstrBufSize" in section [Debugger] in the INI-File

STACK.C
- added function Trim(), create a trimmed copy of the input string
- added function SetBcd(), contain implementation of prior function
RPL_SetBcd()
- changed function RPL_SetBcd(), wrapper for function SetBcd() to
trim data before decoding
- changed function RPL_SetComplex(), create a trimmed working copy
before decoding the outline brackets and because of the changed
function RPL_SetBcd() the real number arguments are accepted with
white spaces around now
- removed disabled function IsRealNumber(), it was more or less
functional compatible with actual modified function RPL_SetBcd()

TIMER.C
- removed UNIX_0_TIME definition

UDP.C
- changed function SendByteUdp(), replaced malloc() by _alloca()
call for UNICODE wchar to char string translation to get rid of
freeing the allocated memory manually

EmuCR: Emu42

Download: Emu42 v1.18
Source: Here



Random Related Topic Refresh Related Topic

Random Related Topic Loading...

0 Comments

Post a Comment

Can't post a comment? Try This!