|
Downloads
|
|
|
|
Forum
|
|
Mitglieder Online | Keine Mitglieder online. |
You are an anonymous user. You can register for free by clicking here |
| |
|
|
Review of the moment
|
|
|
|
|
|
|
Autor |
Nachricht |
step1978
|
|
Titel: Diverse: Emu48 v142
Verfasst am: 23.08.2006, 03:52 Uhr
|
|
News Scout
Anmeldungsdatum: 25. Jun 2005
Beiträge: 4.562
Wohnort: Berlin
Status: Offline
|
|
Emu48 ist ein HP-38/HP-39/HP-40/HP-48/HP-49 Taschenrechner Emulator für Windows.
Emu48 is a HP-38/HP-39/HP-40/HP-48/HP-49 Emulator for Windows.
Service Pack 42 for Emu48 Version 1.0
EMU48.C
- bugfix in function OnViewScript(), removed error message because
it´s wrong when script is ok, but log report was leaved with
Cancel button, also if clause of error message box was never
reached because error message box had no Cancel button
- changed function OnViewScript(), added call of
SetWindowPathTitle() to adjust length of window title
- changed function WinMain(), simplified document loading at startup
and replaced full filename title with length cut filename
EMU48.H
- extern declaration of global functions
EMU48.RC
- changed version
FETCH.C
- changed function EvalOpcode(), included assertion for detecting
access to packed memory data
FILES.C
- moved function WriteStack() inside file
- added new function GetCutPathName(), creating a length cut
filename
- added new function SetWindowPathTitle(), replacement for calling
SetWindowTitle() for getting length cut filenames as title
- changed function OpenDocument(), SaveDocumentAs() and
RestoreBackup(), replaced call of function SetWindowTitle() with
SetWindowPathTitle()
- changed function GetOpenFilename(), GetSaveAsFilename(),
GetLoadObjectFilename() and GetSaveObjectFilename(), moved
storage place of local file buffer from heap to stack
I28F160.C
- bugfix in function WrStateE8N(), removed "Write to Buffer command
failed when requesting for the buffer length" code part introduced
in SP27; this was in reality a workaround for the actually fixed
Nwrite() flash access bug and illegal data length information
wasn´t handled correctly
IO.H
- added DISP1CTL, LINENIBS, DISP2CTL and BAUD bit definitions
KML.C
- added keyword "Menubar" to pLexToken[] table -> scripts using this
keyword are parsed with a warning but not with a fatal error
- changed function CreateKmlList(), select only KML files with a
valid Model statement
- bugfix in function Lex(), EOF without LF at end of non empty line
wasn´t detected as EOL
KML.H
- added TOK_MENUBAR definition
MOPS.C
- bugfix in function UckBit(), when UART is off then the UCK bit
was always cleared, but it´s always set
- bugfix in function Npeek(), Nread() and Nwrite(), flash access
over a 2KB MMU boundary caused problems in some cases
- bugfix in function WriteIO(), race condition when clearing the SON
bit in the IOC (0x110) register, the UART was still working so the
cleared IOC (0x110), RCS (0x111), TCS (0x112), RBR (0x114,0x115)
and TBR (0x116,0x117) register can be overwritten by the serial
thread
SERIAL.C
- bugfix in function CommOpen(), method of port closing was illegal
because COM port dependent threads hadn´t been stopped
Known bugs and restrictions of Emu48 V1.42
------------------------------------------
- the following I/O bits aren´t emulated (incomplete)
DTEST (0x102) [VDIG LID TRIM]
DSPCTL (0x103) [LRT LRTD LRTC BIN]
LPD (0x108) [LB2 LB1 LB0 VLBI]
LPE (0x109) [ELBI EVLBI GRST RST]
CMODE (0x10A) Mode register
IOC (0x110) [ERBZ]
RCS (0x111) [RX RER RBZ]
SRQ1 (0x118) [ISQR VSRQ]
SRQ2 (0x119) [LSRQ]
IRC (0x11A) [IRI EIRU EIRI IRE]
LCR (0x11C) [LED ELBE LBZ LBF]
LBR (0x11D) [LBO]
- the baudrates 1920, 3840, 7680 and 15360 aren´t emulated on most
operating systems
Windows 95a 1920, 3840, 7680 work, 15360 fail
Windows 98, NT4.0, 2000, XP all baudrates fail
- problems when receiving a break signal on the serial port
Windows 98, NT4.0 SP4 no retrigger on port open
Windows 98 timing problems setting the RER bit
Windows 2000 SP2 no known problems
- System-RPL commands VERYVERYSLOW, VERYSLOW and SLOW depends on PC
speed (are realized as simple down counter in ROM)
- display updating differs from the real machine
- screen VBL counter values may skip after large display operations
like turning on or updating the whole display
- executing an opcode over a MMU boundary will fail
- read on an unconfigured address (open data bus) will not show the
same value like a real calculator
- the Yorke hardware signals BEN and DA19 aren´t fully supported,
because the emulator don´t use a multiplexed AR18 / NCE3 data line
-> all programs that run on a real calculator will run as well,
programs with incorrect DA19 / BEN handling may run on the
emulator but will crash on a real calculator
- incomplete reset logic of the bank switcher FF, on real
calculators a reset happen after about 4s in deep sleep, in the
emulator this happens immediately
- no MP interrupt on card control circuit or timer restart
- no beeper support with OUT command -> all programs that aren´t
use the "=makebeep" subroutine, like alarm wake up, have no sound
- beeper emulation, ATTN key doesn´t work
- no infrared printer support
- Shell OS: clock isn´t synchronized with real time
- HP49G: the flash memory is emulated now with some restrictions
- no flash programming times, the flash state machine returns
immediately the ready signal
- only one write buffer, second not needed because of prior reason
- not fully tested, especially the status byte may return
incorrect values (error bits)
- quitting the emulator while programming the flash isn´t allowed,
because the content of flash state machine isn´t saved so far
08/22/06 (c) by Christoph Gießelink, c dot giesselink at gmx dot de
Related links:
[ Diverse / Misc Emus ]
|
|
|
|
|
|
|
Alle Zeiten sind GMT + 1 Stunde
|
|
|
|
|
|
|