2012-10-19

Emu28 v1.26

EmuCR:Emu28Emu28 v1.26 is released. Emu28 is an emulator for the Clamshell series calculators HP18C and HP28C. It base on the sources of the famous HP calculator emulator Emu48 and is published under the GPL. The emulator is running on all Win32 platforms.

Emu28 v1.26 Changelog:
DEBUGGER.C
- removed variables pbyMapData and dwMapDataSize, the implementation
behind moved to module DISMEM.C
- bugfix in function SetMappingMenu(), disable RPL object viewer if
the memory browser isn't in mapped memory mode
- changed function SetMappingMenu(), ViewMemWnd() and OnFindOK(),
changed to DISMEM.C implementation
- changed function GetMemCurAddr(), OnMemGoAdr(), OnKeyUpDown() and
OnKeyPlusMinus(), variable dwMapDataSize isn't global any more,
use function GetMemDataMask() instead
- changed function ViewCodeWnd(), set disassembler to memory mapped
mode
- bugfix in function OnDblClick(), fixed buffer overflow when
converting a 2 byte hexadecimal string to a byte and added an
update of code window
- changed function Debugger(), added initialization of RPL object
viewer get nibble function in WM_INITDIALOG message
- bugfix in function UpdateRplObjViewWnd(), show entry point names
only in mapped mode and end address for RPL object viewer depend
on the actual memory mapping mode and with the design change to
the DISMEM.C implementation in all debugger and disassembler
related parts, the RPL object viewer also works in all memory
mapping modes properly now

DISASM.C
- changed function read_nibble(), call function GetMemNib() from the
new module DISMEM.C for mapping mode memory access and made
function static

DISMEM.C
- new module for accessing memory data for debug view purpose

DISRPL.C
- the get nibble function is not hard referenced as read_nibble()
call any more, it's now called over RplReadNibble() function
pointer
- changed function PrintTail(), expanded to handle 6 digit addresses

DISRPL.H
- added extern declaration of RplReadNibble() function pointer

EMU28.C
- changed function Disasm(), changed to DISMEM.C implementation
- added function OnCopyData() as WM_COPYDATA message handler
implementation for changing the state file to the given state file
name
- changed function MainWndProc(), added WM_COPYDATA message handler
- changed function WinMain(), expanded single instance case by
transmitting the given state file name to the already opened
program instance and added more flexible CPU binding for the
Saturn core emulation thread on Windows NT4.0 and later

EMU28.DSP
- added dismem.c sources

EMU28.H
- added WM_COPYDATA identifier definition
- added enum MEM_MAPPING
- extern declaration of global functions
- removed extern declaration of global variable

EMU28.RC
- changed version

KML.C
- added global variable bLocaleInc for checking if locale block
content already included
- added keyword "Locale" to pLexToken[] and token TOK_LOCALE to
eIsGlobalBlock[] table
- changed function ParseLine() and ParseBlock(), preset szLexString
variable with NULL after freeing
- changed function IncludeLines() and IncludeBlocks(), changed
function prototype by adding a boolean argument for selecting the
text message "Including" or "Parsing" in the log file
- bugfix in function ParseLines(), return a TOK_NONE line for an
empty block instead of a NULL pointer which regular stands for a
syntax error
- bugfix in function ParseLines() and ParseBlocks(), changed
function prototype by adding a boolean argument for selecting the
mode "include" or "parse" for the next lines or blocks and
verifying the "Include" argument was incomplete and may caused
memory leaks at error condition
- bugfix in function ParseBlock(), verifying the block commmand
argument was incomplete and may caused a memory leak at error
condition
- changed function ParseBlocks(), changed function prototype by
adding a boolean argument if an "End" token is also valid and
added implementation of block "Locale"
- changed function KillKML(), added reset of variable bLocaleInc
- bugfix in function ReloadButtons(), ON key button wasn't handled
- changed function ReleaseButton(), for speed optimization skip
function if button is already released
- bugfix in function LoadKMLGlobal(), fixed a memory leak caused by
the error condition that expected block command is a string
- changed function InitKML(), added current keyboard input locale
setting log file text

KML.H
- added TOK_LOCALE definition

TIMER.C
- changed function SetHPTime(), time calculation now work properly
for host system dates before 1970/01/01 and after 2106/02/07

Download: Emu28 v1.26
Source: Here

0 Comments

Post a Comment