|
|
| version 1.7, 2004/03/23 04:45:03 | version 1.12, 2005/02/07 14:46:07 |
|---|---|
| Line 6 | Line 6 |
| #include "iocore.h" | #include "iocore.h" |
| #include "debugsub.h" | #include "debugsub.h" |
| void debugwriteseg(const char *fname, const descriptor_t *sd, | |
| UINT32 addr, UINT32 size); | |
| void debugpageptr(UINT32 addr); | |
| #if defined(MACOS) | #if defined(MACOS) |
| #define CRLITERAL "\r" | #define CRLITERAL "\r" |
| Line 65 static const char str_register[] = | Line 69 static const char str_register[] = |
| "EAX=%.8x EBX=%.8x ECX=%.8x EDX=%.8x" CRLITERAL \ | "EAX=%.8x EBX=%.8x ECX=%.8x EDX=%.8x" CRLITERAL \ |
| "ESP=%.8x EBP=%.8x ESI=%.8x EDI=%.8x" CRLITERAL \ | "ESP=%.8x EBP=%.8x ESI=%.8x EDI=%.8x" CRLITERAL \ |
| "DS=%.4x ES=%.4x SS=%.4x CS=%.4x " \ | "DS=%.4x ES=%.4x SS=%.4x CS=%.4x " \ |
| "EIP=%.8x "; | "EIP=%.8x " CRLITERAL; |
| static const char str_picstat[] = \ | static const char str_picstat[] = \ |
| CRLITERAL "PIC0=%.2x:%.2x:%.2x" \ | "PIC0=%.2x:%.2x:%.2x" CRLITERAL \ |
| CRLITERAL "PIC1=%.2x:%.2x:%.2x" \ | "PIC1=%.2x:%.2x:%.2x" CRLITERAL \ |
| CRLITERAL "8255PORTC = %.2x / system-port = %.2x"; | "8255PORTC = %.2x / system-port = %.2x" CRLITERAL; |
| const char *debugsub_flags(UINT16 flag) { | const char *debugsub_flags(UINT16 flag) { |
| Line 111 void debugwriteseg(const char *fname, co | Line 115 void debugwriteseg(const char *fname, co |
| UINT32 addr, UINT32 size) { | UINT32 addr, UINT32 size) { |
| FILEH fh; | FILEH fh; |
| BYTE buf[0x1000]; | UINT8 buf[0x1000]; |
| UINT32 limit; | UINT32 limit; |
| limit = sd->u.seg.limit; | limit = sd->u.seg.limit; |
| Line 136 void debugwriteseg(const char *fname, co | Line 140 void debugwriteseg(const char *fname, co |
| void debugsub_status(void) { | void debugsub_status(void) { |
| static int filenum = 0; | static int filenum = 0; |
| FILEH fh; | FILEH fh; |
| char work[512]; | char work[512]; |
| const char *p; | const char *p; |
| SPRINTF(work, file_i386reg, filenum); | SPRINTF(work, file_i386reg, filenum); |
| fh = file_create_c(work); | fh = file_create_c(work); |
| Line 151 const char *p; | Line 155 const char *p; |
| pic.pi[1].imr, pic.pi[1].irr, pic.pi[1].isr, | pic.pi[1].imr, pic.pi[1].irr, pic.pi[1].isr, |
| mouseif.upd8255.portc, sysport.c); | mouseif.upd8255.portc, sysport.c); |
| file_write(fh, work, strlen(work)); | file_write(fh, work, strlen(work)); |
| SPRINTF(work, "CS = %.8x:%.8x" CRLITERAL, | |
| CPU_STAT_SREGBASE(CPU_CS_INDEX), | |
| CPU_STAT_SREGLIMIT(CPU_CS_INDEX)); | |
| file_write(fh, work, strlen(work)); | |
| file_close(fh); | file_close(fh); |
| } | } |
| Line 172 void debugsub_memorydump(void) { | Line 182 void debugsub_memorydump(void) { |
| fh = file_create_c(file_memorybin); | fh = file_create_c(file_memorybin); |
| if (fh != FILEH_INVALID) { | if (fh != FILEH_INVALID) { |
| for (i=0; i<34; i++) | for (i=0; i<34; i++) { |
| // for (i=0; i<64; i++) | |
| { | |
| file_write(fh, mem + i*0x8000, 0x8000); | file_write(fh, mem + i*0x8000, 0x8000); |
| } | } |
| file_close(fh); | file_close(fh); |