2017-01-20

Emu71 v1.08

EmuCR: Emu71Emu71 v1.08 is released. Emu71 is an emulator for the HP71B calculator. 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.

Emu71 v1.08 Changelog:
DEBUGGER.C
- changed function UpdateStackWnd(), OnStackPush() and OnStackPop(),
fixed signed/unsigned mismatch
- changed function OnUpdate(), added call of UpdateMemMapWnd()
- bugfix in function OnLButtonUp(), fixed a buffer overflow when
converting a 3 byte hexadecimal string to variable Chipset.out
which overwrite the content of variable Chipset.in and fixed a
buffer overflow when converting a 4 byte hexadecimal string to
variable Chipset.in which overwrite the content of variable
Chipset.SoftInt
- changed function UpdateProfileWnd(), fixed signed/unsigned
mismatch and optimized ENG unit search break
- added function GetExpMemCfgTree(), the get expanded or collapsed
state of all tree nodes
- added function SetExpMemCfgTree(), restore the state of tree the
nodes
- added function UpdateMemMapWnd(), update memory mapping dialog
content
- changed function MemMap() and OnMemMap(), switched from modal to
non modal dialog

DISPLAY.C
- added function CreateAnnunBitmap() and DestroyAnnunBitmap(),
handle a separate annunciator bitmap
- bugfix in function ResizeWindow(), the WM_PAINT message wasn't
generated by the InvalidateRect() call when the title and menu bar
was disabled and the client area was empty, so we got a main
window with zero size which could not be activated any more ->
issue solved by forcing a menu bar when client area is empty

EMU71.C
- changed szLicence string, updated to the latest revision of the
GPLv2
- moved function SetSoundDeviceList() to SNDENUM.C
- changed function WinMain(), added non modal "Memory Mapping"
dialog box in main message handler

EMU71.DSP
- added snddef.h and sndenum.c sources

EMU71.H
- extern declaration of global variables and functions

EMU71.RC
- changed IDD_SETTINGS, removed text "Device" and enlarged width of
combo box IDC_SOUND_DEVICE
- changed IDD_CHOOSEKML, enlarged width of dialog to get an enlarged
"Current KML Script" combo box
- changed IDD_KMLLOG, enlarged width of "Title of the Script", "by"
and "The Author" text boxes
- changed IDD_DEBUG_MEMMAP, added WS_VISIBLE style
- changed version and copyright

ENGINE.C
- added global variable bBusCfg for signaling if the device
configuration changed since last debugger update
- added global variable bBusCfgOpc for signaling that current opcode
will change the device configuration
- changed function Debugger(), added signaling device configuration
changed

FILES.C
- bugfix in function OpenDocument(), prevent buffer overflow on
reading pbyPlugData and removed switcher for document format
version

HPIL.C
- changed function CreateHpilThread(), added initialization of
byIdySrqPollTimeout
- changed function IoThread(), added the IDY frame polling feature
- added function SReqMem() returning the HP-IL service request state
- changed function ReadIOHpilMem(), removed obsolete remark
- changed function AttachHpilMem(), added initialization of the
service request function pointer

HPIL.H
- added byIdySrqPollTimeout variable saving the IDY SRQ poll timeout

HPILCMD.C
- changed function SendFrame(), added "SRQ received from loop"
mailbox bit support
- bugfix in function enter_bytes(), received data frames with set
SRQ frame bit had been send back to the loop without cleared SRQ
frame bit
- changed function execmd15(), at case 9 "set IDY SRQ poll timeout"
added implementation, at case 14 "power up the loop" added
clearing bus SRQ mailbox bit and disable the IDY polling and at
case 15 "enable/disable IDY poll" added implementation
- changed function execmd(), at case 1 "frame class" added manual
mode and "SRQ received from loop" mailbox bit support and at case
3 "power down the loop" added clearing the SRQ bits in the mailbox
and clearing the IDY polling status bit
- changed function reset_mb(), added initialization of
byIdySrqPollTimeout and removed switching to state MBIDLE to avoid
executing reset_mb() more than one time

KML.C
- added keyword "Scale" to pLexToken[] table
- changed function InitGlobal(), added implementation of keyword
"Scale"
- changed function InitLcd(), added implementation of keyword
"Bitmap"
- changed function KillKML(), added DestroyAnnunBitmap() and preset
of some global variables
- changed function iSqrt(), changed implementation to Heron's method
for speed optimization
- changed function DrawAnnunciator(), added alternative annunciator
bitmap
- added function ResizeMainBitmap(), resize main bitmap and main
bitmap dependend variables like size, offset, ...
- changed function InitKML(), added downscaling main bitmap

KML.H
- added TOK_SCALE definition

MOPS.C
- bugfix in function MapROM(), map ROM only if loaded and masking
the ROM size with 0xFFFFF is not necessary
- changed function DismountPorts(), optimized setting of detached
marker
- bugfix in function Uncnfg(), modules on the ports 1-5 were only
unconfigured when the corresponding DAISYIN line had been high
- changed function C_Eq_Id(), loop optimization scanning for ID in
attached port
- added function SREQ(), general function to capture the service
requests from the modules (this function was necessary to
synchronize the main CPU with the HP-IL I/O CPU)
- changed function NreadEx(), removed conditional jump for speed
optimization

OPCODES.C
- changed function o80E(), added some remarks and replaced direct
loading of the service request BUS content by a function call for
CPU synchronization

PORTMEM.C
- added function SReqMem() as empty function for service request
- changed function AllocPortMem(), added initialization of service
request function pointer

SNDDEF.H
- include files and interface definitions for SNDENUM.C for
compilers without installed DirectX SDK

SNDENUM.C
- new module with implementation of function SetSoundDeviceList()
prior located in EMU48.C for sound device enumeration showing the
full device name used since Windows Vista

TYPES.H
- added service request function pointer in PORTACC structure

Download: Emu71 v1.08
Source: Here

0 Comments

Post a Comment