rtoss

Subversion Repositories:
Compare Path: Rev
With Path: Rev
/np21/ @ 338  →  /np21/ @ 339
/np21/win9x/np21vs2010.vcxproj
@@ -19,9 +19,9 @@
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectName>np21</ProjectName>
<ProjectName>np21w</ProjectName>
<ProjectGuid>{5DA72513-B262-42D0-A420-EDDA228EE6DC}</ProjectGuid>
<RootNamespace>np21vs2010</RootNamespace>
<RootNamespace>np21vs2008</RootNamespace>
<Keyword>Win32Proj</Keyword>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
@@ -84,6 +84,7 @@
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<NASM>
<IncludePaths>.\x86\;..\i386c\x86\;..\io\x86\</IncludePaths>
<GenerateDebugInformation>false</GenerateDebugInformation>
</NASM>
<ClCompile>
<Optimization>Disabled</Optimization>
@@ -136,12 +137,13 @@
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<NASM>
<IncludePaths>.\x86\;..\i386c\x86\;..\io\x86\</IncludePaths>
<GenerateDebugInformation>false</GenerateDebugInformation>
</NASM>
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<IntrinsicFunctions>true</IntrinsicFunctions>
<AdditionalIncludeDirectories>.\;.\x86;.\dialog;..\;..\common;..\i386c;..\i386c\ia32;..\i386c\ia32\instructions;..\i386c\ia32\instructions\fpu;..\mem;..\io;..\cbus;..\vram;..\sound;..\generic;..\zlib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_CRT_SECURE_NO_DEPRECATE;_CRT_NON_CONFORMING_SWPRINTFS;SUPPORT_PC9821;SUPPORT_LARGE_HDD;SUPPORT_IDEIO;SUPPORT_LGY98;SUPPORT_CL_GD5430;TRACE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_CRT_SECURE_NO_DEPRECATE;_CRT_NON_CONFORMING_SWPRINTFS;SUPPORT_PC9821;SUPPORT_LARGE_HDD;SUPPORT_IDEIO;SUPPORT_LGY98;SUPPORT_CL_GD5430;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<FunctionLevelLinking>false</FunctionLevelLinking>
<PrecompiledHeader>
@@ -785,6 +787,7 @@
<None Include="resources\np2.ico" />
<None Include="resources\np2debug.ico" />
<None Include="resources\np2tool.bmp" />
<None Include="resources\np21tool.bmp" />
<None Include="resources\relay1.wav" />
<None Include="x64\np2asm.inc" />
<None Include="x64\pccore.inc" />
/np21/win9x/np21vs2010.vcxproj.filters
@@ -1849,5 +1849,8 @@
<None Include="resources\relay1.wav">
<Filter>リソース ファイル</Filter>
</None>
<None Include="resources\np21tool.bmp">
<Filter>リソース ファイル</Filter>
</None>
</ItemGroup>
</Project>
/np21/win9x/resources/932/np2.rc
@@ -1186,6 +1186,7 @@
 
NP2BMP BITMAP "..\\nekop2.bmp"
NP2TOOL BITMAP "..\\np2tool.bmp"
NP21TOOL BITMAP "..\\np21tool.bmp"
 
/////////////////////////////////////////////////////////////////////////////
//
/np21/win9x/resources/932/np2.rc2
@@ -54,14 +54,14 @@
#else
#ifdef SUPPORT_PC9821
VALUE "FileDescription", "PC-9821series emulator\0"
VALUE "ProductName", "Neko Project 21\0"
VALUE "ProductName", "Neko Project 21/W\0"
#else
VALUE "FileDescription", "PC-9801series emulator\0"
VALUE "ProductName", "Neko Project II\0"
#endif
#ifdef SUPPORT_PC9821
VALUE "InternalName", "np21\0"
VALUE "OriginalFilename", "np21.exe\0"
VALUE "InternalName", "np21w\0"
VALUE "OriginalFilename", "np21w.exe\0"
#else
VALUE "InternalName", "np2\0"
VALUE "OriginalFilename", "np2.exe\0"
/np21/win9x/np2.cpp
@@ -1723,7 +1723,7 @@
#endif
 
scrndraw_redraw();
 
#ifdef SUPPORT_IDEIO
ideio_init();
#endif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/np21/win9x/np21vs2010.suo
/np21/win9x/toolwin.cpp
@@ -147,7 +147,11 @@
return(ret);
}
}
#ifdef SUPPORT_PC9821
return(LoadBitmap(g_hInstance, _T("NP21TOOL")));
#else
return(LoadBitmap(g_hInstance, _T("NP2TOOL")));
#endif
}
 
 
/np21/i386c/cpumem.c
@@ -317,7 +317,7 @@
#if defined(SUPPORT_CL_GD5430)
#define VRAMWINDOW_SIZE 0x200000 // VRAM ƒ}ƒbƒsƒ“ƒOƒTƒCƒY
#define EXT_WINDOW_SIZE 0x200000 // “ä
#define EXT_WINDOW_SIZE 0x400000 // “ä
#define EXT_WINDOW_SHFT 0x000000 // “ä
#define BBLTWINDOW_ADSH 0x1000000 // VRAM BITBLT
#define BBLTWINDOW_SIZE 0x400000 // VRAM BITBLT ƒ}ƒbƒsƒ“ƒOƒTƒCƒY
/np21/pccore.c
@@ -48,6 +48,9 @@
#include "timing.h"
#include "keystat.h"
#include "debugsub.h"
#if defined(SUPPORT_CL_GD5430)
#include "video/video.h"
#endif
 
 
const OEMCHAR np2version[] = OEMTEXT(NP2VER_CORE);
@@ -659,6 +662,9 @@
pic_irq();
if (CPU_RESETREQ) {
CPU_RESETREQ = 0;
#if defined(SUPPORT_CL_GD5430)
np2vga_resetRelay();
#endif
CPU_SHUT();
}
#if !defined(SINGLESTEPONLY)
/np21/video/video.c
@@ -10,6 +10,7 @@
#include "pccore.h"
#include "iocore.h"
#include "video.h"
#include "soundmng.h"
 
BITMAPINFO bmpInfo = {0};
DisplayState ds = {0};
@@ -161,5 +162,13 @@
return &ds;
}
 
void np2vga_resetRelay()
{
ShowWindow(g_hWndVGA, SW_HIDE);
if(ga_relay){
soundmng_pcmplay(SOUND_RELAY1, FALSE);
ga_relay = 0;
}
}
 
#endif /* SUPPORT_CL_GD5430 */
/np21/video/video.h
@@ -127,6 +127,8 @@
void np2vga_drawframe();
void np2vga_shutdown();
 
void np2vga_resetRelay();
 
void cirrusvga_drawGraphic();
 
#ifdef __cplusplus
/np21/io/cpuio.c
@@ -15,9 +15,6 @@
TRACEOUT(("80286 ProtectMode Disable"));
}
#endif
if (CPU_MSW & 1) {
//return; // noreset”Å‚É‚·‚éê‡‚Í‚±‚̃Rƒƒ“ƒg‚ð‰ðœ‚µ‚Ä‚­‚¾‚³‚¢
}
epsonio.cpumode = (CPU_MSW & 1)?'P':'R';
CPU_A20EN(FALSE);
CPU_RESETREQ = 1;
/np21/io/iocore.c
@@ -63,37 +63,8 @@
static _IOCORE iocore;
static UINT8 ioterminate[0x100];
 
static REG8 PnP_initialized = 0;
static REG8 PnP_RegAddr = 0x00;
static UINT PnP_RD_Port = 0x0000;
 
static REG8 PnP_RegisterBuf[256][256] = {0};
static REG8 PnP_RegisterBufCSUM[256] = {0};
static REG8 PnP_RegisterBufIsoFlg = 0;
static REG8 PnP_RegisterBufSendPos = 0;
 
extern UINT lgy98_baseaddr;
 
void PnP_init(){
int i, j;
for(i=0;i<256;i++){
PnP_RegisterBuf[i][0x00] = i;
PnP_RegisterBuf[i][0x01] = i;
PnP_RegisterBufCSUM[i] = 0;
for(j=0;j<8;j++){
if((PnP_RegisterBuf[i][0x01]>>j)&0x1) PnP_RegisterBufCSUM[i]++;
}
}
}
int PnP_findRegAddrFromPort(UINT port){
REG8 ptmp = port >> 2;
int i;
for(i=0;i<256;i++){
if(PnP_RegisterBuf[i][0x00]==ptmp) return i;
}
return -1;
}
 
// ----
 
static void IOOUTCALL defout8(UINT port, REG8 dat) {
@@ -116,55 +87,9 @@
dipsw_w8(port, dat);
return;
}
//keytmp = (port & 0xfcff);
//if (0xE0 <= keytmp && keytmp <= 0xEE) {
// //TRACEOUT(("out%X - %02X %.4x %.4x", port&0xff, dat, CPU_CS, CPU_IP));
// //dipsw_w8(port, dat);
// //keytmp = keytmp ^ 0xff;
// return;
//}
//if ((port & 0xffff) == 0x0259) {
// //TRACEOUT(("PnP 0259h Register Address = %02X %.4x %.4x", dat, CPU_CS, CPU_IP));
// /*if(!PnP_initialized){
// PnP_init();
// PnP_initialized = 1;
// }
// PnP_RegAddr = dat;
// switch(PnP_RegAddr){
// case 0x01:
// PnP_RegisterBufIsoFlg = 0;
// PnP_RegisterBufSendPos = 0;
// break;
// }*/
// //dipsw_w8(port, dat);
// return;
//}
//if ((port & 0xffff) == 0x0A59) {
// //TRACEOUT(("PnP 0A59h Register Write Data - %x %.4x %.4x", dat, CPU_CS, CPU_IP));
// /*switch(PnP_RegAddr){
// case 0x00:
// PnP_RegisterBuf[dat][0x00] = dat;
// PnP_RD_Port = (PnP_RegisterBuf[dat][0x00] << 2) | 0x3;
// break;
// case 0x02:
// PnP_RegisterBufSendPos = 0;
// PnP_RegisterBufIsoFlg = 0;
// break;
// default:
// PnP_RegisterBuf[dat][PnP_RegAddr] = dat;
// break;
// }*/
// //dipsw_w8(port, dat);
// return;
//}
//if ((port&0xfff0) != 0x0140) {
// TRACEOUT(("defout8 - %x %x %.4x %.4x", port, dat, CPU_CS, CPU_IP));
//}
}
 
static REG8 IOINPCALL definp8(UINT port) {
//static UINT keytmp = 0xff;
 
#if !defined(DISABLE_SOUND)
UINT tmp;
 
@@ -180,48 +105,6 @@
if ((port & 0xf0ff) == 0x801e) {
return(dipsw_r8(port));
}
if ((port & 0xffff) == 0x043B) {
TRACEOUT(("in%X - %.4x %.4x", port&0xff, CPU_CS, CPU_IP));
return 0x00;
}
//keytmp = (port & 0xfcff);
//if (0xE0 <= keytmp && keytmp <= 0xEE) {
// //TRACEOUT(("in%X - %.4x %.4x", port&0xff, CPU_CS, CPU_IP));
// //dipsw_w8(port, dat);
// //keytmp = keytmp ^ 0xff;
// return(0xff);
//}
//if (PnP_RD_Port!=0 && port==PnP_RD_Port) {
// int regport;
// //TRACEOUT(("PnP %04X Register Read Data - %.4x %.4x", port, CPU_CS, CPU_IP));
// /*regport = PnP_findRegAddrFromPort(port);
// if(regport>=0){
// REG8 ret = 0x00;
// switch(PnP_RegAddr){
// case 0x01: // Serial Isolation
// if(!PnP_RegisterBufIsoFlg){
// ret = 0x55;
// }else{
// if(PnP_RegisterBufSendPos & 0x8){
// ret = ((7-(PnP_RegisterBufSendPos & 0x7)) <= PnP_RegisterBufCSUM[regport]) ? 0xAA : 0x00;
// PnP_RegisterBufSendPos = (PnP_RegisterBufSendPos+1) & 0xf;
// }else{
// ret = ((PnP_RegisterBuf[regport][0x01] >> PnP_RegisterBufSendPos) & 0x1) ? 0xAA : 0x00;
// PnP_RegisterBufSendPos = (PnP_RegisterBufSendPos+1) & 0xf;
// }
// }
// PnP_RegisterBufIsoFlg = !PnP_RegisterBufIsoFlg;
// return(ret);
// default:
// return(PnP_RegisterBuf[regport][PnP_RegAddr]);
// }
// }else{*/
// return(0xff);
// //}
//}
//if ((port&0xfff0) != 0x0140) {
// TRACEOUT(("definp8 - %x %.4x %.4x", port, CPU_CS, CPU_IP));
//}
return(0xff);
}
 
@@ -630,7 +513,17 @@
void IOOUTCALL iocore_out8(UINT port, REG8 dat) {
 
IOFUNC iof;
 
#if defined(SUPPORT_PC9821)
if((port&0xff) == 0xf0 && (port&0xff00) != 0x0000){
// Win2000ƒfƒoƒCƒXŒŸoƒŠƒZƒbƒg‘΍ôiª‹’–³‚µj
CPU_REMCLOCK -= iocore.busclock;
return;
}
#endif
//if((port&0xff00) != 0 && port!=0x07EF && port!=0x0432 && (port&0xffF0)!=0x0640 && (port&0xffF0)!=0x7FD0){
// TRACEOUT(("OUT8 %.4X", port));
//}
// TRACEOUT(("iocore_out8(%.2x, %.2x)", port, dat));
CPU_REMCLOCK -= iocore.busclock;
iof = iocore.base[(port >> 8) & 0xff];
@@ -641,6 +534,16 @@
 
IOFUNC iof;
REG8 ret;
#if defined(SUPPORT_PC9821)
if((port&0xff) == 0xf0 && (port&0xff00) != 0x0000){
// Win2000ƒfƒoƒCƒXŒŸoƒŠƒZƒbƒg‘΍ôiª‹’–³‚µj
CPU_REMCLOCK -= iocore.busclock;
return 0xff;
}
#endif
//if((port&0xff00) != 0 && port!=0x07EF && port!=0x0432 && (port&0xffF0)!=0x0640 && (port&0xffF0)!=0x7FD0){
// TRACEOUT(("INP8 %.4X", port));
//}
 
CPU_REMCLOCK -= iocore.busclock;
iof = iocore.base[(port >> 8) & 0xff];
@@ -666,11 +569,10 @@
lgy98_ob200_16(port, dat);
return;
}
//if (port == lgy98_baseaddr + 0x201) {
// lgy98_ob200_8(port, dat);
// return;
//}
#endif
//if(1){
// TRACEOUT(("OUT16 %.4X", port));
//}
if ((port & 0xfff1) == 0x04a0) {
egc_w16(port, dat);
return;
@@ -711,10 +613,10 @@
if (port == lgy98_baseaddr + 0x200) {
return(lgy98_ib200_16(port));
}
//if (port == lgy98_baseaddr + 0x201) {
// return(lgy98_ib200_8(port));
//}
#endif
//if(1){
// TRACEOUT(("INP16 %.4X", port));
//}
if ((port & 0xfffc) == 0x005c) {
return(artic_r16(port));
}
@@ -755,6 +657,9 @@
return;
}
#endif
//if(1){
// TRACEOUT(("OUT32 %.4X", port));
//}
iocore_out16(port, (UINT16)dat);
iocore_out16(port+2, (UINT16)(dat >> 16));
}
@@ -769,6 +674,9 @@
return(pcidev_r32(port));
}
#endif
//if(1){
// TRACEOUT(("INP32 %.4X", port));
//}
ret = iocore_inp16(port);
return(ret + (iocore_inp16(port+2) << 16));
}