2018-09-30

Emu42 v1.22

EmuCR: Emu42Emu42 v1.22 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 Changelog:
DISPLAY.C
- added function SetAnnunBitmap(), setting a created annunciator
bitmap

DISRPL.C
- changed function DoHexStream() and DoHxs(), removed trailing space
if data length is zero
- bugfix in function DoIntStream(), =DOINT stream with zero data
length crashed decoder

EMU42.C
- bugfix in function OnViewCopy(), fixed unsynchronized GDI
operation

EMU42.DSP
- added lodepng.h and lodepng.c sources

EMU42.H
- extern declaration of global function

EMU42.RC
- changed version and copyright

FILES.C
- added function DecodePng() as wrapper for decoding PNG image files
- changed function LoadBitmapFile(), added PNG image file support
- added function EncodeColorBits() returning bitfield position
encoded color bits
- bugfix in function CreateRgnFromBitmap(), removed GetObject() call
for getting the image properties, they are get over a GetDIBits()
query now, removed creating a memory DC because it's unused and
added bitfield decoding which is important for the 16 bit (5:6:5)
color setting

KML.C
- changed function AdjustPixel(), changed function prototype using
a buffer position instead of device context pixel coordinate to
locate the adjustable pixel
- changed function TransparentCircle(), complete new implementation
with changed function prototype; the prior implementation used the
GetPixel()/SetPixel() method to adjust the pixel color of a single
pixel, this method was extremely slow on some PC configurations,
the current method is creating a byte copy of the complete target
area, does the pixel adjustments on byte level and finally copy
the result back to the target device context
- changed function DrawButton(), adjusted implementation to new
prototype of function TransparentCircle()
- bugfix in function DrawAnnunciator(), used wrong device context on
external annunciator bitmap for getting background pixel color
(buggy implementation only worked with external bitmaps having a
white background color)
- changed function ResizeMainBitmap(), added annunciator resize
handling for annunciator definitions inside main bitmap

LODEPNG.C
- new module for decoding PNG files LodePNG version 20180910 with
unmarked typecast patches for x64 compatibility, Copyright (c)
2005-2018 Lode Vandevenne

LODEPNG.H
- header file for decoding PNG files LodePNG version 20180910,
Copyright (c) 2005-2018 Lode Vandevenne

PCH.H
- added include limits.h

USRPRG32.C
- renamed typedef CatLabel and all references to CatLabel32,
identical typedef name usage in USRPRG42.C confused VS debugger

USRPRG42.C
- renamed typedef CatLabel and all references to CatLabel42,
identical typedef name usage in USRPRG32.C confused VS debugger
- expanded UC byte enum table with LOCAL1 and LOCAL2 for 2 byte GTO
detection
- changed function DecodeUCByte(), added LOCAL1 and LOCAL2 decoding
- added function IsPrevGlobalEnd(), checking if previous global
object is a GLOBAL_END and returning the address behind the
GLOBAL_END or if not the adddress of the global object itself
- changed function Catalog(), added code to the catalog which has a
GLOBAL_END and additional code, but no GLOBAL_LBL inside
- bugfix in function GetUserCode42(), for proper import of HP41
FOCAL programs the jump offsets of GTO and XEQ must be set to
zero to force a recalculation of these offsets at program runtime

EmuCR: Emu42

Download: Emu42 v1.22
Source: Here

0 Comments

Post a Comment