From 625fd3f66382048e717c5b9f00f2f6bb22015325 Mon Sep 17 00:00:00 2001 From: Gwenhael Le Moine Date: Tue, 19 Mar 2024 23:35:30 +0100 Subject: [PATCH] 2014-10-18: Updated to version 1.56 Signed-off-by: Gwenhael Le Moine --- EMU48.EXE | Bin 282624 -> 0 bytes Emu48.exe | Bin 0 -> 282624 bytes PROBLEMS.TXT | 4 +- Sources/Emu48/CHANGES.TXT | 111 +++ Sources/Emu48/DEBUGGER.C | 187 ++--- Sources/Emu48/DISMEM.C | 10 +- Sources/Emu48/EMU48.C | 100 ++- Sources/Emu48/EMU48.RC | 12 +- Sources/Emu48/ENGINE.C | 4 +- Sources/Emu48/EXTERNAL.C | 16 +- Sources/Emu48/FETCH.C | 1274 +++++++++++++++++----------------- Sources/Emu48/FILES.C | 60 +- Sources/Emu48/I28F160.H | 10 +- Sources/Emu48/MOPS.C | 2 +- Sources/Emu48/MRU.C | 2 +- Sources/Emu48/PCH.H | 7 + Sources/Emu48/REDEYE.C | 2 +- Sources/Emu48/RPL.C | 10 +- Sources/Emu48/SETTINGS.C | 4 + Sources/Emu48/SOUND.C | 8 +- Sources/Emu48/STACK.C | 89 ++- Sources/Emu48/SYMBFILE.C | 2 +- Sources/Emu48/TIMER.C | 5 +- Sources/Emu48/TYPES.H | 90 +-- Sources/Emu48/UDP.C | 8 +- Sources/GCCPatch/EMU48GCC.RC | 12 +- Sources/GCCPatch/Makefile | 38 +- Sources/GCCPatch/PCH.H | 22 +- Sources/GCCPatch/README.TXT | 2 +- uninst.exe | Bin 68747 -> 68747 bytes 30 files changed, 1115 insertions(+), 976 deletions(-) delete mode 100755 EMU48.EXE create mode 100755 Emu48.exe diff --git a/EMU48.EXE b/EMU48.EXE deleted file mode 100755 index 8e19b452d69d753a4a07800acaadbf30193eb358..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 282624 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 diff --git a/Emu48.exe b/Emu48.exe new file mode 100755 index 0000000000000000000000000000000000000000..50306b457592d18d0600b2d765d0f726b417bd88 GIT binary patch literal 282624 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 z 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%0A#VKVBK}i^#UKqr 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 literal 0 HcmV?d00001 diff --git a/PROBLEMS.TXT b/PROBLEMS.TXT index 1714efd..ade1a51 100644 --- a/PROBLEMS.TXT +++ b/PROBLEMS.TXT @@ -1,4 +1,4 @@ -Known bugs and restrictions of Emu48 V1.55 +Known bugs and restrictions of Emu48 V1.56 ------------------------------------------ - the following I/O bits aren't emulated (incomplete) @@ -47,4 +47,4 @@ Known bugs and restrictions of Emu48 V1.55 - quitting the emulator while programming the flash isn't allowed, because the content of flash state machine isn't saved so far -05/21/13 (c) by Christoph Gießelink, c dot giesselink at gmx dot de +04/29/14 (c) by Christoph Gießelink, c dot giesselink at gmx dot de diff --git a/Sources/Emu48/CHANGES.TXT b/Sources/Emu48/CHANGES.TXT index 6d481d1..c0481c2 100644 --- a/Sources/Emu48/CHANGES.TXT +++ b/Sources/Emu48/CHANGES.TXT @@ -1,3 +1,114 @@ +Service Pack 56 for Emu48 Version 1.0 + +DEBUGGER.C +- removed INSTRSIZE definition +- changed function GetAddr(), made function more general by adding + address range check and the ability of decoding a symbolic entry + into an address +- bugfix in function OnSetCursor(), on "Activation follows mouse" + enabled child dialogs lost focus when cursor moved over parent + debugger dialog +- changed function Debugger(), removed initialization of global + variable wInstrSize +- changed function EnterAddr(), changed parameter storage from + static variable to window user data and replaced address decoder + code by GetAddr() function call +- changed function EnterBreakpoint(), replaced address decoder code + by GetAddr() function call and so added decoding a symbolic entry + into an address +- bugfix in function LoadMemData(), forgot to check if file content + fit into Saturn address range, loading now stops also after last + Saturn address written +- changed function SaveMemData(), added assertion for Saturn address + verification +- bugfix in function DebugMemLoad() and DebugMemSave(), adjusted to + new prototype of function GetAddr() and so added checking if the + given addresses are in the Saturn address range because Saturn + read/write functions don't do the range check; this also cause a + change in behavior, on empty address fields the operation fails + and the dialog still remains open + +EMU48.C +- changed function SetSoundDeviceList(), replaced "Standard Audio" + device ID from constant to definition +- bugfix in function SettingsGeneralProc(), on "Activation follows + mouse" enabled debugger dialog maybe got focus even if it's not + the last active one +- bugfix in function SettingsPeripheralProc(), restart the sound + engine by calling the clean up and initialization functions now +- changed function OnFileNew(), removed call of function + SaveBackup() which is already a part of function NewDocument() +- changed function OnFileNew(), OnFileOpen(), OnFileMruOpen(), + OnFileSave(), OnFileSaveAs() and OnFileClose(), switched detection + of document is available from variable pbyRom (ROM image loaded) + to variable bDocumentAvail +- changed function OnViewCopy(), removed MONOCHROME source code part +- changed function WinMain(), added sound engine initialization and + clean up + +EMU48.RC +- changed version and copyright + +ENGINE.C +- initialized variable wInstrSize with size of last instruction + array (the circular buffer can hold (wInstrSize-1) instructions) +- bugfix in function WorkerThread(), moved sound engine + initialization and clean up from SM_RUN state to main function, + this prevents a non responding Saturn CPU emulation when changing + from SM_SLEEP to SM_RUN state during sound engine initialization + +FETCH.C +- made typedef of jump table struct constant, so the const keyword + was removed from all references of JMPTAB +- changed function EvalOpcode(), minor code optimization + +FILES.C +- bugfix in function PatchRom(), removed limitation that patch file + must have 6 characters minimum, fixed a buffer overflow when end + of patch file consists of white space characters, recalculate + CRC's only on address patch written and return failture on syntax + errors now + +PCH.H +- added GWLP_USERDATA, SetWindowLongPtr, GetWindowLongPtr and + LONG_PTR definitions for MSVC6.0 SDK and earlier + +SETTINGS.C +- changed function ReadSettings() and WriteSettings(), added item + "LastInstrBufSize" in section [Debugger] in the INI-File + +SOUND.C +- bugfix in function DestroyWaveThread(), the WM_QUIT message may + failed and so the sound message thread wasn't shut down +- changed function SoundOpen(), added additional check if the sound + device support the necessary audio format + +STACK.C +- added function Trim(), create a trimmed copy of the input string +- added function SetZInt(), contain implementation of prior function + RPL_SetZInt() +- changed function RPL_SetZInt(), wrapper for function SetZInt() to + trim data before decoding +- added function SetBcd(), contain implementation of prior function + RPL_SetBcd() +- changed function RPL_SetBcd(), wrapper for function SetBcd() to + trim data before decoding +- changed function RPL_SetComplex(), create a trimmed working copy + before decoding the outline brackets and because of the changed + function RPL_SetBcd() the real number arguments are accepted with + white spaces around now +- removed disabled function IsRealNumber(), it was more or less + functional compatible with actual modified function RPL_SetBcd() + +TIMER.C +- removed UNIX_0_TIME definition + +UDP.C +- changed function SendByteUdp(), replaced malloc() by _alloca() + call for UNICODE wchar to char string translation to get rid of + freeing the allocated memory manually + + Service Pack 55 for Emu48 Version 1.0 DISMEM.C diff --git a/Sources/Emu48/DEBUGGER.C b/Sources/Emu48/DEBUGGER.C index b1157f3..d0459a8 100644 --- a/Sources/Emu48/DEBUGGER.C +++ b/Sources/Emu48/DEBUGGER.C @@ -20,18 +20,16 @@ #define MAXMEMITEMS 16 // number of address items in a memory window line #define MAXBREAKPOINTS 256 // max. number of breakpoints -#define REG_START IDC_REG_A // first register in register update table -#define REG_STOP IDC_MISC_BS // last register in register update table +#define REG_START IDC_REG_A // first register in register update table +#define REG_STOP IDC_MISC_BS // last register in register update table #define REG_SIZE (REG_STOP-REG_START+1) // size of register update table // assert for register update #define _ASSERTREG(r) _ASSERT(r >= REG_START && r <= REG_STOP) -#define INSTRSIZE 256 // size of last instruction buffer - #define WM_UPDATE (WM_USER+0x1000) // update debugger dialog box -#define MEMWNDMAX (sizeof(nCol) / sizeof(nCol[0])) +#define MEMWNDMAX (sizeof(nCol) / sizeof(nCol[0])) #define RT_TOOLBAR MAKEINTRESOURCE(241) // MFC toolbar resource type @@ -158,6 +156,50 @@ static VOID DisableMenuKeys(HWND hDlg) return; } +// +// read edit control and decode content as hex number or if enabled as symbol name +// +static BOOL GetAddr(HWND hDlg,INT nID,DWORD *pdwAddr,DWORD dwMaxAddr,BOOL bSymbEnable) +{ + TCHAR szBuffer[48]; + INT i; + BOOL bSucc = TRUE; + + HWND hWnd = GetDlgItem(hDlg,nID); + + GetWindowText(hWnd,szBuffer,ARRAYSIZEOF(szBuffer)); + + if (*szBuffer != 0) + { + // if address is not a symbol name decode number + if ( !bSymbEnable || szBuffer[0] != _T('=') + || RplGetAddr(&szBuffer[1],pdwAddr)) + { + // test if valid hex address + for (i = 0; bSucc && i < (LONG) lstrlen(szBuffer); ++i) + { + bSucc = (_istxdigit(szBuffer[i]) != 0); + } + + if (bSucc) // valid characters + { + // convert string to number + *pdwAddr = _tcstoul(szBuffer,NULL,16); + } + } + + // inside address range? + bSucc = bSucc && (*pdwAddr <= dwMaxAddr); + + if (!bSucc) // invalid address + { + SendMessage(hWnd,EM_SETSEL,0,-1); + SetFocus(hWnd); // focus to edit control + } + } + return bSucc; +} + // // set mapping menu // @@ -1426,7 +1468,8 @@ static BOOL OnSetCursor(HWND hDlg) // debugger not active but cursor is over debugger window if (bActFollowsMouse && GetActiveWindow() != hDlg) { - ForceForegroundWindow(hDlg); // force debugger window to foreground + // force debugger window to foreground + ForceForegroundWindow(GetLastActivePopup(hDlg)); } return FALSE; } @@ -1866,8 +1909,7 @@ static INT_PTR CALLBACK Debugger(HWND hDlg, UINT message, WPARAM wParam, LPARAM SendDlgItemMessage(hDlg,IDC_STATIC_MISC, WM_SETFONT,(WPARAM)GetStockObject(DEFAULT_GUI_FONT),MAKELPARAM(FALSE,0)); // init last instruction circular buffer - pdwInstrArray = (DWORD *) malloc(INSTRSIZE*sizeof(*pdwInstrArray)); - wInstrSize = INSTRSIZE; // size of last instruction array + pdwInstrArray = (DWORD *) malloc(wInstrSize*sizeof(*pdwInstrArray)); wInstrWp = wInstrRp = 0; // write/read pointer // init "Follow" menu entry in debugger "Memory" context menu @@ -2003,10 +2045,10 @@ static INT_PTR CALLBACK Debugger(HWND hDlg, UINT message, WPARAM wParam, LPARAM { case VK_F2: return OnKeyF2(hDlg); // toggle breakpoint case VK_F5: return OnKeyF5(hDlg); // key run - case VK_F6: return OnKeyF6(hDlg); // key step cursor + case VK_F6: return OnKeyF6(hDlg); // key step cursor case VK_F7: return OnKeyF7(hDlg); // key step into case VK_F8: return OnKeyF8(hDlg); // key step over - case VK_F9: return OnKeyF9(hDlg); // key step out + case VK_F9: return OnKeyF9(hDlg); // key step out case VK_F11: return OnKeyF11(hDlg); // key break } @@ -2749,41 +2791,22 @@ static INT_PTR OnNewValue(LPTSTR lpszValue) // static INT_PTR CALLBACK EnterAddr(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) { - static DWORD *pdwAddress; - - HWND hWnd; - TCHAR szBuffer[64]; - LONG i; - switch (message) { case WM_INITDIALOG: - pdwAddress = (DWORD *) lParam; + SetWindowLongPtr(hDlg,GWLP_USERDATA,(LONG_PTR) lParam); return TRUE; case WM_COMMAND: wParam = LOWORD(wParam); switch(wParam) { case IDOK: - hWnd = GetDlgItem(hDlg,IDC_ENTERADR); - GetWindowText(hWnd,szBuffer,ARRAYSIZEOF(szBuffer)); - - // if address is not a symbol name decode number - if ( !disassembler_symb || szBuffer[0] != _T('=') - || RplGetAddr(&szBuffer[1],pdwAddress)) - { - // test if valid hex address - for (i = 0; i < (LONG) lstrlen(szBuffer); ++i) - { - if (_istxdigit(szBuffer[i]) == 0) - { - SendMessage(hWnd,EM_SETSEL,0,-1); - SetFocus(hWnd); // focus to edit control - return FALSE; - } - } - if (*szBuffer) _stscanf(szBuffer,_T("%8X"),pdwAddress); - } + if (!GetAddr(hDlg, + IDC_ENTERADR, + (DWORD *) GetWindowLongPtr(hDlg,GWLP_USERDATA), + 0xFFFFFFFF, + disassembler_symb)) + return FALSE; // no break case IDCANCEL: EndDialog(hDlg,wParam); @@ -2813,10 +2836,8 @@ static VOID OnEnterAddress(HWND hDlg, DWORD *dwValue) static INT_PTR CALLBACK EnterBreakpoint(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) { static BP_T *sBp; - - HWND hWnd; - TCHAR szBuffer[8]; - LONG i; + + DWORD dwAddr; switch (message) { @@ -2836,19 +2857,9 @@ static INT_PTR CALLBACK EnterBreakpoint(HWND hDlg, UINT message, WPARAM wParam, case IDC_BPREAD: sBp->nType = BP_READ; return TRUE; case IDC_BPWRITE: sBp->nType = BP_WRITE; return TRUE; case IDOK: - hWnd = GetDlgItem(hDlg,IDC_ENTERADR); - GetWindowText(hWnd,szBuffer,ARRAYSIZEOF(szBuffer)); - // test if valid hex address - for (i = 0; i < (LONG) lstrlen(szBuffer); ++i) - { - if (_istxdigit(szBuffer[i]) == 0) - { - SendMessage(hWnd,EM_SETSEL,0,-1); - SetFocus(hWnd); - return FALSE; - } - } - if (*szBuffer) _stscanf(szBuffer,_T("%5X"),&sBp->dwAddr); + if (!GetAddr(hDlg,IDC_ENTERADR,&dwAddr,0xFFFFF,disassembler_symb)) + return FALSE; + sBp->dwAddr = dwAddr; // no break case IDCANCEL: EndDialog(hDlg,wParam); @@ -2986,11 +2997,11 @@ static INT_PTR CALLBACK EditBreakpoint(HWND hDlg, UINT message, WPARAM wParam, L { TEXTMETRIC tm; - HWND hWnd; - HDC hDC; - HFONT hFont; - BP_T sBp; - INT i,nItem; + HWND hWnd; + HDC hDC; + HFONT hFont; + BP_T sBp; + INT i,nItem; switch (message) { @@ -3448,13 +3459,22 @@ static BOOL LoadMemData(LPCTSTR lpszFilename,DWORD dwStartAddr) if (hFile == INVALID_HANDLE_VALUE) // error, couldn't create a new file return FALSE; - while (TRUE) // read until EOF + while (dwStartAddr <= 0xFFFFF) // read until EOF or end of Saturn address space { ReadFile(hFile,&byData,sizeof(byData),&dwRead,NULL); if (dwRead == 0) break; // EOF - Write2(dwStartAddr,byData); // write byte in map mode - dwStartAddr += 2; + if (dwStartAddr < 0xFFFFF) + { + Write2(dwStartAddr,byData); // write byte in map mode + dwStartAddr += 2; + } + else // special handling to avoid address wrap around + { + byData &= 0xF; + Nwrite(&byData,dwStartAddr,1); // write nibble in map mode + ++dwStartAddr; + } } CloseHandle(hFile); @@ -3476,6 +3496,7 @@ static BOOL SaveMemData(LPCTSTR lpszFilename,DWORD dwStartAddr,DWORD dwEndAddr) for (dwAddr = dwStartAddr; dwAddr <= dwEndAddr; dwAddr += 2) { + _ASSERT(dwAddr <= 0xFFFFF); byData = Read2(dwAddr); // read byte in map mode WriteFile(hFile,&byData,sizeof(byData),&dwWritten,NULL); } @@ -3484,32 +3505,6 @@ static BOOL SaveMemData(LPCTSTR lpszFilename,DWORD dwStartAddr,DWORD dwEndAddr) return TRUE; } -// -// read edit control and decode content as hex number -// -static BOOL GetAddr(HWND hDlg, INT nID, DWORD *pdwAddr) -{ - TCHAR szBuffer[8]; - INT i; - - HWND hWnd = GetDlgItem(hDlg,nID); - - GetWindowText(hWnd,szBuffer,ARRAYSIZEOF(szBuffer)); - - // test if valid hex address - for (i = 0; i < (LONG) lstrlen(szBuffer); ++i) - { - if (_istxdigit(szBuffer[i]) == 0) - { - SendMessage(hWnd,EM_SETSEL,0,-1); - SetFocus(hWnd); // focus to edit control - return FALSE; - } - } - _stscanf(szBuffer,_T("%6X"),pdwAddr); - return TRUE; -} - // // memory load data // @@ -3527,13 +3522,18 @@ static INT_PTR CALLBACK DebugMemLoad(HWND hDlg, UINT message, WPARAM wParam, LPA return OnBrowseLoadMem(hDlg); case IDOK: + dwStartAddr = -1; // no address given + // get filename GetDlgItemText(hDlg,IDC_DEBUG_DATA_FILE,szFilename,ARRAYSIZEOF(szFilename)); // decode address field - if (!GetAddr(hDlg,IDC_DEBUG_DATA_STARTADDR,&dwStartAddr)) + if ( !GetAddr(hDlg,IDC_DEBUG_DATA_STARTADDR,&dwStartAddr,0xFFFFF,FALSE) + || dwStartAddr == -1) return FALSE; + _ASSERT(dwStartAddr <= 0xFFFFF); + // load memory dump file if (!LoadMemData(szFilename,dwStartAddr)) return FALSE; @@ -3577,15 +3577,22 @@ static INT_PTR CALLBACK DebugMemSave(HWND hDlg, UINT message, WPARAM wParam, LPA return OnBrowseSaveMem(hDlg); case IDOK: + dwStartAddr = dwEndAddr = -1; // no address given + // get filename GetDlgItemText(hDlg,IDC_DEBUG_DATA_FILE,szFilename,ARRAYSIZEOF(szFilename)); // decode address fields - if (!GetAddr(hDlg,IDC_DEBUG_DATA_STARTADDR,&dwStartAddr)) + if ( !GetAddr(hDlg,IDC_DEBUG_DATA_STARTADDR,&dwStartAddr,0xFFFFF,FALSE) + || dwStartAddr == -1) return FALSE; - if (!GetAddr(hDlg,IDC_DEBUG_DATA_ENDADDR,&dwEndAddr)) + if ( !GetAddr(hDlg,IDC_DEBUG_DATA_ENDADDR,&dwEndAddr,0xFFFFF,FALSE) + || dwEndAddr == -1) return FALSE; + _ASSERT(dwStartAddr <= 0xFFFFF); + _ASSERT(dwEndAddr <= 0xFFFFF); + // save memory dump file if (!SaveMemData(szFilename,dwStartAddr,dwEndAddr)) return FALSE; diff --git a/Sources/Emu48/DISMEM.C b/Sources/Emu48/DISMEM.C index 7d11efb..2d6dd0c 100644 --- a/Sources/Emu48/DISMEM.C +++ b/Sources/Emu48/DISMEM.C @@ -39,7 +39,7 @@ static CONST MODEL_MAP_T MemMap[] = { '6', // HP38G (64K) &pbyRom, &dwRomSize, // ROM - &Port0, &Chipset.Port0Size, // RAM + &Port0, &Chipset.Port0Size, // RAM &pbyNoMEM, NULL, // nc. &pbyNoMEM, NULL, // nc. &pbyNoMEM, NULL // nc. @@ -47,7 +47,7 @@ static CONST MODEL_MAP_T MemMap[] = { 'A', // HP38G &pbyRom, &dwRomSize, // ROM - &Port0, &Chipset.Port0Size, // RAM + &Port0, &Chipset.Port0Size, // RAM &pbyNoMEM, NULL, // nc. &pbyNoMEM, NULL, // nc. &pbyNoMEM, NULL // nc. @@ -58,21 +58,21 @@ static CONST MODEL_MAP_T MemMap[] = &Port0, &Chipset.Port0Size, // RAM part 1 &pbyNoMEM, NULL, // BS &pbyNoMEM, NULL, // nc. - &Port2, &Chipset.Port2Size // RAM part 2 + &Port2, &Chipset.Port2Size // RAM part 2 }, { 'G', // HP48GX &pbyRom, &dwRomSize, // ROM &Port0, &Chipset.Port0Size, // RAM &pbyNoMEM, NULL, // BS - &Port1, &Chipset.Port1Size, // Card slot 1 + &Port1, &Chipset.Port1Size, // Card slot 1 &pbyPort2, &dwPort2Size // Card slot 2 }, { 'S', // HP48SX &pbyRom, &dwRomSize, // ROM &Port0, &Chipset.Port0Size, // RAM - &Port1, &Chipset.Port1Size, // Card slot 1 + &Port1, &Chipset.Port1Size, // Card slot 1 &pbyPort2, &dwPort2Size, // Card slot 2 &pbyNoMEM, NULL // nc. }, diff --git a/Sources/Emu48/EMU48.C b/Sources/Emu48/EMU48.C index 5bab536..8d5618c 100644 --- a/Sources/Emu48/EMU48.C +++ b/Sources/Emu48/EMU48.C @@ -13,9 +13,7 @@ #include "kml.h" #include "debugger.h" -#define VERSION "1.55" - -// #define MONOCHROME // CF_BITMAP clipboard format +#define VERSION "1.56" #ifdef _DEBUG LPCTSTR szNoTitle = _T("Emu48 ")_T(VERSION)_T(" Debug"); @@ -222,7 +220,7 @@ static VOID SetSoundDeviceList(HWND hWnd,UINT uDeviceID) // preset selector uSelectDevice = (UINT) SendMessage(hWnd,CB_ADDSTRING,0,(LPARAM) _T("Standard Audio")); - SendMessage(hWnd,CB_SETITEMDATA,uSelectDevice,(UINT) -1); + SendMessage(hWnd,CB_SETITEMDATA,uSelectDevice,WAVE_MAPPER); uDevNo = waveOutGetNumDevs(); for (uDevID = 0; uDevID < uDevNo; ++uDevID) @@ -374,7 +372,7 @@ static BOOL CALLBACK SettingsGeneralProc(HWND hDlg, UINT uMsg, DWORD wParam, LON SetWindowPos(hWnd,hWndInsertAfter,0,0,0,0,SWP_NOMOVE | SWP_NOSIZE); if (hDlgDebug != NULL) { - SetWindowPos(hDlgDebug,hWndInsertAfter,0,0,0,0,SWP_NOMOVE | SWP_NOSIZE); + SetWindowPos(GetLastActivePopup(hDlgDebug),hWndInsertAfter,0,0,0,0,SWP_NOMOVE | SWP_NOSIZE); } return TRUE; } @@ -482,9 +480,9 @@ static BOOL CALLBACK SettingsMemoryProc(HWND hDlg, UINT uMsg, DWORD wParam, LONG && (Chipset.IORam[CARDCTL] & ECDT) != 0 && (Chipset.IORam[TIMER2_CTRL] & RUN) != 0 ) { - Chipset.HST |= MP; // set Module Pulled - IOBit(SRQ2,NINT,FALSE); // set NINT to low - Chipset.SoftInt = TRUE; // set interrupt + Chipset.HST |= MP; // set Module Pulled + IOBit(SRQ2,NINT,FALSE); // set NINT to low + Chipset.SoftInt = TRUE; // set interrupt bInterrupt = TRUE; } SwitchToState(nOldState); @@ -620,10 +618,17 @@ static BOOL CALLBACK SettingsPeripheralProc(HWND hDlg, UINT uMsg, DWORD wParam, uDevId = (UINT) SendDlgItemMessage(hDlg,IDC_SOUND_DEVICE,CB_GETITEMDATA,i,0); if (uWaveDevId != uDevId) // sound device id changed { + UINT nActState; + uWaveDevId = uDevId; // set new sound device id + nActState = SwitchToState(SM_SLEEP); + // restart sound engine with new device id - SwitchToState(SwitchToState(SM_SLEEP)); + SoundClose(); // close waveform-audio output device + SoundOpen(uWaveDevId); // open waveform-audio output device + + SwitchToState(nActState); } // UDP infrared printer settings GetDlgItemText(hDlg,IDC_IR_ADDR,szUdpServer,ARRAYSIZEOF(szUdpServer)); @@ -913,13 +918,11 @@ cancel: // static LRESULT OnFileNew(VOID) { - if (pbyRom) + if (bDocumentAvail) { SwitchToState(SM_INVALID); if (IDCANCEL == SaveChanges(bAutoSave)) goto cancel; - - SaveBackup(); } if (NewDocument()) SetWindowTitle(_T("Untitled")); cancel: @@ -932,7 +935,7 @@ cancel: // static LRESULT OnFileOpen(VOID) { - if (pbyRom) + if (bDocumentAvail) { SwitchToState(SM_INVALID); if (IDCANCEL == SaveChanges(bAutoSave)) @@ -941,7 +944,7 @@ static LRESULT OnFileOpen(VOID) if (GetOpenFilename()) { if (OpenDocument(szBufferFilename)) - MruAdd(szCurrentFilename); + MruAdd(szBufferFilename); } cancel: if (pbyRom) SwitchToState(SM_RUN); @@ -959,7 +962,7 @@ static LRESULT OnFileMruOpen(UINT wID) lpszFilename = MruFilename(wID); // full filename from MRU list if (lpszFilename == NULL) return 0; // MRU slot not filled - if (pbyRom) + if (bDocumentAvail) { SwitchToState(SM_INVALID); if (IDCANCEL == SaveChanges(bAutoSave)) @@ -983,10 +986,12 @@ cancel: // static LRESULT OnFileSave(VOID) { - if (pbyRom == NULL) return 0; - SwitchToState(SM_INVALID); - SaveChanges(TRUE); - SwitchToState(SM_RUN); + if (bDocumentAvail) + { + SwitchToState(SM_INVALID); + SaveChanges(TRUE); + SwitchToState(SM_RUN); + } return 0; } @@ -995,16 +1000,16 @@ static LRESULT OnFileSave(VOID) // static LRESULT OnFileSaveAs(VOID) { - if (pbyRom == NULL) return 0; - SwitchToState(SM_INVALID); - - if (GetSaveAsFilename()) + if (bDocumentAvail) { - if (SaveDocumentAs(szBufferFilename)) - MruAdd(szCurrentFilename); + SwitchToState(SM_INVALID); + if (GetSaveAsFilename()) + { + if (SaveDocumentAs(szBufferFilename)) + MruAdd(szCurrentFilename); + } + SwitchToState(SM_RUN); } - - SwitchToState(SM_RUN); return 0; } @@ -1013,16 +1018,18 @@ static LRESULT OnFileSaveAs(VOID) // static LRESULT OnFileClose(VOID) { - if (pbyRom == NULL) return 0; - SwitchToState(SM_INVALID); - if (SaveChanges(bAutoSave) != IDCANCEL) + if (bDocumentAvail) { - ResetDocument(); - SetWindowTitle(NULL); - } - else - { - SwitchToState(SM_RUN); + SwitchToState(SM_INVALID); + if (SaveChanges(bAutoSave) != IDCANCEL) + { + ResetDocument(); + SetWindowTitle(NULL); + } + else + { + SwitchToState(SM_RUN); + } } return 0; } @@ -1053,7 +1060,6 @@ static LRESULT OnViewCopy(VOID) { if (EmptyClipboard()) { -#if !defined MONOCHROME // DIB bitmap #define WIDTHBYTES(bits) (((bits) + 31) / 32 * 4) #define PALVERSION 0x300 @@ -1137,20 +1143,6 @@ static LRESULT OnViewCopy(VOID) DeleteObject(hBmp); #undef WIDTHBYTES #undef PALVERSION -#else - HBITMAP hOldBmp, hBmp; - HDC hBmpDC; - - // don't work with background index <> 0 - _ASSERT(nLcdZoom == 1 || nLcdZoom == 2 || nLcdZoom == 4); - hBmp = CreateBitmap(131*nLcdZoom,64*nLcdZoom,1,1,NULL); - hBmpDC = CreateCompatibleDC(NULL); - hOldBmp = (HBITMAP)SelectObject(hBmpDC,hBmp); - BitBlt(hBmpDC,0,0,131*nLcdZoom,64*nLcdZoom,hLcdDC,Chipset.boffset*nLcdZoom,0,SRCCOPY); - SetClipboardData(CF_BITMAP,hBmp); - SelectObject(hBmpDC,hOldBmp); - DeleteDC(hBmpDC); -#endif } CloseClipboard(); } @@ -1283,7 +1275,7 @@ static LRESULT OnViewScript(VOID) if (!DisplayChooseKml(cType)) // quit with Cancel { if (!bKMLChanged) // KML script not changed - break; // exit loop with current loaded KML script + break; // exit loop with current loaded KML script // restore KML script file name lstrcpyn(szCurrentKml,szKmlFile,ARRAYSIZEOF(szCurrentKml)); @@ -2021,6 +2013,8 @@ int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrevInst, LPSTR lpCmdLine, int nC hszTopic = DdeCreateStringHandle(idDdeInst,szTopic,0); DdeNameService(idDdeInst,hszService,NULL,DNS_REGISTER); + SoundOpen(uWaveDevId); // open waveform-audio output device + _ASSERT(hWnd != NULL); _ASSERT(hWindowDC != NULL); @@ -2075,6 +2069,8 @@ start: DdeFreeStringHandle(idDdeInst, hszTopic); DdeUninitialize(idDdeInst); + SoundClose(); // close waveform-audio output device + // get full path name of szCurrentFilename if (GetFullPathName(szCurrentFilename,ARRAYSIZEOF(szBufferFilename),szBufferFilename,&lpFilePart) == 0) szBufferFilename[0] = 0; // no last document name diff --git a/Sources/Emu48/EMU48.RC b/Sources/Emu48/EMU48.RC index 07a24e9..dbe1c85 100644 --- a/Sources/Emu48/EMU48.RC +++ b/Sources/Emu48/EMU48.RC @@ -296,7 +296,7 @@ FONT 8, "MS Sans Serif" BEGIN ICON IDI_EMU48,IDC_STATIC,7,6,20,20,SS_REALSIZEIMAGE LTEXT "",IDC_VERSION,29,6,151,8,NOT WS_GROUP - LTEXT "Copyright © 2013 Christoph Gießelink && Sébastien Carlier", + LTEXT "Copyright © 2014 Christoph Gießelink && Sébastien Carlier", IDC_STATIC,29,18,181,8 DEFPUSHBUTTON "OK",IDOK,215,12,39,14 EDITTEXT IDC_LICENSE,7,33,247,112,ES_MULTILINE | ES_AUTOHSCROLL | @@ -687,8 +687,8 @@ END // VS_VERSION_INFO VERSIONINFO - FILEVERSION 1,5,5,0 - PRODUCTVERSION 1,5,5,0 + FILEVERSION 1,5,6,0 + PRODUCTVERSION 1,5,6,0 FILEFLAGSMASK 0x3fL #ifdef _DEBUG FILEFLAGS 0x1L @@ -705,12 +705,12 @@ BEGIN BEGIN VALUE "CompanyName", "Christoph Gießelink & Sebastien Carlier\0" VALUE "FileDescription", "HP38/39/40/48/49 Emulator\0" - VALUE "FileVersion", "1, 5, 5, 0\0" + VALUE "FileVersion", "1, 5, 6, 0\0" VALUE "InternalName", "Emu48\0" - VALUE "LegalCopyright", "Copyright © 2013\0" + VALUE "LegalCopyright", "Copyright © 2014\0" VALUE "OriginalFilename", "Emu48.exe\0" VALUE "ProductName", "Emu48\0" - VALUE "ProductVersion", "1, 5, 5, 0\0" + VALUE "ProductVersion", "1, 5, 6, 0\0" END END BLOCK "VarFileInfo" diff --git a/Sources/Emu48/ENGINE.C b/Sources/Emu48/ENGINE.C index 9c09a49..7d37211 100644 --- a/Sources/Emu48/ENGINE.C +++ b/Sources/Emu48/ENGINE.C @@ -51,7 +51,7 @@ DWORD dwDbgRstkp; // stack recursion level of step over end DWORD dwDbgRstk; // possible return address DWORD *pdwInstrArray = NULL; // last instruction array -WORD wInstrSize; // size of last instruction array +WORD wInstrSize = 256; // size of last instruction array WORD wInstrWp; // write pointer of instruction array WORD wInstrRp; // read pointer of instruction array @@ -566,7 +566,6 @@ loop: SetHP48Time(); // update HP48 time & date // start display counter/update engine StartDisplay((BYTE)(((Chipset.IORam[LINECOUNT+1]<<4)|Chipset.IORam[LINECOUNT])&0x3F)); - SoundOpen(uWaveDevId); // open waveform-audio output device StartBatMeasure(); // start battery measurement StartTimers(); } @@ -628,7 +627,6 @@ loop: StopDisplay(); // stop display counter/update StopBatMeasure(); // stop battery measurement StopTimers(); - SoundClose(); // close waveform-audio output device while (nNextState == SM_SLEEP) // go into sleep state { diff --git a/Sources/Emu48/EXTERNAL.C b/Sources/Emu48/EXTERNAL.C index 8d2f684..c7864db 100644 --- a/Sources/Emu48/EXTERNAL.C +++ b/Sources/Emu48/EXTERNAL.C @@ -16,16 +16,16 @@ // memory address for flags -53 to -56 #define SFLAG53_56 ( (cCurrentRomType=='6') \ - ? 0xE0E4F \ + ? 0xE0E4F \ : ( (cCurrentRomType=='A') \ - ? 0xF0E4F \ - : ( (cCurrentRomType!='E' && cCurrentRomType!='X') \ - ? ( (cCurrentRomType=='S') \ - ? 0x706D2 \ - : 0x80850 \ - ) \ + ? 0xF0E4F \ + : ( (cCurrentRomType!='E' && cCurrentRomType!='X') \ + ? ( (cCurrentRomType=='S') \ + ? 0x706D2 \ + : 0x80850 \ + ) \ : 0x80F0F \ - ) \ + ) \ ) \ ) diff --git a/Sources/Emu48/FETCH.C b/Sources/Emu48/FETCH.C index 66e0fef..705a45a 100644 --- a/Sources/Emu48/FETCH.C +++ b/Sources/Emu48/FETCH.C @@ -9,767 +9,767 @@ #include "pch.h" #include "Opcodes.h" -#define F 0xFF // F = function +#define F 0xFF // F = function -typedef struct +typedef const struct { const VOID *pLnk; const DWORD dwTyp; } JMPTAB, *PJMPTAB; // jump tables -static const JMPTAB oF_[] = +static JMPTAB oF_[] = { - oF0, F, - oF1, F, - oF2, F, - oF3, F, - oF4, F, - oF5, F, - oF6, F, - oF7, F, - oF8, F, - oF9, F, - oFA, F, - oFB, F, - oFC, F, - oFD, F, - oFE, F, - oFF, F + oF0, F, + oF1, F, + oF2, F, + oF3, F, + oF4, F, + oF5, F, + oF6, F, + oF7, F, + oF8, F, + oF9, F, + oFA, F, + oFB, F, + oFC, F, + oFD, F, + oFE, F, + oFF, F }; -static const JMPTAB oE_[] = +static JMPTAB oE_[] = { - oE0, F, - oE1, F, - oE2, F, - oE3, F, - oE4, F, - oE5, F, - oE6, F, - oE7, F, - oE8, F, - oE9, F, - oEA, F, - oEB, F, - oEC, F, - oED, F, - oEE, F, - oEF, F + oE0, F, + oE1, F, + oE2, F, + oE3, F, + oE4, F, + oE5, F, + oE6, F, + oE7, F, + oE8, F, + oE9, F, + oEA, F, + oEB, F, + oEC, F, + oED, F, + oEE, F, + oEF, F }; -static const JMPTAB oD_[] = +static JMPTAB oD_[] = { - oD0, F, - oD1, F, - oD2, F, - oD3, F, - oD4, F, - oD5, F, - oD6, F, - oD7, F, - oD8, F, - oD9, F, - oDA, F, - oDB, F, - oDC, F, - oDD, F, - oDE, F, - oDF, F + oD0, F, + oD1, F, + oD2, F, + oD3, F, + oD4, F, + oD5, F, + oD6, F, + oD7, F, + oD8, F, + oD9, F, + oDA, F, + oDB, F, + oDC, F, + oDD, F, + oDE, F, + oDF, F }; -static const JMPTAB oC_[] = +static JMPTAB oC_[] = { - oC0, F, - oC1, F, - oC2, F, - oC3, F, - oC4, F, - oC5, F, - oC6, F, - oC7, F, - oC8, F, - oC9, F, - oCA, F, - oCB, F, - oCC, F, - oCD, F, - oCE, F, - oCF, F + oC0, F, + oC1, F, + oC2, F, + oC3, F, + oC4, F, + oC5, F, + oC6, F, + oC7, F, + oC8, F, + oC9, F, + oCA, F, + oCB, F, + oCC, F, + oCD, F, + oCE, F, + oCF, F }; -static const JMPTAB oBb_[] = +static JMPTAB oBb_[] = { - oBb0, F, - oBb1, F, - oBb2, F, - oBb3, F, - oBb4, F, - oBb5, F, - oBb6, F, - oBb7, F, - oBb8, F, - oBb9, F, - oBbA, F, - oBbB, F, - oBbC, F, - oBbD, F, - oBbE, F, - oBbF, F + oBb0, F, + oBb1, F, + oBb2, F, + oBb3, F, + oBb4, F, + oBb5, F, + oBb6, F, + oBb7, F, + oBb8, F, + oBb9, F, + oBbA, F, + oBbB, F, + oBbC, F, + oBbD, F, + oBbE, F, + oBbF, F }; -static const JMPTAB oBa_[] = +static JMPTAB oBa_[] = { - oBa0, F, - oBa1, F, - oBa2, F, - oBa3, F, - oBa4, F, - oBa5, F, - oBa6, F, - oBa7, F, - oBa8, F, - oBa9, F, - oBaA, F, - oBaB, F, - oBaC, F, - oBaD, F, - oBaE, F, - oBaF, F + oBa0, F, + oBa1, F, + oBa2, F, + oBa3, F, + oBa4, F, + oBa5, F, + oBa6, F, + oBa7, F, + oBa8, F, + oBa9, F, + oBaA, F, + oBaB, F, + oBaC, F, + oBaD, F, + oBaE, F, + oBaF, F }; -static const JMPTAB oB_[] = +static JMPTAB oB_[] = { - oBa_, 2, - oBa_, 2, - oBa_, 2, - oBa_, 2, - oBa_, 2, - oBa_, 2, - oBa_, 2, - oBa_, 2, - oBb_, 2, - oBb_, 2, - oBb_, 2, - oBb_, 2, - oBb_, 2, - oBb_, 2, - oBb_, 2, - oBb_, 2 + oBa_, 2, + oBa_, 2, + oBa_, 2, + oBa_, 2, + oBa_, 2, + oBa_, 2, + oBa_, 2, + oBa_, 2, + oBb_, 2, + oBb_, 2, + oBb_, 2, + oBb_, 2, + oBb_, 2, + oBb_, 2, + oBb_, 2, + oBb_, 2 }; -static const JMPTAB oAb_[] = +static JMPTAB oAb_[] = { - oAb0, F, - oAb1, F, - oAb2, F, - oAb3, F, - oAb4, F, - oAb5, F, - oAb6, F, - oAb7, F, - oAb8, F, - oAb9, F, - oAbA, F, - oAbB, F, - oAbC, F, - oAbD, F, - oAbE, F, - oAbF, F + oAb0, F, + oAb1, F, + oAb2, F, + oAb3, F, + oAb4, F, + oAb5, F, + oAb6, F, + oAb7, F, + oAb8, F, + oAb9, F, + oAbA, F, + oAbB, F, + oAbC, F, + oAbD, F, + oAbE, F, + oAbF, F }; -static const JMPTAB oAa_[] = +static JMPTAB oAa_[] = { - oAa0, F, - oAa1, F, - oAa2, F, - oAa3, F, - oAa4, F, - oAa5, F, - oAa6, F, - oAa7, F, - oAa8, F, - oAa9, F, - oAaA, F, - oAaB, F, - oAaC, F, - oAaD, F, - oAaE, F, - oAaF, F + oAa0, F, + oAa1, F, + oAa2, F, + oAa3, F, + oAa4, F, + oAa5, F, + oAa6, F, + oAa7, F, + oAa8, F, + oAa9, F, + oAaA, F, + oAaB, F, + oAaC, F, + oAaD, F, + oAaE, F, + oAaF, F }; -static const JMPTAB oA_[] = +static JMPTAB oA_[] = { - oAa_, 2, - oAa_, 2, - oAa_, 2, - oAa_, 2, - oAa_, 2, - oAa_, 2, - oAa_, 2, - oAa_, 2, - oAb_, 2, - oAb_, 2, - oAb_, 2, - oAb_, 2, - oAb_, 2, - oAb_, 2, - oAb_, 2, - oAb_, 2 + oAa_, 2, + oAa_, 2, + oAa_, 2, + oAa_, 2, + oAa_, 2, + oAa_, 2, + oAa_, 2, + oAa_, 2, + oAb_, 2, + oAb_, 2, + oAb_, 2, + oAb_, 2, + oAb_, 2, + oAb_, 2, + oAb_, 2, + oAb_, 2 }; -static const JMPTAB o9b_[] = +static JMPTAB o9b_[] = { - o9b0, F, - o9b1, F, - o9b2, F, - o9b3, F, - o9b4, F, - o9b5, F, - o9b6, F, - o9b7, F, - o9b8, F, - o9b9, F, - o9bA, F, - o9bB, F, - o9bC, F, - o9bD, F, - o9bE, F, - o9bF, F + o9b0, F, + o9b1, F, + o9b2, F, + o9b3, F, + o9b4, F, + o9b5, F, + o9b6, F, + o9b7, F, + o9b8, F, + o9b9, F, + o9bA, F, + o9bB, F, + o9bC, F, + o9bD, F, + o9bE, F, + o9bF, F }; -static const JMPTAB o9a_[] = +static JMPTAB o9a_[] = { - o9a0, F, - o9a1, F, - o9a2, F, - o9a3, F, - o9a4, F, - o9a5, F, - o9a6, F, - o9a7, F, - o9a8, F, - o9a9, F, - o9aA, F, - o9aB, F, - o9aC, F, - o9aD, F, - o9aE, F, - o9aF, F + o9a0, F, + o9a1, F, + o9a2, F, + o9a3, F, + o9a4, F, + o9a5, F, + o9a6, F, + o9a7, F, + o9a8, F, + o9a9, F, + o9aA, F, + o9aB, F, + o9aC, F, + o9aD, F, + o9aE, F, + o9aF, F }; -static const JMPTAB o9_[] = +static JMPTAB o9_[] = { - o9a_, 2, - o9a_, 2, - o9a_, 2, - o9a_, 2, - o9a_, 2, - o9a_, 2, - o9a_, 2, - o9a_, 2, - o9b_, 2, - o9b_, 2, - o9b_, 2, - o9b_, 2, - o9b_, 2, - o9b_, 2, - o9b_, 2, - o9b_, 2 + o9a_, 2, + o9a_, 2, + o9a_, 2, + o9a_, 2, + o9a_, 2, + o9a_, 2, + o9a_, 2, + o9a_, 2, + o9b_, 2, + o9b_, 2, + o9b_, 2, + o9b_, 2, + o9b_, 2, + o9b_, 2, + o9b_, 2, + o9b_, 2 }; -static const JMPTAB o8B_[] = +static JMPTAB o8B_[] = { - o8B0, F, - o8B1, F, - o8B2, F, - o8B3, F, - o8B4, F, - o8B5, F, - o8B6, F, - o8B7, F, - o8B8, F, - o8B9, F, - o8BA, F, - o8BB, F, - o8BC, F, - o8BD, F, - o8BE, F, - o8BF, F + o8B0, F, + o8B1, F, + o8B2, F, + o8B3, F, + o8B4, F, + o8B5, F, + o8B6, F, + o8B7, F, + o8B8, F, + o8B9, F, + o8BA, F, + o8BB, F, + o8BC, F, + o8BD, F, + o8BE, F, + o8BF, F }; -static const JMPTAB o8A_[] = +static JMPTAB o8A_[] = { - o8A0, F, - o8A1, F, - o8A2, F, - o8A3, F, - o8A4, F, - o8A5, F, - o8A6, F, - o8A7, F, - o8A8, F, - o8A9, F, - o8AA, F, - o8AB, F, - o8AC, F, - o8AD, F, - o8AE, F, - o8AF, F + o8A0, F, + o8A1, F, + o8A2, F, + o8A3, F, + o8A4, F, + o8A5, F, + o8A6, F, + o8A7, F, + o8A8, F, + o8A9, F, + o8AA, F, + o8AB, F, + o8AC, F, + o8AD, F, + o8AE, F, + o8AF, F }; -static const JMPTAB o81B_[] = +static JMPTAB o81B_[] = { - o_invalid4, F, - o81B1, F, // normally o_invalid4, beep patch - o81B2, F, - o81B3, F, - o81B4, F, - o81B5, F, - o81B6, F, - o81B7, F, - o_invalid4, F, - o_invalid4, F, - o_invalid4, F, - o_invalid4, F, - o_invalid4, F, - o_invalid4, F, - o_invalid4, F, - o_invalid4, F + o_invalid4, F, + o81B1, F, // normally o_invalid4, beep patch + o81B2, F, + o81B3, F, + o81B4, F, + o81B5, F, + o81B6, F, + o81B7, F, + o_invalid4, F, + o_invalid4, F, + o_invalid4, F, + o_invalid4, F, + o_invalid4, F, + o_invalid4, F, + o_invalid4, F, + o_invalid4, F }; -static const JMPTAB o81Af2_[] = +static JMPTAB o81Af2_[] = { - o81Af20, F, - o81Af21, F, - o81Af22, F, - o81Af23, F, - o81Af24, F, - o_invalid6, F, - o_invalid6, F, - o_invalid6, F, - o81Af28, F, - o81Af29, F, - o81Af2A, F, - o81Af2B, F, - o81Af2C, F, - o_invalid6, F, - o_invalid6, F, - o_invalid6, F + o81Af20, F, + o81Af21, F, + o81Af22, F, + o81Af23, F, + o81Af24, F, + o_invalid6, F, + o_invalid6, F, + o_invalid6, F, + o81Af28, F, + o81Af29, F, + o81Af2A, F, + o81Af2B, F, + o81Af2C, F, + o_invalid6, F, + o_invalid6, F, + o_invalid6, F }; -static const JMPTAB o81Af1_[] = +static JMPTAB o81Af1_[] = { - o81Af10, F, - o81Af11, F, - o81Af12, F, - o81Af13, F, - o81Af14, F, - o_invalid6, F, - o_invalid6, F, - o_invalid6, F, - o81Af18, F, - o81Af19, F, - o81Af1A, F, - o81Af1B, F, - o81Af1C, F, - o_invalid6, F, - o_invalid6, F, - o_invalid6, F + o81Af10, F, + o81Af11, F, + o81Af12, F, + o81Af13, F, + o81Af14, F, + o_invalid6, F, + o_invalid6, F, + o_invalid6, F, + o81Af18, F, + o81Af19, F, + o81Af1A, F, + o81Af1B, F, + o81Af1C, F, + o_invalid6, F, + o_invalid6, F, + o_invalid6, F }; -static const JMPTAB o81Af0_[] = +static JMPTAB o81Af0_[] = { - o81Af00, F, - o81Af01, F, - o81Af02, F, - o81Af03, F, - o81Af04, F, - o_invalid6, F, - o_invalid6, F, - o_invalid6, F, - o81Af08, F, - o81Af09, F, - o81Af0A, F, - o81Af0B, F, - o81Af0C, F, - o_invalid6, F, - o_invalid6, F, - o_invalid6, F + o81Af00, F, + o81Af01, F, + o81Af02, F, + o81Af03, F, + o81Af04, F, + o_invalid6, F, + o_invalid6, F, + o_invalid6, F, + o81Af08, F, + o81Af09, F, + o81Af0A, F, + o81Af0B, F, + o81Af0C, F, + o_invalid6, F, + o_invalid6, F, + o_invalid6, F }; -static const JMPTAB o81A_[] = +static JMPTAB o81A_[] = { - o81Af0_, 5, - o81Af1_, 5, - o81Af2_, 5, - o_invalid6, F, - o_invalid6, F, - o_invalid6, F, - o_invalid6, F, - o_invalid6, F, - o_invalid6, F, - o_invalid6, F, - o_invalid6, F, - o_invalid6, F, - o_invalid6, F, - o_invalid6, F, - o_invalid6, F, - o_invalid6, F + o81Af0_, 5, + o81Af1_, 5, + o81Af2_, 5, + o_invalid6, F, + o_invalid6, F, + o_invalid6, F, + o_invalid6, F, + o_invalid6, F, + o_invalid6, F, + o_invalid6, F, + o_invalid6, F, + o_invalid6, F, + o_invalid6, F, + o_invalid6, F, + o_invalid6, F, + o_invalid6, F }; -static const JMPTAB o819_[] = +static JMPTAB o819_[] = { - o819f0, F, - o819f1, F, - o819f2, F, - o819f3, F, - o_invalid5, F, - o_invalid5, F, - o_invalid5, F, - o_invalid5, F, - o_invalid5, F, - o_invalid5, F, - o_invalid5, F, - o_invalid5, F, - o_invalid5, F, - o_invalid5, F, - o_invalid5, F, - o_invalid5, F + o819f0, F, + o819f1, F, + o819f2, F, + o819f3, F, + o_invalid5, F, + o_invalid5, F, + o_invalid5, F, + o_invalid5, F, + o_invalid5, F, + o_invalid5, F, + o_invalid5, F, + o_invalid5, F, + o_invalid5, F, + o_invalid5, F, + o_invalid5, F, + o_invalid5, F }; -static const JMPTAB o818_[] = +static JMPTAB o818_[] = { - o818f0x, F, - o818f1x, F, - o818f2x, F, - o818f3x, F, - o_invalid6, F, - o_invalid6, F, - o_invalid6, F, - o_invalid6, F, - o818f8x, F, - o818f9x, F, - o818fAx, F, - o818fBx, F, - o_invalid6, F, - o_invalid6, F, - o_invalid6, F, - o_invalid6, F + o818f0x, F, + o818f1x, F, + o818f2x, F, + o818f3x, F, + o_invalid6, F, + o_invalid6, F, + o_invalid6, F, + o_invalid6, F, + o818f8x, F, + o818f9x, F, + o818fAx, F, + o818fBx, F, + o_invalid6, F, + o_invalid6, F, + o_invalid6, F, + o_invalid6, F }; -static const JMPTAB o81_[] = +static JMPTAB o81_[] = { - o810, F, - o811, F, - o812, F, - o813, F, - o814, F, - o815, F, - o816, F, - o817, F, - o818_, 4, - o819_, 4, - o81A_, 4, - o81B_, 3, - o81C, F, - o81D, F, - o81E, F, - o81F, F + o810, F, + o811, F, + o812, F, + o813, F, + o814, F, + o815, F, + o816, F, + o817, F, + o818_, 4, + o819_, 4, + o81A_, 4, + o81B_, 3, + o81C, F, + o81D, F, + o81E, F, + o81F, F }; -static const JMPTAB o8081_[] = +static JMPTAB o8081_[] = { - o80810, F, - o_invalid5, F, - o_invalid5, F, - o_invalid5, F, - o_invalid5, F, - o_invalid5, F, - o_invalid5, F, - o_invalid5, F, - o_invalid5, F, - o_invalid5, F, - o_invalid5, F, - o_invalid5, F, - o_invalid5, F, - o_invalid5, F, - o_invalid5, F, - o_invalid5, F + o80810, F, + o_invalid5, F, + o_invalid5, F, + o_invalid5, F, + o_invalid5, F, + o_invalid5, F, + o_invalid5, F, + o_invalid5, F, + o_invalid5, F, + o_invalid5, F, + o_invalid5, F, + o_invalid5, F, + o_invalid5, F, + o_invalid5, F, + o_invalid5, F, + o_invalid5, F }; -static const JMPTAB o808_[] = +static JMPTAB o808_[] = { - o8080, F, - o8081_, 4, - o8082X, F, - o8083, F, - o8084n, F, - o8085n, F, - o8086n, F, - o8087n, F, - o8088n, F, - o8089n, F, - o808An, F, - o808Bn, F, - o808C, F, - o808D, F, - o808E, F, - o808F, F + o8080, F, + o8081_, 4, + o8082X, F, + o8083, F, + o8084n, F, + o8085n, F, + o8086n, F, + o8087n, F, + o8088n, F, + o8089n, F, + o808An, F, + o808Bn, F, + o808C, F, + o808D, F, + o808E, F, + o808F, F }; -static const JMPTAB o80_[] = +static JMPTAB o80_[] = { - o800, F, - o801, F, - o802, F, - o803, F, - o804, F, - o805, F, - o806, F, - o807, F, - o808_, 3, - o809, F, - o80A, F, - o80B, F, - o80Cn, F, - o80Dn, F, - o80E, F, - o80Fn, F + o800, F, + o801, F, + o802, F, + o803, F, + o804, F, + o805, F, + o806, F, + o807, F, + o808_, 3, + o809, F, + o80A, F, + o80B, F, + o80Cn, F, + o80Dn, F, + o80E, F, + o80Fn, F }; -static const JMPTAB o8_[] = +static JMPTAB o8_[] = { - o80_, 2, - o81_, 2, - o82n, F, - o83n, F, - o84n, F, - o85n, F, - o86n, F, - o87n, F, - o88n, F, - o89n, F, - o8A_, 2, - o8B_, 2, - o8Cd4, F, - o8Dd5, F, - o8Ed4, F, - o8Fd5, F + o80_, 2, + o81_, 2, + o82n, F, + o83n, F, + o84n, F, + o85n, F, + o86n, F, + o87n, F, + o88n, F, + o89n, F, + o8A_, 2, + o8B_, 2, + o8Cd4, F, + o8Dd5, F, + o8Ed4, F, + o8Fd5, F }; -static const JMPTAB o15_[] = +static JMPTAB o15_[] = { - o150a, F, - o151a, F, - o152a, F, - o153a, F, - o154a, F, - o155a, F, - o156a, F, - o157a, F, - o158x, F, - o159x, F, - o15Ax, F, - o15Bx, F, - o15Cx, F, - o15Dx, F, - o15Ex, F, - o15Fx, F + o150a, F, + o151a, F, + o152a, F, + o153a, F, + o154a, F, + o155a, F, + o156a, F, + o157a, F, + o158x, F, + o159x, F, + o15Ax, F, + o15Bx, F, + o15Cx, F, + o15Dx, F, + o15Ex, F, + o15Fx, F }; -static const JMPTAB o14_[] = +static JMPTAB o14_[] = { - o140, F, - o141, F, - o142, F, - o143, F, - o144, F, - o145, F, - o146, F, - o147, F, - o148, F, - o149, F, - o14A, F, - o14B, F, - o14C, F, - o14D, F, - o14E, F, - o14F, F + o140, F, + o141, F, + o142, F, + o143, F, + o144, F, + o145, F, + o146, F, + o147, F, + o148, F, + o149, F, + o14A, F, + o14B, F, + o14C, F, + o14D, F, + o14E, F, + o14F, F }; -static const JMPTAB o13_[] = +static JMPTAB o13_[] = { - o130, F, - o131, F, - o132, F, - o133, F, - o134, F, - o135, F, - o136, F, - o137, F, - o138, F, - o139, F, - o13A, F, - o13B, F, - o13C, F, - o13D, F, - o13E, F, - o13F, F + o130, F, + o131, F, + o132, F, + o133, F, + o134, F, + o135, F, + o136, F, + o137, F, + o138, F, + o139, F, + o13A, F, + o13B, F, + o13C, F, + o13D, F, + o13E, F, + o13F, F }; -static const JMPTAB o12_[] = +static JMPTAB o12_[] = { - o120, F, - o121, F, - o122, F, - o123, F, - o124, F, - o_invalid3, F, - o_invalid3, F, - o_invalid3, F, - o128, F, - o129, F, - o12A, F, - o12B, F, - o12C, F, - o_invalid3, F, - o_invalid3, F, - o_invalid3, F + o120, F, + o121, F, + o122, F, + o123, F, + o124, F, + o_invalid3, F, + o_invalid3, F, + o_invalid3, F, + o128, F, + o129, F, + o12A, F, + o12B, F, + o12C, F, + o_invalid3, F, + o_invalid3, F, + o_invalid3, F }; -static const JMPTAB o11_[] = +static JMPTAB o11_[] = { - o110, F, - o111, F, - o112, F, - o113, F, - o114, F, - o_invalid3, F, - o_invalid3, F, - o_invalid3, F, - o118, F, - o119, F, - o11A, F, - o11B, F, - o11C, F, - o_invalid3, F, - o_invalid3, F, - o_invalid3, F + o110, F, + o111, F, + o112, F, + o113, F, + o114, F, + o_invalid3, F, + o_invalid3, F, + o_invalid3, F, + o118, F, + o119, F, + o11A, F, + o11B, F, + o11C, F, + o_invalid3, F, + o_invalid3, F, + o_invalid3, F }; -static const JMPTAB o10_[] = +static JMPTAB o10_[] = { - o100, F, - o101, F, - o102, F, - o103, F, - o104, F, - o_invalid3, F, - o_invalid3, F, - o_invalid3, F, - o108, F, - o109, F, - o10A, F, - o10B, F, - o10C, F, - o_invalid3, F, - o_invalid3, F, - o_invalid3, F + o100, F, + o101, F, + o102, F, + o103, F, + o104, F, + o_invalid3, F, + o_invalid3, F, + o_invalid3, F, + o108, F, + o109, F, + o10A, F, + o10B, F, + o10C, F, + o_invalid3, F, + o_invalid3, F, + o_invalid3, F }; -static const JMPTAB o1_[] = +static JMPTAB o1_[] = { - o10_, 2, - o11_, 2, - o12_, 2, - o13_, 2, - o14_, 2, - o15_, 2, - o16x, F, - o17x, F, - o18x, F, - o19d2, F, - o1Ad4, F, - o1Bd5, F, - o1Cx, F, - o1Dd2, F, - o1Ed4, F, - o1Fd5, F + o10_, 2, + o11_, 2, + o12_, 2, + o13_, 2, + o14_, 2, + o15_, 2, + o16x, F, + o17x, F, + o18x, F, + o19d2, F, + o1Ad4, F, + o1Bd5, F, + o1Cx, F, + o1Dd2, F, + o1Ed4, F, + o1Fd5, F }; -static const JMPTAB o0E_[] = +static JMPTAB o0E_[] = { - o0Ef0, F, - o0Ef1, F, - o0Ef2, F, - o0Ef3, F, - o0Ef4, F, - o0Ef5, F, - o0Ef6, F, - o0Ef7, F, - o0Ef8, F, - o0Ef9, F, - o0EfA, F, - o0EfB, F, - o0EfC, F, - o0EfD, F, - o0EfE, F, - o0EfF, F + o0Ef0, F, + o0Ef1, F, + o0Ef2, F, + o0Ef3, F, + o0Ef4, F, + o0Ef5, F, + o0Ef6, F, + o0Ef7, F, + o0Ef8, F, + o0Ef9, F, + o0EfA, F, + o0EfB, F, + o0EfC, F, + o0EfD, F, + o0EfE, F, + o0EfF, F }; -static const JMPTAB o0_[] = +static JMPTAB o0_[] = { - o00, F, - o01, F, - o02, F, - o03, F, - o04, F, - o05, F, - o06, F, - o07, F, - o08, F, - o09, F, - o0A, F, - o0B, F, - o0C, F, - o0D, F, - o0E_, 3, - o0F, F + o00, F, + o01, F, + o02, F, + o03, F, + o04, F, + o05, F, + o06, F, + o07, F, + o08, F, + o09, F, + o0A, F, + o0B, F, + o0C, F, + o0D, F, + o0E_, 3, + o0F, F }; -static const JMPTAB o_[] = +static JMPTAB o_[] = { - o0_, 1, - o1_, 1, - o2n, F, - o3X, F, - o4d2, F, - o5d2, F, - o6d3, F, - o7d3, F, - o8_, 1, - o9_, 1, - oA_, 1, - oB_, 1, - oC_, 1, - oD_, 1, - oE_, 1, - oF_, 1 + o0_, 1, + o1_, 1, + o2n, F, + o3X, F, + o4d2, F, + o5d2, F, + o6d3, F, + o7d3, F, + o8_, 1, + o9_, 1, + oA_, 1, + oB_, 1, + oC_, 1, + oD_, 1, + oE_, 1, + oF_, 1 }; // opcode dispatcher VOID EvalOpcode(LPBYTE I) { - DWORD dwTemp,dwIndex = 0; - JMPTAB const *pJmpTab = o_; + DWORD dwIndex = 0; + PJMPTAB pJmpTab = o_; do { - dwTemp = I[dwIndex]; // table entry - _ASSERT(dwTemp <= 0xf); // found packed data - dwIndex = pJmpTab[dwTemp].dwTyp; // next pointer type - pJmpTab = (PJMPTAB) pJmpTab[dwTemp].pLnk; // next pointer to table/function + _ASSERT(I[dwIndex] <= 0xf); // found packed data + pJmpTab = &pJmpTab[I[dwIndex]]; // table entry by opcode + dwIndex = pJmpTab->dwTyp; // next pointer type + pJmpTab = (PJMPTAB) pJmpTab->pLnk; // next pointer to table/function } while (dwIndex != F); // reference to table? -> again diff --git a/Sources/Emu48/FILES.C b/Sources/Emu48/FILES.C index d4f8e8b..65ce3b0 100644 --- a/Sources/Emu48/FILES.C +++ b/Sources/Emu48/FILES.C @@ -312,6 +312,7 @@ BOOL PatchRom(LPCTSTR szFilename) PSZ lpStop,lpBuf = NULL; DWORD dwAddress = 0; UINT nPos = 0; + BOOL bSucc = TRUE; if (pbyRom == NULL) return FALSE; SetCurrentDirectory(szEmuDirectory); @@ -319,13 +320,8 @@ BOOL PatchRom(LPCTSTR szFilename) SetCurrentDirectory(szCurrentDirectory); if (hFile == INVALID_HANDLE_VALUE) return FALSE; dwFileSizeLow = GetFileSize(hFile, &dwFileSizeHigh); - if (dwFileSizeLow <= 5) - { // file is too small. - CloseHandle(hFile); - return FALSE; - } - if (dwFileSizeHigh != 0) - { // file is too large. + if (dwFileSizeHigh != 0 || dwFileSizeLow == 0) + { // file is too large or empty CloseHandle(hFile); return FALSE; } @@ -341,20 +337,15 @@ BOOL PatchRom(LPCTSTR szFilename) nPos = 0; while (lpBuf[nPos]) { - do // remove blank space - { - if ( (lpBuf[nPos]!=' ') - &&(lpBuf[nPos]!='\n') - &&(lpBuf[nPos]!='\r') - &&(lpBuf[nPos]!='\t')) break; - nPos++; - } while (lpBuf[nPos]); - if (lpBuf[nPos]==';') // comment ? + // skip whitespace characters + nPos += (UINT) strspn(&lpBuf[nPos]," \t\n\r"); + + if (lpBuf[nPos] == ';') // comment? { do { nPos++; - if (lpBuf[nPos]=='\n') + if (lpBuf[nPos] == '\n') { nPos++; break; @@ -363,23 +354,36 @@ BOOL PatchRom(LPCTSTR szFilename) continue; } dwAddress = strtoul(&lpBuf[nPos], &lpStop, 16); - nPos += (UINT) (lpStop - &lpBuf[nPos]) + 1; - if (*lpStop != ':' || *lpStop == 0) - continue; - while (lpBuf[nPos]) + nPos = (UINT) (lpStop - lpBuf); // position of lpStop + + if (*lpStop != 0) // data behind address { - if (isxdigit(lpBuf[nPos]) == FALSE) break; - if (dwAddress < dwRomSize) // patch ROM + if (*lpStop != ':') // invalid syntax { - // patch ROM and save original nibble - PatchNibble(dwAddress, Asc2Nib(lpBuf[nPos])); + // skip to end of line + while (lpBuf[nPos] != '\n' && lpBuf[nPos] != 0) + { + ++nPos; + } + bSucc = FALSE; + continue; + } + + while (lpBuf[++nPos]) + { + if (isxdigit(lpBuf[nPos]) == FALSE) break; + if (dwAddress < dwRomSize) // patch ROM + { + // patch ROM and save original nibble + PatchNibble(dwAddress, Asc2Nib(lpBuf[nPos])); + } + ++dwAddress; } - ++dwAddress; - ++nPos; } } + _ASSERT(nPos <= dwFileSizeLow); // buffer overflow? free(lpBuf); - return TRUE; + return bSucc; } diff --git a/Sources/Emu48/I28F160.H b/Sources/Emu48/I28F160.H index b95535b..a164678 100644 --- a/Sources/Emu48/I28F160.H +++ b/Sources/Emu48/I28F160.H @@ -14,14 +14,14 @@ typedef struct { BYTE byType[4]; // "WSM" UINT uSize; // size of this structure - BYTE byVersion; // WSM version + BYTE byVersion; // WSM version - BOOL bRomArray; // copy of bFlashRomArray - DWORD dwLockCnfg; // block lock table (32 entries) + BOOL bRomArray; // copy of bFlashRomArray + DWORD dwLockCnfg; // block lock table (32 entries) UINT uWrState; // state of write function WSM UINT uRdState; // state of read function WSM - BYTE byStatusReg; // status register - BYTE byExStatusReg; // extended status register + BYTE byStatusReg; // status register + BYTE byExStatusReg; // extended status register BYTE byWrite1No; // no. of written data in write buffer1 BYTE byWrite1Size; // no. of valid data in write buffer1 DWORD dwWrite1Addr; // destination address of buffer1 diff --git a/Sources/Emu48/MOPS.C b/Sources/Emu48/MOPS.C index c7b3db5..7c3dabe 100644 --- a/Sources/Emu48/MOPS.C +++ b/Sources/Emu48/MOPS.C @@ -1188,7 +1188,7 @@ VOID ReadIO(BYTE *a, DWORD d, DWORD s, BOOL bUpdate) if (cCurrentRomType=='E') // HP39/40G { Chipset.IORam[d] = (nCurrentClass != 40) - ? (Chipset.IORam[d] & ~IRI) // HP39G + ? (Chipset.IORam[d] & ~IRI) // HP39G : (Chipset.IORam[d] | IRI); // HP40G } *a = Chipset.IORam[d]; // return IR CONTROL value diff --git a/Sources/Emu48/MRU.C b/Sources/Emu48/MRU.C index c314780..be5b8d1 100644 --- a/Sources/Emu48/MRU.C +++ b/Sources/Emu48/MRU.C @@ -76,7 +76,7 @@ BOOL MruInit(INT nNum) if ((ppszFiles = (LPTSTR *) malloc(nEntry * sizeof(*ppszFiles))) == NULL) return TRUE; - // fill each entry + // fill each entry for (nNum = 0; nNum < nEntry; ++nNum) ppszFiles[nNum] = NULL; diff --git a/Sources/Emu48/PCH.H b/Sources/Emu48/PCH.H index cf7221d..e6ef4b8 100644 --- a/Sources/Emu48/PCH.H +++ b/Sources/Emu48/PCH.H @@ -37,12 +37,19 @@ #define INVALID_FILE_ATTRIBUTES ((DWORD)-1) #endif +#if !defined GWLP_USERDATA +#define GWLP_USERDATA GWL_USERDATA +#endif + #if !defined IDC_HAND // Win2k specific definition #define IDC_HAND MAKEINTRESOURCE(32649) #endif #if _MSC_VER <= 1200 // missing type definition in the MSVC6.0 SDK and earlier +#define SetWindowLongPtr SetWindowLong +#define GetWindowLongPtr GetWindowLong typedef SIZE_T DWORD_PTR, *PDWORD_PTR; +typedef LONG LONG_PTR, *PLONG_PTR; #endif #if _MSC_VER >= 1400 // valid for VS2005 and later diff --git a/Sources/Emu48/REDEYE.C b/Sources/Emu48/REDEYE.C index bd646fe..5577371 100644 --- a/Sources/Emu48/REDEYE.C +++ b/Sources/Emu48/REDEYE.C @@ -12,7 +12,7 @@ #define ERR_CHAR 127 // character for transfer error -#define H1 0x78 +#define H1 0x78 #define H2 0xE6 #define H3 0xD5 #define H4 0x8B diff --git a/Sources/Emu48/RPL.C b/Sources/Emu48/RPL.C index 2887bbd..1bd9ec7 100644 --- a/Sources/Emu48/RPL.C +++ b/Sources/Emu48/RPL.C @@ -89,7 +89,7 @@ static BOOL Metakernel(VOID) { // get version number WORD wVersion = ((Port1[30] * 10) + Port1[34]) * 10 - + Port1[36]; + + Port1[36]; // version newer then V2.30, then compatible with HP OS bMkDetect = (wVersion <= 230); @@ -208,8 +208,8 @@ DWORD RPL_SkipOb(DWORD d) case DOGROB: // Graphic case DOLIB: // Library case DOBAK: // Backup - case DOEXT0: // Library Data - case DOEXT1: // Reserved 1 + case DOEXT0: // Library Data + case DOEXT1: // Reserved 1 if (n == DOEXT1 && cCurrentRomType != 'S') { // on HP48G series and later interpreted as DOACPTR @@ -328,7 +328,7 @@ DWORD RPL_ObjectSize(BYTE *o,DWORD s) case DOLIB: // Library case DOBAK: // Backup case DOEXT0: // Library Data - case DOEXT1: // Reserved 1 + case DOEXT1: // Reserved 1 if (n == DOEXT1 && cCurrentRomType != 'S') { // on HP48G series and later interpreted as DOACPTR @@ -440,7 +440,7 @@ VOID RPL_Push(UINT l,DWORD n) if (METAKERNEL) ++l; // Metakernel, save MK object on stack level 1 stkp = Read5(DSKTOP) - 5; // get pointer of new stack level 1 - Write5(DSKTOP,stkp); // save it + Write5(DSKTOP,stkp); // save it for (i = 1; i < l; ++i) // move down stack level entries before insert pos { diff --git a/Sources/Emu48/SETTINGS.C b/Sources/Emu48/SETTINGS.C index e15a358..c6cb6b1 100644 --- a/Sources/Emu48/SETTINGS.C +++ b/Sources/Emu48/SETTINGS.C @@ -175,6 +175,8 @@ VOID ReadSettings(VOID) ReadString(_T("Port2"),_T("Filename"),_T("SHARED.BIN"),szPort2Filename,ARRAYSIZEOF(szPort2Filename)); // KML bAlwaysDisplayLog = ReadInt(_T("KML"),_T("AlwaysDisplayLog"),bAlwaysDisplayLog); + // Debugger + wInstrSize = ReadInt(_T("Debugger"),_T("LastInstrBufSize"),wInstrSize); // Disassembler disassembler_mode = ReadInt(_T("Disassembler"),_T("Mnemonics"),disassembler_mode); disassembler_symb = ReadInt(_T("Disassembler"),_T("Symbolic"),disassembler_symb); @@ -223,6 +225,8 @@ VOID WriteSettings(VOID) WriteString(_T("Port2"),_T("Filename"),szPort2Filename); // KML WriteInt(_T("KML"),_T("AlwaysDisplayLog"),bAlwaysDisplayLog); + // Debugger + WriteInt(_T("Debugger"),_T("LastInstrBufSize"),wInstrSize); // Disassembler WriteInt(_T("Disassembler"),_T("Mnemonics"),disassembler_mode); WriteInt(_T("Disassembler"),_T("Symbolic"),disassembler_symb); diff --git a/Sources/Emu48/SOUND.C b/Sources/Emu48/SOUND.C index aa88182..caeead0 100644 --- a/Sources/Emu48/SOUND.C +++ b/Sources/Emu48/SOUND.C @@ -96,7 +96,8 @@ static VOID DestroyWaveThread(VOID) if (hThreadWave != NULL) // sound message handler thread running { // shut down thread - PostThreadMessage(dwThreadWaveId,WM_QUIT,0,0); + while (!PostThreadMessage(dwThreadWaveId,WM_QUIT,0,0)) + Sleep(0); WaitForSingleObject(hThreadWave,INFINITE); CloseHandle(hThreadWave); hThreadWave = NULL; @@ -253,7 +254,7 @@ static BOOL AddSamples(DWORD dwSamples, BYTE byLevel) } if (dwSamples < dwBufSamples) // free sample buffer is larger then needed - dwBufSamples = dwSamples; // fill only the necessary no. of samples + dwBufSamples = dwSamples; // fill only the necessary no. of samples dwSamples -= dwBufSamples; // remaining samples after buffer fill @@ -345,7 +346,8 @@ BOOL SoundGetDeviceID(UINT *puDeviceID) // BOOL SoundOpen(UINT uDeviceID) { - if (hWaveDevice == NULL) // no sound device + // check if sound device is already open + if (hWaveDevice == NULL && SoundAvailable(uDeviceID)) { WAVEFORMATEX wf; BOOL bSucc; diff --git a/Sources/Emu48/STACK.C b/Sources/Emu48/STACK.C index 458066c..41915e1 100644 --- a/Sources/Emu48/STACK.C +++ b/Sources/Emu48/STACK.C @@ -27,6 +27,31 @@ BOOL bDetectClpObject = TRUE; // try to detect clipboard object //# //################ +static LPTSTR Trim(LPCTSTR cp) +{ + LPCTSTR pcWs = _T(" \t\n\r"); // valid whitespace characters + + LPTSTR pc; + DWORD dwFirst,dwLast; + + dwLast = lstrlen(cp); // last position in string (EOS) + + // trim leading and tailing whitespace characters + dwFirst = (DWORD) _tcsspn(cp,pcWs); // position of 1st non whitespace character + + // search for position behind last non whitespace character + while (dwLast > dwFirst && _tcschr(pcWs,cp[dwLast-1]) != NULL) + --dwLast; + + dwLast = 1 + dwLast - dwFirst; // calculate buffer length + + if ((pc = (LPTSTR) malloc(dwLast * sizeof(*pc))) != NULL) + { + lstrcpyn(pc,&cp[dwFirst],dwLast); // copy relevant data + EOS + } + return pc; +} + static INT RPL_GetZInt(BYTE CONST *pbyNum,INT nIntLen,LPTSTR cp,INT nSize) { INT i = 0; // character counter @@ -60,7 +85,7 @@ static INT RPL_GetZInt(BYTE CONST *pbyNum,INT nIntLen,LPTSTR cp,INT nSize) return i; } -static INT RPL_SetZInt(LPCTSTR cp,LPBYTE pbyNum,INT nSize) +static __inline INT SetZInt(LPCTSTR cp,LPBYTE pbyNum,INT nSize) { BYTE bySign; INT nStrLen,nNumSize; @@ -109,6 +134,20 @@ static INT RPL_SetZInt(LPCTSTR cp,LPBYTE pbyNum,INT nSize) return nNumSize; } +static INT RPL_SetZInt(LPCTSTR cp,LPBYTE pbyNum,INT nSize) +{ + LPTSTR pszData; + + INT s = 0; + + if ((pszData = Trim(cp)) != NULL) // create a trimmed working copy of the string + { + s = SetZInt(pszData,pbyNum,nSize); + free(pszData); + } + return s; +} + static INT RPL_GetBcd(BYTE CONST *pbyNum,INT nMantLen,INT nExpLen,CONST TCHAR cDec,LPTSTR cp,INT nSize) { BYTE byNib; @@ -198,7 +237,7 @@ static INT RPL_GetBcd(BYTE CONST *pbyNum,INT nMantLen,INT nExpLen,CONST TCHAR cD return i; } -static INT RPL_SetBcd(LPCTSTR cp,INT nMantLen,INT nExpLen,CONST TCHAR cDec,LPBYTE pbyNum,INT nSize) +static __inline INT SetBcd(LPCTSTR cp,INT nMantLen,INT nExpLen,CONST TCHAR cDec,LPBYTE pbyNum,INT nSize) { TCHAR cVc[] = _T(".0123456789eE+-"); @@ -318,6 +357,20 @@ static INT RPL_SetBcd(LPCTSTR cp,INT nMantLen,INT nExpLen,CONST TCHAR cDec,LPBYT return nMantLen + nExpLen + 1; } +static INT RPL_SetBcd(LPCTSTR cp,INT nMantLen,INT nExpLen,CONST TCHAR cDec,LPBYTE pbyNum,INT nSize) +{ + LPTSTR pszData; + + INT s = 0; + + if ((pszData = Trim(cp)) != NULL) // create a trimmed working copy of the string + { + s = SetBcd(pszData,nMantLen,nExpLen,cDec,pbyNum,nSize); + free(pszData); + } + return s; +} + static INT RPL_GetComplex(BYTE CONST *pbyNum,INT nMantLen,INT nExpLen,CONST TCHAR cDec,LPTSTR cp,INT nSize) { INT nLen,nPos; @@ -371,8 +424,7 @@ static INT RPL_SetComplex(LPCTSTR cp,INT nMantLen,INT nExpLen,CONST TCHAR cDec,L ? _T(',') // radix mark '.' -> ',' separator : _T(';'); // radix mark ',' -> ';' separator - // create a working copy of the string - if ((pszData = DuplicateString(cp)) != NULL) + if ((pszData = Trim(cp)) != NULL) // create a trimmed working copy of the string { INT nStrLength = lstrlen(pszData); // string length @@ -415,35 +467,6 @@ static INT RPL_SetComplex(LPCTSTR cp,INT nMantLen,INT nExpLen,CONST TCHAR cDec,L //# //################ -#if 0 -static INT IsRealNumber(LPCTSTR cp,INT nMantLen,INT nExpLen,CONST TCHAR cDec,LPBYTE pbyNum,INT nSize) -{ - LPTSTR lpszNumber; - INT nLength = 0; - - if ((lpszNumber = DuplicateString(cp)) != NULL) - { - LPTSTR p = lpszNumber; - INT i; - - // cut heading whitespaces - for (; *p == _T(' ') || *p == _T('\t'); ++p) { } - - // cut tailing whitespaces - for (i = lstrlen(p); --i >= 0;) - { - if (p[i] != _T(' ') && p[i] != _T('\t')) - break; - } - p[++i] = 0; // new EOS - - nLength = RPL_SetBcd(p,nMantLen,nExpLen,cDec,pbyNum,nSize); - HeapFree(hHeap,0,lpszNumber); - } - return nLength; -} -#endif - static TCHAR GetRadix(VOID) { // get locale decimal point diff --git a/Sources/Emu48/SYMBFILE.C b/Sources/Emu48/SYMBFILE.C index b565249..fb2be4a 100644 --- a/Sources/Emu48/SYMBFILE.C +++ b/Sources/Emu48/SYMBFILE.C @@ -181,7 +181,7 @@ BOOL RplLoadTable(LPCTSTR lpszFilename) ppsBase[dwHash] = pData; } - ++dwSymb; // got symbol + ++dwSymb; // got symbol } else // 42 byte fill reference { diff --git a/Sources/Emu48/TIMER.C b/Sources/Emu48/TIMER.C index 678ad02..ee34d51 100644 --- a/Sources/Emu48/TIMER.C +++ b/Sources/Emu48/TIMER.C @@ -11,10 +11,7 @@ #include "ops.h" #include "io.h" // I/O definitions -#define AUTO_OFF 10 // Time in minutes for 'auto off' - -// Ticks for 01.01.1970 00:00:00 -#define UNIX_0_TIME ((ULONGLONG) 0x0001cf2e8f800000) +#define AUTO_OFF 10 // Time in minutes for 'auto off' // Ticks for 'auto off' #define OFF_TIME ((ULONGLONG) (AUTO_OFF * 60) << 13) diff --git a/Sources/Emu48/TYPES.H b/Sources/Emu48/TYPES.H index bd61013..003d3ff 100644 --- a/Sources/Emu48/TYPES.H +++ b/Sources/Emu48/TYPES.H @@ -26,38 +26,38 @@ typedef struct DWORD Port0Size; // real size of module in KB DWORD Port1Size; // real size of module in KB DWORD Port2Size; // real size of module in KB (HP49G only) - DWORD dwUnused0; // not used, was memory pointer Port0 - DWORD dwUnused1; // not used, was memory pointer Port1 - DWORD dwUnused2; // not used, was memory pointer Port2 + DWORD dwUnused0; // not used, was memory pointer Port0 + DWORD dwUnused1; // not used, was memory pointer Port1 + DWORD dwUnused2; // not used, was memory pointer Port2 - DWORD pc; + DWORD pc; DWORD d0; DWORD d1; DWORD rstkp; DWORD rstk[8]; - BYTE A[16]; - BYTE B[16]; - BYTE C[16]; - BYTE D[16]; - BYTE R0[16]; - BYTE R1[16]; - BYTE R2[16]; - BYTE R3[16]; - BYTE R4[16]; - BYTE ST[4]; - BYTE HST; - BYTE P; - WORD out; + BYTE A[16]; + BYTE B[16]; + BYTE C[16]; + BYTE D[16]; + BYTE R0[16]; + BYTE R1[16]; + BYTE R2[16]; + BYTE R3[16]; + BYTE R4[16]; + BYTE ST[4]; + BYTE HST; + BYTE P; + WORD out; WORD in; BOOL SoftInt; BOOL Shutdn; - BOOL mode_dec; + BOOL mode_dec; BOOL inte; // interrupt status flag (FALSE = int in service) BOOL intk; // 1 ms keyboard scan flag (TRUE = enable) BOOL intd; // keyboard interrupt pending (TRUE = int pending) BOOL carry; - WORD crc; + WORD crc; WORD wPort2Crc; // fingerprint of port2 WORD wRomCrc; // fingerprint of ROM #if defined _USRDLL // DLL version @@ -68,36 +68,36 @@ typedef struct #endif DWORD dwKdnCycles; // cpu cycles at start of 1ms key handler - UINT Bank_FF; // save state of HP48GX port2 or state of HP49G ROM FF - UINT FlashRomState; // WSM state of flash memory (unused) - BYTE cards_status; - BYTE IORam[64]; // I/O hardware register - UINT IOBase; // address of I/O modules page - BOOL IOCfig; // I/O module configuration flag - BYTE P0Base, BSBase, P1Base, P2Base; // address of modules first 2KB page - BYTE P0Size, BSSize, P1Size, P2Size; // mapped size of module in 2KB - BYTE P0End, BSEnd, P1End, P2End; // address of modules last 2KB page - BOOL P0Cfig, BSCfig, P1Cfig, P2Cfig; // module address configuration flag - BOOL P0Cfg2, BSCfg2, P1Cfg2, P2Cfg2; // module size configuration flag + UINT Bank_FF; // save state of HP48GX port2 or state of HP49G ROM FF + UINT FlashRomState; // WSM state of flash memory (unused) + BYTE cards_status; + BYTE IORam[64]; // I/O hardware register + UINT IOBase; // address of I/O modules page + BOOL IOCfig; // I/O module configuration flag + BYTE P0Base, BSBase, P1Base, P2Base; // address of modules first 2KB page + BYTE P0Size, BSSize, P1Size, P2Size; // mapped size of module in 2KB + BYTE P0End, BSEnd, P1End, P2End; // address of modules last 2KB page + BOOL P0Cfig, BSCfig, P1Cfig, P2Cfig; // module address configuration flag + BOOL P0Cfg2, BSCfg2, P1Cfg2, P2Cfg2; // module size configuration flag - BYTE t1; - DWORD t2; + BYTE t1; + DWORD t2; - BOOL bShutdnWake; // flag for wake up from SHUTDN mode + BOOL bShutdnWake; // flag for wake up from SHUTDN mode - BYTE Keyboard_Row[9]; - WORD IR15X; - UINT Keyboard_State; // not used + BYTE Keyboard_Row[9]; + WORD IR15X; + UINT Keyboard_State; // not used signed short loffset; signed int width; - UINT boffset; - UINT lcounter; - UINT sync; // not used - BYTE contrast; - BOOL dispon; // not used - DWORD start1; - DWORD start12; - DWORD end1; - DWORD start2, end2; + UINT boffset; + UINT lcounter; + UINT sync; // not used + BYTE contrast; + BOOL dispon; // not used + DWORD start1; + DWORD start12; + DWORD end1; + DWORD start2, end2; } Chipset_t; diff --git a/Sources/Emu48/UDP.C b/Sources/Emu48/UDP.C index 753066a..e404943 100644 --- a/Sources/Emu48/UDP.C +++ b/Sources/Emu48/UDP.C @@ -37,7 +37,7 @@ BOOL SendByteUdp(BYTE byData) #if defined _UNICODE DWORD dwLength = lstrlen(szUdpServer) + 1; - if ((lpszIpAddr = (LPSTR) malloc(dwLength)) == NULL) + if ((lpszIpAddr = (LPSTR) _alloca(dwLength)) == NULL) return TRUE; // server not found WideCharToMultiByte(CP_ACP, WC_COMPOSITECHECK, @@ -55,17 +55,11 @@ BOOL SendByteUdp(BYTE byData) PHOSTENT host = gethostbyname(lpszIpAddr); if (host == NULL) { - #if defined _UNICODE - free(lpszIpAddr); - #endif return TRUE; // server not found } ip_addr.s_addr = ((PIN_ADDR) host->h_addr_list[0])->s_addr; } - #if defined _UNICODE - free(lpszIpAddr); - #endif } // create UDP socket diff --git a/Sources/GCCPatch/EMU48GCC.RC b/Sources/GCCPatch/EMU48GCC.RC index 67c4fbf..8a7c0f9 100644 --- a/Sources/GCCPatch/EMU48GCC.RC +++ b/Sources/GCCPatch/EMU48GCC.RC @@ -296,7 +296,7 @@ FONT 8, "MS Sans Serif" BEGIN ICON IDI_EMU48,IDC_STATIC,7,6,20,20,SS_REALSIZEIMAGE LTEXT "",IDC_VERSION,29,6,151,8,NOT WS_GROUP - LTEXT "Copyright © 2013 Christoph Gießelink && Sébastien Carlier", + LTEXT "Copyright © 2014 Christoph Gießelink && Sébastien Carlier", IDC_STATIC,29,18,181,8 DEFPUSHBUTTON "OK",IDOK,215,12,39,14 EDITTEXT IDC_LICENSE,7,33,247,112,ES_MULTILINE | ES_AUTOHSCROLL | @@ -715,8 +715,8 @@ END // VS_VERSION_INFO VERSIONINFO - FILEVERSION 1,5,5,0 - PRODUCTVERSION 1,5,5,0 + FILEVERSION 1,5,6,0 + PRODUCTVERSION 1,5,6,0 FILEFLAGSMASK 0x3fL #ifdef _DEBUG FILEFLAGS 0x1L @@ -733,12 +733,12 @@ BEGIN BEGIN VALUE "CompanyName", "Christoph Gießelink & Sebastien Carlier\0" VALUE "FileDescription", "HP38/39/40/48/49 Emulator\0" - VALUE "FileVersion", "1, 5, 5, 0\0" + VALUE "FileVersion", "1, 5, 6, 0\0" VALUE "InternalName", "Emu48\0" - VALUE "LegalCopyright", "Copyright © 2013\0" + VALUE "LegalCopyright", "Copyright © 2014\0" VALUE "OriginalFilename", "Emu48.exe\0" VALUE "ProductName", "Emu48\0" - VALUE "ProductVersion", "1, 5, 5, 0\0" + VALUE "ProductVersion", "1, 5, 6, 0\0" END END BLOCK "VarFileInfo" diff --git a/Sources/GCCPatch/Makefile b/Sources/GCCPatch/Makefile index a645179..9f68cba 100644 --- a/Sources/GCCPatch/Makefile +++ b/Sources/GCCPatch/Makefile @@ -45,10 +45,10 @@ cleanobj: cleanexe: -rm -f $(TARGET) -cursor.o: cursor.c pch.h emu48.h +cursor.o: cursor.c pch.h emu48.h types.h $(CC) $(CFLAGS) $(DEFINES) -c -o cursor.o cursor.c -ddeserv.o: ddeserv.c pch.h emu48.h types.h +ddeserv.o: ddeserv.c pch.h emu48.h types.h io.h $(CC) $(CFLAGS) $(DEFINES) -c -o ddeserv.o ddeserv.c debugger.o: debugger.c pch.h resource.h emu48.h \ @@ -65,24 +65,24 @@ display.o: display.c pch.h resource.h emu48.h \ types.h io.h kml.h $(CC) $(CFLAGS) $(DEFINES) -c -o display.o display.c -disrpl.o: disrpl.c pch.h Emu48.h disrpl.h +disrpl.o: disrpl.c pch.h Emu48.h types.h disrpl.h $(CC) $(CFLAGS) $(DEFINES) -c -o disrpl.o disrpl.c emu48.o: emu48.c pch.h resource.h emu48.h types.h \ io.h kml.h debugger.h $(CC) $(CFLAGS) $(DEFINES) -c -o emu48.o emu48.c -engine.o: engine.c pch.h emu48.h types.h opcodes.h \ - io.h debugger.h ops.h +engine.o: engine.c pch.h emu48.h types.h opcodes.h \ + io.h debugger.h $(CC) $(CFLAGS) $(DEFINES) -c -o engine.o engine.c -external.o: external.c pch.h emu48.h types.h +external.o: external.c pch.h emu48.h types.h ops.h $(CC) $(CFLAGS) $(DEFINES) -c -o external.o external.c fetch.o: fetch.c pch.h opcodes.h $(CC) $(CFLAGS) $(DEFINES) -c -o fetch.o fetch.c -files.o: files.c pch.h emu48.h types.h io.h \ +files.o: files.c pch.h emu48.h types.h ops.h io.h \ kml.h i28f160.h debugger.h $(CC) $(CFLAGS) $(DEFINES) -c -o files.o files.c @@ -92,33 +92,33 @@ i28f160.o: i28f160.c pch.h emu48.h types.h i28f160.h keyboard.o: keyboard.c pch.h emu48.h types.h io.h $(CC) $(CFLAGS) $(DEFINES) -c -o keyboard.o keyboard.c -keymacro.o: keymacro.c pch.h resource.h Emu48.h kml.h +keymacro.o: keymacro.c pch.h resource.h Emu48.h types.h kml.h $(CC) $(CFLAGS) $(DEFINES) -c -o keymacro.o keymacro.c kml.o: kml.c pch.h resource.h emu48.h types.h kml.h $(CC) $(CFLAGS) $(DEFINES) -c -o kml.o kml.c -lowbat.o: lowbat.c pch.h Emu48.h io.h +lowbat.o: lowbat.c pch.h emu48.h types.h io.h $(CC) $(CFLAGS) $(DEFINES) -c -o lowbat.o lowbat.c -mops.o: mops.c pch.h emu48.h types.h opcodes.h io.h \ +mops.o: mops.c pch.h emu48.h types.h ops.h opcodes.h io.h \ i28f160.h $(CC) $(CFLAGS) $(DEFINES) -c -o mops.o mops.c -mru.o: mru.c pch.h resource.h emu48.h +mru.o: mru.c pch.h resource.h emu48.h types.h $(CC) $(CFLAGS) $(DEFINES) -c -o mru.o mru.c opcodes.o: opcodes.c pch.h emu48.h types.h opcodes.h \ - io.h ops.h + io.h $(CC) $(CFLAGS) $(DEFINES) -c -o opcodes.o opcodes.c # pch.o: pch.c pch.h # $(CC) $(CFLAGS) $(DEFINES) -c -o pch.o pch.c -redeye.o: redeye.c pch.h emu48.h io.h +redeye.o: redeye.c pch.h emu48.h types.h io.h $(CC) $(CFLAGS) $(DEFINES) -c -o redeye.o redeye.c -rpl.o: rpl.c pch.h emu48.h types.h io.h +rpl.o: rpl.c pch.h emu48.h types.h ops.h io.h $(CC) $(CFLAGS) $(DEFINES) -c -o rpl.o rpl.c serial.o: serial.c pch.h emu48.h types.h io.h @@ -127,19 +127,19 @@ serial.o: serial.c pch.h emu48.h types.h io.h settings.o: settings.c pch.h emu48.h types.h i28f160.h $(CC) $(CFLAGS) $(DEFINES) -c -o settings.o settings.c -sound.o: sound.c pch.h emu48.h +sound.o: sound.c pch.h emu48.h types.h $(CC) $(CFLAGS) $(DEFINES) -c -o sound.o sound.c -stack.o: stack.c pch.h resource.h emu48.h io.h +stack.o: stack.c pch.h resource.h emu48.h types.h io.h $(CC) $(CFLAGS) $(DEFINES) -c -o stack.o stack.c -symbfile.o: symbfile.c pch.h emu48.h +symbfile.o: symbfile.c pch.h emu48.h types.h $(CC) $(CFLAGS) $(DEFINES) -c -o symbfile.o symbfile.c -timer.o: timer.c pch.h emu48.h types.h io.h +timer.o: timer.c pch.h emu48.h types.h ops.h io.h $(CC) $(CFLAGS) $(DEFINES) -c -o timer.o timer.c -udp.o: udp.c pch.h io.h +udp.o: udp.c pch.h emu48.h types.h $(CC) $(CFLAGS) $(DEFINES) -c -o udp.o udp.c $(RSRCOBJ): $(RSRC) resource.h emu48.ico dbgtool.bmp checkbox.bmp Emu48.xml diff --git a/Sources/GCCPatch/PCH.H b/Sources/GCCPatch/PCH.H index 14b8a42..c2b2426 100644 --- a/Sources/GCCPatch/PCH.H +++ b/Sources/GCCPatch/PCH.H @@ -18,14 +18,6 @@ #include // #include // missing file -#if !defined VERIFY -#if defined _DEBUG -#define VERIFY(f) _ASSERT(f) -#else // _DEBUG -#define VERIFY(f) ((VOID)(f)) -#endif // _DEBUG -#endif // _VERIFY - #if !defined IDC_HAND // Win2k specific definition #define IDC_HAND MAKEINTRESOURCE(32649) #endif @@ -38,12 +30,16 @@ #define __min(a,b) (((a) < (b)) ? (a) : (b)) #endif -// normally defined in CONIO.H -int __cdecl _inp(unsigned short); -int __cdecl _outp(unsigned short, int); - // normally defined in missing CRTDBG.H #if !defined _ASSERT #define _ASSERT(a) #endif -#define _CrtDumpMemoryLeaks() ((int)0) +#define _CrtDumpMemoryLeaks() + +#if !defined VERIFY +#if defined _DEBUG +#define VERIFY(f) _ASSERT(f) +#else // _DEBUG +#define VERIFY(f) ((VOID)(f)) +#endif // _DEBUG +#endif // VERIFY diff --git a/Sources/GCCPatch/README.TXT b/Sources/GCCPatch/README.TXT index 0c23bed..eb7b669 100644 --- a/Sources/GCCPatch/README.TXT +++ b/Sources/GCCPatch/README.TXT @@ -48,4 +48,4 @@ Many thanks to Pedro A. Arranda Guti compatible. -04/30/13 (c) by Christoph Gießelink +04/29/14 (c) by Christoph Gießelink diff --git a/uninst.exe b/uninst.exe index 51c8884f344ba16d6d6c69f95f4327e0b9b573a8..d07a9daeeea57844c6718977ad9626d0f40fa0b8 100755 GIT binary patch delta 66 zcmeC4$S1Lf~Xh(&>j|I delta 66 zcmeC4$S1Q=kg-}(Ipp7