add some irq testing in c code
This commit is contained in:
parent
989b738c49
commit
4f8e258710
@ -124,8 +124,8 @@ START:
|
|||||||
cli ; Enable interrupts
|
cli ; Enable interrupts
|
||||||
|
|
||||||
|
|
||||||
;lda #$81
|
;;lda #$01
|
||||||
;sta $4200
|
;;sta $4200
|
||||||
|
|
||||||
rep #$30
|
rep #$30
|
||||||
longa on
|
longa on
|
||||||
@ -136,7 +136,19 @@ START:
|
|||||||
|
|
||||||
XDEF IRQ
|
XDEF IRQ
|
||||||
IRQ:
|
IRQ:
|
||||||
XREF ~~IRQHandler
|
;LONGA ON
|
||||||
|
;LONGI ON
|
||||||
|
rep #$10
|
||||||
|
sep #$20
|
||||||
|
lda #65
|
||||||
|
sta $3000
|
||||||
|
rep #$30
|
||||||
|
;LONGA OFF
|
||||||
|
;LONGI OFF
|
||||||
|
rti
|
||||||
|
|
||||||
|
|
||||||
|
XREF ~~IRQHandler
|
||||||
LONGA ON
|
LONGA ON
|
||||||
LONGI ON
|
LONGI ON
|
||||||
rep #$30
|
rep #$30
|
||||||
@ -151,6 +163,11 @@ IRQ:
|
|||||||
|
|
||||||
XDEF NMI
|
XDEF NMI
|
||||||
NMI:
|
NMI:
|
||||||
|
rep #$30
|
||||||
|
lda #66
|
||||||
|
sta $3000
|
||||||
|
sep #$30 ; X,Y,A are 8 bit numbers
|
||||||
|
rti
|
||||||
XREF ~~NMIHandler
|
XREF ~~NMIHandler
|
||||||
LONGA ON
|
LONGA ON
|
||||||
LONGI ON
|
LONGI ON
|
||||||
|
|||||||
@ -94,7 +94,9 @@ void preInit(void)
|
|||||||
|
|
||||||
// For testing purpose ...
|
// For testing purpose ...
|
||||||
// Insert code here to be executed before register init
|
// Insert code here to be executed before register init
|
||||||
} DWORD get_fattime()
|
}
|
||||||
|
|
||||||
|
DWORD get_fattime()
|
||||||
{
|
{
|
||||||
time_t rawtime;
|
time_t rawtime;
|
||||||
struct tm *ptm;
|
struct tm *ptm;
|
||||||
@ -184,19 +186,30 @@ void boot(DWORD addr)
|
|||||||
*(byte *) 0x2100 = 0x0f; // enable background
|
*(byte *) 0x2100 = 0x0f; // enable background
|
||||||
|
|
||||||
debug_enable();
|
debug_enable();
|
||||||
printfc("SNES::main: Try to init disk\n");
|
printfc("SNES::main: init\n");
|
||||||
put_rc(f_mount((BYTE) 0, &fatfs[0]));
|
|
||||||
|
|
||||||
#if 0
|
#if 0
|
||||||
|
i = 0;
|
||||||
|
printfc("SNES::main: wait for irq\n");
|
||||||
while(1){
|
while(1){
|
||||||
if (irq_triggered)
|
if (irq_triggered)
|
||||||
handle_irq();
|
handle_irq();
|
||||||
if (nmi_triggered)
|
if (nmi_triggered)
|
||||||
handle_nmi();
|
handle_nmi();
|
||||||
|
/*
|
||||||
|
if (i++==30){
|
||||||
|
printfc("SNES::main: poll\n");
|
||||||
|
i=0;
|
||||||
|
}
|
||||||
|
waitForVBlank();
|
||||||
|
*/
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if 0
|
printfc("SNES::main: Try to init disk\n");
|
||||||
|
put_rc(f_mount((BYTE) 0, &fatfs[0]));
|
||||||
|
|
||||||
|
|
||||||
|
#if 1
|
||||||
printfs(0, "FATFS OPTIXX.ORG ");
|
printfs(0, "FATFS OPTIXX.ORG ");
|
||||||
printfc("SNES::main: Try to get free\n");
|
printfc("SNES::main: Try to get free\n");
|
||||||
|
|
||||||
@ -236,7 +249,7 @@ void boot(DWORD addr)
|
|||||||
#if 0
|
#if 0
|
||||||
printfc("SNES::main: read dir\n");
|
printfc("SNES::main: read dir\n");
|
||||||
for (;;) {
|
for (;;) {
|
||||||
res = f_readdir(&dir, &finfo);
|
res = f_readdir(&dir, &finfo);make
|
||||||
if ((res != FR_OK) || !finfo.fname[0])
|
if ((res != FR_OK) || !finfo.fname[0])
|
||||||
break;
|
break;
|
||||||
if (finfo.fattrib & AM_DIR) {
|
if (finfo.fattrib & AM_DIR) {
|
||||||
|
|||||||
@ -28,19 +28,22 @@ uint8 CMMIO::mmio_read(unsigned addr) {
|
|||||||
|
|
||||||
void CMMIO::mmio_write(unsigned addr, uint8 data) {
|
void CMMIO::mmio_write(unsigned addr, uint8 data) {
|
||||||
addr &= 0xffff;
|
addr &= 0xffff;
|
||||||
//printf("CMMIO::mmio_write 0x%04x 0x%02x (%i)\n",addr,data,data);
|
|
||||||
//fflush(stdout);
|
//fflush(stdout);
|
||||||
|
//printf("CMMIO::mmio_write 0x%04x 0x%02x (%i)\n",addr,data,data);
|
||||||
/* debug to stderr */
|
/* debug to stderr */
|
||||||
if (addr == 0x3000){
|
if (addr == 0x3000){
|
||||||
fprintf(stderr,"%c",data);
|
fprintf(stderr,"%c",data);
|
||||||
fflush(stderr);
|
fflush(stderr);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if 0
|
||||||
if (addr == 0x3001){
|
if (addr == 0x3001){
|
||||||
fprintf(stderr,"Trigger IRQ\n");
|
fprintf(stderr,"Trigger IRQ\n");
|
||||||
fflush(stderr);
|
fflush(stderr);
|
||||||
cpu.triggerIRQ();
|
cpu.triggerIRQ();
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
CMMIO::CMMIO() {
|
CMMIO::CMMIO() {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user