Emu28 v1.17
DDESERV.C
- bugfix in function DdeCallback(), readded delay after ON key state
change, bug introduced in v1.07
DEBUGGER.C
- added function LoadSymbTable(), loading symbol table defined in
INI-File
- added function GetMemCurAddr(), get address of cursor in memory
window
- changed function ViewCodeWnd(), function now returns the line
number with the pc, adjusted address to Saturn address area, added
label line if address is a known entry and added a check if the 5
nibble sequence on an address should be interpreted as PCO
- changed function ViewCodeWnd() and InfoIntr(), adjusted to new
prototype of function disassemble()
- changed function UpdateCodeWnd(), if pc should shown at first line
but the pc is the begin of a PCO, show PCO address as first line
instead, added handling for label line
- changed function OnKeyF5(), for label line support changed
detection of PC line
- changed function OnCodeGoAdr(), removed limitation to Saturn
address area, limitation now done in function ViewCodeWnd()
- added function OnKeyPlusMinus(), +/- key handler for memory window
- changed function OnKeyCodeWnd(), added handling for label line and
removed limitation going back before address 0
- changed function OnDrawCodeWnd(), added draw style for label line
- changed function Debugger(), added initialization and
uninitialization of smybol table and bold font, added +/- key
handling for memory window and added Debugger Settings to the
system menu
- added functions for Debugger Settings handling
- changed function EnterAddr(), added decoding a symbolic entry into
an address
- changed function InfoIntr(), added label line if instruction
address is a known entry
DISASM.C
- added variable disassembler_symb to enable symbolic address
disassembly
- changed function read_nibble(), made function public
- changed function append_imm_nibble(), if the immediate data is 5
nibbles long and the decoded data is a known symbolic entry, show
the symbolic name instead of the data
- added new function append_numaddr(), numeric output of an address
- changed function append_addr(), if the address is a known symbolic
entry, show the symbolic name instead of the address
- bugfix in function append_r_addr(), in some rare conditions the
program counter value got larger than 0xFFFFF, if the calculated
absolute address is a known symbolic entry show the symbolic name
instead of the relative address, in the case of showing the
relative address the corresponding absolute address is now printed
by this function and not by the function append_pc_comment(), so
there´s no difference between VIEW_SHORT and VIEW_LONG any more
- removed function append_pc_comment(), implementation is obsolete
now because absolute address printing is now done in function
append_r_addr()
- changed function disasm_8() and disassemble(), changed function
prototypes by removing the view argument
DISPLAY.C
- bugfix in function StopDisplay(), the assumption that WM_PAINT
always redraw the complete display area was wrong; because
calculating the used display region is quite difficult the
complete emulator windows will be redrawn
EMU28.C
- bugfix in function OnDropFiles() and OnObjectLoad(), readded delay
after ON key state change, bug introduced in v1.07
- changed function OnObjectLoad() and OnObjectSave(), adjusted to
new prototype of function GetLoadObjectFilename() and
GetSaveObjectFilename()
- changed function Disasm(), adjusted to new prototype of function
disassemble()
EMU28.DSP
- added symbfile.c sources
EMU28.H
- added file filter definition
- removed VIEW_SHORT and VIEW_LONG definition
- changed function prototypes
- extern declaration of global variable and functions
EMU28.RC
- added dialog IDD_DEBUG_SETTINGS
- changed version
FILES.C
- changed function GetCutPathName(), removed warning when compiling
for x64 architecture
- changed function IsDataPacked(), made a DWORD pointer copy of the
VOID pointer argument to avoid type casting, this generates the
same code on MSVC6.0 but made it GCC compiler compatible
- changed function GetOpenFilename() and GetSaveAsFilename(),
removed some NULL characters at end of file filter definition
string
- changed function GetLoadObjectFilename() and
GetSaveObjectFilename(), changed function prototype, added
arguments for the file filter and the default extention
KEYMACRO.C
- changed function OnToolMacroNew() and OnToolMacroPlay(), removed
some NULL characters at end of file filter definition string
- changed function MacroProc(), removed warning when compiling for
x64 architecture
KML.C
- changed szText variable qualifier from LPTSTR to LPCTSTR
- changed function CreateKmlList(), adjusted to new prototype of
function GetStringParam()
- bugfix in function FatalError(), modifying the script buffer
content isn´t allowed
- changed function InitLex(), IncludeLines() and IncludeBlocks(),
adjusted to constant pointer of variable szText
- changed function GetStringOf(), changed for better reading
- changed function SkipWhite(), optimized and better readable
implementation
- bugfix in function ParseToken(), optimized string delimeter
searching among other optimizations, removed increment of line
counter on LF character to correct the line numbering on UNIX
files with LF instead of CR LF at line end -> line counter
increment is done in function SkipWhite() on decoding next keyword
in function Lex() and modifying the script buffer content for
debug output isn´t allowed
- changed function ParseLine(), replaced main loop "goto" construct
- changed function GetStringParam(), changed return variable
qualifier from LPTSTR to LPCTSTR
PCH.H
- added INVALID_SET_FILE_POINTER definition
RESOURCE.H
- added definitions for Debugger Settings handling
RPL.C
- renamed definition DOEREAL to DOEREL and adjusted usage in
function RPL_SkipOb() and RPL_ObjectSize()
STACK.C
- bugfix in function OnStackPaste(), readded delay after ON key
state change, bug introduced in v1.07
SETTINGS.C
- changed function ReadSettings() and WriteSettings(), added item
"Symbolic" in section [Disassembler] in the INI-File
SYMBFILE.C
- new module for loading external symbols from a Saturn3 linker file
Emu28 v1.16
DEBUGGER.C
- changed function OnLButtonUp(), NewValue(), EnterAddr() and
EnterBreakpoint(), replaced WM_GETTEXT message call with function
GetWindowText()
DISASM.C
- bugfix in function disassemble(), the NOP5 opcode returned wrong
address for next instruction (GOTO opcode skipping one nibble)
EMU28.C
- bugfix in function SaveChanges(), function GetSaveAsFilename()
returns a boolean and not a button id and removed call of last
document saving
- changed function OnPaint(), removed mixture of BitBlt() calls with
argument hPaintDC and hWindowDC inside critical section
- bugfix in function OnFileSaveAs(), function GetSaveAsFilename()
returns a boolean and not a button id and removed call of last
document saving
- changed function OnFileClose(), removed call of DisableDebugger()
because it´s now done in function ResetDocument()
- changed function OnTopics(), minor optimization by replacing
ShellExecuteEx() with ShellExecute()
- changed function WinMain(), added last document saving at end of
program
EMU28.H
- extern declaration of global variable
EMU28.RC
- changed version and copyright
FILES.C
- changed function ResetDocument(), added call of DisableDebugger()
- changed function GetLoadObjectFilename() and
GetSaveObjectFilename(), changed default file filter from *.* to
*.HP
MOPS.C
- changed function GetLPD(), added possibility to disable low
battery detection
SETTINGS.C
- changed function ReadSettings() and WriteSettings(), added item
"Disable" in section [LowBat] in the INI-File