Jump to content

Emu28 v1.09 Released


olaf

Recommended Posts

AEP Emulation Page reports that Emu28, the Microsoft Windows emulator of the Clamshell series calculators HP18C and HP28C, has been updated to version 1.09. Below are the changes in this version.

 

DISPLAY.C

- changed function UpdateMainDisplay(), removed DEBUG_DISPLAY implementation

- bugfix in function UpdateContrast(), used background Color 0 in calculator off state even if Color 32 was defined, added critical section for DIB section update because of asynchronous display update now and added update of annunciators

- bugfix in function CreateLcdBitmap(), DIB section shouldn't created from the memory DC

- deleted function WriteToMainDisplay(), not necessary for the new display implementation any more

- added functions LcdProc(), StartDisplay() and StopDisplay() for new the implementation of the display engine

 

EMU28.C

- changed function SettingsProc(), added sound handling

- moved function OnStackCopy() and OnStackPaste() to STACK.C

- changed function WinMain(), added accelerator key access for menus

 

EMU28.DSP

- added stack.c sources

 

EMU48.H

- removed definitions of DISP_ANNUN and DISP_MAIN

- removed reference of variable disp

- removed function prototype of WriteToMainDisplay()

- extern declaration of global functions

 

EMU28.RC

- added "Sound" group in Settings dialog

- changed menu text "Copy String" to "Copy Stack" and menu text "Paste String" to "Paste Stack"

- added accelerator resource

- changed version and copyright

 

ENGINE.C

- bugfix in function WorkerThread(), when changing into SM_RUN state display constrast must also be restored

- changed function WorkerThread(), when changing into SM_RUN state display engine must be started and when leaving SM_RUN state display engine must be stopped now

 

FILES.C

- added function RomType() returning the current ROM version

 

IO.H

- added MROW_BEGIN and MROW_END definitions

 

KML.C

- bugfix in function SkipWhite(), skipping remark text hadn't stop at string end

- bugfix in function ParseBlocks(), stopped script parsing without error at unknown block token

- bugfix in function SkipLines(), TOK_END was handeled wrong -> this caused a RunKey end if condition of TOK_IFPRESSED or TOK_IFFLAG was false and there was no TOK_ELSE inside this level

- bugfix in function KillKML(), ROM type wasn't reset to the preset value at the end

 

MOPS.C

- changed MMU page size bits from code constants to a definition

- deleted function UpdateDisplay(), not necessary for the new display implementation any more

- changed function Nwrite(), removed calling of functions UpdateDisplay() and UpdateAnnunciators()

- changed function WriteIO(), control of the DSPCTL (0x303) register calls now the functions StartDisplay() and StopDisplay() to start/stop the display engine and removed DISP_MAIN references

- changed function WriteIO(), replaced DISP_ANNUN references by an annuncator implementation in function WriteSlaveIO()

- changed function WriteSlaveIO(), added annunciator implementation

 

OPS.H

- added MMU page and address size definitions

 

RPL.C

- added function RPL_GetSystemFlag() returning the state of the given flag

 

RESOURCE.H

- added several definitions

 

STACK.C

- new modul with the message handler functions OnStackCopy() and OnStackPaste() prior located in EMU28.C

- changed function OnStackCopy() and OnStackPaste(), they can now also copy real numbers from and to the clipboard

 

TIMER.C

- changed function CheckT(), minor optimization in checking if INT or WAKE bit is set

You can visit the official homepage here or simply download it here.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...