2013-09-14: Updated to version 53
Signed-off-by: Gwenhael Le Moine <gwenhael.le.moine@gmail.com>
This commit is contained in:
parent
ac3883b969
commit
edf519e5a1
70 changed files with 1106 additions and 4843 deletions
20
DEBUGGER.TXT
20
DEBUGGER.TXT
|
@ -216,6 +216,18 @@ Toggle a code breakpoint at the cursor position in the Code window.
|
||||||
|
|
||||||
Set the PC to the cursor position. Be careful with this command, you change the execution order of the commands!
|
Set the PC to the cursor position. Be careful with this command, you change the execution order of the commands!
|
||||||
|
|
||||||
|
- Find
|
||||||
|
|
||||||
|
Search in the mapped CPU address area for an address which contain a PCO (Primitive Code Object) header. The disassembled code of this address is shown in the Code window.
|
||||||
|
|
||||||
|
- Previous PCO
|
||||||
|
|
||||||
|
Search for a PCO before the address shown in the first line of the Code window.
|
||||||
|
|
||||||
|
- Next PCO
|
||||||
|
|
||||||
|
Search for a PCO behind the address shown in the first line of the Code window.
|
||||||
|
|
||||||
|
|
||||||
7.) Register window
|
7.) Register window
|
||||||
|
|
||||||
|
@ -270,7 +282,11 @@ The Memory window follow the content of the selected register.
|
||||||
|
|
||||||
- Find... F
|
- Find... F
|
||||||
|
|
||||||
Calls the "Find" dialog box, allowing you to search for a data sequence in hexadecimal or ASCII mode. The search area is selected by the memory view Mapping mode described in the following section. When you close the "Find" dialog box, you will loose all saved strings in the data combo box.
|
Calls the "Find" dialog box, allowing you to search for a data sequence in hexadecimal or ASCII mode. The search area is selected by the memory view Mapping mode described in the following section. If the data sequence is found the Memory window and an opened "RPL Object Viewer" window will be updated.
|
||||||
|
|
||||||
|
With the button "Previous" you can search for the previous and with the button "Next" you can search for the next occurrence of the data sequence.
|
||||||
|
|
||||||
|
When you close the "Find" dialog box, you will loose all saved strings in the data combo box.
|
||||||
|
|
||||||
- Mapping
|
- Mapping
|
||||||
|
|
||||||
|
@ -354,4 +370,4 @@ The Miscellaneous window show you the internal state of the interrupt flag, the
|
||||||
You can change the values by pressing the left mouse button over the old content.
|
You can change the values by pressing the left mouse button over the old content.
|
||||||
|
|
||||||
|
|
||||||
05/02/12 (c) by Christoph Gießelink
|
01/09/13 (c) by Christoph Gießelink
|
||||||
|
|
BIN
EMU48.EXE
BIN
EMU48.EXE
Binary file not shown.
70
EMU48.TXT
70
EMU48.TXT
|
@ -10,7 +10,7 @@
|
||||||
* OPERATING SYSTEM *
|
* OPERATING SYSTEM *
|
||||||
********************
|
********************
|
||||||
|
|
||||||
This version of Emu48 should work with all Intel IA32 and x64 platforms.
|
This version of Emu48 should work with all Intel x86 and x64 platforms.
|
||||||
|
|
||||||
|
|
||||||
****************
|
****************
|
||||||
|
@ -23,9 +23,9 @@ Emu48 is distributed in 1 archive:
|
||||||
To install Emu48, just start the executable file inside the Emu48v15xSetup.zip
|
To install Emu48, just start the executable file inside the Emu48v15xSetup.zip
|
||||||
archive. The installer will guide you through the installation. When you first
|
archive. The installer will guide you through the installation. When you first
|
||||||
run Emu48, it will detect the directory in which you installed it, and will
|
run Emu48, it will detect the directory in which you installed it, and will
|
||||||
write its configuration to a file named Emu48.ini in your Windows directory. If
|
write its configuration to the registry HKCU\Software\Emu48. If you move the
|
||||||
you move the Emu48 directory to another place you have to change the directory
|
Emu48 directory to another place you have to change the directory path inside
|
||||||
path inside the Emu48.ini file manually or have to delete the Emu48.ini file.
|
the "Choose Your KML Script" dialog.
|
||||||
|
|
||||||
You can also update your current version with the Service Packs:
|
You can also update your current version with the Service Packs:
|
||||||
- E48BP5x.ZIP New EXE-File
|
- E48BP5x.ZIP New EXE-File
|
||||||
|
@ -47,8 +47,8 @@ to convert the ROM files into the Emu48 ROM format.
|
||||||
|
|
||||||
- HP38:
|
- HP38:
|
||||||
To upload the ROM of your HP38G, you will need a special aplet called "ROM
|
To upload the ROM of your HP38G, you will need a special aplet called "ROM
|
||||||
UPLOAD", available at http://www.epita.fr/~avenar_j/hp. Once you've uploaded the
|
UPLOAD", available at http://www.hpcalc.org/details.php?id=633. Once you've
|
||||||
ROM, you have to convert it using the Convert utility.
|
uploaded the ROM, you have to convert it using the Convert utility.
|
||||||
|
|
||||||
To do that, start a Command Prompt while running Windows, and type:
|
To do that, start a Command Prompt while running Windows, and type:
|
||||||
Convert <rom-file> ROM.38G
|
Convert <rom-file> ROM.38G
|
||||||
|
@ -64,8 +64,8 @@ the ROM, you have to convert it using the Rom2emu utility.
|
||||||
To do that, start a Command Prompt while running Windows, and type:
|
To do that, start a Command Prompt while running Windows, and type:
|
||||||
Rom2emu <rom-file> ROM.39G
|
Rom2emu <rom-file> ROM.39G
|
||||||
|
|
||||||
There's also a HP39G/HP40G beta ROM for emulators at
|
There's also a HP39G/HP40G beta ROM for emulators inside an old Emu48 package
|
||||||
http://www.epita.fr/~avenar_j/hp/39.htm for download.
|
available at http://www.hpcalc.org/details.php?id=4272.
|
||||||
|
|
||||||
- HP48:
|
- HP48:
|
||||||
If you have already used another HP48 emulator, you can convert the ROM using
|
If you have already used another HP48 emulator, you can convert the ROM using
|
||||||
|
@ -87,13 +87,21 @@ almost automatically get the ROM from your HP48. After the download you may have
|
||||||
to convert your dump with the CONVERT utility into the Emu48 format.
|
to convert your dump with the CONVERT utility into the Emu48 format.
|
||||||
|
|
||||||
You can find the latest version of the ROM dump programs on:
|
You can find the latest version of the ROM dump programs on:
|
||||||
ROMUPL.BIN http://www.epita.fr/~avenar_j/hp/calcen.html
|
ROMUPL.BIN http://www.hpcalc.org/details.php?id=3686
|
||||||
ROMDump Wizard http://hp.giesselink.com/index.htm
|
ROMDump Wizard http://hp.giesselink.com/emu48.htm
|
||||||
|
|
||||||
- HP49:
|
- HP49G:
|
||||||
There's no ROM download program available so far. But you can find a HP49G ROM
|
There's no ROM download program available so far. But you can create a ROM image
|
||||||
for emulators in the YorkeM emulator package or in the HP49G SDK on
|
with the UPD49ROM tool available at http://hp.giesselink.com/emu48.htm and a ROM
|
||||||
http://www.hpcalc.org in the HP49 section.
|
update file for the HP49G calculator available at
|
||||||
|
http://www.hpcalc.org/hp49/pc/rom/. I suggested to use version 1.19-6
|
||||||
|
(http://www.hpcalc.org/details.php?id=3240).
|
||||||
|
|
||||||
|
To create a HP49G ROM image file, start a Command Prompt while running Windows,
|
||||||
|
and type:
|
||||||
|
UPD49ROM -f hp49119-6.flash ROM.49G
|
||||||
|
|
||||||
|
This will create a HP49G ROM image file with an empty User Port 2.
|
||||||
|
|
||||||
|
|
||||||
****************
|
****************
|
||||||
|
@ -255,9 +263,9 @@ the variable 'Writeable' defined in the Emu48.ini file, section [ROM] to zero.
|
||||||
* COPY / PASTE STRING *
|
* COPY / PASTE STRING *
|
||||||
***********************
|
***********************
|
||||||
|
|
||||||
With the menu items "Copy String" and "Paste String" in the "Edit" menu you're
|
With the menu items "Copy Stack" and "Paste Stack" in the "Edit" menu you're
|
||||||
able to copy HP string objects from the stack to the PC clipboard and vice
|
able to copy real and complex numbers and string objects from the stack to the
|
||||||
versa.
|
PC clipboard and vice versa.
|
||||||
|
|
||||||
|
|
||||||
**********
|
**********
|
||||||
|
@ -296,9 +304,9 @@ emulated calculators the address area #00058-#00076 in System RAM are rewritten
|
||||||
with the actual time information.
|
with the actual time information.
|
||||||
|
|
||||||
|
|
||||||
*************
|
********************************
|
||||||
* EMU48.INI *
|
* Registry HKCU\Software\Emu48 *
|
||||||
*************
|
********************************
|
||||||
|
|
||||||
The section [Timers] in the Emu48.ini file isn't used any more. The variable
|
The section [Timers] in the Emu48.ini file isn't used any more. The variable
|
||||||
values are replaced by useful constants. You may delete this section if you
|
values are replaced by useful constants. You may delete this section if you
|
||||||
|
@ -357,6 +365,15 @@ hardware or a resource problem of the serial port. Check this with connecting
|
||||||
the HP with a transfer program you like on the same serial port.
|
the HP with a transfer program you like on the same serial port.
|
||||||
|
|
||||||
|
|
||||||
|
*******************************
|
||||||
|
* INFRARED PRINTER SIMULATION *
|
||||||
|
*******************************
|
||||||
|
|
||||||
|
The emulator has the ability to print decoded data to a HP82240A/B printer
|
||||||
|
simulation. The data transfer to the printer simulator is done over UDP. You can
|
||||||
|
the define the IPv4 address and the port the printer simulator is listening.
|
||||||
|
|
||||||
|
|
||||||
****************
|
****************
|
||||||
* DISASSEMBLER *
|
* DISASSEMBLER *
|
||||||
****************
|
****************
|
||||||
|
@ -435,7 +452,7 @@ have discussed there in different threads for years now.
|
||||||
***************
|
***************
|
||||||
|
|
||||||
Emu48 - An HP38/39/40/48/49 Emulator
|
Emu48 - An HP38/39/40/48/49 Emulator
|
||||||
Copyright (C) 2010 Sebastien Carlier & Christoph Gießelink
|
Copyright (C) 2013 Sebastien Carlier & Christoph Gießelink
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify it under
|
This program is free software; you can redistribute it and/or modify it under
|
||||||
the terms of the GNU General Public License as published by the Free Software
|
the terms of the GNU General Public License as published by the Free Software
|
||||||
|
@ -455,19 +472,8 @@ Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
* The Authors *
|
* The Authors *
|
||||||
***************
|
***************
|
||||||
|
|
||||||
Paper Mail:
|
|
||||||
Sebastien Carlier
|
Sebastien Carlier
|
||||||
10 Allee des bergeronnettes
|
|
||||||
35340 LIFFRE
|
|
||||||
FRANCE
|
|
||||||
|
|
||||||
E-Mail:
|
|
||||||
sebc@epita.fr
|
|
||||||
|
|
||||||
|
|
||||||
Paper Mail:
|
|
||||||
Christoph Giesselink
|
Christoph Giesselink
|
||||||
GERMANY
|
|
||||||
|
|
||||||
E-Mail:
|
E-Mail:
|
||||||
c dot giesselink at gmx dot de
|
c dot giesselink at gmx dot de
|
||||||
|
|
BIN
EMU48.dll
BIN
EMU48.dll
Binary file not shown.
|
@ -1,4 +1,4 @@
|
||||||
Emu48 1.52+ (based on Emu48 1.53)
|
Emu48 1.53+ (based on Emu48 1.55)
|
||||||
|
|
||||||
Emu48+ is a modified version of Emu48 to add support for the ARM-based
|
Emu48+ is a modified version of Emu48 to add support for the ARM-based
|
||||||
calculators. It does not emulate the ARM CPU, but it enhances the
|
calculators. It does not emulate the ARM CPU, but it enhances the
|
||||||
|
|
BIN
Emu48.dll
Normal file
BIN
Emu48.dll
Normal file
Binary file not shown.
BIN
Emu48.exe
Normal file
BIN
Emu48.exe
Normal file
Binary file not shown.
|
@ -1,4 +1,4 @@
|
||||||
Known bugs and restrictions of Emu48 V1.53
|
Known bugs and restrictions of Emu48 V1.55
|
||||||
------------------------------------------
|
------------------------------------------
|
||||||
|
|
||||||
- the following I/O bits aren't emulated (incomplete)
|
- the following I/O bits aren't emulated (incomplete)
|
||||||
|
@ -37,9 +37,6 @@ Known bugs and restrictions of Emu48 V1.53
|
||||||
calculators a reset happen after about 4s in deep sleep, in the
|
calculators a reset happen after about 4s in deep sleep, in the
|
||||||
emulator this happens immediately
|
emulator this happens immediately
|
||||||
- no MP interrupt on card control circuit or timer restart
|
- 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
|
|
||||||
- Shell OS: clock isn't synchronized with real time
|
- Shell OS: clock isn't synchronized with real time
|
||||||
- HP49G: the flash memory is emulated now with some restrictions
|
- HP49G: the flash memory is emulated now with some restrictions
|
||||||
- no flash programming times, the flash state machine returns
|
- no flash programming times, the flash state machine returns
|
||||||
|
@ -50,4 +47,4 @@ Known bugs and restrictions of Emu48 V1.53
|
||||||
- quitting the emulator while programming the flash isn't allowed,
|
- quitting the emulator while programming the flash isn't allowed,
|
||||||
because the content of flash state machine isn't saved so far
|
because the content of flash state machine isn't saved so far
|
||||||
|
|
||||||
08/07/12 (c) by Christoph Gießelink, c dot giesselink at gmx dot de
|
05/21/13 (c) by Christoph Gießelink, c dot giesselink at gmx dot de
|
||||||
|
|
|
@ -22,6 +22,34 @@
|
||||||
|
|
||||||
#include "Ops.h"
|
#include "Ops.h"
|
||||||
|
|
||||||
|
//
|
||||||
|
// ROM buffer access functions
|
||||||
|
//
|
||||||
|
|
||||||
|
static __inline void WrDirtyPage(DWORD d)
|
||||||
|
{
|
||||||
|
if (pbyRomDirtyPage) // using dirty ROM page table
|
||||||
|
{
|
||||||
|
DWORD dwPage = d / ROMPAGESIZE; // this is the page
|
||||||
|
|
||||||
|
_ASSERT(dwPage < dwRomDirtyPageSize);
|
||||||
|
pbyRomDirtyPage[dwPage] = TRUE; // page is dirty
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
static __inline void EraseBlock(DWORD d,DWORD dwNibSize)
|
||||||
|
{
|
||||||
|
LPBYTE pbyAddr = pbyRom + d;
|
||||||
|
|
||||||
|
while (dwNibSize--)
|
||||||
|
{
|
||||||
|
WrDirtyPage(d++); // make page dirty
|
||||||
|
*pbyAddr++ = 0x0F; // clear address
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
static CONST LPBYTE ppReg[] = { w.A, w.B, w.C, w.D };
|
static CONST LPBYTE ppReg[] = { w.A, w.B, w.C, w.D };
|
||||||
|
|
||||||
static QWORD DecodeReg64(LPBYTE R, BYTE byNF)
|
static QWORD DecodeReg64(LPBYTE R, BYTE byNF)
|
||||||
|
@ -234,7 +262,7 @@ _ASSERT(FALSE); // not tested so far
|
||||||
if (byBank == 0) dwStart += _KB(64); // skip boot loader
|
if (byBank == 0) dwStart += _KB(64); // skip boot loader
|
||||||
|
|
||||||
// clear bank
|
// clear bank
|
||||||
FillMemory(&pbyRom[dwStart],dwStop-dwStart,0x0F);
|
EraseBlock(dwStart,dwStop-dwStart);
|
||||||
|
|
||||||
w.carry = FALSE; // no error
|
w.carry = FALSE; // no error
|
||||||
return;
|
return;
|
||||||
|
@ -243,6 +271,7 @@ _ASSERT(FALSE); // not tested so far
|
||||||
// write bytes to flash
|
// write bytes to flash
|
||||||
VOID o80B24(VOID)
|
VOID o80B24(VOID)
|
||||||
{
|
{
|
||||||
|
LPBYTE pbyBuffer;
|
||||||
DWORD dwNib,dwAddr,dwSize;
|
DWORD dwNib,dwAddr,dwSize;
|
||||||
|
|
||||||
dwNib = Npack(w.C,5) * 2; // no. of nibbles to copy
|
dwNib = Npack(w.C,5) * 2; // no. of nibbles to copy
|
||||||
|
@ -251,7 +280,20 @@ VOID o80B24(VOID)
|
||||||
dwSize = dwRomSize - dwAddr; // remaining memory size in flash
|
dwSize = dwRomSize - dwAddr; // remaining memory size in flash
|
||||||
if (dwNib > dwSize) dwNib = dwSize; // prevent buffer overflow
|
if (dwNib > dwSize) dwNib = dwSize; // prevent buffer overflow
|
||||||
|
|
||||||
Npeek(pbyRom+dwAddr,w.d0,dwNib); // copy data
|
pbyBuffer = (LPBYTE) malloc(dwNib); // allocate data buffer
|
||||||
|
if (pbyBuffer != NULL)
|
||||||
|
{
|
||||||
|
DWORD i;
|
||||||
|
|
||||||
|
Npeek(pbyBuffer,w.d0,dwNib); // get data
|
||||||
|
|
||||||
|
for (i = 0; i < dwNib; ++i)
|
||||||
|
{
|
||||||
|
WrDirtyPage(dwAddr); // make page dirty
|
||||||
|
pbyRom[dwAddr++] = pbyBuffer[i]; // write data
|
||||||
|
}
|
||||||
|
free(pbyBuffer);
|
||||||
|
}
|
||||||
|
|
||||||
w.d0 += dwNib; // update source register
|
w.d0 += dwNib; // update source register
|
||||||
w.d1 += dwNib; // update destination register
|
w.d1 += dwNib; // update destination register
|
|
@ -1,35 +1,155 @@
|
||||||
--------------------------------------------------------------------
|
--------------------------------------------------------------------
|
||||||
Service Pack 53 for Emu48 Version 1.0
|
Service Pack 53 for Emu48 Version 1.0
|
||||||
|
|
||||||
|
APPLE.C
|
||||||
|
- added functions WrDirtyPage() and EraseBlock() for access to the
|
||||||
|
ROM buffer
|
||||||
|
- changed function o80B14() and o80B24(), changed implementation
|
||||||
|
using the new ROM buffer access functions
|
||||||
|
|
||||||
|
DDESERV.C
|
||||||
|
- prepared for C++ compiling
|
||||||
|
|
||||||
DEBUGGER.C
|
DEBUGGER.C
|
||||||
|
- prepared for C++ compiling
|
||||||
|
- added new function OnCodeFindPCO(), search for a PCO object in the
|
||||||
|
code window
|
||||||
|
- bugfix in function OnSetCursor(), on "Activation follows mouse"
|
||||||
|
enabled child dialogs lost focus when cursor moved over parent
|
||||||
|
debugger dialog
|
||||||
|
- changed function Debugger(), added context menu commands handler
|
||||||
|
in the WM_COMMAND section
|
||||||
- changed function OnFindOK(), added downwards search direction
|
- changed function OnFindOK(), added downwards search direction
|
||||||
- changed function Find(), added and changed message handler for the
|
- changed function Find(), added and changed message handler for the
|
||||||
"Previous" and "Next" buttons
|
"Previous" and "Next" buttons
|
||||||
|
|
||||||
|
DISMEM.C
|
||||||
|
- prepared for C++ compiling
|
||||||
|
|
||||||
|
DISPLAY.C
|
||||||
|
- prepared for C++ compiling
|
||||||
|
|
||||||
|
EMU48.C
|
||||||
|
- prepared for C++ compiling
|
||||||
|
- replaced global variable lThreadId with local variable dwThreadId
|
||||||
|
- added global variable with the identifier for the waveform-audio
|
||||||
|
output device
|
||||||
|
- added property sheet page handlers SettingsGeneralProc(),
|
||||||
|
SettingsMemoryProc() and SettingsPeripheralProc()
|
||||||
|
- bugfix in function SettingsGeneralProc(), on "Activation follows
|
||||||
|
mouse" enabled debugger dialog maybe get focus even if it's not
|
||||||
|
the last active one
|
||||||
|
- removed function SettingsProc(), replaced by the property sheet
|
||||||
|
page handler functions
|
||||||
|
- bugfix in function OnViewScript(), ROM image change wasn't handled
|
||||||
|
- added function PropSheetProc(), callback function for setup the
|
||||||
|
property sheet
|
||||||
|
- changed function OnViewSettings(), now creating a propery sheet
|
||||||
|
instead of a settings dialog
|
||||||
|
- added function OnCopyData() as WM_COPYDATA message handler
|
||||||
|
implementation for changing the state file to the given state file
|
||||||
|
name
|
||||||
|
- changed function MainWndProc(), added WM_COPYDATA message handler
|
||||||
|
- changed function WinMain(), expanded single instance case by
|
||||||
|
transmitting the given state file name to the already opened
|
||||||
|
program instance
|
||||||
|
|
||||||
|
EMU48.H
|
||||||
|
- prepared for C++ compiling
|
||||||
|
- added WM_COPYDATA identifier definition
|
||||||
|
- added definitions for sound interface
|
||||||
|
- extern declaration of global variables
|
||||||
|
|
||||||
EMU48.RC
|
EMU48.RC
|
||||||
- changed IDD_FIND, added a "Previous" button for previous search,
|
- changed IDD_FIND, added a "Previous" button for previous search,
|
||||||
shorten the text of the "Find Next" button to "Next" and changed
|
shorten the text of the "Find Next" button to "Next" and changed
|
||||||
the ID of the next search button
|
the ID of the next search button
|
||||||
- changed version
|
- split IDD_SETTINGS dialog into the property pages IDD_SET_GENERAL,
|
||||||
|
IDD_SET_MEMORY and IDD_SET_PERIPHERAL and added item
|
||||||
|
"Single Instance" in the "General" property page
|
||||||
|
- removed IDD_SETTINGS dialog
|
||||||
|
- added "Previous PCO" and "Next PCO" menu entries in debugger
|
||||||
|
"Code" context menu
|
||||||
|
- changed version and copyright
|
||||||
|
|
||||||
|
EMU48DLL.C
|
||||||
|
- replaced global variable ThreadId with local variable dwThreadId
|
||||||
|
|
||||||
|
ENGINE.C
|
||||||
|
- added global variable bEnableSlow for global disabling slowing
|
||||||
|
down the CPU
|
||||||
|
- added global variable bSoundSlow slowing down the CPU core at
|
||||||
|
sound output
|
||||||
|
- changed function AdjustSpeed() and InitAdjustSpeed, added sound
|
||||||
|
slow down implementation
|
||||||
|
- changed function WorkerThread(), added sound engine control
|
||||||
|
|
||||||
|
EXTERNAL.C
|
||||||
|
- changed PCM sampling frequency and definition name
|
||||||
|
- bugfix in function BeepWave(), eliminated DC offset from waveform,
|
||||||
|
use global waveform-audio output device identifier for opening and
|
||||||
|
made a more general initialization of the waveform-audio output
|
||||||
|
device
|
||||||
|
|
||||||
FILES.C
|
FILES.C
|
||||||
|
- prepared for C++ compiling
|
||||||
|
- changed function MapRom(), removed using of memory mapped files
|
||||||
|
which has the major advantage that packed ROM files are also valid
|
||||||
|
now
|
||||||
|
- changed function UnmapRom(), adjusted to changed MapRom() function
|
||||||
|
- changed function MapPort2(), improved file size validation and
|
||||||
|
freeing of file mapping in error case
|
||||||
|
- changed function UnmapPort2(), added ability to free incomplete
|
||||||
|
file mapping
|
||||||
- changed function SaveBackup() and RestoreBackup(), improved
|
- changed function SaveBackup() and RestoreBackup(), improved
|
||||||
document available detection and added check at port data copy if
|
document available detection and added check at port data copy if
|
||||||
port source buffer is allocated
|
port source buffer is allocated
|
||||||
|
|
||||||
|
I28F160.C
|
||||||
|
- added functions WrDirtyPage(), EraseBlock(), WriteByte() and
|
||||||
|
ReadByte() for access to the ROM buffer
|
||||||
|
- changed function WrStateE8C(), WrState40D(), WrState20C(),
|
||||||
|
WrState30C() and RdStateData(), changed implementation using the
|
||||||
|
new ROM buffer access functions
|
||||||
|
|
||||||
KML.C
|
KML.C
|
||||||
|
- prepared for C++ compiling
|
||||||
- added global variable wKeybLocId to hold the keyboard layout input
|
- added global variable wKeybLocId to hold the keyboard layout input
|
||||||
locale at begin of KML loading
|
locale at begin of KML loading
|
||||||
|
- activated keyword "Locale" in pLexToken[] table
|
||||||
- changed function ParseBlocks(), use variable wKeybLocId instead
|
- changed function ParseBlocks(), use variable wKeybLocId instead
|
||||||
of input locale reading
|
of input locale reading
|
||||||
- changed function KillKML(), added reset of variable wKeybLocId
|
- bugfix in function KillKML(), key mapping state table wasn't
|
||||||
|
cleared at the end and added reset of variable wKeybLocId
|
||||||
- bugfix in function InitKML(), changed implementation by reading
|
- bugfix in function InitKML(), changed implementation by reading
|
||||||
the current keyboard layout and convert the layout data to the
|
the current keyboard layout and convert the layout data to the
|
||||||
input locale setting
|
input locale setting
|
||||||
|
|
||||||
|
MRU.C
|
||||||
|
- prepared for C++ compiling
|
||||||
|
|
||||||
|
OPCODES.C
|
||||||
|
- changed function o801(), call beeper handler function on beeper
|
||||||
|
port change
|
||||||
|
|
||||||
RESOURCE.H
|
RESOURCE.H
|
||||||
- added definitions
|
- added some definitions
|
||||||
- removed IDC_FIND_CASE
|
- removed IDD_SETTINGS and IDC_FIND_CASE definition
|
||||||
|
|
||||||
|
RPL.C
|
||||||
|
- prepared for C++ compiling
|
||||||
|
|
||||||
|
SETTINGS.C
|
||||||
|
- bugfix in function GetRegistryString(), ignored target buffer size
|
||||||
|
when copying the default to the target string buffer
|
||||||
|
- changed function ReadSettings() and WriteSettings(), added item
|
||||||
|
"WaveDeviceId" in section [Emulator] in the INI-File
|
||||||
|
|
||||||
|
STACK.C
|
||||||
|
- prepared for C++ compiling
|
||||||
|
|
||||||
|
SYMBFILE.C
|
||||||
|
- prepared for C++ compiling
|
||||||
|
|
||||||
|
|
||||||
Service Pack 52 for Emu48 Version 1.0
|
Service Pack 52 for Emu48 Version 1.0
|
Before Width: | Height: | Size: 250 B After Width: | Height: | Size: 250 B |
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |
|
@ -50,7 +50,7 @@ HDDEDATA CALLBACK DdeCallback(UINT iType,UINT iFmt,HCONV hConv,
|
||||||
DdeUnaccessData(hData);
|
DdeUnaccessData(hData);
|
||||||
|
|
||||||
// reserve memory
|
// reserve memory
|
||||||
if ((lpData = malloc(dwSize * 2)) == NULL)
|
if ((lpData = (LPBYTE) malloc(dwSize * 2)) == NULL)
|
||||||
return (HDDEDATA) DDE_FNOTPROCESSED;
|
return (HDDEDATA) DDE_FNOTPROCESSED;
|
||||||
|
|
||||||
SuspendDebugger(); // suspend debugger
|
SuspendDebugger(); // suspend debugger
|
||||||
|
@ -129,16 +129,16 @@ cancel:
|
||||||
}
|
}
|
||||||
dwLoop = dwSize = (RPL_SkipOb(dwAddress) - dwAddress + 1) / 2;
|
dwLoop = dwSize = (RPL_SkipOb(dwAddress) - dwAddress + 1) / 2;
|
||||||
|
|
||||||
lpHeader = (Chipset.type == 'X' || Chipset.type == 'Q' || Chipset.type == '2') ? BINARYHEADER49 : BINARYHEADER48;
|
lpHeader = (Chipset.type == 'X' || Chipset.type == 'Q' || Chipset.type == '2') ? (LPBYTE) BINARYHEADER49 : (LPBYTE) BINARYHEADER48;
|
||||||
|
|
||||||
// length of binary header
|
// length of binary header
|
||||||
dwIndex = (DWORD) strlen(lpHeader);
|
dwIndex = (DWORD) strlen((LPCSTR) lpHeader);
|
||||||
|
|
||||||
// size of objectsize + header + object
|
// size of objectsize + header + object
|
||||||
dwSize += dwIndex + sizeof(DWORD);
|
dwSize += dwIndex + sizeof(DWORD);
|
||||||
|
|
||||||
// reserve memory
|
// reserve memory
|
||||||
if ((lpData = malloc(dwSize)) == NULL)
|
if ((lpData = (LPBYTE) malloc(dwSize)) == NULL)
|
||||||
{
|
{
|
||||||
SwitchToState(SM_RUN); // run state
|
SwitchToState(SM_RUN); // run state
|
||||||
return NULL;
|
return NULL;
|
|
@ -1003,6 +1003,37 @@ static BOOL OnCodeSetPcToSelection(HWND hDlg)
|
||||||
return OnCodeGoPC(hDlg);
|
return OnCodeGoPC(hDlg);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//
|
||||||
|
// find PCO object in code window
|
||||||
|
//
|
||||||
|
static BOOL OnCodeFindPCO(HWND hDlg,DWORD dwAddr,INT nSearchDir)
|
||||||
|
{
|
||||||
|
DWORD dwCnt;
|
||||||
|
BOOL bMatch;
|
||||||
|
|
||||||
|
// searching upwards / downwards
|
||||||
|
_ASSERT(nSearchDir == 1 || nSearchDir == -1);
|
||||||
|
|
||||||
|
dwAddr += nSearchDir; // start address for search
|
||||||
|
|
||||||
|
// scan mapped address area until PCO found
|
||||||
|
for (dwCnt = 0; dwCnt <= 0xFFFFF; ++dwCnt)
|
||||||
|
{
|
||||||
|
// is this a PCO?
|
||||||
|
bMatch = (Read5(dwAddr & 0xFFFFF) == ((dwAddr + 5) & 0xFFFFF));
|
||||||
|
|
||||||
|
if (bMatch)
|
||||||
|
{
|
||||||
|
// update code window
|
||||||
|
ViewCodeWnd(GetDlgItem(hDlg,IDC_DEBUG_CODE),dwAddr);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
dwAddr += nSearchDir;
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
// view from address in memory window
|
// view from address in memory window
|
||||||
//
|
//
|
||||||
|
@ -1393,7 +1424,8 @@ static BOOL OnSetCursor(HWND hDlg)
|
||||||
// debugger not active but cursor is over debugger window
|
// debugger not active but cursor is over debugger window
|
||||||
if (bActFollowsMouse && GetActiveWindow() != hDlg)
|
if (bActFollowsMouse && GetActiveWindow() != hDlg)
|
||||||
{
|
{
|
||||||
ForceForegroundWindow(hDlg); // force debugger window to foreground
|
// force debugger window to foreground
|
||||||
|
ForceForegroundWindow(GetLastActivePopup(hDlg));
|
||||||
}
|
}
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
@ -1606,7 +1638,7 @@ static __inline BOOL OnDrawCodeWnd(LPDRAWITEMSTRUCT lpdis)
|
||||||
{
|
{
|
||||||
crBkColor = COLOR_WHITE;
|
crBkColor = COLOR_WHITE;
|
||||||
crTextColor = COLOR_NAVY;
|
crTextColor = COLOR_NAVY;
|
||||||
hFont = SelectObject(lpdis->hDC,hFontBold);
|
hFont = (HFONT) SelectObject(lpdis->hDC,hFontBold);
|
||||||
}
|
}
|
||||||
|
|
||||||
// write Text
|
// write Text
|
||||||
|
@ -1731,7 +1763,7 @@ static __inline HWND CreateToolbar(HWND hWnd)
|
||||||
_ASSERT(pData->wVersion == 1); // toolbar resource version
|
_ASSERT(pData->wVersion == 1); // toolbar resource version
|
||||||
|
|
||||||
// alloc memory for TBBUTTON stucture
|
// alloc memory for TBBUTTON stucture
|
||||||
if (!(ptbb = malloc(pData->wItemCount*sizeof(TBBUTTON))))
|
if (!(ptbb = (TBBUTTON *) malloc(pData->wItemCount*sizeof(TBBUTTON))))
|
||||||
goto unlock;
|
goto unlock;
|
||||||
|
|
||||||
// fill TBBUTTON stucture with resource data
|
// fill TBBUTTON stucture with resource data
|
||||||
|
@ -1834,7 +1866,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));
|
SendDlgItemMessage(hDlg,IDC_STATIC_MISC, WM_SETFONT,(WPARAM)GetStockObject(DEFAULT_GUI_FONT),MAKELPARAM(FALSE,0));
|
||||||
|
|
||||||
// init last instruction circular buffer
|
// init last instruction circular buffer
|
||||||
pdwInstrArray = malloc(INSTRSIZE*sizeof(*pdwInstrArray));
|
pdwInstrArray = (DWORD *) malloc(INSTRSIZE*sizeof(*pdwInstrArray));
|
||||||
wInstrSize = INSTRSIZE; // size of last instruction array
|
wInstrSize = INSTRSIZE; // size of last instruction array
|
||||||
wInstrWp = wInstrRp = 0; // write/read pointer
|
wInstrWp = wInstrRp = 0; // write/read pointer
|
||||||
|
|
||||||
|
@ -1926,6 +1958,8 @@ static INT_PTR CALLBACK Debugger(HWND hDlg, UINT message, WPARAM wParam, LPARAM
|
||||||
case ID_DEBUG_CODE_GOADR: return OnCodeGoAdr(hDlg);
|
case ID_DEBUG_CODE_GOADR: return OnCodeGoAdr(hDlg);
|
||||||
case ID_DEBUG_CODE_GOPC: return OnCodeGoPC(hDlg);
|
case ID_DEBUG_CODE_GOPC: return OnCodeGoPC(hDlg);
|
||||||
case ID_DEBUG_CODE_SETPCTOSELECT: return OnCodeSetPcToSelection(hDlg);
|
case ID_DEBUG_CODE_SETPCTOSELECT: return OnCodeSetPcToSelection(hDlg);
|
||||||
|
case ID_DEBUG_CODE_PREVPCO: return OnCodeFindPCO(hDlg,dwAdrLine[0],-1);
|
||||||
|
case ID_DEBUG_CODE_NEXTPCO: return OnCodeFindPCO(hDlg,dwAdrLine[0],1);
|
||||||
case ID_BREAKPOINTS_CODEEDIT: return OnEditBreakpoint(hDlg);
|
case ID_BREAKPOINTS_CODEEDIT: return OnEditBreakpoint(hDlg);
|
||||||
case ID_BREAKPOINTS_CLEARALL: return OnClearAll(hDlg);
|
case ID_BREAKPOINTS_CLEARALL: return OnClearAll(hDlg);
|
||||||
case ID_BREAKPOINTS_NOP3: return OnToggleMenuItem(hDlg,LOWORD(wParam),&bDbgNOP3);
|
case ID_BREAKPOINTS_NOP3: return OnToggleMenuItem(hDlg,LOWORD(wParam),&bDbgNOP3);
|
||||||
|
@ -2047,9 +2081,9 @@ static INT_PTR CALLBACK Debugger(HWND hDlg, UINT message, WPARAM wParam, LPARAM
|
||||||
hFont = CreateFont(-MulDiv(8,GetDeviceCaps(hDC, LOGPIXELSY),72),0,0,0,FW_NORMAL,0,0,0,ANSI_CHARSET,
|
hFont = CreateFont(-MulDiv(8,GetDeviceCaps(hDC, LOGPIXELSY),72),0,0,0,FW_NORMAL,0,0,0,ANSI_CHARSET,
|
||||||
OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,FF_DONTCARE,_T("Courier New"));
|
OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,FF_DONTCARE,_T("Courier New"));
|
||||||
|
|
||||||
hFont = SelectObject(hDC,hFont);
|
hFont = (HFONT) SelectObject(hDC,hFont);
|
||||||
GetTextMetrics(hDC,&tm);
|
GetTextMetrics(hDC,&tm);
|
||||||
hFont = SelectObject(hDC,hFont);
|
hFont = (HFONT) SelectObject(hDC,hFont);
|
||||||
DeleteObject(hFont);
|
DeleteObject(hFont);
|
||||||
|
|
||||||
((LPMEASUREITEMSTRUCT) lParam)->itemHeight = tm.tmHeight;
|
((LPMEASUREITEMSTRUCT) lParam)->itemHeight = tm.tmHeight;
|
||||||
|
@ -2794,7 +2828,7 @@ static __inline BOOL OnDrawBreakWnd(LPDRAWITEMSTRUCT lpdis)
|
||||||
i = (INT) SendMessage(lpdis->hwndItem,LB_GETITEMDATA,lpdis->itemID,0);
|
i = (INT) SendMessage(lpdis->hwndItem,LB_GETITEMDATA,lpdis->itemID,0);
|
||||||
hdcMem = CreateCompatibleDC(lpdis->hDC);
|
hdcMem = CreateCompatibleDC(lpdis->hDC);
|
||||||
_ASSERT(hBmpCheckBox);
|
_ASSERT(hBmpCheckBox);
|
||||||
hBmpOld = SelectObject(hdcMem,hBmpCheckBox);
|
hBmpOld = (HBITMAP) SelectObject(hdcMem,hBmpCheckBox);
|
||||||
|
|
||||||
BitBlt(lpdis->hDC,lpdis->rcItem.left+2,lpdis->rcItem.top+2,
|
BitBlt(lpdis->hDC,lpdis->rcItem.left+2,lpdis->rcItem.top+2,
|
||||||
11,lpdis->rcItem.bottom - lpdis->rcItem.top,
|
11,lpdis->rcItem.bottom - lpdis->rcItem.top,
|
||||||
|
@ -3022,9 +3056,9 @@ static INT_PTR CALLBACK EditBreakpoint(HWND hDlg, UINT message, WPARAM wParam, L
|
||||||
hFont = CreateFont(-MulDiv(8,GetDeviceCaps(hDC, LOGPIXELSY),72),0,0,0,FW_NORMAL,0,0,0,ANSI_CHARSET,
|
hFont = CreateFont(-MulDiv(8,GetDeviceCaps(hDC, LOGPIXELSY),72),0,0,0,FW_NORMAL,0,0,0,ANSI_CHARSET,
|
||||||
OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,FF_DONTCARE,_T("Courier New"));
|
OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,FF_DONTCARE,_T("Courier New"));
|
||||||
|
|
||||||
hFont = SelectObject(hDC,hFont);
|
hFont = (HFONT) SelectObject(hDC,hFont);
|
||||||
GetTextMetrics(hDC,&tm);
|
GetTextMetrics(hDC,&tm);
|
||||||
hFont = SelectObject(hDC,hFont);
|
hFont = (HFONT) SelectObject(hDC,hFont);
|
||||||
DeleteObject(hFont);
|
DeleteObject(hFont);
|
||||||
|
|
||||||
((LPMEASUREITEMSTRUCT) lParam)->itemHeight = tm.tmHeight;
|
((LPMEASUREITEMSTRUCT) lParam)->itemHeight = tm.tmHeight;
|
|
@ -11,7 +11,7 @@
|
||||||
|
|
||||||
typedef struct // type of model memory mapping
|
typedef struct // type of model memory mapping
|
||||||
{
|
{
|
||||||
CONST BYTE byType; // calculator type
|
BYTE byType; // calculator type
|
||||||
CONST LPBYTE *ppbyNCE1; // NCE1 data
|
CONST LPBYTE *ppbyNCE1; // NCE1 data
|
||||||
CONST DWORD *pdwNCE1Size; // NCE1 size
|
CONST DWORD *pdwNCE1Size; // NCE1 size
|
||||||
CONST LPBYTE *ppbyNCE2; // NCE2 data
|
CONST LPBYTE *ppbyNCE2; // NCE2 data
|
|
@ -137,7 +137,7 @@ VOID CreateLcdBitmap(VOID)
|
||||||
hLcdDC = CreateCompatibleDC(hWindowDC);
|
hLcdDC = CreateCompatibleDC(hWindowDC);
|
||||||
_ASSERT(hLcdDC != NULL);
|
_ASSERT(hLcdDC != NULL);
|
||||||
hLcdBitmap = CreateDIBSection(hWindowDC,(BITMAPINFO*)&bmiLcd,DIB_RGB_COLORS,(VOID **)&pbyLcd,NULL,0);
|
hLcdBitmap = CreateDIBSection(hWindowDC,(BITMAPINFO*)&bmiLcd,DIB_RGB_COLORS,(VOID **)&pbyLcd,NULL,0);
|
||||||
hLcdBitmap = SelectObject(hLcdDC,hLcdBitmap);
|
hLcdBitmap = (HBITMAP) SelectObject(hLcdDC,hLcdBitmap);
|
||||||
_ASSERT(hPalette != NULL);
|
_ASSERT(hPalette != NULL);
|
||||||
SelectPalette(hLcdDC,hPalette,FALSE); // set palette for LCD DC
|
SelectPalette(hLcdDC,hPalette,FALSE); // set palette for LCD DC
|
||||||
RealizePalette(hLcdDC); // realize palette
|
RealizePalette(hLcdDC); // realize palette
|
||||||
|
@ -180,7 +180,7 @@ BOOL CreateMainBitmap(LPCTSTR szFilename)
|
||||||
hMainDC = NULL;
|
hMainDC = NULL;
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
hMainBitmap = SelectObject(hMainDC,hMainBitmap);
|
hMainBitmap = (HBITMAP) SelectObject(hMainDC,hMainBitmap);
|
||||||
_ASSERT(hPalette != NULL);
|
_ASSERT(hPalette != NULL);
|
||||||
hAssertPalette = SelectPalette(hMainDC,hPalette,FALSE);
|
hAssertPalette = SelectPalette(hMainDC,hPalette,FALSE);
|
||||||
_ASSERT(hAssertPalette != NULL);
|
_ASSERT(hAssertPalette != NULL);
|
|
@ -60,7 +60,6 @@ LARGE_INTEGER lAppStart; // high performance counter value at Appl. start
|
||||||
DWORD idDdeInst; // DDE server id
|
DWORD idDdeInst; // DDE server id
|
||||||
UINT uCF_HpObj; // DDE clipboard format
|
UINT uCF_HpObj; // DDE clipboard format
|
||||||
HANDLE hThread;
|
HANDLE hThread;
|
||||||
DWORD lThreadId;
|
|
||||||
HANDLE hEventShutdn; // event handle to stop cpu thread
|
HANDLE hEventShutdn; // event handle to stop cpu thread
|
||||||
|
|
||||||
HINSTANCE hApp = NULL;
|
HINSTANCE hApp = NULL;
|
||||||
|
@ -73,6 +72,7 @@ HPALETTE hPalette = NULL;
|
||||||
HPALETTE hOldPalette = NULL; // old palette of hWindowDC
|
HPALETTE hOldPalette = NULL; // old palette of hWindowDC
|
||||||
HCURSOR hCursorArrow = NULL;
|
HCURSOR hCursorArrow = NULL;
|
||||||
HCURSOR hCursorHand = NULL;
|
HCURSOR hCursorHand = NULL;
|
||||||
|
UINT uWaveDevId = WAVE_MAPPER; // default audio device
|
||||||
DWORD dwWakeupDelay = 200; // ON key hold time to switch on calculator
|
DWORD dwWakeupDelay = 200; // ON key hold time to switch on calculator
|
||||||
BOOL bAutoSave = FALSE;
|
BOOL bAutoSave = FALSE;
|
||||||
BOOL bAutoSaveOnExit = TRUE;
|
BOOL bAutoSaveOnExit = TRUE;
|
||||||
|
@ -138,7 +138,7 @@ VOID CopyItemsToClipboard(HWND hWnd) // save selected Listbox Items to Clipboar
|
||||||
if ((i = (LONG) SendMessage(hWnd,LB_GETSELCOUNT,0,0)) == 0)
|
if ((i = (LONG) SendMessage(hWnd,LB_GETSELCOUNT,0,0)) == 0)
|
||||||
return; // no items selected
|
return; // no items selected
|
||||||
|
|
||||||
if ((lpnCount = malloc(i * sizeof(INT))) != NULL)
|
if ((lpnCount = (LPINT) malloc(i * sizeof(INT))) != NULL)
|
||||||
{
|
{
|
||||||
LPTSTR lpszData;
|
LPTSTR lpszData;
|
||||||
HANDLE hClipObj;
|
HANDLE hClipObj;
|
||||||
|
@ -154,7 +154,7 @@ VOID CopyItemsToClipboard(HWND hWnd) // save selected Listbox Items to Clipboar
|
||||||
// allocate clipboard data
|
// allocate clipboard data
|
||||||
if ((hClipObj = GlobalAlloc(GMEM_MOVEABLE,(lMem + 1) * sizeof(*lpszData))) != NULL)
|
if ((hClipObj = GlobalAlloc(GMEM_MOVEABLE,(lMem + 1) * sizeof(*lpszData))) != NULL)
|
||||||
{
|
{
|
||||||
if ((lpszData = GlobalLock(hClipObj)))
|
if ((lpszData = (LPTSTR) GlobalLock(hClipObj)))
|
||||||
{
|
{
|
||||||
for (j = 0;j < i;++j) // scan all selected items
|
for (j = 0;j < i;++j) // scan all selected items
|
||||||
{
|
{
|
||||||
|
@ -287,17 +287,11 @@ static VOID SetCommList(HWND hDlg,LPCTSTR szWireSetting,LPCTSTR szIrSetting)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
static INT_PTR CALLBACK SettingsProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
|
static BOOL CALLBACK SettingsGeneralProc(HWND hDlg, UINT uMsg, DWORD wParam, LONG lParam)
|
||||||
{
|
{
|
||||||
TCHAR cPort[8];
|
|
||||||
HWND hWndInsertAfter;
|
HWND hWndInsertAfter;
|
||||||
|
|
||||||
LPCTSTR szActPort2Filename = _T("");
|
switch (uMsg)
|
||||||
|
|
||||||
BOOL bPort2CfgChange = FALSE;
|
|
||||||
BOOL bPort2AttChange = FALSE;
|
|
||||||
|
|
||||||
switch (message)
|
|
||||||
{
|
{
|
||||||
case WM_INITDIALOG:
|
case WM_INITDIALOG:
|
||||||
// init speed checkbox
|
// init speed checkbox
|
||||||
|
@ -305,6 +299,12 @@ static INT_PTR CALLBACK SettingsProc(HWND hDlg, UINT message, WPARAM wParam, LPA
|
||||||
CheckDlgButton(hDlg,IDC_GRAYSCALE,bGrayscale);
|
CheckDlgButton(hDlg,IDC_GRAYSCALE,bGrayscale);
|
||||||
CheckDlgButton(hDlg,IDC_ALWAYSONTOP,bAlwaysOnTop);
|
CheckDlgButton(hDlg,IDC_ALWAYSONTOP,bAlwaysOnTop);
|
||||||
CheckDlgButton(hDlg,IDC_ACTFOLLOWSMOUSE,bActFollowsMouse);
|
CheckDlgButton(hDlg,IDC_ACTFOLLOWSMOUSE,bActFollowsMouse);
|
||||||
|
#if defined _USRDLL // DLL version
|
||||||
|
CheckDlgButton(hDlg,IDC_SINGLEINSTANCE,FALSE);
|
||||||
|
EnableWindow(GetDlgItem(hDlg,IDC_SINGLEINSTANCE),FALSE);
|
||||||
|
#else
|
||||||
|
CheckDlgButton(hDlg,IDC_SINGLEINSTANCE,bSingleInstance);
|
||||||
|
#endif
|
||||||
CheckDlgButton(hDlg,IDC_AUTOSAVE,bAutoSave);
|
CheckDlgButton(hDlg,IDC_AUTOSAVE,bAutoSave);
|
||||||
CheckDlgButton(hDlg,IDC_AUTOSAVEONEXIT,bAutoSaveOnExit);
|
CheckDlgButton(hDlg,IDC_AUTOSAVEONEXIT,bAutoSaveOnExit);
|
||||||
CheckDlgButton(hDlg,IDC_OBJECTLOADWARNING,bLoadObjectWarning);
|
CheckDlgButton(hDlg,IDC_OBJECTLOADWARNING,bLoadObjectWarning);
|
||||||
|
@ -312,29 +312,59 @@ static INT_PTR CALLBACK SettingsProc(HWND hDlg, UINT message, WPARAM wParam, LPA
|
||||||
|
|
||||||
// set disassebler mode
|
// set disassebler mode
|
||||||
CheckDlgButton(hDlg,(disassembler_mode == HP_MNEMONICS) ? IDC_DISASM_HP : IDC_DISASM_CLASS,BST_CHECKED);
|
CheckDlgButton(hDlg,(disassembler_mode == HP_MNEMONICS) ? IDC_DISASM_HP : IDC_DISASM_CLASS,BST_CHECKED);
|
||||||
|
return TRUE;
|
||||||
// set sound slider
|
case WM_NOTIFY:
|
||||||
SendDlgItemMessage(hDlg,IDC_SOUND_SLIDER,TBM_SETRANGE,FALSE,MAKELONG(0,255));
|
switch (((LPNMHDR) lParam)->code)
|
||||||
SendDlgItemMessage(hDlg,IDC_SOUND_SLIDER,TBM_SETTICFREQ,256/8,0);
|
|
||||||
SendDlgItemMessage(hDlg,IDC_SOUND_SLIDER,TBM_SETPOS,TRUE,dwWaveVol);
|
|
||||||
|
|
||||||
// set sound radio button
|
|
||||||
CheckDlgButton(hDlg,bWaveBeep ? IDC_SOUND_WAVE : IDC_SOUND_SPEAKER,BST_CHECKED);
|
|
||||||
EnableWindow(GetDlgItem(hDlg,IDC_SOUND_SLIDER),bWaveBeep);
|
|
||||||
|
|
||||||
// UDP infrared printer settings
|
|
||||||
SetDlgItemText(hDlg,IDC_IR_ADDR,szUdpServer);
|
|
||||||
wsprintf(cPort,_T("%u"),wUdpPort);
|
|
||||||
SetDlgItemText(hDlg,IDC_IR_PORT,cPort);
|
|
||||||
|
|
||||||
// set combobox parameter
|
|
||||||
SetCommList(hDlg,szSerialWire,szSerialIr);
|
|
||||||
if (bCommInit) // disable when port open
|
|
||||||
{
|
{
|
||||||
EnableWindow(GetDlgItem(hDlg,IDC_WIRE),FALSE);
|
case PSN_KILLACTIVE:
|
||||||
EnableWindow(GetDlgItem(hDlg,IDC_IR),FALSE);
|
// get speed checkbox value
|
||||||
|
bRealSpeed = IsDlgButtonChecked(hDlg,IDC_REALSPEED);
|
||||||
|
bAlwaysOnTop = IsDlgButtonChecked(hDlg,IDC_ALWAYSONTOP);
|
||||||
|
bActFollowsMouse = IsDlgButtonChecked(hDlg,IDC_ACTFOLLOWSMOUSE);
|
||||||
|
bSingleInstance = IsDlgButtonChecked(hDlg,IDC_SINGLEINSTANCE);
|
||||||
|
bAutoSave = IsDlgButtonChecked(hDlg,IDC_AUTOSAVE);
|
||||||
|
bAutoSaveOnExit = IsDlgButtonChecked(hDlg,IDC_AUTOSAVEONEXIT);
|
||||||
|
bLoadObjectWarning = IsDlgButtonChecked(hDlg,IDC_OBJECTLOADWARNING);
|
||||||
|
bAlwaysDisplayLog = IsDlgButtonChecked(hDlg,IDC_ALWAYSDISPLOG);
|
||||||
|
SetSpeed(bRealSpeed); // set speed
|
||||||
|
|
||||||
|
// LCD grayscale checkbox has been changed
|
||||||
|
if (bGrayscale != (BOOL) IsDlgButtonChecked(hDlg,IDC_GRAYSCALE))
|
||||||
|
{
|
||||||
|
UINT nOldState = SwitchToState(SM_INVALID);
|
||||||
|
bGrayscale = !bGrayscale; // set new grayscale mode
|
||||||
|
UpdateContrast(Chipset.contrast); // update LCD color table for new mode
|
||||||
|
SwitchToState(nOldState);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// set disassembler mode
|
||||||
|
disassembler_mode = IsDlgButtonChecked(hDlg,IDC_DISASM_HP) ? HP_MNEMONICS : CLASS_MNEMONICS;
|
||||||
|
|
||||||
|
// bAlwaysOnTop maybe changed, so set new window Z order
|
||||||
|
hWndInsertAfter = bAlwaysOnTop ? HWND_TOPMOST : HWND_NOTOPMOST;
|
||||||
|
SetWindowPos(hWnd,hWndInsertAfter,0,0,0,0,SWP_NOMOVE | SWP_NOSIZE);
|
||||||
|
if (hDlgDebug != NULL)
|
||||||
|
{
|
||||||
|
SetWindowPos(GetLastActivePopup(hDlgDebug),hWndInsertAfter,0,0,0,0,SWP_NOMOVE | SWP_NOSIZE);
|
||||||
|
}
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
return FALSE;
|
||||||
|
UNREFERENCED_PARAMETER(wParam);
|
||||||
|
}
|
||||||
|
|
||||||
|
static BOOL CALLBACK SettingsMemoryProc(HWND hDlg, UINT uMsg, DWORD wParam, LONG lParam)
|
||||||
|
{
|
||||||
|
LPCTSTR szActPort2Filename = _T("");
|
||||||
|
|
||||||
|
BOOL bPort2CfgChange = FALSE;
|
||||||
|
BOOL bPort2AttChange = FALSE;
|
||||||
|
|
||||||
|
switch (uMsg)
|
||||||
|
{
|
||||||
|
case WM_INITDIALOG:
|
||||||
// HP48SX/GX
|
// HP48SX/GX
|
||||||
if (cCurrentRomType=='S' || cCurrentRomType=='G' || cCurrentRomType==0)
|
if (cCurrentRomType=='S' || cCurrentRomType=='G' || cCurrentRomType==0)
|
||||||
{
|
{
|
||||||
|
@ -371,22 +401,11 @@ static INT_PTR CALLBACK SettingsProc(HWND hDlg, UINT message, WPARAM wParam, LPA
|
||||||
EnableWindow(GetDlgItem(hDlg,IDC_PORT2WR),FALSE);
|
EnableWindow(GetDlgItem(hDlg,IDC_PORT2WR),FALSE);
|
||||||
EnableWindow(GetDlgItem(hDlg,IDC_PORT2),FALSE);
|
EnableWindow(GetDlgItem(hDlg,IDC_PORT2),FALSE);
|
||||||
EnableWindow(GetDlgItem(hDlg,IDC_PORT2LOAD),FALSE);
|
EnableWindow(GetDlgItem(hDlg,IDC_PORT2LOAD),FALSE);
|
||||||
if (cCurrentRomType=='X' || cCurrentRomType=='2' || cCurrentRomType=='Q') // HP49G/HP48GII/HP49G+ // CdB for HP: add Apples
|
|
||||||
{
|
|
||||||
SendDlgItemMessage(hDlg,IDC_IR,CB_RESETCONTENT,0,0);
|
|
||||||
EnableWindow(GetDlgItem(hDlg,IDC_IR),FALSE);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
return TRUE;
|
return TRUE;
|
||||||
case WM_COMMAND:
|
case WM_COMMAND:
|
||||||
switch (LOWORD(wParam))
|
switch (LOWORD(wParam))
|
||||||
{
|
{
|
||||||
case IDC_SOUND_SPEAKER:
|
|
||||||
EnableWindow(GetDlgItem(hDlg,IDC_SOUND_SLIDER),FALSE);
|
|
||||||
return TRUE;
|
|
||||||
case IDC_SOUND_WAVE:
|
|
||||||
EnableWindow(GetDlgItem(hDlg,IDC_SOUND_SLIDER),TRUE);
|
|
||||||
return TRUE;
|
|
||||||
case IDC_PORT2LOAD:
|
case IDC_PORT2LOAD:
|
||||||
if (GetLoadObjectFilename(_T(BIN_FILTER),_T("BIN")))
|
if (GetLoadObjectFilename(_T(BIN_FILTER),_T("BIN")))
|
||||||
{
|
{
|
||||||
|
@ -408,12 +427,17 @@ static INT_PTR CALLBACK SettingsProc(HWND hDlg, UINT message, WPARAM wParam, LPA
|
||||||
CheckDlgButton(hDlg,IDC_PORT2WR,IsFileWriteable(szBufferFilename));
|
CheckDlgButton(hDlg,IDC_PORT2WR,IsFileWriteable(szBufferFilename));
|
||||||
}
|
}
|
||||||
return TRUE;
|
return TRUE;
|
||||||
case IDOK:
|
}
|
||||||
|
break;
|
||||||
|
case WM_NOTIFY:
|
||||||
|
switch (((LPNMHDR) lParam)->code)
|
||||||
|
{
|
||||||
|
case PSN_KILLACTIVE:
|
||||||
if (Chipset.Port1Size && (cCurrentRomType!='X' || cCurrentRomType!='2' || cCurrentRomType!='Q')) // CdB for HP: add apples
|
if (Chipset.Port1Size && (cCurrentRomType!='X' || cCurrentRomType!='2' || cCurrentRomType!='Q')) // CdB for HP: add apples
|
||||||
{
|
{
|
||||||
UINT nOldState = SwitchToState(SM_SLEEP);
|
UINT nOldState = SwitchToState(SM_SLEEP);
|
||||||
// save old card status
|
// save old card status
|
||||||
BYTE bCardsStatus = Chipset.cards_status;
|
BYTE byCardsStatus = Chipset.cards_status;
|
||||||
|
|
||||||
// port1 disabled?
|
// port1 disabled?
|
||||||
Chipset.cards_status &= ~(PORT1_PRESENT | PORT1_WRITE);
|
Chipset.cards_status &= ~(PORT1_PRESENT | PORT1_WRITE);
|
||||||
|
@ -425,7 +449,7 @@ static INT_PTR CALLBACK SettingsProc(HWND hDlg, UINT message, WPARAM wParam, LPA
|
||||||
}
|
}
|
||||||
|
|
||||||
// changed card status in slot1?
|
// changed card status in slot1?
|
||||||
if ( ((bCardsStatus ^ Chipset.cards_status) & (PORT1_PRESENT | PORT1_WRITE)) != 0
|
if ( ((byCardsStatus ^ Chipset.cards_status) & (PORT1_PRESENT | PORT1_WRITE)) != 0
|
||||||
&& (Chipset.IORam[CARDCTL] & ECDT) != 0 && (Chipset.IORam[TIMER2_CTRL] & RUN) != 0
|
&& (Chipset.IORam[CARDCTL] & ECDT) != 0 && (Chipset.IORam[TIMER2_CTRL] & RUN) != 0
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
|
@ -470,23 +494,7 @@ static INT_PTR CALLBACK SettingsProc(HWND hDlg, UINT message, WPARAM wParam, LPA
|
||||||
bPort2CfgChange = TRUE; // slot2 configuration changed
|
bPort2CfgChange = TRUE; // slot2 configuration changed
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// get speed checkbox value
|
|
||||||
bRealSpeed = IsDlgButtonChecked(hDlg,IDC_REALSPEED);
|
|
||||||
bAlwaysOnTop = IsDlgButtonChecked(hDlg,IDC_ALWAYSONTOP);
|
|
||||||
bActFollowsMouse = IsDlgButtonChecked(hDlg,IDC_ACTFOLLOWSMOUSE);
|
|
||||||
bAutoSave = IsDlgButtonChecked(hDlg, IDC_AUTOSAVE);
|
|
||||||
bAutoSaveOnExit = IsDlgButtonChecked(hDlg, IDC_AUTOSAVEONEXIT);
|
|
||||||
bLoadObjectWarning = IsDlgButtonChecked(hDlg, IDC_OBJECTLOADWARNING);
|
|
||||||
bAlwaysDisplayLog = IsDlgButtonChecked(hDlg, IDC_ALWAYSDISPLOG);
|
|
||||||
SetSpeed(bRealSpeed); // set speed
|
|
||||||
// LCD grayscale checkbox has been changed
|
|
||||||
if (bGrayscale != (BOOL) IsDlgButtonChecked(hDlg,IDC_GRAYSCALE))
|
|
||||||
{
|
|
||||||
UINT nOldState = SwitchToState(SM_INVALID);
|
|
||||||
bGrayscale = !bGrayscale; // set new grayscale mode
|
|
||||||
UpdateContrast(Chipset.contrast); // update LCD color table for new mode
|
|
||||||
SwitchToState(nOldState);
|
|
||||||
}
|
|
||||||
if (bPort2CfgChange) // slot2 configuration changed
|
if (bPort2CfgChange) // slot2 configuration changed
|
||||||
{
|
{
|
||||||
UINT nOldState = SwitchToState(SM_INVALID);
|
UINT nOldState = SwitchToState(SM_INVALID);
|
||||||
|
@ -530,8 +538,63 @@ static INT_PTR CALLBACK SettingsProc(HWND hDlg, UINT message, WPARAM wParam, LPA
|
||||||
}
|
}
|
||||||
SwitchToState(nOldState);
|
SwitchToState(nOldState);
|
||||||
}
|
}
|
||||||
// set disassembler mode
|
return TRUE;
|
||||||
disassembler_mode = IsDlgButtonChecked(hDlg,IDC_DISASM_HP) ? HP_MNEMONICS : CLASS_MNEMONICS;
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
static BOOL CALLBACK SettingsPeripheralProc(HWND hDlg, UINT uMsg, DWORD wParam, LONG lParam)
|
||||||
|
{
|
||||||
|
TCHAR cPort[8];
|
||||||
|
|
||||||
|
switch (uMsg)
|
||||||
|
{
|
||||||
|
case WM_INITDIALOG:
|
||||||
|
// set sound slider
|
||||||
|
SendDlgItemMessage(hDlg,IDC_SOUND_SLIDER,TBM_SETRANGE,FALSE,MAKELONG(0,255));
|
||||||
|
SendDlgItemMessage(hDlg,IDC_SOUND_SLIDER,TBM_SETTICFREQ,256/8,0);
|
||||||
|
SendDlgItemMessage(hDlg,IDC_SOUND_SLIDER,TBM_SETPOS,TRUE,dwWaveVol);
|
||||||
|
|
||||||
|
// set sound radio button
|
||||||
|
CheckDlgButton(hDlg,bWaveBeep ? IDC_SOUND_WAVE : IDC_SOUND_SPEAKER,BST_CHECKED);
|
||||||
|
EnableWindow(GetDlgItem(hDlg,IDC_SOUND_SLIDER),bWaveBeep);
|
||||||
|
|
||||||
|
// UDP infrared printer settings
|
||||||
|
SetDlgItemText(hDlg,IDC_IR_ADDR,szUdpServer);
|
||||||
|
wsprintf(cPort,_T("%u"),wUdpPort);
|
||||||
|
SetDlgItemText(hDlg,IDC_IR_PORT,cPort);
|
||||||
|
|
||||||
|
// set combobox parameter
|
||||||
|
SetCommList(hDlg,szSerialWire,szSerialIr);
|
||||||
|
if (bCommInit) // disable when port open
|
||||||
|
{
|
||||||
|
EnableWindow(GetDlgItem(hDlg,IDC_WIRE),FALSE);
|
||||||
|
EnableWindow(GetDlgItem(hDlg,IDC_IR),FALSE);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (cCurrentRomType=='X' || cCurrentRomType=='2' || cCurrentRomType=='Q') // HP49G/HP48GII/HP49G+ // CdB for HP: add Apples
|
||||||
|
{
|
||||||
|
SendDlgItemMessage(hDlg,IDC_IR,CB_RESETCONTENT,0,0);
|
||||||
|
EnableWindow(GetDlgItem(hDlg,IDC_IR),FALSE);
|
||||||
|
}
|
||||||
|
return TRUE;
|
||||||
|
case WM_COMMAND:
|
||||||
|
switch (LOWORD(wParam))
|
||||||
|
{
|
||||||
|
case IDC_SOUND_SPEAKER:
|
||||||
|
EnableWindow(GetDlgItem(hDlg,IDC_SOUND_SLIDER),FALSE);
|
||||||
|
return TRUE;
|
||||||
|
case IDC_SOUND_WAVE:
|
||||||
|
EnableWindow(GetDlgItem(hDlg,IDC_SOUND_SLIDER),TRUE);
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case WM_NOTIFY:
|
||||||
|
switch (((LPNMHDR) lParam)->code)
|
||||||
|
{
|
||||||
|
case PSN_KILLACTIVE:
|
||||||
// set sound data
|
// set sound data
|
||||||
dwWaveVol = (DWORD) SendDlgItemMessage(hDlg,IDC_SOUND_SLIDER,TBM_GETPOS,0,0);
|
dwWaveVol = (DWORD) SendDlgItemMessage(hDlg,IDC_SOUND_SLIDER,TBM_GETPOS,0,0);
|
||||||
bWaveBeep = IsDlgButtonChecked(hDlg,IDC_SOUND_WAVE);
|
bWaveBeep = IsDlgButtonChecked(hDlg,IDC_SOUND_WAVE);
|
||||||
|
@ -545,24 +608,15 @@ static INT_PTR CALLBACK SettingsProc(HWND hDlg, UINT message, WPARAM wParam, LPA
|
||||||
// HP49G, 48GII, 49G+ Ir port is not connected
|
// HP49G, 48GII, 49G+ Ir port is not connected
|
||||||
if (cCurrentRomType!='X' && cCurrentRomType!='2' && cCurrentRomType!='Q') // HP49G/HP48GII/HP49G+ // CdB for HP: add Apples
|
if (cCurrentRomType!='X' && cCurrentRomType!='2' && cCurrentRomType!='Q') // HP49G/HP48GII/HP49G+ // CdB for HP: add Apples
|
||||||
GetDlgItemText(hDlg,IDC_IR,szSerialIr,ARRAYSIZEOF(szSerialIr));
|
GetDlgItemText(hDlg,IDC_IR,szSerialIr,ARRAYSIZEOF(szSerialIr));
|
||||||
// set window Z order
|
return TRUE;
|
||||||
hWndInsertAfter = bAlwaysOnTop ? HWND_TOPMOST : HWND_NOTOPMOST;
|
|
||||||
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);
|
|
||||||
}
|
|
||||||
// no break
|
|
||||||
case IDCANCEL:
|
|
||||||
EndDialog(hDlg, LOWORD(wParam));
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
return FALSE;
|
return FALSE;
|
||||||
UNREFERENCED_PARAMETER(lParam);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//################
|
//################
|
||||||
//#
|
//#
|
||||||
//# Save Helper
|
//# Save Helper
|
||||||
|
@ -770,7 +824,7 @@ static LRESULT OnInitMenu(HMENU hMenu)
|
||||||
//
|
//
|
||||||
// WM_DROPFILES
|
// WM_DROPFILES
|
||||||
//
|
//
|
||||||
static LRESULT OnDropFiles(HANDLE hFilesInfo)
|
static LRESULT OnDropFiles(HDROP hFilesInfo)
|
||||||
{
|
{
|
||||||
TCHAR szFileName[MAX_PATH];
|
TCHAR szFileName[MAX_PATH];
|
||||||
WORD wNumFiles,wIndex;
|
WORD wNumFiles,wIndex;
|
||||||
|
@ -993,9 +1047,9 @@ static LRESULT OnViewCopy(VOID)
|
||||||
_ASSERT(nLcdZoom == 1 || nLcdZoom == 2 || nLcdZoom == 4);
|
_ASSERT(nLcdZoom == 1 || nLcdZoom == 2 || nLcdZoom == 4);
|
||||||
hBmp = CreateCompatibleBitmap(hLcdDC,131*nLcdZoom,SCREENHEIGHT*nLcdZoom); // CdB for HP: add apples display stuff
|
hBmp = CreateCompatibleBitmap(hLcdDC,131*nLcdZoom,SCREENHEIGHT*nLcdZoom); // CdB for HP: add apples display stuff
|
||||||
hBmpDC = CreateCompatibleDC(hLcdDC);
|
hBmpDC = CreateCompatibleDC(hLcdDC);
|
||||||
hBmp = SelectObject(hBmpDC,hBmp);
|
hBmp = (HBITMAP) SelectObject(hBmpDC,hBmp);
|
||||||
StretchBlt(hBmpDC,0,0,131*nLcdZoom,SCREENHEIGHT*nLcdZoom,hLcdDC,0,0, 131, SCREENHEIGHT, SRCCOPY); // CdB for HP: add apples display stuff
|
StretchBlt(hBmpDC,0,0,131*nLcdZoom,SCREENHEIGHT*nLcdZoom,hLcdDC,0,0, 131, SCREENHEIGHT, SRCCOPY); // CdB for HP: add apples display stuff
|
||||||
hBmp = SelectObject(hBmpDC,hBmp);
|
hBmp = (HBITMAP) SelectObject(hBmpDC,hBmp);
|
||||||
|
|
||||||
// fill BITMAP structure for size information
|
// fill BITMAP structure for size information
|
||||||
GetObject(hBmp, sizeof(bm), &bm);
|
GetObject(hBmp, sizeof(bm), &bm);
|
||||||
|
@ -1024,7 +1078,7 @@ static LRESULT OnViewCopy(VOID)
|
||||||
// memory allocation for clipboard data
|
// memory allocation for clipboard data
|
||||||
if ((hClipObj = GlobalAlloc(GMEM_MOVEABLE, dwLen)) != NULL)
|
if ((hClipObj = GlobalAlloc(GMEM_MOVEABLE, dwLen)) != NULL)
|
||||||
{
|
{
|
||||||
lpbi = GlobalLock(hClipObj);
|
lpbi = (LPBITMAPINFOHEADER ) GlobalLock(hClipObj);
|
||||||
// initialize BITMAPINFOHEADER
|
// initialize BITMAPINFOHEADER
|
||||||
lpbi->biSize = sizeof(BITMAPINFOHEADER);
|
lpbi->biSize = sizeof(BITMAPINFOHEADER);
|
||||||
lpbi->biWidth = bm.bmWidth;
|
lpbi->biWidth = bm.bmWidth;
|
||||||
|
@ -1047,7 +1101,7 @@ static LRESULT OnViewCopy(VOID)
|
||||||
GetObject(hPalette,sizeof(WORD),&wBits);
|
GetObject(hPalette,sizeof(WORD),&wBits);
|
||||||
|
|
||||||
// memory allocation for temporary palette data
|
// memory allocation for temporary palette data
|
||||||
if ((ppal = calloc(sizeof(LOGPALETTE) + wBits * sizeof(PALETTEENTRY),1)) != NULL)
|
if ((ppal = (PLOGPALETTE) calloc(sizeof(LOGPALETTE) + wBits * sizeof(PALETTEENTRY),1)) != NULL)
|
||||||
{
|
{
|
||||||
ppal->palVersion = PALVERSION;
|
ppal->palVersion = PALVERSION;
|
||||||
ppal->palNumEntries = wBits;
|
ppal->palNumEntries = wBits;
|
||||||
|
@ -1098,13 +1152,80 @@ static LRESULT OnViewReset(VOID)
|
||||||
//
|
//
|
||||||
// ID_VIEW_SETTINGS
|
// ID_VIEW_SETTINGS
|
||||||
//
|
//
|
||||||
|
static INT_PTR CALLBACK PropSheetProc(HWND hwndPropSheet, UINT uMsg, LPARAM lParam)
|
||||||
|
{
|
||||||
|
switch(uMsg)
|
||||||
|
{
|
||||||
|
// called before the dialog is created, hwndPropSheet = NULL, lParam points to dialog resource
|
||||||
|
case PSCB_PRECREATE:
|
||||||
|
{
|
||||||
|
LPDLGTEMPLATE lpTemplate = (LPDLGTEMPLATE) lParam;
|
||||||
|
if(!(lpTemplate->style & WS_SYSMENU))
|
||||||
|
{
|
||||||
|
lpTemplate->style |= WS_SYSMENU;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
// called after the dialog is created
|
||||||
|
case PSCB_INITIALIZED:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
UNREFERENCED_PARAMETER(hwndPropSheet);
|
||||||
|
}
|
||||||
|
|
||||||
static LRESULT OnViewSettings(VOID)
|
static LRESULT OnViewSettings(VOID)
|
||||||
{
|
{
|
||||||
|
PROPSHEETPAGE psp[3];
|
||||||
|
PROPSHEETHEADER psh;
|
||||||
|
|
||||||
// not in nState = SM_INVALID or port2 file must be closed from document
|
// not in nState = SM_INVALID or port2 file must be closed from document
|
||||||
_ASSERT(nState != SM_INVALID || pbyPort2 == NULL);
|
_ASSERT(nState != SM_INVALID || pbyPort2 == NULL);
|
||||||
|
|
||||||
if (DialogBox(hApp, MAKEINTRESOURCE(IDD_SETTINGS), hWnd, (DLGPROC)SettingsProc) == -1)
|
psp[0].dwSize = sizeof(PROPSHEETPAGE);
|
||||||
AbortMessage(_T("Settings Dialog Creation Error !"));
|
psp[0].dwFlags = PSP_DEFAULT;
|
||||||
|
psp[0].hInstance = hApp;
|
||||||
|
psp[0].pszTemplate = MAKEINTRESOURCE(IDD_SET_GENERAL);
|
||||||
|
psp[0].hIcon = NULL;
|
||||||
|
psp[0].pszTitle = NULL;
|
||||||
|
psp[0].pfnDlgProc = (DLGPROC) SettingsGeneralProc;
|
||||||
|
psp[0].lParam = 0;
|
||||||
|
psp[0].pfnCallback = NULL;
|
||||||
|
|
||||||
|
psp[1].dwSize = sizeof(PROPSHEETPAGE);
|
||||||
|
psp[1].dwFlags = PSP_DEFAULT;
|
||||||
|
psp[1].hInstance = hApp;
|
||||||
|
psp[1].pszTemplate = MAKEINTRESOURCE(IDD_SET_MEMORY);
|
||||||
|
psp[1].hIcon = NULL;
|
||||||
|
psp[1].pszTitle = NULL;
|
||||||
|
psp[1].pfnDlgProc = (DLGPROC) SettingsMemoryProc;
|
||||||
|
psp[1].lParam = 0;
|
||||||
|
psp[1].pfnCallback = NULL;
|
||||||
|
|
||||||
|
psp[2].dwSize = sizeof(PROPSHEETPAGE);
|
||||||
|
psp[2].dwFlags = PSP_DEFAULT;
|
||||||
|
psp[2].hInstance = hApp;
|
||||||
|
psp[2].pszTemplate = MAKEINTRESOURCE(IDD_SET_PERIPHERAL);
|
||||||
|
psp[2].hIcon = NULL;
|
||||||
|
psp[2].pszTitle = NULL;
|
||||||
|
psp[2].pfnDlgProc = (DLGPROC) SettingsPeripheralProc;
|
||||||
|
psp[2].lParam = 0;
|
||||||
|
psp[2].pfnCallback = NULL;
|
||||||
|
|
||||||
|
psh.dwSize = sizeof(PROPSHEETHEADER);
|
||||||
|
psh.dwFlags = PSH_PROPSHEETPAGE | PSH_USECALLBACK | PSH_NOAPPLYNOW;
|
||||||
|
psh.hwndParent = hWnd;
|
||||||
|
psh.hInstance = hApp;
|
||||||
|
psh.hIcon = NULL;
|
||||||
|
psh.pszCaption = _T("Settings");
|
||||||
|
psh.nPages = ARRAYSIZEOF(psp);
|
||||||
|
psh.nStartPage = 0;
|
||||||
|
psh.ppsp = (LPCPROPSHEETPAGE) &psp;
|
||||||
|
psh.pfnCallback = (PFNPROPSHEETCALLBACK) PropSheetProc;
|
||||||
|
|
||||||
|
if (PropertySheet(&psh) == -1)
|
||||||
|
AbortMessage(_T("Settings Property Sheet Creation Error!"));
|
||||||
|
|
||||||
WriteSettings();
|
WriteSettings();
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -1164,6 +1285,13 @@ static LRESULT OnViewScript(VOID)
|
||||||
|
|
||||||
if (bSucc)
|
if (bSucc)
|
||||||
{
|
{
|
||||||
|
if (Chipset.wRomCrc != wRomCrc) // ROM changed
|
||||||
|
{
|
||||||
|
CpuReset();
|
||||||
|
Chipset.Shutdn = FALSE; // automatic restart
|
||||||
|
|
||||||
|
Chipset.wRomCrc = wRomCrc; // update current ROM fingerprint
|
||||||
|
}
|
||||||
if (pbyRom) SwitchToState(SM_RUN); // continue emulation
|
if (pbyRom) SwitchToState(SM_RUN); // continue emulation
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -1538,6 +1666,64 @@ static LRESULT OnKeyUp(int nVirtKey, LPARAM lKeyData)
|
||||||
UNREFERENCED_PARAMETER(lKeyData);
|
UNREFERENCED_PARAMETER(lKeyData);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static LRESULT OnCopyData(PCOPYDATASTRUCT psCDS)
|
||||||
|
{
|
||||||
|
switch (psCDS->dwData)
|
||||||
|
{
|
||||||
|
case CDID_FILENAME:
|
||||||
|
// current instance has document loaded and got a wide-character file name
|
||||||
|
if (bDocumentAvail && psCDS->cbData > 0 && psCDS->lpData != NULL)
|
||||||
|
{
|
||||||
|
TCHAR szActFilename[MAX_PATH];
|
||||||
|
LPTSTR lpFilePart; // address of file name in path
|
||||||
|
|
||||||
|
#if defined _UNICODE
|
||||||
|
{
|
||||||
|
// get full path file name for requested state file
|
||||||
|
GetFullPathName((LPCTSTR) psCDS->lpData,ARRAYSIZEOF(szBufferFilename),szBufferFilename,&lpFilePart);
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
{
|
||||||
|
CHAR szAscFilename[MAX_PATH];
|
||||||
|
|
||||||
|
WideCharToMultiByte(CP_ACP, WC_COMPOSITECHECK,
|
||||||
|
(LPCWSTR) psCDS->lpData, -1,
|
||||||
|
szAscFilename, ARRAYSIZEOF(szAscFilename), NULL, NULL);
|
||||||
|
|
||||||
|
// get full path file name for requested state file
|
||||||
|
GetFullPathName(szAscFilename,ARRAYSIZEOF(szBufferFilename),szBufferFilename,&lpFilePart);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// get full path file name for actual state file
|
||||||
|
GetFullPathName(szCurrentFilename,ARRAYSIZEOF(szActFilename),szActFilename,&lpFilePart);
|
||||||
|
|
||||||
|
// check if both file names are unequal
|
||||||
|
if (lstrcmpi(szBufferFilename,szActFilename) != 0)
|
||||||
|
{
|
||||||
|
UINT nCurState;
|
||||||
|
|
||||||
|
if (pbyRom)
|
||||||
|
{
|
||||||
|
nCurState = SwitchToState(SM_INVALID);
|
||||||
|
if (IDCANCEL == SaveChanges(bAutoSave))
|
||||||
|
goto cancel;
|
||||||
|
}
|
||||||
|
if (OpenDocument(szBufferFilename)) // open new file
|
||||||
|
{
|
||||||
|
MruAdd(szBufferFilename);
|
||||||
|
}
|
||||||
|
cancel:
|
||||||
|
if (pbyRom) SwitchToState(nCurState);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
return FALSE; // message not processed
|
||||||
|
}
|
||||||
|
return TRUE; // message processed
|
||||||
|
}
|
||||||
|
|
||||||
LRESULT CALLBACK MainWndProc(HWND hWindow, UINT uMsg, WPARAM wParam, LPARAM lParam)
|
LRESULT CALLBACK MainWndProc(HWND hWindow, UINT uMsg, WPARAM wParam, LPARAM lParam)
|
||||||
{
|
{
|
||||||
switch (uMsg)
|
switch (uMsg)
|
||||||
|
@ -1546,7 +1732,7 @@ LRESULT CALLBACK MainWndProc(HWND hWindow, UINT uMsg, WPARAM wParam, LPARAM lPar
|
||||||
case WM_DESTROY: return OnDestroy(hWindow);
|
case WM_DESTROY: return OnDestroy(hWindow);
|
||||||
case WM_PAINT: return OnPaint(hWindow);
|
case WM_PAINT: return OnPaint(hWindow);
|
||||||
case WM_INITMENU: return OnInitMenu((HMENU) wParam);
|
case WM_INITMENU: return OnInitMenu((HMENU) wParam);
|
||||||
case WM_DROPFILES: return OnDropFiles((HANDLE) wParam);
|
case WM_DROPFILES: return OnDropFiles((HDROP) wParam);
|
||||||
case WM_ACTIVATE:
|
case WM_ACTIVATE:
|
||||||
if (LOWORD(wParam)==WA_INACTIVE) break;
|
if (LOWORD(wParam)==WA_INACTIVE) break;
|
||||||
case WM_QUERYNEWPALETTE:
|
case WM_QUERYNEWPALETTE:
|
||||||
|
@ -1618,6 +1804,9 @@ LRESULT CALLBACK MainWndProc(HWND hWindow, UINT uMsg, WPARAM wParam, LPARAM lPar
|
||||||
case WM_NCMOUSEMOVE: return OnNcMouseMove((UINT) wParam, LOWORD(lParam), HIWORD(lParam));
|
case WM_NCMOUSEMOVE: return OnNcMouseMove((UINT) wParam, LOWORD(lParam), HIWORD(lParam));
|
||||||
case WM_KEYUP: return OnKeyUp((int)wParam, lParam);
|
case WM_KEYUP: return OnKeyUp((int)wParam, lParam);
|
||||||
case WM_KEYDOWN: return OnKeyDown((int)wParam, lParam);
|
case WM_KEYDOWN: return OnKeyDown((int)wParam, lParam);
|
||||||
|
#if !defined _USRDLL // not in DLL version
|
||||||
|
case WM_COPYDATA: return OnCopyData((PCOPYDATASTRUCT) lParam);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
return DefWindowProc(hWindow, uMsg, wParam, lParam);
|
return DefWindowProc(hWindow, uMsg, wParam, lParam);
|
||||||
}
|
}
|
||||||
|
@ -1630,13 +1819,14 @@ int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrevInst, LPSTR lpCmdLine, int nC
|
||||||
RECT rectWindow;
|
RECT rectWindow;
|
||||||
HACCEL hAccel;
|
HACCEL hAccel;
|
||||||
HSZ hszService, hszTopic; // variables for DDE server
|
HSZ hszService, hszTopic; // variables for DDE server
|
||||||
|
DWORD dwThreadId;
|
||||||
DWORD_PTR dwAffMask;
|
DWORD_PTR dwAffMask;
|
||||||
LPTSTR lpFilePart;
|
LPTSTR lpFilePart;
|
||||||
|
|
||||||
hApp = hInst;
|
hApp = hInst;
|
||||||
#if defined _UNICODE
|
#if defined _UNICODE
|
||||||
{
|
{
|
||||||
ppArgv = CommandLineToArgvW(GetCommandLine(),&nArgc);
|
ppArgv = (LPCTSTR*) CommandLineToArgvW(GetCommandLine(),&nArgc);
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
{
|
{
|
||||||
|
@ -1671,12 +1861,55 @@ int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrevInst, LPSTR lpCmdLine, int nC
|
||||||
// running an instance of me?
|
// running an instance of me?
|
||||||
if (bSingleInstance && (hWnd = FindWindow(MAKEINTATOM(classAtom),NULL)) != NULL)
|
if (bSingleInstance && (hWnd = FindWindow(MAKEINTATOM(classAtom),NULL)) != NULL)
|
||||||
{
|
{
|
||||||
|
COPYDATASTRUCT sCDS;
|
||||||
|
|
||||||
if (IsIconic(hWnd)) // window minimized
|
if (IsIconic(hWnd)) // window minimized
|
||||||
ShowWindow(hWnd,SW_RESTORE); // show window
|
ShowWindow(hWnd,SW_RESTORE); // show window
|
||||||
|
|
||||||
// put the window into foreground
|
// put the window into foreground
|
||||||
ForceForegroundWindow(GetLastActivePopup(hWnd));
|
ForceForegroundWindow(GetLastActivePopup(hWnd));
|
||||||
return 0; // quit
|
|
||||||
|
if (nArgc >= 2) // use decoded parameter line
|
||||||
|
{
|
||||||
|
LPTSTR lpFilePart; // address of file name in path
|
||||||
|
DWORD dwLength; // file name length
|
||||||
|
|
||||||
|
// get full path file name
|
||||||
|
GetFullPathName(ppArgv[1],ARRAYSIZEOF(szBufferFilename),szBufferFilename,&lpFilePart);
|
||||||
|
|
||||||
|
// size of file name incl. EOS
|
||||||
|
dwLength = lstrlen(szBufferFilename) + 1;
|
||||||
|
sCDS.cbData = dwLength * sizeof(WCHAR);
|
||||||
|
|
||||||
|
#if defined _UNICODE
|
||||||
|
{
|
||||||
|
sCDS.lpData = szBufferFilename;
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
{
|
||||||
|
sCDS.lpData = _alloca(sCDS.cbData);
|
||||||
|
if (sCDS.lpData != NULL)
|
||||||
|
{
|
||||||
|
MultiByteToWideChar(CP_ACP, MB_PRECOMPOSED, szBufferFilename, dwLength,
|
||||||
|
(LPWSTR) sCDS.lpData, sCDS.cbData);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
sCDS.cbData = 0; // size of file name
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
sCDS.lpData = NULL; // file name
|
||||||
|
sCDS.cbData = 0; // size of file name
|
||||||
|
}
|
||||||
|
|
||||||
|
// fill the COPYDATA structure and send file name to other instance
|
||||||
|
sCDS.dwData = CDID_FILENAME; // function identifier
|
||||||
|
SendMessage(hWnd,WM_COPYDATA,(WPARAM) NULL,(LPARAM) &sCDS);
|
||||||
|
return 0; // quit program
|
||||||
}
|
}
|
||||||
|
|
||||||
// Create window
|
// Create window
|
||||||
|
@ -1720,7 +1953,7 @@ int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrevInst, LPSTR lpCmdLine, int nC
|
||||||
|
|
||||||
nState = SM_RUN; // init state must be <> nNextState
|
nState = SM_RUN; // init state must be <> nNextState
|
||||||
nNextState = SM_INVALID; // go into invalid state
|
nNextState = SM_INVALID; // go into invalid state
|
||||||
hThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)&WorkerThread, NULL, CREATE_SUSPENDED, &lThreadId);
|
hThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)&WorkerThread, NULL, CREATE_SUSPENDED, &dwThreadId);
|
||||||
if (hThread == NULL)
|
if (hThread == NULL)
|
||||||
{
|
{
|
||||||
CloseHandle(hEventShutdn); // close event handle
|
CloseHandle(hEventShutdn); // close event handle
|
|
@ -57,6 +57,11 @@
|
||||||
#define DISP_MENUE 0x04
|
#define DISP_MENUE 0x04
|
||||||
#define DISP_ANNUN 0x08
|
#define DISP_ANNUN 0x08
|
||||||
|
|
||||||
|
#define ROMPAGESIZE (1<<12) // ROM dirty page size in nibbles
|
||||||
|
|
||||||
|
// WM_COPYDATA identifier
|
||||||
|
#define CDID_FILENAME 1 // send file name
|
||||||
|
|
||||||
// macro to check for valid calculator model
|
// macro to check for valid calculator model
|
||||||
#define isModelValid(m) (m != 0 && strchr(MODELS,m) != NULL)
|
#define isModelValid(m) (m != 0 && strchr(MODELS,m) != NULL)
|
||||||
#define isModelApple(m) (m != 0 && strchr(APPLEHARD,m) != NULL)
|
#define isModelApple(m) (m != 0 && strchr(APPLEHARD,m) != NULL)
|
||||||
|
@ -97,6 +102,7 @@ extern HWND hDlgProfile;
|
||||||
extern HDC hWindowDC;
|
extern HDC hWindowDC;
|
||||||
extern HCURSOR hCursorArrow;
|
extern HCURSOR hCursorArrow;
|
||||||
extern HCURSOR hCursorHand;
|
extern HCURSOR hCursorHand;
|
||||||
|
extern UINT uWaveDevId;
|
||||||
extern DWORD dwWakeupDelay;
|
extern DWORD dwWakeupDelay;
|
||||||
extern BOOL bAutoSave;
|
extern BOOL bAutoSave;
|
||||||
extern BOOL bAutoSaveOnExit;
|
extern BOOL bAutoSaveOnExit;
|
||||||
|
@ -108,7 +114,6 @@ extern BOOL bAlwaysOnTop;
|
||||||
extern BOOL bActFollowsMouse;
|
extern BOOL bActFollowsMouse;
|
||||||
extern BOOL bSingleInstance;
|
extern BOOL bSingleInstance;
|
||||||
extern HANDLE hThread;
|
extern HANDLE hThread;
|
||||||
extern DWORD lThreadId;
|
|
||||||
extern VOID SetWindowTitle(LPCTSTR szString);
|
extern VOID SetWindowTitle(LPCTSTR szString);
|
||||||
extern VOID CopyItemsToClipboard(HWND hWnd);
|
extern VOID CopyItemsToClipboard(HWND hWnd);
|
||||||
extern VOID ForceForegroundWindow(HWND hWnd);
|
extern VOID ForceForegroundWindow(HWND hWnd);
|
||||||
|
@ -168,8 +173,10 @@ extern VOID StopDisplay(VOID);
|
||||||
extern BOOL bInterrupt;
|
extern BOOL bInterrupt;
|
||||||
extern UINT nState;
|
extern UINT nState;
|
||||||
extern UINT nNextState;
|
extern UINT nNextState;
|
||||||
|
extern BOOL bEnableSlow;
|
||||||
extern BOOL bRealSpeed;
|
extern BOOL bRealSpeed;
|
||||||
extern BOOL bKeySlow;
|
extern BOOL bKeySlow;
|
||||||
|
extern BOOL bSoundSlow;
|
||||||
extern UINT nOpcSlow;
|
extern UINT nOpcSlow;
|
||||||
extern BOOL bCommInit;
|
extern BOOL bCommInit;
|
||||||
extern BOOL bGrayscale;
|
extern BOOL bGrayscale;
|
||||||
|
@ -228,6 +235,8 @@ extern LPBYTE Port2;
|
||||||
extern LPBYTE pbyRom;
|
extern LPBYTE pbyRom;
|
||||||
extern BOOL bRomWriteable;
|
extern BOOL bRomWriteable;
|
||||||
extern DWORD dwRomSize;
|
extern DWORD dwRomSize;
|
||||||
|
extern LPBYTE pbyRomDirtyPage;
|
||||||
|
extern DWORD dwRomDirtyPageSize;
|
||||||
extern WORD wRomCrc;
|
extern WORD wRomCrc;
|
||||||
extern LPBYTE pbyPort2;
|
extern LPBYTE pbyPort2;
|
||||||
extern BOOL bPort2Writeable;
|
extern BOOL bPort2Writeable;
|
||||||
|
@ -344,6 +353,13 @@ extern DWORD dwWaveVol;
|
||||||
extern VOID External(CHIPSET* w);
|
extern VOID External(CHIPSET* w);
|
||||||
extern VOID RCKBp(CHIPSET* w);
|
extern VOID RCKBp(CHIPSET* w);
|
||||||
|
|
||||||
|
// Sound.c
|
||||||
|
#define SoundAvailable(a) FALSE
|
||||||
|
#define SoundGetDeviceID(a) FALSE
|
||||||
|
#define SoundOpen(a) FALSE
|
||||||
|
#define SoundClose()
|
||||||
|
#define SoundOut(a,b)
|
||||||
|
|
||||||
// DDEserv.c
|
// DDEserv.c
|
||||||
extern HDDEDATA CALLBACK DdeCallback(UINT, UINT, HCONV, HSZ, HSZ, HDDEDATA, DWORD, DWORD);
|
extern HDDEDATA CALLBACK DdeCallback(UINT, UINT, HCONV, HSZ, HSZ, HDDEDATA, DWORD, DWORD);
|
||||||
|
|
||||||
|
@ -401,7 +417,7 @@ static __inline int YesNoCancelMessage(LPCTSTR szMessage,UINT uStyle) {return Me
|
||||||
static __inline LPTSTR DuplicateString(LPCTSTR szString)
|
static __inline LPTSTR DuplicateString(LPCTSTR szString)
|
||||||
{
|
{
|
||||||
UINT uLength = lstrlen(szString) + 1;
|
UINT uLength = lstrlen(szString) + 1;
|
||||||
LPTSTR szDup = malloc(uLength*sizeof(szDup[0]));
|
LPTSTR szDup = (LPTSTR) malloc(uLength*sizeof(szDup[0]));
|
||||||
lstrcpy(szDup,szString);
|
lstrcpy(szDup,szString);
|
||||||
return szDup;
|
return szDup;
|
||||||
}
|
}
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
|
@ -69,12 +69,40 @@ BEGIN
|
||||||
BOTTOMMARGIN, 145
|
BOTTOMMARGIN, 145
|
||||||
END
|
END
|
||||||
|
|
||||||
IDD_SETTINGS, DIALOG
|
IDD_SET_GENERAL, DIALOG
|
||||||
BEGIN
|
BEGIN
|
||||||
LEFTMARGIN, 7
|
LEFTMARGIN, 7
|
||||||
RIGHTMARGIN, 160
|
RIGHTMARGIN, 244
|
||||||
TOPMARGIN, 4
|
VERTGUIDE, 14
|
||||||
BOTTOMMARGIN, 319
|
VERTGUIDE, 161
|
||||||
|
VERTGUIDE, 168
|
||||||
|
VERTGUIDE, 237
|
||||||
|
TOPMARGIN, 7
|
||||||
|
BOTTOMMARGIN, 127
|
||||||
|
END
|
||||||
|
|
||||||
|
IDD_SET_MEMORY, DIALOG
|
||||||
|
BEGIN
|
||||||
|
LEFTMARGIN, 7
|
||||||
|
RIGHTMARGIN, 244
|
||||||
|
VERTGUIDE, 14
|
||||||
|
VERTGUIDE, 237
|
||||||
|
TOPMARGIN, 7
|
||||||
|
BOTTOMMARGIN, 127
|
||||||
|
END
|
||||||
|
|
||||||
|
IDD_SET_PERIPHERAL, DIALOG
|
||||||
|
BEGIN
|
||||||
|
LEFTMARGIN, 7
|
||||||
|
RIGHTMARGIN, 244
|
||||||
|
VERTGUIDE, 14
|
||||||
|
VERTGUIDE, 147
|
||||||
|
VERTGUIDE, 154
|
||||||
|
VERTGUIDE, 161
|
||||||
|
VERTGUIDE, 237
|
||||||
|
TOPMARGIN, 7
|
||||||
|
BOTTOMMARGIN, 127
|
||||||
|
HORZGUIDE, 82
|
||||||
END
|
END
|
||||||
|
|
||||||
IDD_CHOOSEKML, DIALOG
|
IDD_CHOOSEKML, DIALOG
|
||||||
|
@ -250,74 +278,88 @@ FONT 8, "MS Sans Serif"
|
||||||
BEGIN
|
BEGIN
|
||||||
ICON IDI_EMU48,IDC_STATIC,7,6,20,20,SS_REALSIZEIMAGE
|
ICON IDI_EMU48,IDC_STATIC,7,6,20,20,SS_REALSIZEIMAGE
|
||||||
LTEXT "",IDC_VERSION,29,6,151,8,NOT WS_GROUP
|
LTEXT "",IDC_VERSION,29,6,151,8,NOT WS_GROUP
|
||||||
LTEXT "Copyright © 2012 Christoph Gießelink && Sébastien Carlier",
|
LTEXT "Copyright © 2013 Christoph Gießelink && Sébastien Carlier",
|
||||||
IDC_STATIC,29,18,181,8
|
IDC_STATIC,29,18,181,8
|
||||||
DEFPUSHBUTTON "OK",IDOK,215,12,39,14
|
DEFPUSHBUTTON "OK",IDOK,215,12,39,14
|
||||||
EDITTEXT IDC_LICENSE,7,33,247,112,ES_MULTILINE | ES_AUTOHSCROLL |
|
EDITTEXT IDC_LICENSE,7,33,247,112,ES_MULTILINE | ES_AUTOHSCROLL |
|
||||||
ES_READONLY
|
ES_READONLY
|
||||||
END
|
END
|
||||||
|
|
||||||
IDD_SETTINGS DIALOG DISCARDABLE 0, 0, 167, 326
|
IDD_SET_GENERAL DIALOG DISCARDABLE 0, 0, 251, 134
|
||||||
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
STYLE WS_CHILD | WS_VISIBLE | WS_CAPTION
|
||||||
CAPTION "Settings"
|
CAPTION "General"
|
||||||
FONT 8, "MS Sans Serif"
|
FONT 8, "MS Sans Serif"
|
||||||
BEGIN
|
BEGIN
|
||||||
CONTROL "Authentic Calculator Speed",IDC_REALSPEED,"Button",
|
CONTROL "Authentic Calculator Speed",IDC_REALSPEED,"Button",
|
||||||
BS_AUTOCHECKBOX | WS_TABSTOP,13,13,100,10
|
BS_AUTOCHECKBOX | WS_TABSTOP,14,17,133,10
|
||||||
CONTROL "Enable Virtual LCD Delay",IDC_GRAYSCALE,"Button",
|
CONTROL "Enable Virtual LCD Delay",IDC_GRAYSCALE,"Button",
|
||||||
BS_AUTOCHECKBOX | WS_TABSTOP,13,25,100,10
|
BS_AUTOCHECKBOX | WS_TABSTOP,14,28,133,10
|
||||||
CONTROL "Always On Top",IDC_ALWAYSONTOP,"Button",BS_AUTOCHECKBOX |
|
CONTROL "Always On Top",IDC_ALWAYSONTOP,"Button",BS_AUTOCHECKBOX |
|
||||||
WS_TABSTOP,13,37,65,10
|
WS_TABSTOP,14,40,133,10
|
||||||
CONTROL "Activation Follows Mouse",IDC_ACTFOLLOWSMOUSE,"Button",
|
CONTROL "Activation Follows Mouse",IDC_ACTFOLLOWSMOUSE,"Button",
|
||||||
BS_AUTOCHECKBOX | WS_TABSTOP,13,49,100,10
|
BS_AUTOCHECKBOX | WS_TABSTOP,14,52,133,10
|
||||||
|
CONTROL "Single Instance",IDC_SINGLEINSTANCE,"Button",
|
||||||
|
BS_AUTOCHECKBOX | WS_TABSTOP,14,64,133,10
|
||||||
CONTROL "Automatically Save Files",IDC_AUTOSAVE,"Button",
|
CONTROL "Automatically Save Files",IDC_AUTOSAVE,"Button",
|
||||||
BS_AUTOCHECKBOX | WS_TABSTOP,13,61,89,10
|
BS_AUTOCHECKBOX | WS_TABSTOP,14,76,133,10
|
||||||
CONTROL "Automatically Save Files On Exit",IDC_AUTOSAVEONEXIT,
|
CONTROL "Automatically Save Files On Exit",IDC_AUTOSAVEONEXIT,
|
||||||
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,73,114,10
|
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,88,133,10
|
||||||
CONTROL "Show Load Object Warning",IDC_OBJECTLOADWARNING,"Button",
|
CONTROL "Show Load Object Warning",IDC_OBJECTLOADWARNING,"Button",
|
||||||
BS_AUTOCHECKBOX | WS_TABSTOP,13,85,102,10
|
BS_AUTOCHECKBOX | WS_TABSTOP,14,100,133,10
|
||||||
CONTROL "Always Show KML Compilation Result",IDC_ALWAYSDISPLOG,
|
CONTROL "Always Show KML Compilation Result",IDC_ALWAYSDISPLOG,
|
||||||
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,97,133,10
|
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,112,133,10
|
||||||
GROUPBOX "General",IDC_STATIC,7,4,153,107
|
GROUPBOX "General",IDC_STATIC,7,7,148,120
|
||||||
CONTROL "HP Mnemonics",IDC_DISASM_HP,"Button",BS_AUTORADIOBUTTON |
|
CONTROL "HP Mnemonics",IDC_DISASM_HP,"Button",BS_AUTORADIOBUTTON |
|
||||||
WS_GROUP | WS_TABSTOP,13,123,65,11
|
WS_GROUP | WS_TABSTOP,168,21,69,11
|
||||||
CONTROL "Class Mnemonics",IDC_DISASM_CLASS,"Button",
|
CONTROL "Class Mnemonics",IDC_DISASM_CLASS,"Button",
|
||||||
BS_AUTORADIOBUTTON,84,123,70,11
|
BS_AUTORADIOBUTTON,168,35,69,11
|
||||||
GROUPBOX "Disassembler",IDC_STATIC,7,114,153,26
|
GROUPBOX "Disassembler",IDC_STATIC,161,7,83,120
|
||||||
LTEXT "Volume",IDC_STATIC,13,156,24,8
|
END
|
||||||
CONTROL "Slider1",IDC_SOUND_SLIDER,"msctls_trackbar32",
|
|
||||||
TBS_AUTOTICKS | WS_TABSTOP,39,151,68,18
|
IDD_SET_MEMORY DIALOG DISCARDABLE 0, 0, 251, 134
|
||||||
CONTROL "Speaker",IDC_SOUND_SPEAKER,"Button",BS_AUTORADIOBUTTON |
|
STYLE WS_CHILD | WS_VISIBLE | WS_CAPTION
|
||||||
WS_GROUP | WS_TABSTOP,111,150,43,10
|
CAPTION "Memory"
|
||||||
CONTROL "Wave",IDC_SOUND_WAVE,"Button",BS_AUTORADIOBUTTON,111,
|
FONT 8, "MS Sans Serif"
|
||||||
161,43,10
|
BEGIN
|
||||||
GROUPBOX "Sound",IDC_STATIC,7,142,153,34
|
|
||||||
CONTROL "Port 1 is Plugged",IDC_PORT1EN,"Button",BS_AUTOCHECKBOX |
|
CONTROL "Port 1 is Plugged",IDC_PORT1EN,"Button",BS_AUTOCHECKBOX |
|
||||||
WS_TABSTOP,13,187,67,10
|
WS_TABSTOP,14,20,67,10
|
||||||
CONTROL "Port 1 is Writeable",IDC_PORT1WR,"Button",
|
CONTROL "Port 1 is Writeable",IDC_PORT1WR,"Button",
|
||||||
BS_AUTOCHECKBOX | WS_TABSTOP,84,187,69,10
|
BS_AUTOCHECKBOX | WS_TABSTOP,124,20,69,10
|
||||||
CONTROL "Port 2 is Shared",IDC_PORT2ISSHARED,"Button",
|
CONTROL "Port 2 is Shared",IDC_PORT2ISSHARED,"Button",
|
||||||
BS_AUTOCHECKBOX | WS_TABSTOP,13,199,65,10
|
BS_AUTOCHECKBOX | WS_TABSTOP,14,32,65,10
|
||||||
CONTROL "Port 2 is Writeable",IDC_PORT2WR,"Button",
|
CONTROL "Port 2 is Writeable",IDC_PORT2WR,"Button",
|
||||||
BS_AUTOCHECKBOX | WS_TABSTOP,84,199,69,10
|
BS_AUTOCHECKBOX | WS_TABSTOP,124,32,69,10
|
||||||
LTEXT "Port 2 File :",IDC_STATIC,13,214,37,8
|
LTEXT "Port 2 File :",IDC_STATIC,14,47,37,8
|
||||||
EDITTEXT IDC_PORT2,51,212,94,12,ES_AUTOHSCROLL
|
EDITTEXT IDC_PORT2,52,45,175,12,ES_AUTOHSCROLL
|
||||||
PUSHBUTTON "...",IDC_PORT2LOAD,145,212,10,12
|
PUSHBUTTON "...",IDC_PORT2LOAD,227,45,10,12
|
||||||
GROUPBOX "Memory Cards",IDC_STATIC,7,178,153,51
|
GROUPBOX "Memory Cards",IDC_STATIC,7,7,237,58
|
||||||
LTEXT "IP Address:",IDC_STATIC,13,242,37,8
|
END
|
||||||
LTEXT "Port:",IDC_STATIC,126,242,16,8
|
|
||||||
EDITTEXT IDC_IR_ADDR,13,252,110,12,ES_AUTOHSCROLL
|
IDD_SET_PERIPHERAL DIALOG DISCARDABLE 0, 0, 251, 134
|
||||||
EDITTEXT IDC_IR_PORT,126,252,28,12,ES_NUMBER
|
STYLE WS_CHILD | WS_VISIBLE | WS_CAPTION
|
||||||
GROUPBOX "Infrared Printer",IDC_STATIC,7,232,153,38
|
CAPTION "Peripheral"
|
||||||
LTEXT "Wire:",IDC_STATIC,13,284,17,8
|
FONT 8, "MS Sans Serif"
|
||||||
COMBOBOX IDC_WIRE,31,282,48,42,CBS_DROPDOWNLIST | WS_VSCROLL |
|
BEGIN
|
||||||
|
LTEXT "Volume",IDC_STATIC,14,21,24,8
|
||||||
|
CONTROL "Slider1",IDC_SOUND_SLIDER,"msctls_trackbar32",
|
||||||
|
TBS_AUTOTICKS | WS_TABSTOP,40,16,84,18
|
||||||
|
CONTROL "Speaker",IDC_SOUND_SPEAKER,"Button",BS_AUTORADIOBUTTON |
|
||||||
|
WS_GROUP | WS_TABSTOP,135,20,43,10
|
||||||
|
CONTROL "Wave",IDC_SOUND_WAVE,"Button",BS_AUTORADIOBUTTON,194,20,
|
||||||
|
43,10
|
||||||
|
GROUPBOX "Sound",IDC_STATIC,7,7,237,34
|
||||||
|
LTEXT "IP Address:",IDC_STATIC,14,60,37,8
|
||||||
|
LTEXT "Port:",IDC_STATIC,119,60,16,8
|
||||||
|
EDITTEXT IDC_IR_ADDR,14,70,101,12,ES_AUTOHSCROLL
|
||||||
|
EDITTEXT IDC_IR_PORT,119,70,28,12,ES_NUMBER
|
||||||
|
GROUPBOX "Infrared Printer",IDC_STATIC,7,43,147,50
|
||||||
|
LTEXT "Wire:",IDC_STATIC,168,58,17,8
|
||||||
|
COMBOBOX IDC_WIRE,189,56,48,42,CBS_DROPDOWNLIST | WS_VSCROLL |
|
||||||
WS_TABSTOP
|
WS_TABSTOP
|
||||||
LTEXT "IR:",IDC_STATIC,89,284,9,8
|
LTEXT "IR:",IDC_STATIC,168,74,9,8
|
||||||
COMBOBOX IDC_IR,107,282,48,43,CBS_DROPDOWNLIST | WS_VSCROLL |
|
COMBOBOX IDC_IR,189,72,48,43,CBS_DROPDOWNLIST | WS_VSCROLL |
|
||||||
WS_TABSTOP
|
WS_TABSTOP
|
||||||
GROUPBOX "Serial Ports",IDC_STATIC,7,272,153,27
|
GROUPBOX "Serial Ports",IDC_STATIC,161,43,83,50
|
||||||
DEFPUSHBUTTON "OK",IDOK,9,305,50,14
|
|
||||||
PUSHBUTTON "Cancel",IDCANCEL,107,305,50,14
|
|
||||||
END
|
END
|
||||||
|
|
||||||
IDD_CHOOSEKML DIALOG DISCARDABLE 0, 0, 195, 66
|
IDD_CHOOSEKML DIALOG DISCARDABLE 0, 0, 195, 66
|
||||||
|
@ -648,7 +690,7 @@ BEGIN
|
||||||
VALUE "FileDescription", "HP38/39/40/48/49 Emulator\0"
|
VALUE "FileDescription", "HP38/39/40/48/49 Emulator\0"
|
||||||
VALUE "FileVersion", "1, 5, 3, 0\0"
|
VALUE "FileVersion", "1, 5, 3, 0\0"
|
||||||
VALUE "InternalName", "Emu48\0"
|
VALUE "InternalName", "Emu48\0"
|
||||||
VALUE "LegalCopyright", "Copyright © 2012\0"
|
VALUE "LegalCopyright", "Copyright © 2013\0"
|
||||||
VALUE "OriginalFilename", "Emu48.exe\0"
|
VALUE "OriginalFilename", "Emu48.exe\0"
|
||||||
VALUE "ProductName", "Emu48\0"
|
VALUE "ProductName", "Emu48\0"
|
||||||
VALUE "ProductVersion", "1, 5, 3, 0\0"
|
VALUE "ProductVersion", "1, 5, 3, 0\0"
|
||||||
|
@ -779,6 +821,12 @@ BEGIN
|
||||||
MENUITEM "Go to &PC", ID_DEBUG_CODE_GOPC
|
MENUITEM "Go to &PC", ID_DEBUG_CODE_GOPC
|
||||||
MENUITEM "Set &breakpoint\tF2", ID_BREAKPOINTS_SETBREAK
|
MENUITEM "Set &breakpoint\tF2", ID_BREAKPOINTS_SETBREAK
|
||||||
MENUITEM "&Set PC to selection", ID_DEBUG_CODE_SETPCTOSELECT
|
MENUITEM "&Set PC to selection", ID_DEBUG_CODE_SETPCTOSELECT
|
||||||
|
MENUITEM SEPARATOR
|
||||||
|
POPUP "&Find"
|
||||||
|
BEGIN
|
||||||
|
MENUITEM "&Previous PCO", ID_DEBUG_CODE_PREVPCO
|
||||||
|
MENUITEM "&Next PCO", ID_DEBUG_CODE_NEXTPCO
|
||||||
|
END
|
||||||
END
|
END
|
||||||
END
|
END
|
||||||
|
|
|
@ -79,6 +79,7 @@ BOOL WINAPI DllMain(HINSTANCE hinstDLL,DWORD fdwReason,LPVOID lpvReserved)
|
||||||
BOOL DLLCreateWnd(LPCTSTR lpszFilename, LPCTSTR lpszPort2Name)
|
BOOL DLLCreateWnd(LPCTSTR lpszFilename, LPCTSTR lpszPort2Name)
|
||||||
{
|
{
|
||||||
RECT rectWindow;
|
RECT rectWindow;
|
||||||
|
DWORD dwThreadId;
|
||||||
|
|
||||||
BOOL bFileExist = FALSE; // state file don't exist
|
BOOL bFileExist = FALSE; // state file don't exist
|
||||||
|
|
||||||
|
@ -160,7 +161,7 @@ BOOL DLLCreateWnd(LPCTSTR lpszFilename, LPCTSTR lpszPort2Name)
|
||||||
|
|
||||||
nState = SM_RUN; // init state must be <> nNextState
|
nState = SM_RUN; // init state must be <> nNextState
|
||||||
nNextState = SM_INVALID; // go into invalid state
|
nNextState = SM_INVALID; // go into invalid state
|
||||||
hThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)&WorkerThread, NULL, CREATE_SUSPENDED, &lThreadId);
|
hThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)&WorkerThread, NULL, CREATE_SUSPENDED, &dwThreadId);
|
||||||
if (hThread == NULL)
|
if (hThread == NULL)
|
||||||
{
|
{
|
||||||
CloseHandle(hEventDebug); // close debugger event handle
|
CloseHandle(hEventDebug); // close debugger event handle
|
|
@ -53,7 +53,7 @@ BSC32=bscmake.exe
|
||||||
# ADD BSC32 /nologo
|
# ADD BSC32 /nologo
|
||||||
LINK32=link.exe
|
LINK32=link.exe
|
||||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
|
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
|
||||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib comdlg32.lib shell32.lib winmm.lib advapi32.lib ws2_32.lib /nologo /dll /machine:I386 /out:".\Release/Emu48.dll"
|
# ADD LINK32 kernel32.lib user32.lib gdi32.lib comdlg32.lib shell32.lib winmm.lib comctl32.lib advapi32.lib ws2_32.lib /nologo /dll /machine:I386 /out:".\Release/Emu48.dll"
|
||||||
|
|
||||||
!ELSEIF "$(CFG)" == "Emu48 - Win32 Debug"
|
!ELSEIF "$(CFG)" == "Emu48 - Win32 Debug"
|
||||||
|
|
||||||
|
@ -79,7 +79,7 @@ BSC32=bscmake.exe
|
||||||
# ADD BSC32 /nologo
|
# ADD BSC32 /nologo
|
||||||
LINK32=link.exe
|
LINK32=link.exe
|
||||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386
|
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386
|
||||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib comdlg32.lib shell32.lib winmm.lib advapi32.lib ws2_32.lib /nologo /dll /debug /machine:I386 /out:".\Debug/Emu48.dll"
|
# ADD LINK32 kernel32.lib user32.lib gdi32.lib comdlg32.lib shell32.lib winmm.lib comctl32.lib advapi32.lib ws2_32.lib /nologo /dll /debug /machine:I386 /out:".\Debug/Emu48.dll"
|
||||||
|
|
||||||
!ENDIF
|
!ENDIF
|
||||||
|
|
|
@ -17,8 +17,10 @@
|
||||||
BOOL bInterrupt = FALSE;
|
BOOL bInterrupt = FALSE;
|
||||||
UINT nState = SM_INVALID;
|
UINT nState = SM_INVALID;
|
||||||
UINT nNextState = SM_RUN;
|
UINT nNextState = SM_RUN;
|
||||||
|
BOOL bEnableSlow = TRUE; // slow down is enabled
|
||||||
BOOL bRealSpeed = FALSE;
|
BOOL bRealSpeed = FALSE;
|
||||||
BOOL bKeySlow = FALSE; // slow down for key emulation
|
BOOL bKeySlow = FALSE; // slow down for key emulation
|
||||||
|
BOOL bSoundSlow = FALSE; // slow down for sound emulation
|
||||||
UINT nOpcSlow = 0; // no. of opcodes to slow down
|
UINT nOpcSlow = 0; // no. of opcodes to slow down
|
||||||
BOOL bCommInit = FALSE; // COM port not open
|
BOOL bCommInit = FALSE; // COM port not open
|
||||||
|
|
||||||
|
@ -278,7 +280,9 @@ static __inline VOID CheckDisp(BOOL bSync)
|
||||||
|
|
||||||
static __inline VOID AdjustSpeed(VOID) // adjust emulation speed
|
static __inline VOID AdjustSpeed(VOID) // adjust emulation speed
|
||||||
{
|
{
|
||||||
if (bCpuSlow || bKeySlow || nOpcSlow > 0) // emulation slow down
|
// emulation slow down
|
||||||
|
if ( bEnableSlow
|
||||||
|
&& (bCpuSlow || bKeySlow || bSoundSlow || nOpcSlow > 0))
|
||||||
{
|
{
|
||||||
DWORD dwCycles,dwTicks;
|
DWORD dwCycles,dwTicks;
|
||||||
|
|
||||||
|
@ -329,7 +333,7 @@ VOID CheckSerial(VOID)
|
||||||
VOID InitAdjustSpeed(VOID)
|
VOID InitAdjustSpeed(VOID)
|
||||||
{
|
{
|
||||||
// slow down function not initalized
|
// slow down function not initalized
|
||||||
if (!bCpuSlow && !bKeySlow && nOpcSlow == 0)
|
if (!bEnableSlow || (!bCpuSlow && !bKeySlow && !bSoundSlow && nOpcSlow == 0))
|
||||||
{
|
{
|
||||||
LARGE_INTEGER lTime; // sample timer ticks
|
LARGE_INTEGER lTime; // sample timer ticks
|
||||||
// save reference cycles
|
// save reference cycles
|
||||||
|
@ -563,6 +567,7 @@ loop:
|
||||||
QueryPerformanceCounter(&lDummyInt);
|
QueryPerformanceCounter(&lDummyInt);
|
||||||
dwSpeedRef = lDummyInt.LowPart;
|
dwSpeedRef = lDummyInt.LowPart;
|
||||||
SetHP48Time(); // update HP48 time & date
|
SetHP48Time(); // update HP48 time & date
|
||||||
|
SoundOpen(uWaveDevId); // open waveform-audio output device
|
||||||
StartTimers();
|
StartTimers();
|
||||||
// start display counter/update engine
|
// start display counter/update engine
|
||||||
StartDisplay((BYTE)(((Chipset.IORam[LINECOUNT+1]<<4)|Chipset.IORam[LINECOUNT])&0x3F));
|
StartDisplay((BYTE)(((Chipset.IORam[LINECOUNT+1]<<4)|Chipset.IORam[LINECOUNT])&0x3F));
|
||||||
|
@ -624,6 +629,7 @@ loop:
|
||||||
|
|
||||||
StopDisplay(); // stop display counter/update
|
StopDisplay(); // stop display counter/update
|
||||||
StopTimers();
|
StopTimers();
|
||||||
|
SoundClose(); // close waveform-audio output device
|
||||||
|
|
||||||
while (nNextState == SM_SLEEP) // go into sleep state
|
while (nNextState == SM_SLEEP) // go into sleep state
|
||||||
{
|
{
|
|
@ -10,7 +10,7 @@
|
||||||
#include "Emu48.h"
|
#include "Emu48.h"
|
||||||
#include "ops.h"
|
#include "ops.h"
|
||||||
|
|
||||||
#define MUSIC_FREQ 11025 // this can be adjusted for quality
|
#define SAMPLES_PER_SEC 44100 // sound sampling rate
|
||||||
|
|
||||||
//| 38G | 39G | 40G | 48SX | 48GX | 49G | Name
|
//| 38G | 39G | 40G | 48SX | 48GX | 49G | Name
|
||||||
//#F0E4F #80F0F #80F0F #706D2 #80850 #80F0F =SFLAG53_56
|
//#F0E4F #80F0F #80F0F #706D2 #80850 #80F0F =SFLAG53_56
|
||||||
|
@ -40,6 +40,7 @@ static __inline VOID BeepWave(DWORD dwFrequency,DWORD dwDuration)
|
||||||
WAVEFORMATEX wf;
|
WAVEFORMATEX wf;
|
||||||
WAVEHDR wh;
|
WAVEHDR wh;
|
||||||
HANDLE hEventSound;
|
HANDLE hEventSound;
|
||||||
|
BYTE byOffset;
|
||||||
DWORD i;
|
DWORD i;
|
||||||
|
|
||||||
if (dwFrequency == 0) // this is just a delay
|
if (dwFrequency == 0) // this is just a delay
|
||||||
|
@ -52,30 +53,34 @@ static __inline VOID BeepWave(DWORD dwFrequency,DWORD dwDuration)
|
||||||
|
|
||||||
wf.wFormatTag = WAVE_FORMAT_PCM;
|
wf.wFormatTag = WAVE_FORMAT_PCM;
|
||||||
wf.nChannels = 1;
|
wf.nChannels = 1;
|
||||||
wf.nSamplesPerSec = MUSIC_FREQ;
|
wf.nSamplesPerSec = SAMPLES_PER_SEC;
|
||||||
wf.nAvgBytesPerSec = MUSIC_FREQ;
|
|
||||||
wf.nBlockAlign = 1;
|
|
||||||
wf.wBitsPerSample = 8;
|
wf.wBitsPerSample = 8;
|
||||||
|
wf.nBlockAlign = wf.nChannels * wf.wBitsPerSample / 8;
|
||||||
|
wf.nAvgBytesPerSec = wf.nBlockAlign * wf.nSamplesPerSec;
|
||||||
wf.cbSize = 0;
|
wf.cbSize = 0;
|
||||||
|
|
||||||
if (waveOutOpen(&hSoundDevice,WAVE_MAPPER,&wf,(DWORD_PTR)hEventSound,0,CALLBACK_EVENT) != 0)
|
if (waveOutOpen(&hSoundDevice,uWaveDevId,&wf,(DWORD_PTR)hEventSound,0,CALLBACK_EVENT) != MMSYSERR_NOERROR)
|
||||||
{
|
{
|
||||||
CloseHandle(hEventSound); // no sound available
|
CloseHandle(hEventSound); // no sound available
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// (samp/sec) * msecs * (secs/msec) = samps
|
// (samp/sec) * msecs * (secs/msec) = samps
|
||||||
wh.dwBufferLength = (DWORD) ((QWORD) MUSIC_FREQ * dwDuration / 1000);
|
wh.dwBufferLength = (DWORD) ((QWORD) SAMPLES_PER_SEC * dwDuration / 1000);
|
||||||
VERIFY(wh.lpData = malloc(wh.dwBufferLength));
|
VERIFY(wh.lpData = (LPSTR) malloc(wh.dwBufferLength));
|
||||||
wh.dwBytesRecorded = 0;
|
wh.dwBytesRecorded = 0;
|
||||||
wh.dwUser = 0;
|
wh.dwUser = 0;
|
||||||
wh.dwFlags = 0;
|
wh.dwFlags = 0;
|
||||||
wh.dwLoops = 0;
|
wh.dwLoops = 0;
|
||||||
|
|
||||||
|
// offset for wave
|
||||||
|
byOffset = 128 - (BYTE) (dwWaveVol / 2);
|
||||||
|
|
||||||
for (i = 0; i < wh.dwBufferLength; ++i) // generate square wave
|
for (i = 0; i < wh.dwBufferLength; ++i) // generate square wave
|
||||||
{
|
{
|
||||||
wh.lpData[i] = (BYTE) ((((QWORD) 2 * dwFrequency * i / MUSIC_FREQ) & 1) * dwWaveVol);
|
wh.lpData[i] = (BYTE) ((((QWORD) 2 * dwFrequency * i / SAMPLES_PER_SEC) & 1) * dwWaveVol + byOffset);
|
||||||
}
|
}
|
||||||
|
wh.lpData[wh.dwBufferLength-1] = (BYTE) 128;
|
||||||
|
|
||||||
VERIFY(waveOutPrepareHeader(hSoundDevice,&wh,sizeof(wh)) == MMSYSERR_NOERROR);
|
VERIFY(waveOutPrepareHeader(hSoundDevice,&wh,sizeof(wh)) == MMSYSERR_NOERROR);
|
||||||
|
|
|
@ -15,7 +15,7 @@ typedef struct
|
||||||
{
|
{
|
||||||
const VOID *pLnk;
|
const VOID *pLnk;
|
||||||
const DWORD dwTyp;
|
const DWORD dwTyp;
|
||||||
} JMPTAB;
|
} JMPTAB, *PJMPTAB;
|
||||||
|
|
||||||
// jump tables
|
// jump tables
|
||||||
static const JMPTAB oF_[] =
|
static const JMPTAB oF_[] =
|
||||||
|
@ -769,7 +769,7 @@ VOID EvalOpcode(LPBYTE I)
|
||||||
dwTemp = I[dwIndex]; // table entry
|
dwTemp = I[dwIndex]; // table entry
|
||||||
_ASSERT(dwTemp <= 0xf); // found packed data
|
_ASSERT(dwTemp <= 0xf); // found packed data
|
||||||
dwIndex = pJmpTab[dwTemp].dwTyp; // next pointer type
|
dwIndex = pJmpTab[dwTemp].dwTyp; // next pointer type
|
||||||
pJmpTab = pJmpTab[dwTemp].pLnk; // next pointer to table/function
|
pJmpTab = (PJMPTAB) pJmpTab[dwTemp].pLnk; // next pointer to table/function
|
||||||
}
|
}
|
||||||
while (dwIndex != F); // reference to table? -> again
|
while (dwIndex != F); // reference to table? -> again
|
||||||
|
|
|
@ -36,6 +36,8 @@ LPBYTE Port2 = NULL;
|
||||||
LPBYTE pbyRom = NULL;
|
LPBYTE pbyRom = NULL;
|
||||||
BOOL bRomWriteable = TRUE; // flag if ROM writeable
|
BOOL bRomWriteable = TRUE; // flag if ROM writeable
|
||||||
DWORD dwRomSize = 0;
|
DWORD dwRomSize = 0;
|
||||||
|
LPBYTE pbyRomDirtyPage = NULL;
|
||||||
|
DWORD dwRomDirtyPageSize = 0;
|
||||||
WORD wRomCrc = 0; // fingerprint of patched ROM
|
WORD wRomCrc = 0; // fingerprint of patched ROM
|
||||||
|
|
||||||
LPBYTE pbyPort2 = NULL;
|
LPBYTE pbyPort2 = NULL;
|
||||||
|
@ -64,6 +66,7 @@ static CHIPSET BackupChipset;
|
||||||
static LPBYTE BackupPort0;
|
static LPBYTE BackupPort0;
|
||||||
static LPBYTE BackupPort1;
|
static LPBYTE BackupPort1;
|
||||||
static LPBYTE BackupPort2;
|
static LPBYTE BackupPort2;
|
||||||
|
static BOOL bRomPacked;
|
||||||
|
|
||||||
//################
|
//################
|
||||||
//#
|
//#
|
||||||
|
@ -214,7 +217,7 @@ typedef struct tnode
|
||||||
BYTE byPatch; // patched ROM value
|
BYTE byPatch; // patched ROM value
|
||||||
struct tnode *prev; // previous node
|
struct tnode *prev; // previous node
|
||||||
struct tnode *next; // next node
|
struct tnode *next; // next node
|
||||||
} TREENODE;
|
} TREENODE, *PTREENODE;
|
||||||
|
|
||||||
static TREENODE *nodePatch = NULL;
|
static TREENODE *nodePatch = NULL;
|
||||||
|
|
||||||
|
@ -223,7 +226,7 @@ static BOOL PatchNibble(DWORD dwAddress, BYTE byPatch)
|
||||||
TREENODE *p;
|
TREENODE *p;
|
||||||
|
|
||||||
_ASSERT(pbyRom); // ROM defined
|
_ASSERT(pbyRom); // ROM defined
|
||||||
if ((p = malloc(sizeof(TREENODE))) == NULL)
|
if ((p = (PTREENODE) malloc(sizeof(TREENODE))) == NULL)
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
|
||||||
p->bPatch = TRUE; // address patched
|
p->bPatch = TRUE; // address patched
|
||||||
|
@ -328,7 +331,7 @@ BOOL PatchRom(LPCTSTR szFilename)
|
||||||
CloseHandle(hFile);
|
CloseHandle(hFile);
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
lpBuf = malloc(dwFileSizeLow+1);
|
lpBuf = (PSZ) malloc(dwFileSizeLow+1);
|
||||||
if (lpBuf == NULL)
|
if (lpBuf == NULL)
|
||||||
{
|
{
|
||||||
CloseHandle(hFile);
|
CloseHandle(hFile);
|
||||||
|
@ -417,34 +420,34 @@ BOOL CrcRom(WORD *pwChk) // calculate fingerprint of ROM
|
||||||
|
|
||||||
BOOL MapRom(LPCTSTR szFilename)
|
BOOL MapRom(LPCTSTR szFilename)
|
||||||
{
|
{
|
||||||
DWORD dwFileSizeHigh;
|
DWORD dwSize,dwFileSize,dwRead;
|
||||||
|
|
||||||
// open ROM for writing
|
// open ROM for writing
|
||||||
BOOL bWrite = (cCurrentRomType == 'X' || cCurrentRomType == 'Q') ? bRomWriteable : FALSE; // CdB for HP: add apples
|
BOOL bRomRW = (cCurrentRomType == 'X' || cCurrentRomType == 'Q') ? bRomWriteable : FALSE; // CdB for HP: add apples
|
||||||
|
|
||||||
if (pbyRom != NULL)
|
if (pbyRom != NULL)
|
||||||
{
|
{
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
SetCurrentDirectory((*szRomDirectory == 0) ? szEmuDirectory : szRomDirectory);
|
SetCurrentDirectory((*szRomDirectory == 0) ? szEmuDirectory : szRomDirectory);
|
||||||
if (bWrite) // ROM writeable
|
if (bRomRW) // ROM writeable
|
||||||
{
|
{
|
||||||
hRomFile = CreateFile(szFilename,
|
hRomFile = CreateFile(szFilename,
|
||||||
GENERIC_READ|GENERIC_WRITE,
|
GENERIC_READ|GENERIC_WRITE,
|
||||||
FILE_SHARE_READ,
|
FILE_SHARE_READ,
|
||||||
NULL,
|
NULL,
|
||||||
OPEN_EXISTING,
|
OPEN_EXISTING,
|
||||||
FILE_ATTRIBUTE_NORMAL,
|
FILE_FLAG_SEQUENTIAL_SCAN,
|
||||||
NULL);
|
NULL);
|
||||||
if (hRomFile == INVALID_HANDLE_VALUE)
|
if (hRomFile == INVALID_HANDLE_VALUE)
|
||||||
{
|
{
|
||||||
bWrite = FALSE; // ROM not writeable
|
bRomRW = FALSE; // ROM not writeable
|
||||||
hRomFile = CreateFile(szFilename,
|
hRomFile = CreateFile(szFilename,
|
||||||
GENERIC_READ,
|
GENERIC_READ,
|
||||||
FILE_SHARE_READ|FILE_SHARE_WRITE,
|
FILE_SHARE_READ|FILE_SHARE_WRITE,
|
||||||
NULL,
|
NULL,
|
||||||
OPEN_EXISTING,
|
OPEN_EXISTING,
|
||||||
FILE_ATTRIBUTE_NORMAL,
|
FILE_FLAG_SEQUENTIAL_SCAN,
|
||||||
NULL);
|
NULL);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -455,7 +458,7 @@ BOOL MapRom(LPCTSTR szFilename)
|
||||||
FILE_SHARE_READ,
|
FILE_SHARE_READ,
|
||||||
NULL,
|
NULL,
|
||||||
OPEN_EXISTING,
|
OPEN_EXISTING,
|
||||||
FILE_ATTRIBUTE_NORMAL,
|
FILE_FLAG_SEQUENTIAL_SCAN,
|
||||||
NULL);
|
NULL);
|
||||||
}
|
}
|
||||||
SetCurrentDirectory(szCurrentDirectory);
|
SetCurrentDirectory(szCurrentDirectory);
|
||||||
|
@ -464,49 +467,135 @@ BOOL MapRom(LPCTSTR szFilename)
|
||||||
hRomFile = NULL;
|
hRomFile = NULL;
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
dwRomSize = GetFileSize(hRomFile, &dwFileSizeHigh);
|
dwRomSize = GetFileSize(hRomFile, NULL);
|
||||||
if (dwFileSizeHigh != 0)
|
|
||||||
{ // file is too large.
|
// read the first 4 bytes
|
||||||
|
ReadFile(hRomFile,&dwSize,sizeof(dwSize),&dwRead,NULL);
|
||||||
|
if (dwRead < sizeof(dwSize))
|
||||||
|
{ // file is too small.
|
||||||
CloseHandle(hRomFile);
|
CloseHandle(hRomFile);
|
||||||
hRomFile = NULL;
|
hRomFile = NULL;
|
||||||
dwRomSize = 0;
|
dwRomSize = 0;
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
hRomMap = CreateFileMapping(hRomFile, NULL, bWrite ? PAGE_READWRITE : PAGE_WRITECOPY, 0, dwRomSize, NULL);
|
|
||||||
if (hRomMap == NULL)
|
dwFileSize = dwRomSize; // calculate ROM image buffer size
|
||||||
{
|
bRomPacked = (dwSize & 0xF0F0F0F0) != 0; // ROM image packed
|
||||||
CloseHandle(hRomFile);
|
if (bRomPacked) dwRomSize *= 2; // unpacked ROM image has double size
|
||||||
hRomFile = NULL;
|
|
||||||
dwRomSize = 0;
|
pbyRom = (LPBYTE) malloc(dwRomSize);
|
||||||
return FALSE;
|
|
||||||
}
|
|
||||||
if (GetLastError() == ERROR_ALREADY_EXISTS)
|
|
||||||
{
|
|
||||||
AbortMessage(_T("Sharing file mapping handle."));
|
|
||||||
}
|
|
||||||
pbyRom = MapViewOfFile(hRomMap, bWrite ? FILE_MAP_WRITE : FILE_MAP_COPY, 0, 0, dwRomSize);
|
|
||||||
if (pbyRom == NULL)
|
if (pbyRom == NULL)
|
||||||
{
|
{
|
||||||
CloseHandle(hRomMap);
|
|
||||||
CloseHandle(hRomFile);
|
CloseHandle(hRomFile);
|
||||||
hRomMap = NULL;
|
|
||||||
hRomFile = NULL;
|
hRomFile = NULL;
|
||||||
dwRomSize = 0;
|
dwRomSize = 0;
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
*(DWORD *) pbyRom = dwSize; // save first 4 bytes
|
||||||
|
|
||||||
|
// load rest of file content
|
||||||
|
ReadFile(hRomFile,&pbyRom[sizeof(dwSize)],dwFileSize - sizeof(dwSize),&dwRead,NULL);
|
||||||
|
_ASSERT(dwFileSize - sizeof(dwSize) == dwRead);
|
||||||
|
|
||||||
|
if (bRomRW) // ROM is writeable
|
||||||
|
{
|
||||||
|
// no. of dirty pages
|
||||||
|
dwRomDirtyPageSize = dwRomSize / ROMPAGESIZE;
|
||||||
|
|
||||||
|
// alloc dirty page table
|
||||||
|
pbyRomDirtyPage = (LPBYTE) calloc(dwRomDirtyPageSize,sizeof(*pbyRomDirtyPage));
|
||||||
|
if (pbyRomDirtyPage == NULL)
|
||||||
|
{
|
||||||
|
free(pbyRom); // free ROM image
|
||||||
|
CloseHandle(hRomFile);
|
||||||
|
dwRomDirtyPageSize = 0;
|
||||||
|
pbyRom = NULL;
|
||||||
|
hRomFile = NULL;
|
||||||
|
dwRomSize = 0;
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
dwRomDirtyPageSize = 0;
|
||||||
|
CloseHandle(hRomFile);
|
||||||
|
hRomFile = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (bRomPacked) // packed ROM image
|
||||||
|
{
|
||||||
|
dwSize = dwRomSize; // destination start address
|
||||||
|
while (dwFileSize > 0) // unpack source
|
||||||
|
{
|
||||||
|
BYTE byValue = pbyRom[--dwFileSize];
|
||||||
|
pbyRom[--dwSize] = byValue >> 4;
|
||||||
|
pbyRom[--dwSize] = byValue & 0xF;
|
||||||
|
}
|
||||||
|
}
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
VOID UnmapRom(VOID)
|
VOID UnmapRom(VOID)
|
||||||
{
|
{
|
||||||
if (pbyRom == NULL) return;
|
if (pbyRom == NULL) return; // ROM not mapped
|
||||||
RestorePatches(); // restore ROM Patches
|
RestorePatches(); // restore ROM patches
|
||||||
UnmapViewOfFile(pbyRom);
|
if (hRomFile) // ROM file still open (only in R/W case)
|
||||||
CloseHandle(hRomMap);
|
{
|
||||||
|
DWORD i;
|
||||||
|
|
||||||
|
_ASSERT(pbyRomDirtyPage != NULL);
|
||||||
|
|
||||||
|
// scan for every dirty page
|
||||||
|
for (i = 0; i < dwRomDirtyPageSize; ++i)
|
||||||
|
{
|
||||||
|
if (pbyRomDirtyPage[i]) // page dirty
|
||||||
|
{
|
||||||
|
DWORD dwSize,dwLinPos,dwFilePos,dwWritten;
|
||||||
|
|
||||||
|
dwLinPos = i * ROMPAGESIZE; // position inside emulator memory
|
||||||
|
|
||||||
|
dwSize = ROMPAGESIZE; // bytes to write
|
||||||
|
while (i+1 < dwRomDirtyPageSize && pbyRomDirtyPage[i+1])
|
||||||
|
{
|
||||||
|
dwSize += ROMPAGESIZE; // next page is also dirty
|
||||||
|
++i; // skip next page in outer loop
|
||||||
|
}
|
||||||
|
|
||||||
|
dwFilePos = dwLinPos; // ROM file position
|
||||||
|
|
||||||
|
if (bRomPacked) // repack data
|
||||||
|
{
|
||||||
|
LPBYTE pbySrc,pbyDest;
|
||||||
|
DWORD j;
|
||||||
|
|
||||||
|
dwSize /= 2; // adjust no. of bytes to write
|
||||||
|
dwFilePos /= 2; // linear pos in packed file
|
||||||
|
|
||||||
|
// pack data in page
|
||||||
|
pbySrc = pbyDest = &pbyRom[dwLinPos];
|
||||||
|
for (j = 0; j < dwSize; j++)
|
||||||
|
{
|
||||||
|
*pbyDest = *pbySrc++;
|
||||||
|
*pbyDest |= *pbySrc++ << 4;
|
||||||
|
pbyDest++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
SetFilePointer(hRomFile,dwFilePos,NULL,FILE_BEGIN);
|
||||||
|
WriteFile(hRomFile,&pbyRom[dwLinPos],dwSize,&dwWritten,NULL);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
free(pbyRomDirtyPage);
|
||||||
CloseHandle(hRomFile);
|
CloseHandle(hRomFile);
|
||||||
pbyRom = NULL;
|
pbyRomDirtyPage = NULL;
|
||||||
hRomMap = NULL;
|
dwRomDirtyPageSize = 0;
|
||||||
hRomFile = NULL;
|
hRomFile = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
free(pbyRom); // free ROM image
|
||||||
|
pbyRom = NULL;
|
||||||
dwRomSize = 0;
|
dwRomSize = 0;
|
||||||
wRomCrc = 0;
|
wRomCrc = 0;
|
||||||
return;
|
return;
|
||||||
|
@ -545,7 +634,7 @@ BOOL CrcPort2(WORD *pwCrc) // calculate fingerprint of port2
|
||||||
|
|
||||||
BOOL MapPort2(LPCTSTR szFilename)
|
BOOL MapPort2(LPCTSTR szFilename)
|
||||||
{
|
{
|
||||||
DWORD dwFileSizeLo,dwFileSizeHi,dwCount;
|
DWORD dwFileSizeLo,dwFileSizeHi;
|
||||||
|
|
||||||
if (pbyPort2 != NULL) return FALSE;
|
if (pbyPort2 != NULL) return FALSE;
|
||||||
bPort2Writeable = TRUE;
|
bPort2Writeable = TRUE;
|
||||||
|
@ -578,53 +667,32 @@ BOOL MapPort2(LPCTSTR szFilename)
|
||||||
}
|
}
|
||||||
SetCurrentDirectory(szCurrentDirectory);
|
SetCurrentDirectory(szCurrentDirectory);
|
||||||
dwFileSizeLo = GetFileSize(hPort2File, &dwFileSizeHi);
|
dwFileSizeLo = GetFileSize(hPort2File, &dwFileSizeHi);
|
||||||
if (dwFileSizeHi != 0)
|
|
||||||
{ // file is too large.
|
|
||||||
CloseHandle(hPort2File);
|
|
||||||
hPort2File = NULL;
|
|
||||||
dwPort2Mask = 0;
|
|
||||||
bPort2Writeable = FALSE;
|
|
||||||
return FALSE;
|
|
||||||
}
|
|
||||||
|
|
||||||
// count number of set bits
|
|
||||||
for (dwCount = 0, dwFileSizeHi = dwFileSizeLo; dwFileSizeHi != 0;dwFileSizeHi >>= 1)
|
|
||||||
{
|
|
||||||
if ((dwFileSizeHi & 0x1) != 0) ++dwCount;
|
|
||||||
}
|
|
||||||
|
|
||||||
// size not 32, 128, 256, 512, 1024, 2048 or 4096 KB
|
// size not 32, 128, 256, 512, 1024, 2048 or 4096 KB
|
||||||
if (dwCount != 1 || (dwFileSizeLo & 0xFF02FFFF) != 0)
|
if ( dwFileSizeHi != 0
|
||||||
|
|| dwFileSizeLo == 0
|
||||||
|
|| (dwFileSizeLo & (dwFileSizeLo - 1)) != 0
|
||||||
|
|| (dwFileSizeLo & 0xFF02FFFF) != 0)
|
||||||
{
|
{
|
||||||
CloseHandle(hPort2File);
|
UnmapPort2();
|
||||||
hPort2File = NULL;
|
|
||||||
dwPort2Mask = 0;
|
|
||||||
bPort2Writeable = FALSE;
|
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
dwPort2Mask = (dwFileSizeLo - 1) >> 18; // mask for valid address lines of the BS-FF
|
|
||||||
hPort2Map = CreateFileMapping(hPort2File, NULL, bPort2Writeable ? PAGE_READWRITE : PAGE_READONLY,
|
hPort2Map = CreateFileMapping(hPort2File, NULL, bPort2Writeable ? PAGE_READWRITE : PAGE_READONLY,
|
||||||
0, dwFileSizeLo, NULL);
|
0, dwFileSizeLo, NULL);
|
||||||
if (hPort2Map == NULL)
|
if (hPort2Map == NULL)
|
||||||
{
|
{
|
||||||
CloseHandle(hPort2File);
|
UnmapPort2();
|
||||||
hPort2File = NULL;
|
|
||||||
dwPort2Mask = 0;
|
|
||||||
bPort2Writeable = FALSE;
|
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
pbyPort2 = MapViewOfFile(hPort2Map, bPort2Writeable ? FILE_MAP_WRITE : FILE_MAP_READ, 0, 0, dwFileSizeLo);
|
pbyPort2 = (LPBYTE) MapViewOfFile(hPort2Map, bPort2Writeable ? FILE_MAP_WRITE : FILE_MAP_READ, 0, 0, dwFileSizeLo);
|
||||||
if (pbyPort2 == NULL)
|
if (pbyPort2 == NULL)
|
||||||
{
|
{
|
||||||
CloseHandle(hPort2Map);
|
UnmapPort2();
|
||||||
CloseHandle(hPort2File);
|
|
||||||
hPort2Map = NULL;
|
|
||||||
hPort2File = NULL;
|
|
||||||
dwPort2Mask = 0;
|
|
||||||
bPort2Writeable = FALSE;
|
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
dwPort2Mask = (dwFileSizeLo - 1) >> 18; // mask for valid address lines of the BS-FF
|
||||||
dwPort2Size = dwFileSizeLo / 2048; // mapping size of port2
|
dwPort2Size = dwFileSizeLo / 2048; // mapping size of port2
|
||||||
|
|
||||||
if (CrcPort2(&wPort2Crc) == FALSE) // calculate fingerprint of port2
|
if (CrcPort2(&wPort2Crc) == FALSE) // calculate fingerprint of port2
|
||||||
|
@ -638,13 +706,21 @@ BOOL MapPort2(LPCTSTR szFilename)
|
||||||
|
|
||||||
VOID UnmapPort2(VOID)
|
VOID UnmapPort2(VOID)
|
||||||
{
|
{
|
||||||
if (pbyPort2 == NULL) return;
|
if (pbyPort2 != NULL)
|
||||||
|
{
|
||||||
UnmapViewOfFile(pbyPort2);
|
UnmapViewOfFile(pbyPort2);
|
||||||
CloseHandle(hPort2Map);
|
|
||||||
CloseHandle(hPort2File);
|
|
||||||
pbyPort2 = NULL;
|
pbyPort2 = NULL;
|
||||||
|
}
|
||||||
|
if (hPort2Map != NULL)
|
||||||
|
{
|
||||||
|
CloseHandle(hPort2Map);
|
||||||
hPort2Map = NULL;
|
hPort2Map = NULL;
|
||||||
|
}
|
||||||
|
if (hPort2File != NULL)
|
||||||
|
{
|
||||||
|
CloseHandle(hPort2File);
|
||||||
hPort2File = NULL;
|
hPort2File = NULL;
|
||||||
|
}
|
||||||
dwPort2Size = 0; // reset size of port2
|
dwPort2Size = 0; // reset size of port2
|
||||||
dwPort2Mask = 0;
|
dwPort2Mask = 0;
|
||||||
bPort2Writeable = FALSE;
|
bPort2Writeable = FALSE;
|
||||||
|
@ -662,7 +738,7 @@ VOID UnmapPort2(VOID)
|
||||||
|
|
||||||
static BOOL IsDataPacked(VOID *pMem, DWORD dwSize)
|
static BOOL IsDataPacked(VOID *pMem, DWORD dwSize)
|
||||||
{
|
{
|
||||||
DWORD *pdwMem = pMem;
|
DWORD *pdwMem = (DWORD *) pMem;
|
||||||
|
|
||||||
_ASSERT((dwSize % sizeof(DWORD)) == 0);
|
_ASSERT((dwSize % sizeof(DWORD)) == 0);
|
||||||
if ((dwSize % sizeof(DWORD)) != 0) return TRUE;
|
if ((dwSize % sizeof(DWORD)) != 0) return TRUE;
|
||||||
|
@ -769,17 +845,17 @@ BOOL NewDocument(VOID)
|
||||||
// allocate port memory
|
// allocate port memory
|
||||||
if (Chipset.Port0Size)
|
if (Chipset.Port0Size)
|
||||||
{
|
{
|
||||||
Port0 = calloc(Chipset.Port0Size*2048,sizeof(*Port0));
|
Port0 = (LPBYTE) calloc(Chipset.Port0Size*2048,sizeof(*Port0));
|
||||||
_ASSERT(Port0 != NULL);
|
_ASSERT(Port0 != NULL);
|
||||||
}
|
}
|
||||||
if (Chipset.Port1Size)
|
if (Chipset.Port1Size)
|
||||||
{
|
{
|
||||||
Port1 = calloc(Chipset.Port1Size*2048,sizeof(*Port1));
|
Port1 = (LPBYTE) calloc(Chipset.Port1Size*2048,sizeof(*Port1));
|
||||||
_ASSERT(Port1 != NULL);
|
_ASSERT(Port1 != NULL);
|
||||||
}
|
}
|
||||||
if (Chipset.Port2Size)
|
if (Chipset.Port2Size)
|
||||||
{
|
{
|
||||||
Port2 = calloc(Chipset.Port2Size*2048,sizeof(*Port2));
|
Port2 = (LPBYTE) calloc(Chipset.Port2Size*2048,sizeof(*Port2));
|
||||||
_ASSERT(Port2 != NULL);
|
_ASSERT(Port2 != NULL);
|
||||||
}
|
}
|
||||||
LoadBreakpointList(NULL); // clear debugger breakpoint list
|
LoadBreakpointList(NULL); // clear debugger breakpoint list
|
||||||
|
@ -873,7 +949,7 @@ BOOL OpenDocument(LPCTSTR szFilename)
|
||||||
if (nLength >= ARRAYSIZEOF(szCurrentKml)) goto read_err;
|
if (nLength >= ARRAYSIZEOF(szCurrentKml)) goto read_err;
|
||||||
#if defined _UNICODE
|
#if defined _UNICODE
|
||||||
{
|
{
|
||||||
LPSTR szTmp = malloc(nLength);
|
LPSTR szTmp = (LPSTR) malloc(nLength);
|
||||||
if (szTmp == NULL)
|
if (szTmp == NULL)
|
||||||
{
|
{
|
||||||
AbortMessage(_T("Memory Allocation Failure."));
|
AbortMessage(_T("Memory Allocation Failure."));
|
||||||
|
@ -949,7 +1025,7 @@ BOOL OpenDocument(LPCTSTR szFilename)
|
||||||
|
|
||||||
if (Chipset.Port0Size)
|
if (Chipset.Port0Size)
|
||||||
{
|
{
|
||||||
Port0 = malloc(Chipset.Port0Size*2048);
|
Port0 = (LPBYTE) malloc(Chipset.Port0Size*2048);
|
||||||
if (Port0 == NULL)
|
if (Port0 == NULL)
|
||||||
{
|
{
|
||||||
AbortMessage(_T("Memory Allocation Failure."));
|
AbortMessage(_T("Memory Allocation Failure."));
|
||||||
|
@ -964,7 +1040,7 @@ BOOL OpenDocument(LPCTSTR szFilename)
|
||||||
|
|
||||||
if (Chipset.Port1Size)
|
if (Chipset.Port1Size)
|
||||||
{
|
{
|
||||||
Port1 = malloc(Chipset.Port1Size*2048);
|
Port1 = (LPBYTE) malloc(Chipset.Port1Size*2048);
|
||||||
if (Port1 == NULL)
|
if (Port1 == NULL)
|
||||||
{
|
{
|
||||||
AbortMessage(_T("Memory Allocation Failure."));
|
AbortMessage(_T("Memory Allocation Failure."));
|
||||||
|
@ -996,7 +1072,7 @@ BOOL OpenDocument(LPCTSTR szFilename)
|
||||||
{
|
{
|
||||||
if (Chipset.Port2Size)
|
if (Chipset.Port2Size)
|
||||||
{
|
{
|
||||||
Port2 = malloc(Chipset.Port2Size*2048);
|
Port2 = (LPBYTE) malloc(Chipset.Port2Size*2048);
|
||||||
if (Port2 == NULL)
|
if (Port2 == NULL)
|
||||||
{
|
{
|
||||||
AbortMessage(_T("Memory Allocation Failure."));
|
AbortMessage(_T("Memory Allocation Failure."));
|
||||||
|
@ -1085,7 +1161,7 @@ BOOL SaveDocument(VOID)
|
||||||
WriteFile(hCurrentFile, &nLength, sizeof(nLength), &lBytesWritten, NULL);
|
WriteFile(hCurrentFile, &nLength, sizeof(nLength), &lBytesWritten, NULL);
|
||||||
#if defined _UNICODE
|
#if defined _UNICODE
|
||||||
{
|
{
|
||||||
LPSTR szTmp = malloc(nLength);
|
LPSTR szTmp = (LPSTR) malloc(nLength);
|
||||||
if (szTmp != NULL)
|
if (szTmp != NULL)
|
||||||
{
|
{
|
||||||
WideCharToMultiByte(CP_ACP, WC_COMPOSITECHECK,
|
WideCharToMultiByte(CP_ACP, WC_COMPOSITECHECK,
|
||||||
|
@ -1448,7 +1524,7 @@ BOOL LoadObject(LPCTSTR szFilename) // separated stack writing part
|
||||||
CloseHandle(hFile);
|
CloseHandle(hFile);
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
lpBuf = malloc(dwFileSizeLow*2);
|
lpBuf = (LPBYTE) malloc(dwFileSizeLow*2);
|
||||||
if (lpBuf == NULL)
|
if (lpBuf == NULL)
|
||||||
{
|
{
|
||||||
CloseHandle(hFile);
|
CloseHandle(hFile);
|
||||||
|
@ -1496,8 +1572,8 @@ BOOL SaveObject(LPCTSTR szFilename) // separated stack reading part
|
||||||
}
|
}
|
||||||
|
|
||||||
pbyHeader = ((cCurrentRomType=='X' || cCurrentRomType=='2' || cCurrentRomType=='Q'))
|
pbyHeader = ((cCurrentRomType=='X' || cCurrentRomType=='2' || cCurrentRomType=='Q'))
|
||||||
? BINARYHEADER49
|
? (LPBYTE) BINARYHEADER49
|
||||||
: BINARYHEADER48;
|
: (LPBYTE) BINARYHEADER48;
|
||||||
|
|
||||||
WriteFile(hFile, pbyHeader, 8, &lBytesWritten, NULL);
|
WriteFile(hFile, pbyHeader, 8, &lBytesWritten, NULL);
|
||||||
|
|
||||||
|
@ -1560,7 +1636,7 @@ static HPALETTE CreateBIPalette(BITMAPINFOHEADER CONST *lpbi)
|
||||||
if (wNumColors)
|
if (wNumColors)
|
||||||
{
|
{
|
||||||
// Allocate for the logical palette structure
|
// Allocate for the logical palette structure
|
||||||
pPal = malloc(sizeof(LOGPALETTE) + wNumColors * sizeof(PALETTEENTRY));
|
pPal = (PLOGPALETTE) malloc(sizeof(LOGPALETTE) + wNumColors * sizeof(PALETTEENTRY));
|
||||||
if (!pPal) return NULL;
|
if (!pPal) return NULL;
|
||||||
|
|
||||||
pPal->palVersion = 0x300;
|
pPal->palVersion = 0x300;
|
||||||
|
@ -1585,7 +1661,7 @@ static HPALETTE CreateBIPalette(BITMAPINFOHEADER CONST *lpbi)
|
||||||
// 16, 24 and 32 bitcount DIB's have no color table entries so, set the
|
// 16, 24 and 32 bitcount DIB's have no color table entries so, set the
|
||||||
// number of to the maximum value (256).
|
// number of to the maximum value (256).
|
||||||
wNumColors = 256;
|
wNumColors = 256;
|
||||||
pPal = malloc(sizeof(LOGPALETTE) + wNumColors * sizeof(PALETTEENTRY));
|
pPal = (PLOGPALETTE) malloc(sizeof(LOGPALETTE) + wNumColors * sizeof(PALETTEENTRY));
|
||||||
if (!pPal) return NULL;
|
if (!pPal) return NULL;
|
||||||
|
|
||||||
pPal->palVersion = 0x300;
|
pPal->palVersion = 0x300;
|
||||||
|
@ -2191,7 +2267,7 @@ HBITMAP LoadBitmapFile(LPCTSTR szFilename)
|
||||||
CloseHandle(hFile);
|
CloseHandle(hFile);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
Bmp.pbyFile = MapViewOfFile(hMap, FILE_MAP_READ, 0, 0, 0);
|
Bmp.pbyFile = (LPBYTE) MapViewOfFile(hMap, FILE_MAP_READ, 0, 0, 0);
|
||||||
if (Bmp.pbyFile == NULL)
|
if (Bmp.pbyFile == NULL)
|
||||||
{
|
{
|
||||||
CloseHandle(hMap);
|
CloseHandle(hMap);
|
|
@ -187,6 +187,51 @@ static CONST BYTE byQueryTab[] =
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
//
|
||||||
|
// ROM buffer access functions
|
||||||
|
//
|
||||||
|
|
||||||
|
static __inline void WrDirtyPage(DWORD d)
|
||||||
|
{
|
||||||
|
if (pbyRomDirtyPage) // using dirty ROM page table
|
||||||
|
{
|
||||||
|
DWORD dwPage = d / ROMPAGESIZE; // this is the page
|
||||||
|
|
||||||
|
_ASSERT(dwPage < dwRomDirtyPageSize);
|
||||||
|
pbyRomDirtyPage[dwPage] = TRUE; // page is dirty
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
static __inline void EraseBlock(DWORD d,DWORD dwNibSize)
|
||||||
|
{
|
||||||
|
LPBYTE pbyAddr = pbyRom + d;
|
||||||
|
|
||||||
|
while (dwNibSize--)
|
||||||
|
{
|
||||||
|
WrDirtyPage(d++); // make page dirty
|
||||||
|
*pbyAddr++ = 0x0F; // clear address
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
static __inline void WriteByte(DWORD d,BYTE byData)
|
||||||
|
{
|
||||||
|
WrDirtyPage(d); // make page dirty
|
||||||
|
|
||||||
|
_ASSERT(d+1 < dwRomSize); // address valid?
|
||||||
|
*(pbyRom+d) &= (byData & 0x0F); // write LSB
|
||||||
|
*(pbyRom+d+1) &= (byData >> 4); // write MSB
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
static __inline BYTE ReadByte(DWORD d)
|
||||||
|
{
|
||||||
|
_ASSERT(d+1 < dwRomSize); // address valid?
|
||||||
|
return *(pbyRom+d)|(*(pbyRom+d+1)<<4); // get byte
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
//
|
//
|
||||||
// write state functions
|
// write state functions
|
||||||
//
|
//
|
||||||
|
@ -367,8 +412,8 @@ static VOID WrStateE8C(BYTE a, DWORD d)
|
||||||
|
|
||||||
_ASSERT(d+1 < dwRomSize); // address valid?
|
_ASSERT(d+1 < dwRomSize); // address valid?
|
||||||
// no error set in BWSLBS, because I could alway program a "0"
|
// no error set in BWSLBS, because I could alway program a "0"
|
||||||
*(pbyRom+d++) &= (a & 0x0F); // write LSB
|
WriteByte(d,a); // write byte
|
||||||
*(pbyRom+d++) &= (a >> 4); // write MSB
|
d += 2; // next address
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -395,11 +440,8 @@ static VOID WrState40(DWORD d)
|
||||||
// byte/word program data
|
// byte/word program data
|
||||||
static VOID WrState40D(BYTE a, DWORD d)
|
static VOID WrState40D(BYTE a, DWORD d)
|
||||||
{
|
{
|
||||||
d <<= 1; // nibble start address
|
|
||||||
_ASSERT(d+1 < dwRomSize); // address valid?
|
|
||||||
// no error set in BWSLBS, because I could alway program a "0"
|
// no error set in BWSLBS, because I could alway program a "0"
|
||||||
*(pbyRom+d++) &= (a & 0x0F); // write LSB
|
WriteByte(d << 1,a); // write byte
|
||||||
*(pbyRom+d) &= (a >> 4); // write MSB
|
|
||||||
WSMset.byStatusReg |= WSMS; // data written
|
WSMset.byStatusReg |= WSMS; // data written
|
||||||
WSMset.uWrState = WRS_DATA;
|
WSMset.uWrState = WRS_DATA;
|
||||||
return;
|
return;
|
||||||
|
@ -433,8 +475,7 @@ static VOID WrState20C(BYTE a, DWORD d)
|
||||||
d &= ~(dwBlockSize-1); // start of block
|
d &= ~(dwBlockSize-1); // start of block
|
||||||
dwBlockSize *= 2; // block size in nibbles
|
dwBlockSize *= 2; // block size in nibbles
|
||||||
_ASSERT(d+dwBlockSize <= dwRomSize); // address valid?
|
_ASSERT(d+dwBlockSize <= dwRomSize); // address valid?
|
||||||
// write 128K nibble
|
EraseBlock(d << 1,dwBlockSize); // erase 128K nibble
|
||||||
FillMemory(pbyRom + (d << 1),dwBlockSize,0x0F);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -467,7 +508,7 @@ static VOID WrState30C(BYTE a, DWORD d)
|
||||||
WORD wNoOfBlocks = (byQueryTab[0x2E] << 8) | byQueryTab[0x2D];
|
WORD wNoOfBlocks = (byQueryTab[0x2E] << 8) | byQueryTab[0x2D];
|
||||||
DWORD dwBlockSize = ((byQueryTab[0x30] << 8) | byQueryTab[0x2F]) * 256;
|
DWORD dwBlockSize = ((byQueryTab[0x30] << 8) | byQueryTab[0x2F]) * 256;
|
||||||
|
|
||||||
LPBYTE pbyBlock = pbyRom;
|
DWORD dwBlockAddr = 0;
|
||||||
|
|
||||||
dwBlockSize *= 2; // block size in nibbles
|
dwBlockSize *= 2; // block size in nibbles
|
||||||
|
|
||||||
|
@ -481,11 +522,11 @@ static VOID WrState30C(BYTE a, DWORD d)
|
||||||
// clear block lock bit
|
// clear block lock bit
|
||||||
WSMset.dwLockCnfg &= ~(1<<i);
|
WSMset.dwLockCnfg &= ~(1<<i);
|
||||||
|
|
||||||
// write 128K nibble
|
// erase 128K nibble
|
||||||
FillMemory(pbyBlock,dwBlockSize,0x0F);
|
EraseBlock(dwBlockAddr,dwBlockSize);
|
||||||
}
|
}
|
||||||
|
|
||||||
pbyBlock += dwBlockSize; // next block
|
dwBlockAddr += dwBlockSize; // next block
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -571,9 +612,7 @@ static VOID WrState60D(BYTE a, DWORD d)
|
||||||
// read array
|
// read array
|
||||||
static BYTE RdStateData(DWORD d)
|
static BYTE RdStateData(DWORD d)
|
||||||
{
|
{
|
||||||
d <<= 1; // nibble address
|
return ReadByte(d << 1); // get byte
|
||||||
_ASSERT(d+1 < dwRomSize); // address valid?
|
|
||||||
return *(pbyRom+d)|(*(pbyRom+d+1)<<4); // get byte
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// read identifier codes
|
// read identifier codes
|
||||||
|
@ -644,7 +683,7 @@ VOID FlashInit(VOID)
|
||||||
_ASSERT(sizeof(WSMset.dwLockCnfg) * 8 >= 32);
|
_ASSERT(sizeof(WSMset.dwLockCnfg) * 8 >= 32);
|
||||||
|
|
||||||
ZeroMemory(&WSMset,sizeof(WSMset));
|
ZeroMemory(&WSMset,sizeof(WSMset));
|
||||||
strcpy(WSMset.byType,"WSM"); // Write State Machine header
|
strcpy((LPSTR) WSMset.byType,"WSM"); // Write State Machine header
|
||||||
WSMset.uSize = sizeof(WSMset); // size of this structure
|
WSMset.uSize = sizeof(WSMset); // size of this structure
|
||||||
WSMset.byVersion = WSMVER; // version of flash implementation structure
|
WSMset.byVersion = WSMVER; // version of flash implementation structure
|
||||||
|
|
|
@ -83,7 +83,7 @@ static CONST KmlToken pLexToken[] =
|
||||||
{TOK_IFFLAG, 000001, 6,_T("IfFlag")},
|
{TOK_IFFLAG, 000001, 6,_T("IfFlag")},
|
||||||
{TOK_ONDOWN, 000000, 6,_T("OnDown")},
|
{TOK_ONDOWN, 000000, 6,_T("OnDown")},
|
||||||
{TOK_NOHOLD, 000000, 6,_T("NoHold")},
|
{TOK_NOHOLD, 000000, 6,_T("NoHold")},
|
||||||
// {TOK_LOCALE, 000001, 6,_T("Locale")},
|
{TOK_LOCALE, 000001, 6,_T("Locale")},
|
||||||
{TOK_TITLE, 000002, 5,_T("Title")},
|
{TOK_TITLE, 000002, 5,_T("Title")},
|
||||||
{TOK_OUTIN, 000011, 5,_T("OutIn")},
|
{TOK_OUTIN, 000011, 5,_T("OutIn")},
|
||||||
{TOK_PATCH, 000002, 5,_T("Patch")},
|
{TOK_PATCH, 000002, 5,_T("Patch")},
|
||||||
|
@ -378,10 +378,18 @@ static VOID BrowseFolder(HWND hDlg)
|
||||||
SetDlgItemText(hDlg,IDC_EMUDIR,szDir);
|
SetDlgItemText(hDlg,IDC_EMUDIR,szDir);
|
||||||
}
|
}
|
||||||
// free the PIDL allocated by SHBrowseForFolder
|
// free the PIDL allocated by SHBrowseForFolder
|
||||||
|
#if defined __cplusplus
|
||||||
|
pMalloc->Free(pidl);
|
||||||
|
#else
|
||||||
pMalloc->lpVtbl->Free(pMalloc,pidl);
|
pMalloc->lpVtbl->Free(pMalloc,pidl);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
// release the shell's allocator
|
// release the shell's allocator
|
||||||
|
#if defined __cplusplus
|
||||||
|
pMalloc->Release();
|
||||||
|
#else
|
||||||
pMalloc->lpVtbl->Release(pMalloc);
|
pMalloc->lpVtbl->Release(pMalloc);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -589,7 +597,7 @@ static LPCTSTR GetStringOf(TokenId eId)
|
||||||
|
|
||||||
static VOID SkipWhite(UINT nMode)
|
static VOID SkipWhite(UINT nMode)
|
||||||
{
|
{
|
||||||
LPTSTR pcDelim;
|
LPCTSTR pcDelim;
|
||||||
|
|
||||||
while (*szText)
|
while (*szText)
|
||||||
{
|
{
|
||||||
|
@ -672,7 +680,7 @@ static LPTSTR ParseString(VOID)
|
||||||
if (nLength == nBlock - 1) // ran out of buffer space
|
if (nLength == nBlock - 1) // ran out of buffer space
|
||||||
{
|
{
|
||||||
nBlock += 256;
|
nBlock += 256;
|
||||||
lpszString = realloc(lpszString,nBlock * sizeof(lpszString[0]));
|
lpszString = (LPTSTR) realloc(lpszString,nBlock * sizeof(lpszString[0]));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (*szText == _T('\\')) // escape char
|
if (*szText == _T('\\')) // escape char
|
||||||
|
@ -701,7 +709,7 @@ static LPTSTR ParseString(VOID)
|
||||||
lpszString[nLength] = 0; // set EOS
|
lpszString[nLength] = 0; // set EOS
|
||||||
|
|
||||||
// release unnecessary allocated bytes
|
// release unnecessary allocated bytes
|
||||||
return realloc(lpszString,(nLength+1) * sizeof(lpszString[0]));
|
return (LPTSTR) realloc(lpszString,(nLength+1) * sizeof(lpszString[0]));
|
||||||
}
|
}
|
||||||
|
|
||||||
static TokenId Lex(UINT nMode)
|
static TokenId Lex(UINT nMode)
|
||||||
|
@ -1634,6 +1642,7 @@ VOID KillKML(VOID)
|
||||||
ZeroMemory(pButton, sizeof(pButton));
|
ZeroMemory(pButton, sizeof(pButton));
|
||||||
ZeroMemory(pAnnunciator, sizeof(pAnnunciator));
|
ZeroMemory(pAnnunciator, sizeof(pAnnunciator));
|
||||||
ZeroMemory(pVKey, sizeof(pVKey));
|
ZeroMemory(pVKey, sizeof(pVKey));
|
||||||
|
ZeroMemory(byVKeyMap, sizeof(byVKeyMap));
|
||||||
ClearLog();
|
ClearLog();
|
||||||
nBackgroundX = 0;
|
nBackgroundX = 0;
|
||||||
nBackgroundY = 0;
|
nBackgroundY = 0;
|
|
@ -73,7 +73,7 @@ BOOL MruInit(INT nNum)
|
||||||
if (nEntry > 0) // allocate MRU table
|
if (nEntry > 0) // allocate MRU table
|
||||||
{
|
{
|
||||||
// create MRU table
|
// create MRU table
|
||||||
if ((ppszFiles = malloc(nEntry * sizeof(*ppszFiles))) == NULL)
|
if ((ppszFiles = (LPTSTR *) malloc(nEntry * sizeof(*ppszFiles))) == NULL)
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
|
||||||
// fill each entry
|
// fill each entry
|
|
@ -954,9 +954,13 @@ VOID o800(LPBYTE I) // OUT=CS
|
||||||
|
|
||||||
VOID o801(LPBYTE I) // OUT=C
|
VOID o801(LPBYTE I) // OUT=C
|
||||||
{
|
{
|
||||||
|
WORD wOut;
|
||||||
w.cycles+=6;
|
w.cycles+=6;
|
||||||
w.pc+=3;
|
w.pc+=3;
|
||||||
w.out = (WORD)Npack(w.C, 3);
|
wOut = (WORD) Npack(w.C, 3);
|
||||||
|
if (((wOut ^ w.out) & 0x800) != 0) // beeper bit OR[11] changed
|
||||||
|
SoundOut(&w,wOut);
|
||||||
|
w.out = wOut;
|
||||||
ScanKeyboard(FALSE,FALSE); // 1ms keyboard poll
|
ScanKeyboard(FALSE,FALSE); // 1ms keyboard poll
|
||||||
return;
|
return;
|
||||||
}
|
}
|
|
@ -12,50 +12,53 @@
|
||||||
#define IDR_DEBUG_STACK 106
|
#define IDR_DEBUG_STACK 106
|
||||||
#define IDB_CHECKBOX 107
|
#define IDB_CHECKBOX 107
|
||||||
#define IDD_ABOUT 108
|
#define IDD_ABOUT 108
|
||||||
#define IDD_SETTINGS 109
|
#define IDD_SET_GENERAL 109
|
||||||
#define IDD_CHOOSEKML 110
|
#define IDD_SET_MEMORY 110
|
||||||
#define IDD_KMLLOG 111
|
#define IDD_SET_PERIPHERAL 111
|
||||||
#define IDD_DISASM 112
|
#define IDD_CHOOSEKML 112
|
||||||
#define IDD_DEBUG 113
|
#define IDD_KMLLOG 113
|
||||||
#define IDD_NEWVALUE 114
|
#define IDD_DISASM 114
|
||||||
#define IDD_ENTERADR 115
|
#define IDD_DEBUG 115
|
||||||
#define IDD_BREAKEDIT 116
|
#define IDD_NEWVALUE 116
|
||||||
#define IDD_ENTERBREAK 117
|
#define IDD_ENTERADR 117
|
||||||
#define IDD_INSTRUCTIONS 118
|
#define IDD_BREAKEDIT 118
|
||||||
#define IDD_WRITEONLYREG 119
|
#define IDD_ENTERBREAK 119
|
||||||
#define IDD_FIND 120
|
#define IDD_INSTRUCTIONS 120
|
||||||
#define IDD_PROFILE 121
|
#define IDD_WRITEONLYREG 121
|
||||||
#define IDD_MACROSET 122
|
#define IDD_FIND 122
|
||||||
#define IDD_DEBUG_MEMSAVE 123
|
#define IDD_PROFILE 123
|
||||||
#define IDD_DEBUG_MEMLOAD 124
|
#define IDD_MACROSET 124
|
||||||
#define IDD_DEBUG_SETTINGS 125
|
#define IDD_DEBUG_MEMSAVE 125
|
||||||
|
#define IDD_DEBUG_MEMLOAD 126
|
||||||
|
#define IDD_DEBUG_SETTINGS 127
|
||||||
#define IDC_REALSPEED 1000
|
#define IDC_REALSPEED 1000
|
||||||
#define IDC_GRAYSCALE 1001
|
#define IDC_GRAYSCALE 1001
|
||||||
#define IDC_ALWAYSONTOP 1002
|
#define IDC_ALWAYSONTOP 1002
|
||||||
#define IDC_ACTFOLLOWSMOUSE 1003
|
#define IDC_ACTFOLLOWSMOUSE 1003
|
||||||
#define IDC_AUTOSAVE 1004
|
#define IDC_SINGLEINSTANCE 1004
|
||||||
#define IDC_AUTOSAVEONEXIT 1005
|
#define IDC_AUTOSAVE 1005
|
||||||
#define IDC_OBJECTLOADWARNING 1006
|
#define IDC_AUTOSAVEONEXIT 1006
|
||||||
#define IDC_ALWAYSDISPLOG 1007
|
#define IDC_OBJECTLOADWARNING 1007
|
||||||
#define IDC_PORT1EN 1008
|
#define IDC_ALWAYSDISPLOG 1008
|
||||||
#define IDC_PORT1WR 1009
|
#define IDC_PORT1EN 1009
|
||||||
#define IDC_PORT2ISSHARED 1010
|
#define IDC_PORT1WR 1010
|
||||||
#define IDC_PORT2WR 1011
|
#define IDC_PORT2ISSHARED 1011
|
||||||
#define IDC_PORT2 1012
|
#define IDC_PORT2WR 1012
|
||||||
#define IDC_PORT2LOAD 1013
|
#define IDC_PORT2 1013
|
||||||
#define IDC_IR_ADDR 1014
|
#define IDC_PORT2LOAD 1014
|
||||||
#define IDC_IR_PORT 1015
|
#define IDC_IR_ADDR 1015
|
||||||
#define IDC_WIRE 1016
|
#define IDC_IR_PORT 1016
|
||||||
#define IDC_IR 1017
|
#define IDC_WIRE 1017
|
||||||
#define IDC_EMUDIR 1018
|
#define IDC_IR 1018
|
||||||
#define IDC_EMUDIRSEL 1019
|
#define IDC_EMUDIR 1019
|
||||||
#define IDC_UPDATE 1020
|
#define IDC_EMUDIRSEL 1020
|
||||||
#define IDC_KMLSCRIPT 1021
|
#define IDC_UPDATE 1021
|
||||||
#define IDC_AUTHOR 1022
|
#define IDC_KMLSCRIPT 1022
|
||||||
#define IDC_TITLE 1023
|
#define IDC_AUTHOR 1023
|
||||||
#define IDC_KMLLOG 1024
|
#define IDC_TITLE 1024
|
||||||
|
#define IDC_KMLLOG 1025
|
||||||
#define IDC_VERSION 1025
|
#define IDC_VERSION 1025
|
||||||
#define IDC_LICENSE 1026
|
#define IDC_LICENSE 1027
|
||||||
#define IDC_DISASM_WIN 1028
|
#define IDC_DISASM_WIN 1028
|
||||||
#define IDC_DISASM_MODE_TEXT 1029
|
#define IDC_DISASM_MODE_TEXT 1029
|
||||||
#define IDC_DISASM_MODE 1030
|
#define IDC_DISASM_MODE 1030
|
||||||
|
@ -202,40 +205,42 @@
|
||||||
#define ID_DEBUG_CODE_GOADR 40040
|
#define ID_DEBUG_CODE_GOADR 40040
|
||||||
#define ID_DEBUG_CODE_GOPC 40041
|
#define ID_DEBUG_CODE_GOPC 40041
|
||||||
#define ID_DEBUG_CODE_SETPCTOSELECT 40042
|
#define ID_DEBUG_CODE_SETPCTOSELECT 40042
|
||||||
#define ID_DEBUG_MEM_GOADR 40043
|
#define ID_DEBUG_CODE_PREVPCO 40043
|
||||||
#define ID_DEBUG_MEM_GOPC 40044
|
#define ID_DEBUG_CODE_NEXTPCO 40044
|
||||||
#define ID_DEBUG_MEM_GOD0 40045
|
#define ID_DEBUG_MEM_GOADR 40045
|
||||||
#define ID_DEBUG_MEM_GOD1 40046
|
#define ID_DEBUG_MEM_GOPC 40046
|
||||||
#define ID_DEBUG_MEM_GOSTACK 40047
|
#define ID_DEBUG_MEM_GOD0 40047
|
||||||
#define ID_DEBUG_MEM_FNONE 40048
|
#define ID_DEBUG_MEM_GOD1 40048
|
||||||
#define ID_DEBUG_MEM_FADDR 40049
|
#define ID_DEBUG_MEM_GOSTACK 40049
|
||||||
#define ID_DEBUG_MEM_FPC 40050
|
#define ID_DEBUG_MEM_FNONE 40050
|
||||||
#define ID_DEBUG_MEM_FD0 40051
|
#define ID_DEBUG_MEM_FADDR 40051
|
||||||
#define ID_DEBUG_MEM_FD1 40052
|
#define ID_DEBUG_MEM_FPC 40052
|
||||||
#define ID_DEBUG_MEM_FIND 40053
|
#define ID_DEBUG_MEM_FD0 40053
|
||||||
#define ID_DEBUG_MEM_MAP 40054
|
#define ID_DEBUG_MEM_FD1 40054
|
||||||
#define ID_DEBUG_MEM_NCE1 40055
|
#define ID_DEBUG_MEM_FIND 40055
|
||||||
#define ID_DEBUG_MEM_NCE2 40056
|
#define ID_DEBUG_MEM_MAP 40056
|
||||||
#define ID_DEBUG_MEM_CE1 40057
|
#define ID_DEBUG_MEM_NCE1 40057
|
||||||
#define ID_DEBUG_MEM_CE2 40058
|
#define ID_DEBUG_MEM_NCE2 40058
|
||||||
#define ID_DEBUG_MEM_NCE3 40059
|
#define ID_DEBUG_MEM_CE1 40059
|
||||||
#define ID_DEBUG_MEM_SAVE 40060
|
#define ID_DEBUG_MEM_CE2 40060
|
||||||
#define ID_DEBUG_MEM_LOAD 40061
|
#define ID_DEBUG_MEM_NCE3 40061
|
||||||
#define ID_DEBUG_STACK_PUSH 40062
|
#define ID_DEBUG_MEM_SAVE 40062
|
||||||
#define ID_DEBUG_STACK_POP 40063
|
#define ID_DEBUG_MEM_LOAD 40063
|
||||||
#define ID_DEBUG_STACK_MODIFY 40064
|
#define ID_DEBUG_STACK_PUSH 40064
|
||||||
#define ID_INTR_STEPOVERINT 40065
|
#define ID_DEBUG_STACK_POP 40065
|
||||||
#define ID_INFO_LASTINSTRUCTIONS 40066
|
#define ID_DEBUG_STACK_MODIFY 40066
|
||||||
#define ID_INFO_PROFILE 40067
|
#define ID_INTR_STEPOVERINT 40067
|
||||||
#define ID_INFO_WRITEONLYREG 40068
|
#define ID_INFO_LASTINSTRUCTIONS 40068
|
||||||
|
#define ID_INFO_PROFILE 40069
|
||||||
|
#define ID_INFO_WRITEONLYREG 40070
|
||||||
#define ID_FILE_MRU_FILE1 40100
|
#define ID_FILE_MRU_FILE1 40100
|
||||||
|
|
||||||
// Next default values for new objects
|
// Next default values for new objects
|
||||||
//
|
//
|
||||||
#ifdef APSTUDIO_INVOKED
|
#ifdef APSTUDIO_INVOKED
|
||||||
#ifndef APSTUDIO_READONLY_SYMBOLS
|
#ifndef APSTUDIO_READONLY_SYMBOLS
|
||||||
#define _APS_NEXT_RESOURCE_VALUE 126
|
#define _APS_NEXT_RESOURCE_VALUE 128
|
||||||
#define _APS_NEXT_COMMAND_VALUE 40069
|
#define _APS_NEXT_COMMAND_VALUE 40071
|
||||||
#define _APS_NEXT_CONTROL_VALUE 1134
|
#define _APS_NEXT_CONTROL_VALUE 1134
|
||||||
#define _APS_NEXT_SYMED_VALUE 108
|
#define _APS_NEXT_SYMED_VALUE 108
|
||||||
#endif
|
#endif
|
|
@ -82,11 +82,11 @@ static BOOL Metakernel(VOID)
|
||||||
if (cCurrentRomType=='G' && Port1 && Chipset.cards_status & PORT1_PRESENT)
|
if (cCurrentRomType=='G' && Port1 && Chipset.cards_status & PORT1_PRESENT)
|
||||||
{
|
{
|
||||||
// check for Metakernel string "MDGKER:"
|
// check for Metakernel string "MDGKER:"
|
||||||
if (!strncmp(&Port1[12],"\xD\x4\x4\x4\x7\x4\xB\x4\x5\x4\x2\x5\xA\x3",14))
|
if (!strncmp((LPCSTR) &Port1[12],"\xD\x4\x4\x4\x7\x4\xB\x4\x5\x4\x2\x5\xA\x3",14))
|
||||||
{
|
{
|
||||||
bMkDetect = TRUE; // Metakernel detected
|
bMkDetect = TRUE; // Metakernel detected
|
||||||
// check for "MK"
|
// check for "MK"
|
||||||
if (!strncmp(&Port1[26],"\xD\x4\xB\x4",4))
|
if (!strncmp((LPCSTR) &Port1[26],"\xD\x4\xB\x4",4))
|
||||||
{
|
{
|
||||||
// get version number
|
// get version number
|
||||||
WORD wVersion = ((Port1[30] * 10) + Port1[34]) * 10
|
WORD wVersion = ((Port1[30] * 10) + Port1[34]) * 10
|
||||||
|
@ -396,7 +396,7 @@ DWORD RPL_CreateTemp(DWORD l,BOOL bGarbageCol)
|
||||||
Write5(TEMPTOP, a+l); // adjust new end of top object
|
Write5(TEMPTOP, a+l); // adjust new end of top object
|
||||||
Write5(RSKTOP, b+l); // adjust new end of rtn stack
|
Write5(RSKTOP, b+l); // adjust new end of rtn stack
|
||||||
Write5(AVMEM, (c-b-l)/5); // calculate free memory (*5 nibbles)
|
Write5(AVMEM, (c-b-l)/5); // calculate free memory (*5 nibbles)
|
||||||
p = malloc(b-a); // move down rtn stack
|
p = (LPBYTE) malloc(b-a); // move down rtn stack
|
||||||
Npeek(p,a,b-a);
|
Npeek(p,a,b-a);
|
||||||
Nwrite(p,a+l,b-a);
|
Nwrite(p,a+l,b-a);
|
||||||
free(p);
|
free(p);
|
|
@ -127,16 +127,18 @@ static BOOL DelReg(LPCTSTR lpSubKey, LPCTSTR lpValueName)
|
||||||
|
|
||||||
static DWORD GetRegistryString(LPCTSTR lpszSection, LPCTSTR lpszEntry, LPCTSTR lpDefault, LPTSTR lpData, DWORD dwSize)
|
static DWORD GetRegistryString(LPCTSTR lpszSection, LPCTSTR lpszEntry, LPCTSTR lpDefault, LPTSTR lpData, DWORD dwSize)
|
||||||
{
|
{
|
||||||
dwSize *= sizeof(*lpData); // buffer size in bytes
|
// buffer size in bytes
|
||||||
ReadReg(lpszSection,lpszEntry,(LPBYTE) lpData,&dwSize);
|
DWORD dwBufSize = dwSize * sizeof(*lpData);
|
||||||
if (dwSize == 0)
|
|
||||||
|
ReadReg(lpszSection,lpszEntry,(LPBYTE) lpData,&dwBufSize);
|
||||||
|
if (dwBufSize == 0)
|
||||||
{
|
{
|
||||||
lstrcpy(lpData,lpDefault);
|
lstrcpyn(lpData,lpDefault,dwSize);
|
||||||
dwSize = lstrlen(lpData);
|
dwSize = lstrlen(lpData);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
dwSize = (dwSize / sizeof(*lpData)) - 1;
|
dwSize = (dwBufSize / sizeof(*lpData)) - 1;
|
||||||
}
|
}
|
||||||
return dwSize;
|
return dwSize;
|
||||||
}
|
}
|
||||||
|
@ -190,6 +192,7 @@ VOID ReadSettings(VOID)
|
||||||
dwWakeupDelay = ReadInt(_T("Emulator"),_T("WakeupDelay"),dwWakeupDelay);
|
dwWakeupDelay = ReadInt(_T("Emulator"),_T("WakeupDelay"),dwWakeupDelay);
|
||||||
bGrayscale = ReadInt(_T("Emulator"),_T("Grayscale"),bGrayscale);
|
bGrayscale = ReadInt(_T("Emulator"),_T("Grayscale"),bGrayscale);
|
||||||
bWaveBeep = ReadInt(_T("Emulator"),_T("WaveBeep"),bWaveBeep);
|
bWaveBeep = ReadInt(_T("Emulator"),_T("WaveBeep"),bWaveBeep);
|
||||||
|
uWaveDevId = ReadInt(_T("Emulator"),_T("WaveDeviceId"),uWaveDevId);
|
||||||
dwWaveVol = ReadInt(_T("Emulator"),_T("WaveVolume"),dwWaveVol);
|
dwWaveVol = ReadInt(_T("Emulator"),_T("WaveVolume"),dwWaveVol);
|
||||||
// Macro
|
// Macro
|
||||||
bMacroRealSpeed = ReadInt(_T("Macro"),_T("RealSpeed"),bMacroRealSpeed);
|
bMacroRealSpeed = ReadInt(_T("Macro"),_T("RealSpeed"),bMacroRealSpeed);
|
||||||
|
@ -237,6 +240,7 @@ VOID WriteSettings(VOID)
|
||||||
WriteInt(_T("Emulator"),_T("WakeupDelay"),dwWakeupDelay);
|
WriteInt(_T("Emulator"),_T("WakeupDelay"),dwWakeupDelay);
|
||||||
WriteInt(_T("Emulator"),_T("Grayscale"),bGrayscale);
|
WriteInt(_T("Emulator"),_T("Grayscale"),bGrayscale);
|
||||||
WriteInt(_T("Emulator"),_T("WaveBeep"),bWaveBeep);
|
WriteInt(_T("Emulator"),_T("WaveBeep"),bWaveBeep);
|
||||||
|
WriteInt(_T("Emulator"),_T("WaveDeviceId"),uWaveDevId);
|
||||||
WriteInt(_T("Emulator"),_T("WaveVolume"),dwWaveVol);
|
WriteInt(_T("Emulator"),_T("WaveVolume"),dwWaveVol);
|
||||||
// Macro
|
// Macro
|
||||||
WriteInt(_T("Macro"),_T("RealSpeed"),bMacroRealSpeed);
|
WriteInt(_T("Macro"),_T("RealSpeed"),bMacroRealSpeed);
|
|
@ -461,7 +461,7 @@ static INT DoInt(DWORD dwAddress,LPTSTR cp,INT nSize)
|
||||||
if (nIntLen <= 0) return 0; // error in calculator object
|
if (nIntLen <= 0) return 0; // error in calculator object
|
||||||
|
|
||||||
nLength = 0;
|
nLength = 0;
|
||||||
if ((lpbyData = malloc(nIntLen)))
|
if ((lpbyData = (LPBYTE) malloc(nIntLen)))
|
||||||
{
|
{
|
||||||
// get precisition integer object content and decode it
|
// get precisition integer object content and decode it
|
||||||
Npeek(lpbyData,dwAddress+5,nIntLen);
|
Npeek(lpbyData,dwAddress+5,nIntLen);
|
||||||
|
@ -659,13 +659,12 @@ LRESULT OnStackPaste(VOID) // paste data to stack
|
||||||
LPCTSTR lpstrClipdata;
|
LPCTSTR lpstrClipdata;
|
||||||
LPBYTE lpbyData;
|
LPBYTE lpbyData;
|
||||||
|
|
||||||
if ((lpstrClipdata = GlobalLock(hClipObj)))
|
if ((lpstrClipdata = (LPCTSTR) GlobalLock(hClipObj)))
|
||||||
{
|
{
|
||||||
BYTE byNumber[128];
|
BYTE byNumber[128];
|
||||||
DWORD dwAddress;
|
DWORD dwAddress;
|
||||||
INT s;
|
INT s;
|
||||||
|
|
||||||
|
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
if (bDetectClpObject) // autodetect clipboard object enabled
|
if (bDetectClpObject) // autodetect clipboard object enabled
|
||||||
|
@ -740,7 +739,7 @@ LRESULT OnStackPaste(VOID) // paste data to stack
|
||||||
// any other format
|
// any other format
|
||||||
{
|
{
|
||||||
DWORD dwSize = lstrlen(lpstrClipdata);
|
DWORD dwSize = lstrlen(lpstrClipdata);
|
||||||
if ((lpbyData = malloc(dwSize * 2)))
|
if ((lpbyData = (LPBYTE) malloc(dwSize * 2)))
|
||||||
{
|
{
|
||||||
LPBYTE lpbySrc,lpbyDest;
|
LPBYTE lpbySrc,lpbyDest;
|
||||||
DWORD dwLoop;
|
DWORD dwLoop;
|
||||||
|
@ -749,7 +748,7 @@ LRESULT OnStackPaste(VOID) // paste data to stack
|
||||||
// copy data UNICODE -> ASCII
|
// copy data UNICODE -> ASCII
|
||||||
WideCharToMultiByte(CP_ACP, WC_COMPOSITECHECK,
|
WideCharToMultiByte(CP_ACP, WC_COMPOSITECHECK,
|
||||||
lpstrClipdata, dwSize,
|
lpstrClipdata, dwSize,
|
||||||
lpbyData+dwSize, dwSize, NULL, NULL);
|
(LPSTR) lpbyData+dwSize, dwSize, NULL, NULL);
|
||||||
#else
|
#else
|
||||||
// copy data
|
// copy data
|
||||||
memcpy(lpbyData+dwSize,lpstrClipdata,dwSize);
|
memcpy(lpbyData+dwSize,lpstrClipdata,dwSize);
|
|
@ -24,14 +24,14 @@
|
||||||
|
|
||||||
#define HASHENTRIES 199 // size of hash table
|
#define HASHENTRIES 199 // size of hash table
|
||||||
|
|
||||||
typedef struct RefData
|
typedef struct _REFDATA
|
||||||
{
|
{
|
||||||
LPTSTR lpszName; // symbol name
|
LPTSTR lpszName; // symbol name
|
||||||
DWORD dwAddr; // resolved address
|
DWORD dwAddr; // resolved address
|
||||||
struct RefData* pNext;
|
struct _REFDATA* pNext;
|
||||||
} RefData;
|
} REFDATA, *PREFDATA;
|
||||||
|
|
||||||
static RefData *ppsBase[HASHENTRIES]; // base of symbol references (initialized with NULL)
|
static PREFDATA ppsBase[HASHENTRIES]; // base of symbol references (initialized with NULL)
|
||||||
|
|
||||||
static __inline DWORD GetHash(DWORD dwVal)
|
static __inline DWORD GetHash(DWORD dwVal)
|
||||||
{
|
{
|
||||||
|
@ -151,18 +151,18 @@ BOOL RplLoadTable(LPCTSTR lpszFilename)
|
||||||
if (wSymbolType == OS_RESOLVED) // resolved symbol type
|
if (wSymbolType == OS_RESOLVED) // resolved symbol type
|
||||||
{
|
{
|
||||||
TCHAR szSymbolName[36+1],*pcPtr;
|
TCHAR szSymbolName[36+1],*pcPtr;
|
||||||
RefData *pData;
|
PREFDATA pData;
|
||||||
DWORD dwHash;
|
DWORD dwHash;
|
||||||
|
|
||||||
#if defined _UNICODE
|
#if defined _UNICODE
|
||||||
{
|
{
|
||||||
MultiByteToWideChar(CP_ACP, MB_PRECOMPOSED,byPage+dwPageIndex,36,
|
MultiByteToWideChar(CP_ACP, MB_PRECOMPOSED,(LPCSTR)byPage+dwPageIndex,36,
|
||||||
szSymbolName,ARRAYSIZEOF(szSymbolName));
|
szSymbolName,ARRAYSIZEOF(szSymbolName));
|
||||||
szSymbolName[36] = 0; // set EOS
|
szSymbolName[36] = 0; // set EOS
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
{
|
{
|
||||||
lstrcpyn(szSymbolName,byPage+dwPageIndex,ARRAYSIZEOF(szSymbolName));
|
lstrcpyn(szSymbolName,(LPCSTR)byPage+dwPageIndex,ARRAYSIZEOF(szSymbolName));
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -171,7 +171,7 @@ BOOL RplLoadTable(LPCTSTR lpszFilename)
|
||||||
*pcPtr = 0; // set EOS
|
*pcPtr = 0; // set EOS
|
||||||
|
|
||||||
// allocate symbol memory
|
// allocate symbol memory
|
||||||
VERIFY(pData = malloc(sizeof(RefData)));
|
VERIFY(pData = (PREFDATA) malloc(sizeof(*pData)));
|
||||||
pData->lpszName = DuplicateString(szSymbolName);
|
pData->lpszName = DuplicateString(szSymbolName);
|
||||||
pData->dwAddr = GetBigEndian(byPage+dwPageIndex+38,sizeof(DWORD));
|
pData->dwAddr = GetBigEndian(byPage+dwPageIndex+38,sizeof(DWORD));
|
||||||
|
|
||||||
|
@ -200,7 +200,7 @@ BOOL RplLoadTable(LPCTSTR lpszFilename)
|
||||||
//
|
//
|
||||||
VOID RplDeleteTable(VOID)
|
VOID RplDeleteTable(VOID)
|
||||||
{
|
{
|
||||||
RefData *pData;
|
PREFDATA pData;
|
||||||
DWORD i;
|
DWORD i;
|
||||||
|
|
||||||
// clear hash entries
|
// clear hash entries
|
||||||
|
@ -222,7 +222,7 @@ VOID RplDeleteTable(VOID)
|
||||||
//
|
//
|
||||||
LPCTSTR RplGetName(DWORD dwAddr)
|
LPCTSTR RplGetName(DWORD dwAddr)
|
||||||
{
|
{
|
||||||
RefData *pData = ppsBase[GetHash(dwAddr)];
|
PREFDATA pData = ppsBase[GetHash(dwAddr)];
|
||||||
|
|
||||||
// walk through all datasets of hash entry
|
// walk through all datasets of hash entry
|
||||||
for (; pData != NULL; pData = pData->pNext)
|
for (; pData != NULL; pData = pData->pNext)
|
||||||
|
@ -238,7 +238,7 @@ LPCTSTR RplGetName(DWORD dwAddr)
|
||||||
//
|
//
|
||||||
BOOL RplGetAddr(LPCTSTR lpszName, DWORD *pdwAddr)
|
BOOL RplGetAddr(LPCTSTR lpszName, DWORD *pdwAddr)
|
||||||
{
|
{
|
||||||
RefData *pData;
|
PREFDATA pData;
|
||||||
DWORD i;
|
DWORD i;
|
||||||
|
|
||||||
// check for every dataset in hash table
|
// check for every dataset in hash table
|
|
@ -1,46 +0,0 @@
|
||||||
|
|
||||||
Microsoft Visual Studio Solution File, Format Version 11.00
|
|
||||||
# Visual Studio 2010
|
|
||||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "EMU48DLL", "EMU48DLL.vcxproj", "{D698708A-34DA-4FDC-80BC-D3AB2EBC5CA9}"
|
|
||||||
EndProject
|
|
||||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Emu48", "Emu48.vcxproj", "{D2111396-0ACD-41C3-B286-3E6599A9720A}"
|
|
||||||
EndProject
|
|
||||||
Global
|
|
||||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
|
||||||
Debug Unicode|Win32 = Debug Unicode|Win32
|
|
||||||
Debug|Win32 = Debug|Win32
|
|
||||||
DebugRegDebug4x|Win32 = DebugRegDebug4x|Win32
|
|
||||||
Release Unicode|Win32 = Release Unicode|Win32
|
|
||||||
Release|Win32 = Release|Win32
|
|
||||||
ReleaseRegDebug4x|Win32 = ReleaseRegDebug4x|Win32
|
|
||||||
EndGlobalSection
|
|
||||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
|
||||||
{D698708A-34DA-4FDC-80BC-D3AB2EBC5CA9}.Debug Unicode|Win32.ActiveCfg = Debug|Win32
|
|
||||||
{D698708A-34DA-4FDC-80BC-D3AB2EBC5CA9}.Debug Unicode|Win32.Build.0 = Debug|Win32
|
|
||||||
{D698708A-34DA-4FDC-80BC-D3AB2EBC5CA9}.Debug|Win32.ActiveCfg = Debug|Win32
|
|
||||||
{D698708A-34DA-4FDC-80BC-D3AB2EBC5CA9}.Debug|Win32.Build.0 = Debug|Win32
|
|
||||||
{D698708A-34DA-4FDC-80BC-D3AB2EBC5CA9}.DebugRegDebug4x|Win32.ActiveCfg = Debug|Win32
|
|
||||||
{D698708A-34DA-4FDC-80BC-D3AB2EBC5CA9}.DebugRegDebug4x|Win32.Build.0 = Debug|Win32
|
|
||||||
{D698708A-34DA-4FDC-80BC-D3AB2EBC5CA9}.Release Unicode|Win32.ActiveCfg = Release|Win32
|
|
||||||
{D698708A-34DA-4FDC-80BC-D3AB2EBC5CA9}.Release Unicode|Win32.Build.0 = Release|Win32
|
|
||||||
{D698708A-34DA-4FDC-80BC-D3AB2EBC5CA9}.Release|Win32.ActiveCfg = Release|Win32
|
|
||||||
{D698708A-34DA-4FDC-80BC-D3AB2EBC5CA9}.Release|Win32.Build.0 = Release|Win32
|
|
||||||
{D698708A-34DA-4FDC-80BC-D3AB2EBC5CA9}.ReleaseRegDebug4x|Win32.ActiveCfg = Release|Win32
|
|
||||||
{D698708A-34DA-4FDC-80BC-D3AB2EBC5CA9}.ReleaseRegDebug4x|Win32.Build.0 = Release|Win32
|
|
||||||
{D2111396-0ACD-41C3-B286-3E6599A9720A}.Debug Unicode|Win32.ActiveCfg = Debug Unicode|Win32
|
|
||||||
{D2111396-0ACD-41C3-B286-3E6599A9720A}.Debug Unicode|Win32.Build.0 = Debug Unicode|Win32
|
|
||||||
{D2111396-0ACD-41C3-B286-3E6599A9720A}.Debug|Win32.ActiveCfg = Debug|Win32
|
|
||||||
{D2111396-0ACD-41C3-B286-3E6599A9720A}.Debug|Win32.Build.0 = Debug|Win32
|
|
||||||
{D2111396-0ACD-41C3-B286-3E6599A9720A}.DebugRegDebug4x|Win32.ActiveCfg = DebugRegDebug4x|Win32
|
|
||||||
{D2111396-0ACD-41C3-B286-3E6599A9720A}.DebugRegDebug4x|Win32.Build.0 = DebugRegDebug4x|Win32
|
|
||||||
{D2111396-0ACD-41C3-B286-3E6599A9720A}.Release Unicode|Win32.ActiveCfg = Release Unicode|Win32
|
|
||||||
{D2111396-0ACD-41C3-B286-3E6599A9720A}.Release Unicode|Win32.Build.0 = Release Unicode|Win32
|
|
||||||
{D2111396-0ACD-41C3-B286-3E6599A9720A}.Release|Win32.ActiveCfg = Release|Win32
|
|
||||||
{D2111396-0ACD-41C3-B286-3E6599A9720A}.Release|Win32.Build.0 = Release|Win32
|
|
||||||
{D2111396-0ACD-41C3-B286-3E6599A9720A}.ReleaseRegDebug4x|Win32.ActiveCfg = ReleaseRegDebug4x|Win32
|
|
||||||
{D2111396-0ACD-41C3-B286-3E6599A9720A}.ReleaseRegDebug4x|Win32.Build.0 = ReleaseRegDebug4x|Win32
|
|
||||||
EndGlobalSection
|
|
||||||
GlobalSection(SolutionProperties) = preSolution
|
|
||||||
HideSolutionNode = FALSE
|
|
||||||
EndGlobalSection
|
|
||||||
EndGlobal
|
|
|
@ -1,808 +0,0 @@
|
||||||
<?xml version="1.0" encoding="Windows-1252"?>
|
|
||||||
<VisualStudioProject
|
|
||||||
ProjectType="Visual C++"
|
|
||||||
Version="9.00"
|
|
||||||
Name="Emu48dll"
|
|
||||||
ProjectGUID="{D698708A-34DA-4FDC-80BC-D3AB2EBC5CA9}"
|
|
||||||
RootNamespace="Emu48"
|
|
||||||
TargetFrameworkVersion="0"
|
|
||||||
>
|
|
||||||
<Platforms>
|
|
||||||
<Platform
|
|
||||||
Name="Win32"
|
|
||||||
/>
|
|
||||||
</Platforms>
|
|
||||||
<ToolFiles>
|
|
||||||
</ToolFiles>
|
|
||||||
<Configurations>
|
|
||||||
<Configuration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
OutputDirectory=".\Debug"
|
|
||||||
IntermediateDirectory=".\Debug"
|
|
||||||
ConfigurationType="2"
|
|
||||||
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
|
|
||||||
UseOfMFC="0"
|
|
||||||
ATLMinimizesCRunTimeLibraryUsage="false"
|
|
||||||
CharacterSet="2"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
PreprocessorDefinitions="_DEBUG"
|
|
||||||
MkTypLibCompatible="true"
|
|
||||||
SuppressStartupBanner="true"
|
|
||||||
TargetEnvironment="1"
|
|
||||||
TypeLibraryName=".\Debug/EMU48DLL.tlb"
|
|
||||||
HeaderFileName=""
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
AdditionalOptions="/D REGISTRYKEY=\"Software\\Hewlett-Packard\\Debug4x\\Emu48\""
|
|
||||||
Optimization="0"
|
|
||||||
PreprocessorDefinitions="_DEBUG;WIN32;_WINDOWS;STRICT;_USRDLL;REGISTRY"
|
|
||||||
MinimalRebuild="true"
|
|
||||||
RuntimeLibrary="1"
|
|
||||||
UsePrecompiledHeader="2"
|
|
||||||
PrecompiledHeaderThrough="pch.h"
|
|
||||||
PrecompiledHeaderFile=".\Debug/EMU48DLL.pch"
|
|
||||||
AssemblerListingLocation=".\Debug/"
|
|
||||||
ObjectFile=".\Debug/"
|
|
||||||
ProgramDataBaseFileName=".\Debug/"
|
|
||||||
BrowseInformation="1"
|
|
||||||
WarningLevel="3"
|
|
||||||
SuppressStartupBanner="true"
|
|
||||||
DebugInformationFormat="4"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
PreprocessorDefinitions="_DEBUG"
|
|
||||||
Culture="1036"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLinkerTool"
|
|
||||||
AdditionalDependencies="winmm.lib"
|
|
||||||
OutputFile=".\Debug/Emu48.dll"
|
|
||||||
LinkIncremental="2"
|
|
||||||
SuppressStartupBanner="true"
|
|
||||||
GenerateDebugInformation="true"
|
|
||||||
ProgramDatabaseFile=".\Debug/Emu48.pdb"
|
|
||||||
RandomizedBaseAddress="1"
|
|
||||||
DataExecutionPrevention="0"
|
|
||||||
ImportLibrary=".\Debug/Emu48.lib"
|
|
||||||
TargetMachine="1"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManifestTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
SuppressStartupBanner="true"
|
|
||||||
OutputFile=".\Debug/EMU48DLL.bsc"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCAppVerifierTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
<Configuration
|
|
||||||
Name="Release|Win32"
|
|
||||||
OutputDirectory=".\Release"
|
|
||||||
IntermediateDirectory=".\Release"
|
|
||||||
ConfigurationType="2"
|
|
||||||
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
|
|
||||||
UseOfMFC="0"
|
|
||||||
ATLMinimizesCRunTimeLibraryUsage="false"
|
|
||||||
CharacterSet="2"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
PreprocessorDefinitions="NDEBUG"
|
|
||||||
MkTypLibCompatible="true"
|
|
||||||
SuppressStartupBanner="true"
|
|
||||||
TargetEnvironment="1"
|
|
||||||
TypeLibraryName=".\Release/EMU48DLL.tlb"
|
|
||||||
HeaderFileName=""
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
AdditionalOptions="/D REGISTRYKEY=\"Software\\Hewlett-Packard\\Debug4x\\Emu48\""
|
|
||||||
Optimization="2"
|
|
||||||
InlineFunctionExpansion="2"
|
|
||||||
PreprocessorDefinitions="NDEBUG;WIN32;_WINDOWS;STRICT;_USRDLL;REGISTRY"
|
|
||||||
StringPooling="true"
|
|
||||||
RuntimeLibrary="0"
|
|
||||||
EnableFunctionLevelLinking="true"
|
|
||||||
UsePrecompiledHeader="2"
|
|
||||||
PrecompiledHeaderThrough="pch.h"
|
|
||||||
PrecompiledHeaderFile=".\Release/EMU48DLL.pch"
|
|
||||||
AssemblerListingLocation=".\Release/"
|
|
||||||
ObjectFile=".\Release/"
|
|
||||||
ProgramDataBaseFileName=".\Release/"
|
|
||||||
WarningLevel="3"
|
|
||||||
SuppressStartupBanner="true"
|
|
||||||
CallingConvention="1"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
PreprocessorDefinitions="NDEBUG"
|
|
||||||
Culture="1036"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLinkerTool"
|
|
||||||
AdditionalDependencies="winmm.lib"
|
|
||||||
OutputFile=".\Release/Emu48.dll"
|
|
||||||
LinkIncremental="1"
|
|
||||||
SuppressStartupBanner="true"
|
|
||||||
ProgramDatabaseFile=".\Release/Emu48.pdb"
|
|
||||||
RandomizedBaseAddress="1"
|
|
||||||
DataExecutionPrevention="0"
|
|
||||||
ImportLibrary=".\Release/Emu48.lib"
|
|
||||||
TargetMachine="1"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManifestTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
SuppressStartupBanner="true"
|
|
||||||
OutputFile=".\Release/EMU48DLL.bsc"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCAppVerifierTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
</Configurations>
|
|
||||||
<References>
|
|
||||||
</References>
|
|
||||||
<Files>
|
|
||||||
<Filter
|
|
||||||
Name="Source Files"
|
|
||||||
Filter="cpp;c;cxx;rc;def;r;odl;hpj;bat;for;f90"
|
|
||||||
>
|
|
||||||
<File
|
|
||||||
RelativePath="apple.c"
|
|
||||||
>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Release|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="cursor.c"
|
|
||||||
>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Release|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="ddeserv.c"
|
|
||||||
>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Release|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="debugdll.c"
|
|
||||||
>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Release|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="disasm.c"
|
|
||||||
>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Release|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="display.c"
|
|
||||||
>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Release|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="Emu48.c"
|
|
||||||
>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Release|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="Emu48.rc"
|
|
||||||
>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Release|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="Emu48dll.c"
|
|
||||||
>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Release|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="engine.c"
|
|
||||||
>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Release|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="external.c"
|
|
||||||
>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Release|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="fetch.c"
|
|
||||||
>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Release|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="files.c"
|
|
||||||
>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Release|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="i28f160.c"
|
|
||||||
>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Release|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="keyboard.c"
|
|
||||||
>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Release|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="keymacro.c"
|
|
||||||
>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Release|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="kml.c"
|
|
||||||
>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Release|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="mops.c"
|
|
||||||
>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Release|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="mru.c"
|
|
||||||
>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Release|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="opcodes.c"
|
|
||||||
>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Release|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="pch.c"
|
|
||||||
>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
UsePrecompiledHeader="1"
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Release|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
UsePrecompiledHeader="1"
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="rpl.c"
|
|
||||||
>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Release|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="serial.c"
|
|
||||||
>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Release|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="settings.c"
|
|
||||||
>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Release|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="stack.c"
|
|
||||||
>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Release|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="timer.c"
|
|
||||||
>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Release|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions=""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
</File>
|
|
||||||
</Filter>
|
|
||||||
<Filter
|
|
||||||
Name="Header Files"
|
|
||||||
Filter="h;hpp;hxx;hm;inl;fi;fd"
|
|
||||||
>
|
|
||||||
<File
|
|
||||||
RelativePath="apple.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="color.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="debugger.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="Emu48.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="Emu48dll.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="i28f160.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="io.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="kml.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="opcodes.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="ops.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="pch.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="types.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
</Filter>
|
|
||||||
<Filter
|
|
||||||
Name="Resource Files"
|
|
||||||
Filter="ico;cur;bmp;dlg;rc2;rct;bin;cnt;rtf;gif;jpg;jpeg;jpe"
|
|
||||||
>
|
|
||||||
<File
|
|
||||||
RelativePath="Emu48.ico"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
</Filter>
|
|
||||||
</Files>
|
|
||||||
<Globals>
|
|
||||||
</Globals>
|
|
||||||
</VisualStudioProject>
|
|
|
@ -1,279 +0,0 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
|
||||||
<ItemGroup Label="ProjectConfigurations">
|
|
||||||
<ProjectConfiguration Include="Debug|Win32">
|
|
||||||
<Configuration>Debug</Configuration>
|
|
||||||
<Platform>Win32</Platform>
|
|
||||||
</ProjectConfiguration>
|
|
||||||
<ProjectConfiguration Include="Release|Win32">
|
|
||||||
<Configuration>Release</Configuration>
|
|
||||||
<Platform>Win32</Platform>
|
|
||||||
</ProjectConfiguration>
|
|
||||||
</ItemGroup>
|
|
||||||
<PropertyGroup Label="Globals">
|
|
||||||
<ProjectGuid>{D698708A-34DA-4FDC-80BC-D3AB2EBC5CA9}</ProjectGuid>
|
|
||||||
<RootNamespace>Emu48</RootNamespace>
|
|
||||||
</PropertyGroup>
|
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
|
||||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
|
||||||
<UseOfMfc>false</UseOfMfc>
|
|
||||||
<CharacterSet>MultiByte</CharacterSet>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
|
||||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
|
||||||
<UseOfMfc>false</UseOfMfc>
|
|
||||||
<CharacterSet>MultiByte</CharacterSet>
|
|
||||||
</PropertyGroup>
|
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
|
||||||
<ImportGroup Label="ExtensionSettings">
|
|
||||||
</ImportGroup>
|
|
||||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
|
|
||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
|
||||||
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
|
|
||||||
</ImportGroup>
|
|
||||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
|
|
||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
|
||||||
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
|
|
||||||
</ImportGroup>
|
|
||||||
<PropertyGroup Label="UserMacros" />
|
|
||||||
<PropertyGroup>
|
|
||||||
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
|
|
||||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\Debug\</OutDir>
|
|
||||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\Debug\</IntDir>
|
|
||||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
|
|
||||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\Release\</OutDir>
|
|
||||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\Release\</IntDir>
|
|
||||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
|
|
||||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">EMU48</TargetName>
|
|
||||||
</PropertyGroup>
|
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
|
||||||
<Midl>
|
|
||||||
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<MkTypLibCompatible>true</MkTypLibCompatible>
|
|
||||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
|
||||||
<TargetEnvironment>Win32</TargetEnvironment>
|
|
||||||
<TypeLibraryName>.\Debug/EMU48DLL.tlb</TypeLibraryName>
|
|
||||||
<HeaderFileName>
|
|
||||||
</HeaderFileName>
|
|
||||||
</Midl>
|
|
||||||
<ClCompile>
|
|
||||||
<AdditionalOptions>/D REGISTRYKEY=\"Software\\Hewlett-Packard\\Debug4x\\Emu48\" %(AdditionalOptions)</AdditionalOptions>
|
|
||||||
<Optimization>Disabled</Optimization>
|
|
||||||
<PreprocessorDefinitions>_DEBUG;WIN32;_WINDOWS;STRICT;_USRDLL;REGISTRY;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<MinimalRebuild>true</MinimalRebuild>
|
|
||||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
|
||||||
<PrecompiledHeader>Use</PrecompiledHeader>
|
|
||||||
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
|
|
||||||
<PrecompiledHeaderOutputFile>.\Debug/EMU48DLL.pch</PrecompiledHeaderOutputFile>
|
|
||||||
<AssemblerListingLocation>.\Debug/</AssemblerListingLocation>
|
|
||||||
<ObjectFileName>.\Debug/</ObjectFileName>
|
|
||||||
<ProgramDataBaseFileName>.\Debug/</ProgramDataBaseFileName>
|
|
||||||
<BrowseInformation>true</BrowseInformation>
|
|
||||||
<WarningLevel>Level3</WarningLevel>
|
|
||||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
|
||||||
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
|
|
||||||
</ClCompile>
|
|
||||||
<ResourceCompile>
|
|
||||||
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<Culture>0x040c</Culture>
|
|
||||||
</ResourceCompile>
|
|
||||||
<Link>
|
|
||||||
<AdditionalDependencies>winmm.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
|
||||||
<OutputFile>.\Debug/Emu48.dll</OutputFile>
|
|
||||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
|
||||||
<ProgramDatabaseFile>.\Debug/Emu48.pdb</ProgramDatabaseFile>
|
|
||||||
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
|
||||||
<DataExecutionPrevention>
|
|
||||||
</DataExecutionPrevention>
|
|
||||||
<ImportLibrary>.\Debug/Emu48.lib</ImportLibrary>
|
|
||||||
<TargetMachine>MachineX86</TargetMachine>
|
|
||||||
</Link>
|
|
||||||
<Bscmake>
|
|
||||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
|
||||||
<OutputFile>.\Debug/EMU48DLL.bsc</OutputFile>
|
|
||||||
</Bscmake>
|
|
||||||
</ItemDefinitionGroup>
|
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
|
||||||
<Midl>
|
|
||||||
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<MkTypLibCompatible>true</MkTypLibCompatible>
|
|
||||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
|
||||||
<TargetEnvironment>Win32</TargetEnvironment>
|
|
||||||
<TypeLibraryName>.\Release/EMU48DLL.tlb</TypeLibraryName>
|
|
||||||
<HeaderFileName>
|
|
||||||
</HeaderFileName>
|
|
||||||
</Midl>
|
|
||||||
<ClCompile>
|
|
||||||
<AdditionalOptions>/D REGISTRYKEY=\"Software\\Hewlett-Packard\\Debug4x\\Emu48\" %(AdditionalOptions)</AdditionalOptions>
|
|
||||||
<Optimization>MaxSpeed</Optimization>
|
|
||||||
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
|
|
||||||
<PreprocessorDefinitions>NDEBUG;WIN32;_WINDOWS;STRICT;_USRDLL;REGISTRY;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<StringPooling>true</StringPooling>
|
|
||||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
|
||||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
|
||||||
<PrecompiledHeader>Use</PrecompiledHeader>
|
|
||||||
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
|
|
||||||
<PrecompiledHeaderOutputFile>.\Release/EMU48DLL.pch</PrecompiledHeaderOutputFile>
|
|
||||||
<AssemblerListingLocation>.\Release/</AssemblerListingLocation>
|
|
||||||
<ObjectFileName>.\Release/</ObjectFileName>
|
|
||||||
<ProgramDataBaseFileName>.\Release/</ProgramDataBaseFileName>
|
|
||||||
<WarningLevel>Level3</WarningLevel>
|
|
||||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
|
||||||
<CallingConvention>FastCall</CallingConvention>
|
|
||||||
</ClCompile>
|
|
||||||
<ResourceCompile>
|
|
||||||
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<Culture>0x040c</Culture>
|
|
||||||
</ResourceCompile>
|
|
||||||
<Link>
|
|
||||||
<AdditionalDependencies>winmm.lib;Ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
|
||||||
<OutputFile>.\Release/Emu48.dll</OutputFile>
|
|
||||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
|
||||||
<ProgramDatabaseFile>.\Release/Emu48.pdb</ProgramDatabaseFile>
|
|
||||||
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
|
||||||
<DataExecutionPrevention>
|
|
||||||
</DataExecutionPrevention>
|
|
||||||
<ImportLibrary>.\Release/Emu48.lib</ImportLibrary>
|
|
||||||
<TargetMachine>MachineX86</TargetMachine>
|
|
||||||
</Link>
|
|
||||||
<Bscmake>
|
|
||||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
|
||||||
<OutputFile>.\Release/EMU48DLL.bsc</OutputFile>
|
|
||||||
</Bscmake>
|
|
||||||
</ItemDefinitionGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<ClCompile Include="apple.c">
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="cursor.c">
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="ddeserv.c">
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="debugdll.c">
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="disasm.c">
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="DISMEM.C" />
|
|
||||||
<ClCompile Include="display.c">
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="Emu48.c">
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="Emu48dll.c">
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="engine.c">
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="external.c">
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="fetch.c">
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="files.c">
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="i28f160.c">
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="keyboard.c">
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="keymacro.c">
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="kml.c">
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="mops.c">
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="mru.c">
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="opcodes.c">
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="pch.c">
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="REDEYE.C" />
|
|
||||||
<ClCompile Include="rpl.c">
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="serial.c">
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="settings.c">
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="stack.c">
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="timer.c">
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="UDP.C" />
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<ResourceCompile Include="Emu48.rc">
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
</ResourceCompile>
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<ClInclude Include="apple.h" />
|
|
||||||
<ClInclude Include="color.h" />
|
|
||||||
<ClInclude Include="debugger.h" />
|
|
||||||
<ClInclude Include="Emu48.h" />
|
|
||||||
<ClInclude Include="Emu48dll.h" />
|
|
||||||
<ClInclude Include="i28f160.h" />
|
|
||||||
<ClInclude Include="io.h" />
|
|
||||||
<ClInclude Include="kml.h" />
|
|
||||||
<ClInclude Include="opcodes.h" />
|
|
||||||
<ClInclude Include="ops.h" />
|
|
||||||
<ClInclude Include="pch.h" />
|
|
||||||
<ClInclude Include="types.h" />
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<None Include="Emu48.ico" />
|
|
||||||
</ItemGroup>
|
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
|
||||||
<ImportGroup Label="ExtensionTargets">
|
|
||||||
</ImportGroup>
|
|
||||||
</Project>
|
|
|
@ -1,151 +0,0 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
|
||||||
<ItemGroup>
|
|
||||||
<Filter Include="Source Files">
|
|
||||||
<UniqueIdentifier>{036803d0-e5da-4f5d-adf3-bd23b9dd095f}</UniqueIdentifier>
|
|
||||||
<Extensions>cpp;c;cxx;rc;def;r;odl;hpj;bat;for;f90</Extensions>
|
|
||||||
</Filter>
|
|
||||||
<Filter Include="Header Files">
|
|
||||||
<UniqueIdentifier>{5602a8c2-47f0-4367-bec1-73dd7c524ed4}</UniqueIdentifier>
|
|
||||||
<Extensions>h;hpp;hxx;hm;inl;fi;fd</Extensions>
|
|
||||||
</Filter>
|
|
||||||
<Filter Include="Resource Files">
|
|
||||||
<UniqueIdentifier>{4fd418f4-ad27-4307-92fe-9cecea80086d}</UniqueIdentifier>
|
|
||||||
<Extensions>ico;cur;bmp;dlg;rc2;rct;bin;cnt;rtf;gif;jpg;jpeg;jpe</Extensions>
|
|
||||||
</Filter>
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<ClCompile Include="apple.c">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="cursor.c">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="ddeserv.c">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="debugdll.c">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="disasm.c">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="display.c">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="Emu48.c">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="Emu48dll.c">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="engine.c">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="external.c">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="fetch.c">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="files.c">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="i28f160.c">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="keyboard.c">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="keymacro.c">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="kml.c">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="mops.c">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="mru.c">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="opcodes.c">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="pch.c">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="rpl.c">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="serial.c">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="settings.c">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="stack.c">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="timer.c">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="DISMEM.C">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="REDEYE.C">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="UDP.C">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<ResourceCompile Include="Emu48.rc">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ResourceCompile>
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<ClInclude Include="apple.h">
|
|
||||||
<Filter>Header Files</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
<ClInclude Include="color.h">
|
|
||||||
<Filter>Header Files</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
<ClInclude Include="debugger.h">
|
|
||||||
<Filter>Header Files</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
<ClInclude Include="Emu48.h">
|
|
||||||
<Filter>Header Files</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
<ClInclude Include="Emu48dll.h">
|
|
||||||
<Filter>Header Files</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
<ClInclude Include="i28f160.h">
|
|
||||||
<Filter>Header Files</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
<ClInclude Include="io.h">
|
|
||||||
<Filter>Header Files</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
<ClInclude Include="kml.h">
|
|
||||||
<Filter>Header Files</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
<ClInclude Include="opcodes.h">
|
|
||||||
<Filter>Header Files</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
<ClInclude Include="ops.h">
|
|
||||||
<Filter>Header Files</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
<ClInclude Include="pch.h">
|
|
||||||
<Filter>Header Files</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
<ClInclude Include="types.h">
|
|
||||||
<Filter>Header Files</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<None Include="Emu48.ico">
|
|
||||||
<Filter>Resource Files</Filter>
|
|
||||||
</None>
|
|
||||||
</ItemGroup>
|
|
||||||
</Project>
|
|
File diff suppressed because it is too large
Load diff
|
@ -1,631 +0,0 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
|
||||||
<ItemGroup Label="ProjectConfigurations">
|
|
||||||
<ProjectConfiguration Include="Debug Unicode|Win32">
|
|
||||||
<Configuration>Debug Unicode</Configuration>
|
|
||||||
<Platform>Win32</Platform>
|
|
||||||
</ProjectConfiguration>
|
|
||||||
<ProjectConfiguration Include="DebugRegDebug4x|Win32">
|
|
||||||
<Configuration>DebugRegDebug4x</Configuration>
|
|
||||||
<Platform>Win32</Platform>
|
|
||||||
</ProjectConfiguration>
|
|
||||||
<ProjectConfiguration Include="Debug|Win32">
|
|
||||||
<Configuration>Debug</Configuration>
|
|
||||||
<Platform>Win32</Platform>
|
|
||||||
</ProjectConfiguration>
|
|
||||||
<ProjectConfiguration Include="Release Unicode|Win32">
|
|
||||||
<Configuration>Release Unicode</Configuration>
|
|
||||||
<Platform>Win32</Platform>
|
|
||||||
</ProjectConfiguration>
|
|
||||||
<ProjectConfiguration Include="ReleaseRegDebug4x|Win32">
|
|
||||||
<Configuration>ReleaseRegDebug4x</Configuration>
|
|
||||||
<Platform>Win32</Platform>
|
|
||||||
</ProjectConfiguration>
|
|
||||||
<ProjectConfiguration Include="Release|Win32">
|
|
||||||
<Configuration>Release</Configuration>
|
|
||||||
<Platform>Win32</Platform>
|
|
||||||
</ProjectConfiguration>
|
|
||||||
</ItemGroup>
|
|
||||||
<PropertyGroup Label="Globals">
|
|
||||||
<ProjectGuid>{D2111396-0ACD-41C3-B286-3E6599A9720A}</ProjectGuid>
|
|
||||||
<RootNamespace>Emu48</RootNamespace>
|
|
||||||
</PropertyGroup>
|
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseRegDebug4x|Win32'" Label="Configuration">
|
|
||||||
<ConfigurationType>Application</ConfigurationType>
|
|
||||||
<UseOfMfc>false</UseOfMfc>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugRegDebug4x|Win32'" Label="Configuration">
|
|
||||||
<ConfigurationType>Application</ConfigurationType>
|
|
||||||
<UseOfMfc>false</UseOfMfc>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
|
||||||
<ConfigurationType>Application</ConfigurationType>
|
|
||||||
<UseOfMfc>false</UseOfMfc>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Unicode|Win32'" Label="Configuration">
|
|
||||||
<ConfigurationType>Application</ConfigurationType>
|
|
||||||
<UseOfMfc>false</UseOfMfc>
|
|
||||||
<CharacterSet>Unicode</CharacterSet>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
|
||||||
<ConfigurationType>Application</ConfigurationType>
|
|
||||||
<UseOfMfc>false</UseOfMfc>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Unicode|Win32'" Label="Configuration">
|
|
||||||
<ConfigurationType>Application</ConfigurationType>
|
|
||||||
<UseOfMfc>false</UseOfMfc>
|
|
||||||
<CharacterSet>Unicode</CharacterSet>
|
|
||||||
</PropertyGroup>
|
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
|
||||||
<ImportGroup Label="ExtensionSettings">
|
|
||||||
</ImportGroup>
|
|
||||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseRegDebug4x|Win32'" Label="PropertySheets">
|
|
||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
|
||||||
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
|
|
||||||
</ImportGroup>
|
|
||||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='DebugRegDebug4x|Win32'" Label="PropertySheets">
|
|
||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
|
||||||
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
|
|
||||||
</ImportGroup>
|
|
||||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
|
|
||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
|
||||||
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
|
|
||||||
</ImportGroup>
|
|
||||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release Unicode|Win32'" Label="PropertySheets">
|
|
||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
|
||||||
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
|
|
||||||
</ImportGroup>
|
|
||||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
|
|
||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
|
||||||
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
|
|
||||||
</ImportGroup>
|
|
||||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug Unicode|Win32'" Label="PropertySheets">
|
|
||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
|
||||||
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
|
|
||||||
</ImportGroup>
|
|
||||||
<PropertyGroup Label="UserMacros" />
|
|
||||||
<PropertyGroup>
|
|
||||||
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
|
|
||||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug Unicode|Win32'">.\DebugUnicode\</OutDir>
|
|
||||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug Unicode|Win32'">.\DebugUnicode\</IntDir>
|
|
||||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug Unicode|Win32'">true</LinkIncremental>
|
|
||||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\Debug\</OutDir>
|
|
||||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\Debug\</IntDir>
|
|
||||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
|
|
||||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release Unicode|Win32'">.\ReleaseUnicode\</OutDir>
|
|
||||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release Unicode|Win32'">.\ReleaseUnicode\</IntDir>
|
|
||||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release Unicode|Win32'">false</LinkIncremental>
|
|
||||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\Release\</OutDir>
|
|
||||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\Release\</IntDir>
|
|
||||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
|
|
||||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='DebugRegDebug4x|Win32'">.\DebugRegDebug4x\</OutDir>
|
|
||||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='DebugRegDebug4x|Win32'">.\DebugRegDebug4x\</IntDir>
|
|
||||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='DebugRegDebug4x|Win32'">true</LinkIncremental>
|
|
||||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='ReleaseRegDebug4x|Win32'">.\ReleaseRegDebug4x\</OutDir>
|
|
||||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='ReleaseRegDebug4x|Win32'">.\ReleaseRegDebug4x\</IntDir>
|
|
||||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='ReleaseRegDebug4x|Win32'">false</LinkIncremental>
|
|
||||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">EMU48</TargetName>
|
|
||||||
</PropertyGroup>
|
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug Unicode|Win32'">
|
|
||||||
<Midl>
|
|
||||||
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<MkTypLibCompatible>true</MkTypLibCompatible>
|
|
||||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
|
||||||
<TargetEnvironment>Win32</TargetEnvironment>
|
|
||||||
<TypeLibraryName>.\DebugUnicode/Emu48.tlb</TypeLibraryName>
|
|
||||||
<HeaderFileName>
|
|
||||||
</HeaderFileName>
|
|
||||||
</Midl>
|
|
||||||
<ClCompile>
|
|
||||||
<Optimization>Disabled</Optimization>
|
|
||||||
<PreprocessorDefinitions>_DEBUG;WIN32;_WINDOWS;STRICT;UNICODE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<MinimalRebuild>true</MinimalRebuild>
|
|
||||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
|
||||||
<PrecompiledHeader>Use</PrecompiledHeader>
|
|
||||||
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
|
|
||||||
<PrecompiledHeaderOutputFile>.\DebugUnicode/Emu48.pch</PrecompiledHeaderOutputFile>
|
|
||||||
<AssemblerListingLocation>.\DebugUnicode/</AssemblerListingLocation>
|
|
||||||
<ObjectFileName>.\DebugUnicode/</ObjectFileName>
|
|
||||||
<ProgramDataBaseFileName>.\DebugUnicode/</ProgramDataBaseFileName>
|
|
||||||
<BrowseInformation>true</BrowseInformation>
|
|
||||||
<WarningLevel>Level3</WarningLevel>
|
|
||||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
|
||||||
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
|
|
||||||
</ClCompile>
|
|
||||||
<ResourceCompile>
|
|
||||||
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<Culture>0x040c</Culture>
|
|
||||||
</ResourceCompile>
|
|
||||||
<Link>
|
|
||||||
<AdditionalDependencies>winmm.lib;comctl32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
|
||||||
<OutputFile>.\DebugUnicode/Emu48.exe</OutputFile>
|
|
||||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
|
||||||
<ProgramDatabaseFile>.\DebugUnicode/Emu48.pdb</ProgramDatabaseFile>
|
|
||||||
<SubSystem>Windows</SubSystem>
|
|
||||||
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
|
||||||
<DataExecutionPrevention>
|
|
||||||
</DataExecutionPrevention>
|
|
||||||
<TargetMachine>MachineX86</TargetMachine>
|
|
||||||
</Link>
|
|
||||||
<Bscmake>
|
|
||||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
|
||||||
<OutputFile>.\DebugUnicode/Emu48.bsc</OutputFile>
|
|
||||||
</Bscmake>
|
|
||||||
</ItemDefinitionGroup>
|
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
|
||||||
<Midl>
|
|
||||||
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<MkTypLibCompatible>true</MkTypLibCompatible>
|
|
||||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
|
||||||
<TargetEnvironment>Win32</TargetEnvironment>
|
|
||||||
<TypeLibraryName>.\Debug/Emu48.tlb</TypeLibraryName>
|
|
||||||
<HeaderFileName>
|
|
||||||
</HeaderFileName>
|
|
||||||
</Midl>
|
|
||||||
<ClCompile>
|
|
||||||
<Optimization>Disabled</Optimization>
|
|
||||||
<PreprocessorDefinitions>_DEBUG;WIN32;_WINDOWS;STRICT;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<MinimalRebuild>true</MinimalRebuild>
|
|
||||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
|
||||||
<PrecompiledHeader>Use</PrecompiledHeader>
|
|
||||||
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
|
|
||||||
<PrecompiledHeaderOutputFile>.\Debug/Emu48.pch</PrecompiledHeaderOutputFile>
|
|
||||||
<AssemblerListingLocation>.\Debug/</AssemblerListingLocation>
|
|
||||||
<ObjectFileName>.\Debug/</ObjectFileName>
|
|
||||||
<ProgramDataBaseFileName>.\Debug/</ProgramDataBaseFileName>
|
|
||||||
<BrowseInformation>true</BrowseInformation>
|
|
||||||
<WarningLevel>Level3</WarningLevel>
|
|
||||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
|
||||||
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
|
|
||||||
</ClCompile>
|
|
||||||
<ResourceCompile>
|
|
||||||
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<Culture>0x040c</Culture>
|
|
||||||
</ResourceCompile>
|
|
||||||
<Link>
|
|
||||||
<AdditionalDependencies>winmm.lib;comctl32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
|
||||||
<OutputFile>.\Debug/Emu48.exe</OutputFile>
|
|
||||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
|
||||||
<ProgramDatabaseFile>.\Debug/Emu48.pdb</ProgramDatabaseFile>
|
|
||||||
<SubSystem>Windows</SubSystem>
|
|
||||||
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
|
||||||
<DataExecutionPrevention>
|
|
||||||
</DataExecutionPrevention>
|
|
||||||
<TargetMachine>MachineX86</TargetMachine>
|
|
||||||
</Link>
|
|
||||||
<Bscmake>
|
|
||||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
|
||||||
<OutputFile>.\Debug/Emu48.bsc</OutputFile>
|
|
||||||
</Bscmake>
|
|
||||||
</ItemDefinitionGroup>
|
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release Unicode|Win32'">
|
|
||||||
<Midl>
|
|
||||||
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<MkTypLibCompatible>true</MkTypLibCompatible>
|
|
||||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
|
||||||
<TargetEnvironment>Win32</TargetEnvironment>
|
|
||||||
<TypeLibraryName>.\ReleaseUnicode/Emu48.tlb</TypeLibraryName>
|
|
||||||
<HeaderFileName>
|
|
||||||
</HeaderFileName>
|
|
||||||
</Midl>
|
|
||||||
<ClCompile>
|
|
||||||
<Optimization>MaxSpeed</Optimization>
|
|
||||||
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
|
|
||||||
<PreprocessorDefinitions>NDEBUG;WIN32;_WINDOWS;STRICT;UNICODE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<StringPooling>true</StringPooling>
|
|
||||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
|
||||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
|
||||||
<PrecompiledHeader>Use</PrecompiledHeader>
|
|
||||||
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
|
|
||||||
<PrecompiledHeaderOutputFile>.\ReleaseUnicode/Emu48.pch</PrecompiledHeaderOutputFile>
|
|
||||||
<AssemblerListingLocation>.\ReleaseUnicode/</AssemblerListingLocation>
|
|
||||||
<ObjectFileName>.\ReleaseUnicode/</ObjectFileName>
|
|
||||||
<ProgramDataBaseFileName>.\ReleaseUnicode/</ProgramDataBaseFileName>
|
|
||||||
<WarningLevel>Level3</WarningLevel>
|
|
||||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
|
||||||
<CallingConvention>FastCall</CallingConvention>
|
|
||||||
</ClCompile>
|
|
||||||
<ResourceCompile>
|
|
||||||
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<Culture>0x040c</Culture>
|
|
||||||
</ResourceCompile>
|
|
||||||
<Link>
|
|
||||||
<AdditionalDependencies>winmm.lib;comctl32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
|
||||||
<OutputFile>.\ReleaseUnicode/Emu48.exe</OutputFile>
|
|
||||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
|
||||||
<ProgramDatabaseFile>.\ReleaseUnicode/Emu48.pdb</ProgramDatabaseFile>
|
|
||||||
<SubSystem>Windows</SubSystem>
|
|
||||||
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
|
||||||
<DataExecutionPrevention>
|
|
||||||
</DataExecutionPrevention>
|
|
||||||
<TargetMachine>MachineX86</TargetMachine>
|
|
||||||
</Link>
|
|
||||||
<Bscmake>
|
|
||||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
|
||||||
<OutputFile>.\ReleaseUnicode/Emu48.bsc</OutputFile>
|
|
||||||
</Bscmake>
|
|
||||||
</ItemDefinitionGroup>
|
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
|
||||||
<Midl>
|
|
||||||
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<MkTypLibCompatible>true</MkTypLibCompatible>
|
|
||||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
|
||||||
<TargetEnvironment>Win32</TargetEnvironment>
|
|
||||||
<TypeLibraryName>.\Release/Emu48.tlb</TypeLibraryName>
|
|
||||||
<HeaderFileName>
|
|
||||||
</HeaderFileName>
|
|
||||||
</Midl>
|
|
||||||
<ClCompile>
|
|
||||||
<Optimization>MaxSpeed</Optimization>
|
|
||||||
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
|
|
||||||
<PreprocessorDefinitions>NDEBUG;WIN32;_WINDOWS;STRICT;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<StringPooling>true</StringPooling>
|
|
||||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
|
||||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
|
||||||
<PrecompiledHeader>Use</PrecompiledHeader>
|
|
||||||
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
|
|
||||||
<PrecompiledHeaderOutputFile>.\Release/Emu48.pch</PrecompiledHeaderOutputFile>
|
|
||||||
<AssemblerListingLocation>.\Release/</AssemblerListingLocation>
|
|
||||||
<ObjectFileName>.\Release/</ObjectFileName>
|
|
||||||
<ProgramDataBaseFileName>.\Release/</ProgramDataBaseFileName>
|
|
||||||
<WarningLevel>Level3</WarningLevel>
|
|
||||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
|
||||||
<CallingConvention>FastCall</CallingConvention>
|
|
||||||
</ClCompile>
|
|
||||||
<ResourceCompile>
|
|
||||||
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<Culture>0x040c</Culture>
|
|
||||||
</ResourceCompile>
|
|
||||||
<Link>
|
|
||||||
<AdditionalDependencies>winmm.lib;comctl32.lib;Ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
|
||||||
<OutputFile>.\Release/Emu48.exe</OutputFile>
|
|
||||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
|
||||||
<ProgramDatabaseFile>.\Release/Emu48.pdb</ProgramDatabaseFile>
|
|
||||||
<SubSystem>Windows</SubSystem>
|
|
||||||
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
|
||||||
<DataExecutionPrevention>
|
|
||||||
</DataExecutionPrevention>
|
|
||||||
<TargetMachine>MachineX86</TargetMachine>
|
|
||||||
<AddModuleNamesToAssembly>
|
|
||||||
</AddModuleNamesToAssembly>
|
|
||||||
</Link>
|
|
||||||
<Bscmake>
|
|
||||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
|
||||||
<OutputFile>.\Release/Emu48.bsc</OutputFile>
|
|
||||||
</Bscmake>
|
|
||||||
</ItemDefinitionGroup>
|
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='DebugRegDebug4x|Win32'">
|
|
||||||
<Midl>
|
|
||||||
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<MkTypLibCompatible>true</MkTypLibCompatible>
|
|
||||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
|
||||||
<TargetEnvironment>Win32</TargetEnvironment>
|
|
||||||
<TypeLibraryName>.\DebugRegDebug4x/Emu48.tlb</TypeLibraryName>
|
|
||||||
<HeaderFileName>
|
|
||||||
</HeaderFileName>
|
|
||||||
</Midl>
|
|
||||||
<ClCompile>
|
|
||||||
<AdditionalOptions>/D REGISTRYKEY=\"Software\\Hewlett-Packard\\Debug4x\\Emu48\" %(AdditionalOptions)</AdditionalOptions>
|
|
||||||
<Optimization>Disabled</Optimization>
|
|
||||||
<PreprocessorDefinitions>_DEBUG;WIN32;_WINDOWS;STRICT;REGISTRY;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<MinimalRebuild>true</MinimalRebuild>
|
|
||||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
|
||||||
<PrecompiledHeader>Use</PrecompiledHeader>
|
|
||||||
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
|
|
||||||
<PrecompiledHeaderOutputFile>.\DebugRegDebug4x/Emu48.pch</PrecompiledHeaderOutputFile>
|
|
||||||
<AssemblerListingLocation>.\DebugRegDebug4x/</AssemblerListingLocation>
|
|
||||||
<ObjectFileName>.\DebugRegDebug4x/</ObjectFileName>
|
|
||||||
<ProgramDataBaseFileName>.\DebugRegDebug4x/</ProgramDataBaseFileName>
|
|
||||||
<BrowseInformation>true</BrowseInformation>
|
|
||||||
<WarningLevel>Level3</WarningLevel>
|
|
||||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
|
||||||
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
|
|
||||||
</ClCompile>
|
|
||||||
<ResourceCompile>
|
|
||||||
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<Culture>0x040c</Culture>
|
|
||||||
</ResourceCompile>
|
|
||||||
<Link>
|
|
||||||
<AdditionalDependencies>winmm.lib;comctl32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
|
||||||
<OutputFile>.\DebugRegDebug4x/Emu48.exe</OutputFile>
|
|
||||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
|
||||||
<ProgramDatabaseFile>.\DebugRegDebug4x/Emu48.pdb</ProgramDatabaseFile>
|
|
||||||
<SubSystem>Windows</SubSystem>
|
|
||||||
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
|
||||||
<DataExecutionPrevention>
|
|
||||||
</DataExecutionPrevention>
|
|
||||||
<TargetMachine>MachineX86</TargetMachine>
|
|
||||||
</Link>
|
|
||||||
<Bscmake>
|
|
||||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
|
||||||
<OutputFile>.\DebugRegDebug4x/Emu48.bsc</OutputFile>
|
|
||||||
</Bscmake>
|
|
||||||
</ItemDefinitionGroup>
|
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseRegDebug4x|Win32'">
|
|
||||||
<Midl>
|
|
||||||
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<MkTypLibCompatible>true</MkTypLibCompatible>
|
|
||||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
|
||||||
<TargetEnvironment>Win32</TargetEnvironment>
|
|
||||||
<TypeLibraryName>.\ReleaseRegDebug4x/Emu48.tlb</TypeLibraryName>
|
|
||||||
<HeaderFileName>
|
|
||||||
</HeaderFileName>
|
|
||||||
</Midl>
|
|
||||||
<ClCompile>
|
|
||||||
<AdditionalOptions>/D REGISTRYKEY=\"Software\\Hewlett-Packard\\Debug4x\\Emu48\" %(AdditionalOptions)</AdditionalOptions>
|
|
||||||
<Optimization>MaxSpeed</Optimization>
|
|
||||||
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
|
|
||||||
<PreprocessorDefinitions>NDEBUG;WIN32;_WINDOWS;STRICT;REGISTRY;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<StringPooling>true</StringPooling>
|
|
||||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
|
||||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
|
||||||
<PrecompiledHeader>Use</PrecompiledHeader>
|
|
||||||
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
|
|
||||||
<PrecompiledHeaderOutputFile>.\ReleaseRegDebug4x/Emu48.pch</PrecompiledHeaderOutputFile>
|
|
||||||
<AssemblerListingLocation>.\ReleaseRegDebug4x/</AssemblerListingLocation>
|
|
||||||
<ObjectFileName>.\ReleaseRegDebug4x/</ObjectFileName>
|
|
||||||
<ProgramDataBaseFileName>.\ReleaseRegDebug4x/</ProgramDataBaseFileName>
|
|
||||||
<WarningLevel>Level3</WarningLevel>
|
|
||||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
|
||||||
<CallingConvention>FastCall</CallingConvention>
|
|
||||||
</ClCompile>
|
|
||||||
<ResourceCompile>
|
|
||||||
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<Culture>0x040c</Culture>
|
|
||||||
</ResourceCompile>
|
|
||||||
<Link>
|
|
||||||
<AdditionalDependencies>winmm.lib;comctl32.lib;Ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
|
||||||
<OutputFile>.\ReleaseRegDebug4x/Emu48.exe</OutputFile>
|
|
||||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
|
||||||
<ProgramDatabaseFile>.\ReleaseRegDebug4x/Emu48.pdb</ProgramDatabaseFile>
|
|
||||||
<SubSystem>Windows</SubSystem>
|
|
||||||
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
|
||||||
<DataExecutionPrevention>
|
|
||||||
</DataExecutionPrevention>
|
|
||||||
<TargetMachine>MachineX86</TargetMachine>
|
|
||||||
</Link>
|
|
||||||
<Bscmake>
|
|
||||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
|
||||||
<OutputFile>.\ReleaseRegDebug4x/Emu48.bsc</OutputFile>
|
|
||||||
</Bscmake>
|
|
||||||
</ItemDefinitionGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<ClCompile Include="apple.c">
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug Unicode|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='DebugRegDebug4x|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release Unicode|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='ReleaseRegDebug4x|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="cursor.c">
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug Unicode|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='DebugRegDebug4x|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release Unicode|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='ReleaseRegDebug4x|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="ddeserv.c">
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug Unicode|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='DebugRegDebug4x|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release Unicode|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='ReleaseRegDebug4x|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="debugger.c">
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug Unicode|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='DebugRegDebug4x|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release Unicode|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='ReleaseRegDebug4x|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="disasm.c">
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug Unicode|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='DebugRegDebug4x|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release Unicode|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='ReleaseRegDebug4x|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="DISMEM.C" />
|
|
||||||
<ClCompile Include="display.c">
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug Unicode|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='DebugRegDebug4x|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release Unicode|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='ReleaseRegDebug4x|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="Emu48.c">
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug Unicode|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='DebugRegDebug4x|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release Unicode|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='ReleaseRegDebug4x|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="engine.c">
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug Unicode|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='DebugRegDebug4x|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release Unicode|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='ReleaseRegDebug4x|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="external.c">
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug Unicode|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='DebugRegDebug4x|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release Unicode|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='ReleaseRegDebug4x|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="fetch.c">
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug Unicode|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='DebugRegDebug4x|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release Unicode|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='ReleaseRegDebug4x|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="files.c">
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug Unicode|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='DebugRegDebug4x|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release Unicode|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='ReleaseRegDebug4x|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="i28f160.c">
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug Unicode|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='DebugRegDebug4x|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release Unicode|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='ReleaseRegDebug4x|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="keyboard.c">
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug Unicode|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='DebugRegDebug4x|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release Unicode|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='ReleaseRegDebug4x|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="keymacro.c">
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug Unicode|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='DebugRegDebug4x|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release Unicode|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='ReleaseRegDebug4x|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="kml.c">
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug Unicode|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='DebugRegDebug4x|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release Unicode|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='ReleaseRegDebug4x|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="mops.c">
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug Unicode|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='DebugRegDebug4x|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release Unicode|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='ReleaseRegDebug4x|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="mru.c">
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug Unicode|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='DebugRegDebug4x|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release Unicode|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='ReleaseRegDebug4x|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="opcodes.c">
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug Unicode|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='DebugRegDebug4x|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release Unicode|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='ReleaseRegDebug4x|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="pch.c">
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug Unicode|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug Unicode|Win32'">Create</PrecompiledHeader>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='DebugRegDebug4x|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='DebugRegDebug4x|Win32'">Create</PrecompiledHeader>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release Unicode|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release Unicode|Win32'">Create</PrecompiledHeader>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='ReleaseRegDebug4x|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='ReleaseRegDebug4x|Win32'">Create</PrecompiledHeader>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="REDEYE.C" />
|
|
||||||
<ClCompile Include="rpl.c">
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug Unicode|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='DebugRegDebug4x|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release Unicode|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='ReleaseRegDebug4x|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="serial.c">
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug Unicode|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='DebugRegDebug4x|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release Unicode|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='ReleaseRegDebug4x|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="settings.c">
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug Unicode|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='DebugRegDebug4x|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release Unicode|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='ReleaseRegDebug4x|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="stack.c">
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug Unicode|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='DebugRegDebug4x|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release Unicode|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='ReleaseRegDebug4x|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="SYMBFILE.C" />
|
|
||||||
<ClCompile Include="timer.c">
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug Unicode|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='DebugRegDebug4x|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release Unicode|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='ReleaseRegDebug4x|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="UDP.C" />
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<ResourceCompile Include="Emu48.rc">
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug Unicode|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='DebugRegDebug4x|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release Unicode|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='ReleaseRegDebug4x|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
</ResourceCompile>
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<ClInclude Include="apple.h" />
|
|
||||||
<ClInclude Include="color.h" />
|
|
||||||
<ClInclude Include="debugger.h" />
|
|
||||||
<ClInclude Include="Emu48.h" />
|
|
||||||
<ClInclude Include="i28f160.h" />
|
|
||||||
<ClInclude Include="io.h" />
|
|
||||||
<ClInclude Include="kml.h" />
|
|
||||||
<ClInclude Include="opcodes.h" />
|
|
||||||
<ClInclude Include="ops.h" />
|
|
||||||
<ClInclude Include="pch.h" />
|
|
||||||
<ClInclude Include="types.h" />
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<None Include="CHECKBOX.BMP" />
|
|
||||||
<None Include="DBGTOOL.BMP" />
|
|
||||||
<None Include="Emu48.ico" />
|
|
||||||
</ItemGroup>
|
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
|
||||||
<ImportGroup Label="ExtensionTargets">
|
|
||||||
</ImportGroup>
|
|
||||||
</Project>
|
|
|
@ -1,154 +0,0 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
|
||||||
<ItemGroup>
|
|
||||||
<Filter Include="Source Files">
|
|
||||||
<UniqueIdentifier>{42670a15-cd4b-4b80-bd83-7a6798392302}</UniqueIdentifier>
|
|
||||||
<Extensions>cpp;c;cxx;rc;def;r;odl;hpj;bat;for;f90</Extensions>
|
|
||||||
</Filter>
|
|
||||||
<Filter Include="Header Files">
|
|
||||||
<UniqueIdentifier>{e57a9ce5-70b4-4e91-9635-7e3594bd1342}</UniqueIdentifier>
|
|
||||||
<Extensions>h;hpp;hxx;hm;inl;fi;fd</Extensions>
|
|
||||||
</Filter>
|
|
||||||
<Filter Include="Resource Files">
|
|
||||||
<UniqueIdentifier>{b18143c3-212e-46b8-a5b1-fd6edcf1377d}</UniqueIdentifier>
|
|
||||||
<Extensions>ico;cur;bmp;dlg;rc2;rct;bin;cnt;rtf;gif;jpg;jpeg;jpe</Extensions>
|
|
||||||
</Filter>
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<ClCompile Include="apple.c">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="cursor.c">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="ddeserv.c">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="debugger.c">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="disasm.c">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="display.c">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="Emu48.c">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="engine.c">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="external.c">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="fetch.c">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="files.c">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="i28f160.c">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="keyboard.c">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="keymacro.c">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="kml.c">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="mops.c">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="mru.c">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="opcodes.c">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="pch.c">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="rpl.c">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="serial.c">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="settings.c">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="stack.c">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="SYMBFILE.C">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="timer.c">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="DISMEM.C">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="REDEYE.C">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="UDP.C">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<ResourceCompile Include="Emu48.rc">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ResourceCompile>
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<ClInclude Include="apple.h">
|
|
||||||
<Filter>Header Files</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
<ClInclude Include="color.h">
|
|
||||||
<Filter>Header Files</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
<ClInclude Include="debugger.h">
|
|
||||||
<Filter>Header Files</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
<ClInclude Include="Emu48.h">
|
|
||||||
<Filter>Header Files</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
<ClInclude Include="i28f160.h">
|
|
||||||
<Filter>Header Files</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
<ClInclude Include="io.h">
|
|
||||||
<Filter>Header Files</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
<ClInclude Include="kml.h">
|
|
||||||
<Filter>Header Files</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
<ClInclude Include="opcodes.h">
|
|
||||||
<Filter>Header Files</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
<ClInclude Include="ops.h">
|
|
||||||
<Filter>Header Files</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
<ClInclude Include="pch.h">
|
|
||||||
<Filter>Header Files</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
<ClInclude Include="types.h">
|
|
||||||
<Filter>Header Files</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<None Include="CHECKBOX.BMP">
|
|
||||||
<Filter>Resource Files</Filter>
|
|
||||||
</None>
|
|
||||||
<None Include="DBGTOOL.BMP">
|
|
||||||
<Filter>Resource Files</Filter>
|
|
||||||
</None>
|
|
||||||
<None Include="Emu48.ico">
|
|
||||||
<Filter>Resource Files</Filter>
|
|
||||||
</None>
|
|
||||||
</ItemGroup>
|
|
||||||
</Project>
|
|
|
@ -1,348 +0,0 @@
|
||||||
Emu48 Settings Description
|
|
||||||
--------------------------
|
|
||||||
|
|
||||||
This is a detailed description of the Emu48 program settings. Some of them can
|
|
||||||
be controlled over a settings dialog, some of them only manually. The Emu48
|
|
||||||
versions use different saving locations. Some of them save there data in a INI
|
|
||||||
file, some of them in the registry. There are some items which aren't supported
|
|
||||||
in all versions.
|
|
||||||
|
|
||||||
- Emu48 for IA32
|
|
||||||
%WINDIR%\Emu48.ini
|
|
||||||
|
|
||||||
- Emu48+ (from the Debug4x package)
|
|
||||||
HKCU\Software\Hewlett-Packard\Debug4x\Emu48\
|
|
||||||
|
|
||||||
- Emu48 for Pocket PC
|
|
||||||
HKCU\Software\Emu48\
|
|
||||||
|
|
||||||
|
|
||||||
The configuration data is divided into sections. Each section may contain one or
|
|
||||||
more items. Each item has an argument. The argument is one of following three
|
|
||||||
types:
|
|
||||||
|
|
||||||
[string] : text string in ""
|
|
||||||
[integer] : signed integer value
|
|
||||||
[bool] : special integer type with 0 for FALSE and 1 for TRUE
|
|
||||||
|
|
||||||
Before changing the settings content manually, close all Emu48 instances before!
|
|
||||||
|
|
||||||
|
|
||||||
1.) Section [Files]
|
|
||||||
|
|
||||||
- Emu48Directory=[string]
|
|
||||||
|
|
||||||
This item contain the default path for the KML-files and other emulator specific
|
|
||||||
files which are used without a full path name.
|
|
||||||
|
|
||||||
Default: actual path of Emu48.exe at first start
|
|
||||||
|
|
||||||
- LastDocument=[string]
|
|
||||||
|
|
||||||
This item contain the full path name to the last used state file.
|
|
||||||
|
|
||||||
Default: -empty-
|
|
||||||
|
|
||||||
- AutoSave=[bool]
|
|
||||||
|
|
||||||
This item controls the "Automatically Save Files" state file save. This setting
|
|
||||||
is used when you change the state file during a session.
|
|
||||||
|
|
||||||
0 = Ask if state file should be saved
|
|
||||||
1 = Save state file automatically
|
|
||||||
|
|
||||||
Default: 0
|
|
||||||
|
|
||||||
- AutoSaveOnExit=[bool]
|
|
||||||
|
|
||||||
This item controls the "Automatically Save Files On Exit" state file save at
|
|
||||||
program exit.
|
|
||||||
|
|
||||||
0 = Ask if state file should be saved
|
|
||||||
1 = Save state file automatically
|
|
||||||
|
|
||||||
Default: 0
|
|
||||||
|
|
||||||
- SaveDefaultConfirm=[bool]
|
|
||||||
|
|
||||||
This item controls the default button in the "Do you want to save changes ?"
|
|
||||||
message box.
|
|
||||||
|
|
||||||
0 = No - Button
|
|
||||||
1 = Yes - Button
|
|
||||||
|
|
||||||
Default: 1
|
|
||||||
|
|
||||||
- LoadObjectWarning=[bool]
|
|
||||||
|
|
||||||
This item controls the "Show Load Object Warning" warning.
|
|
||||||
|
|
||||||
0 = no warning
|
|
||||||
1 = warning
|
|
||||||
|
|
||||||
Default: 1
|
|
||||||
|
|
||||||
- StartupBackup=[bool]
|
|
||||||
|
|
||||||
This item controls if a state file memory backup (Menu Edit/Backup) should be
|
|
||||||
made at program start.
|
|
||||||
|
|
||||||
0 = no backup
|
|
||||||
1 = create backup
|
|
||||||
|
|
||||||
Default: 0
|
|
||||||
|
|
||||||
|
|
||||||
2.) Section [KML]
|
|
||||||
|
|
||||||
- AlwaysDisplayLog=[bool]
|
|
||||||
|
|
||||||
This item controls "Always Show KML Compilation Result" view.
|
|
||||||
|
|
||||||
0 = don't show KML compilation result
|
|
||||||
1 = show KML compilation result after reading the KML file
|
|
||||||
|
|
||||||
Default: 1
|
|
||||||
|
|
||||||
- ClassicCursor=[bool]
|
|
||||||
|
|
||||||
Obsolete, can be purged.
|
|
||||||
|
|
||||||
|
|
||||||
3.) Section [Emulator]
|
|
||||||
|
|
||||||
- RealSpeed=[bool]
|
|
||||||
|
|
||||||
This item controls "Authentic Calculator Speed" setting.
|
|
||||||
|
|
||||||
0 = disabled
|
|
||||||
1 = enabled
|
|
||||||
|
|
||||||
Default: 0
|
|
||||||
|
|
||||||
- SXCycles=[integer]
|
|
||||||
|
|
||||||
This item controls the speed in "Authentic Calculator Speed" mode for
|
|
||||||
calculators base on the "Clarke" chip. The number are the allowed CPU-cycles in
|
|
||||||
a 16384Hz time frame.
|
|
||||||
|
|
||||||
Default: 82
|
|
||||||
|
|
||||||
- GXCycles=[integer]
|
|
||||||
|
|
||||||
This item controls the speed in "Authentic Calculator Speed" mode for
|
|
||||||
calculators base on the "Yorke" chip. The number are the allowed CPU-cycles in a
|
|
||||||
16384Hz time frame.
|
|
||||||
|
|
||||||
Default: 123
|
|
||||||
|
|
||||||
- Grayscale=[bool]
|
|
||||||
|
|
||||||
This item controls "Enable Virtual LCD Delay" setting.
|
|
||||||
|
|
||||||
0 = disabled
|
|
||||||
1 = enable virtual LCD delay for grayscale simulation
|
|
||||||
|
|
||||||
Default: 0
|
|
||||||
|
|
||||||
- AlwaysOnTop=[bool]
|
|
||||||
|
|
||||||
This item controls "Always On Top" setting.
|
|
||||||
|
|
||||||
0 = disabled
|
|
||||||
1 = application windows are always on top
|
|
||||||
|
|
||||||
Default: 0
|
|
||||||
|
|
||||||
- ActivationFollowsMouse=[bool]
|
|
||||||
|
|
||||||
This item controls "Activation Follows Mouse" setting.
|
|
||||||
|
|
||||||
0 = disabled
|
|
||||||
1 = if mouse is moved over a Emu48 window, application pops up into foreground
|
|
||||||
|
|
||||||
Default: 0
|
|
||||||
|
|
||||||
- WaveBeep=[bool]
|
|
||||||
|
|
||||||
This item sets the beeper output device.
|
|
||||||
|
|
||||||
0 = PC Speaker
|
|
||||||
1 = Wave Output over sound card
|
|
||||||
|
|
||||||
Default: 0
|
|
||||||
|
|
||||||
- WaveVolume=[integer]
|
|
||||||
|
|
||||||
This item sets the volume for the wave output. The valid value range is 0 - 255.
|
|
||||||
|
|
||||||
0 = quietest
|
|
||||||
255 = loudest
|
|
||||||
|
|
||||||
Default: 64
|
|
||||||
|
|
||||||
|
|
||||||
4.) Section [Port2]
|
|
||||||
|
|
||||||
This section is only interested for the HP48 emulation. Other calculator
|
|
||||||
emulations aren't affected by this section.
|
|
||||||
|
|
||||||
- IsShared=[bool]
|
|
||||||
|
|
||||||
This item controls the "Port 2 is Shared" setting.
|
|
||||||
|
|
||||||
0 = file not shared
|
|
||||||
1 = file shared
|
|
||||||
|
|
||||||
Default: 0
|
|
||||||
|
|
||||||
- Filename=[string]
|
|
||||||
|
|
||||||
This item contain the "Port 2 File" name.
|
|
||||||
|
|
||||||
Default: SHARED.BIN
|
|
||||||
|
|
||||||
|
|
||||||
5.) Section [ROM]
|
|
||||||
|
|
||||||
This section is only interested for the HP49G emulation.
|
|
||||||
|
|
||||||
- Writeable=[bool]
|
|
||||||
|
|
||||||
This item controls if data could be saved in the HP49 ROM image file. In "Read
|
|
||||||
Only" mode all changes in the Flash memory are discarded at session end.
|
|
||||||
|
|
||||||
0 = Discard changes at session exit
|
|
||||||
1 = Writeable
|
|
||||||
|
|
||||||
Default: 1
|
|
||||||
|
|
||||||
- WP#=[bool]
|
|
||||||
|
|
||||||
This item don't exist at must be created manually. It controls the WP# pin state
|
|
||||||
of 28F160 flash chip. On the original HP49G calculator the pin is controlled by
|
|
||||||
a solder bridge.
|
|
||||||
|
|
||||||
0 = WP# = low, locked blocks cannot be erased
|
|
||||||
1 = WP# = high, locked blocks can be erased
|
|
||||||
|
|
||||||
Default: 0
|
|
||||||
|
|
||||||
|
|
||||||
6.) Section [LowBat]
|
|
||||||
|
|
||||||
- Disable=[bool]
|
|
||||||
|
|
||||||
This item controls the low battery simulation. On AC powered devices the low
|
|
||||||
battery simulation is always disabled. On battery powered devices the simulation
|
|
||||||
is enabled. In some cases, especially when the battery is quite old, the
|
|
||||||
operating system may return a wrong battery charging level. This could make the
|
|
||||||
emulator unusable.
|
|
||||||
|
|
||||||
0 = low battery simulation in auto mode
|
|
||||||
1 = low battery simulation disabled
|
|
||||||
|
|
||||||
Default: 0
|
|
||||||
|
|
||||||
|
|
||||||
7.) Section [Timers]
|
|
||||||
|
|
||||||
Obsolete, can be purged.
|
|
||||||
|
|
||||||
- AccurateTimer=[bool]
|
|
||||||
|
|
||||||
Obsolete, can be purged.
|
|
||||||
|
|
||||||
- T1Period=[integer]
|
|
||||||
|
|
||||||
Obsolete, can be purged.
|
|
||||||
|
|
||||||
|
|
||||||
8.) Section [Serial]
|
|
||||||
|
|
||||||
-Wire=[string]
|
|
||||||
|
|
||||||
This item controls the serial port "Wire" setting. The string can contain
|
|
||||||
"disabled" or the device name of the serial device.
|
|
||||||
|
|
||||||
Default: "disabled"
|
|
||||||
|
|
||||||
-Ir=[string]
|
|
||||||
|
|
||||||
This item controls the serial port "IR" setting. The string can contain
|
|
||||||
"disabled" or the device name of the serial device.
|
|
||||||
|
|
||||||
Default: "disabled"
|
|
||||||
|
|
||||||
|
|
||||||
9.) Section [Macro]
|
|
||||||
|
|
||||||
- RealSpeed=[bool]
|
|
||||||
|
|
||||||
This item controls the macro replay speed setting.
|
|
||||||
|
|
||||||
0 = replay with given given speed
|
|
||||||
1 = replay with recording speed
|
|
||||||
|
|
||||||
Default: 1
|
|
||||||
|
|
||||||
- ReplayTimeout=[integer]
|
|
||||||
|
|
||||||
This item controls the macro replay delay time in "replay with given given
|
|
||||||
speed" mode between two keyboard actions. The unit is ms. The range of the
|
|
||||||
slider control in the settings dialog is 0 - 500. The emulator itself accepts
|
|
||||||
larger values than 500.
|
|
||||||
|
|
||||||
Default: 0
|
|
||||||
|
|
||||||
|
|
||||||
10.) Section [MRU]
|
|
||||||
|
|
||||||
- FileCount=[integer]
|
|
||||||
|
|
||||||
This item controls the maximum number of items in the "Most Recently Used" file
|
|
||||||
list.
|
|
||||||
|
|
||||||
0 = disabled
|
|
||||||
>0 = maximum number of entries
|
|
||||||
|
|
||||||
Default: 4
|
|
||||||
|
|
||||||
- FileX=[string] (where X is the slot number >= 1)
|
|
||||||
|
|
||||||
This item controls the file name of the slot number. File1 is the topmost slot
|
|
||||||
in the MRU list. When you reduce the FileCount setting manually you have to
|
|
||||||
purge the slot numbers above this value manually.
|
|
||||||
|
|
||||||
Default: -empty-
|
|
||||||
|
|
||||||
|
|
||||||
11.) Section [Disassembler]
|
|
||||||
|
|
||||||
- Mnemonics=[bool]
|
|
||||||
|
|
||||||
This item sets the disassembly mode.
|
|
||||||
|
|
||||||
0 = HP Mnemonics
|
|
||||||
1 = Class Mnemonics
|
|
||||||
|
|
||||||
Default: 0
|
|
||||||
|
|
||||||
- Symbolic:[bool]
|
|
||||||
|
|
||||||
This item enables the use of symbolic names in the debugger disassembly.
|
|
||||||
|
|
||||||
0 = disabled
|
|
||||||
1 = enabled
|
|
||||||
|
|
||||||
Default: 0
|
|
||||||
|
|
||||||
- SymbX=[string] (where X is the model character from the KML file)
|
|
||||||
|
|
||||||
This item contain the full path to the symbol file reference for the
|
|
||||||
corresponding calculator model.
|
|
||||||
|
|
||||||
Default: -not exist-
|
|
||||||
|
|
||||||
|
|
||||||
10/13/08 (c) by Christoph Gießelink
|
|
Loading…
Reference in a new issue