|
|
| version 1.11, 2003/11/03 00:49:55 | version 1.14, 2003/11/12 20:02:54 |
|---|---|
| Line 4 | Line 4 |
| #include "timemng.h" | #include "timemng.h" |
| #include "i286.h" | #include "i286.h" |
| #include "memory.h" | #include "memory.h" |
| #include "np2ver.h" | |
| #include "pccore.h" | #include "pccore.h" |
| #include "iocore.h" | #include "iocore.h" |
| #include "cbuscore.h" | #include "cbuscore.h" |
| Line 28 | Line 29 |
| #include "calendar.h" | #include "calendar.h" |
| #include "timing.h" | #include "timing.h" |
| //#include "hostdrv.h" | //#include "hostdrv.h" |
| #include "debugsub.h" | |
| const char np2version[] = "ver.0.70"; | const char np2version[] = NP2VER_CORE; |
| NP2CFG np2cfg = { | NP2CFG np2cfg = { |
| PCBASECLOCK25, 4, 0, | PCBASECLOCK25, 4, 0, |
| {0x3e, 0x63, 0x7a}, | {0x3e, 0x63, 0x7a}, |
| {0x48, 0x05, 0x0c, 0x00, 0x01, 0x00, 0x00, 0x6E}, | {0x48, 0x05, 0x04, 0x00, 0x01, 0x00, 0x00, 0x6E}, |
| {0x0c, 0x0c, 0x08, 0x06, 0x03, 0x0c}, | {0x0c, 0x0c, 0x08, 0x06, 0x03, 0x0c}, |
| {1, 1, 6, 1, 8, 1}, | {1, 1, 6, 1, 8, 1}, |
| 0, 4, 32, 22050, 800, 0, 1, 1, 0, | 0, 4, 32, 22050, 800, 0, 1, 1, 0, |
| Line 60 | Line 62 |
| 100, 20, | 100, 20, |
| 0}; | 0}; |
| // on=0, off=1 | // // on=0, off=1 |
| BYTE dip_default[3] = {0x3e, 0x63, 0x7a}; | // BYTE dip_default[3] = {0x3e, 0x63, 0x7a}; |
| BYTE msw_default[8] = {0x48, 0x05, 0x04, 0x00, 0x01, 0x00, 0x00, 0x6E}; | static const BYTE msw_default[8] = |
| {0x48, 0x05, 0x04, 0x00, 0x01, 0x00, 0x00, 0x6E}; | |
| BYTE screenupdate = 3; | BYTE screenupdate = 3; |
| int screendispflag = 1; | int screendispflag = 1; |
| Line 70 | Line 73 |
| BOOL drawframe; | BOOL drawframe; |
| UINT drawcount = 0; | UINT drawcount = 0; |
| BYTE mem[0x200000]; // ver0.28 | BYTE mem[0x200000]; |
| // --------------------------------------------------------------------------- | // --------------------------------------------------------------------------- |
| static void setvsyncclock(void) { // ver0.28 | static void setvsyncclock(void) { |
| UINT vfp; | UINT vfp; |
| UINT vbp; | UINT vbp; |
| Line 513 void pccore_exec(BOOL draw) { | Line 516 void pccore_exec(BOOL draw) { |
| i286_resetprefetch(); | i286_resetprefetch(); |
| } | } |
| #if 1 // ndef TRACE | #ifndef TRACE |
| if (I286_REMCLOCK > 0) { | if (I286_REMCLOCK > 0) { |
| if (!(CPUTYPE & CPUTYPE_V30)) { | if (!(CPUTYPE & CPUTYPE_V30)) { |
| i286(); | i286(); |
| Line 523 void pccore_exec(BOOL draw) { | Line 526 void pccore_exec(BOOL draw) { |
| } | } |
| } | } |
| #else | #else |
| while(nevent.remainclock > 0) { | while(I286_REMCLOCK > 0) { |
| { | static BYTE sw = 0; |
| static FILEH fh = FILEH_INVALID; | if (*(UINT32 *)(mem + 0x48) == 0x18000114) { |
| if (I286_CS == 0x0e14) { | if (sw == 0) { |
| if (fh == FILEH_INVALID) { | sw = 1; |
| fh = file_create("log.txt"); | TRACEOUT(("[%.8x] %.4x:%.4x %s", |
| *(UINT32 *)(mem + 0x48), | |
| I286_CS, I286_IP, debugsub_regs())); | |
| } | |
| } | |
| else { | |
| if (sw != 0) { | |
| sw = 0; | |
| TRACEOUT(("[%.8x] %.4x:%.4x %s", | |
| *(UINT32 *)(mem + 0x48), | |
| I286_CS, I286_IP, debugsub_regs())); | |
| } | } |
| } | } |
| if (fh != FILEH_INVALID) { | |
| char buf[32]; | |
| wsprintf(buf, "%.4x:%.4x\r\n", I286_CS, I286_IP); | |
| file_write(fh, buf, strlen(buf)); | |
| } | |
| } | |
| i286_step(); | i286_step(); |
| } | } |
| #endif | #endif |