do irq test
This commit is contained in:
parent
b2c644b6e7
commit
086f77b551
@ -123,6 +123,10 @@ START:
|
|||||||
stz $420D ; Access cycle designation (slow/fast rom)
|
stz $420D ; Access cycle designation (slow/fast rom)
|
||||||
cli ; Enable interrupts
|
cli ; Enable interrupts
|
||||||
|
|
||||||
|
|
||||||
|
;lda #$81
|
||||||
|
;sta $4200
|
||||||
|
|
||||||
rep #$30
|
rep #$30
|
||||||
longa on
|
longa on
|
||||||
longi on
|
longi on
|
||||||
|
|||||||
@ -40,7 +40,45 @@ DWORD addr,crc_addr;
|
|||||||
BYTE res;
|
BYTE res;
|
||||||
|
|
||||||
|
|
||||||
|
byte irq_triggered = 0;
|
||||||
|
byte nmi_triggered = 0;
|
||||||
|
|
||||||
char rom_name[]= ROM_NAME;
|
char rom_name[]= ROM_NAME;
|
||||||
|
|
||||||
|
void handle_irq(void){
|
||||||
|
|
||||||
|
char message[]="irq\n";
|
||||||
|
char* ptr;
|
||||||
|
ptr = message;
|
||||||
|
while (*ptr)
|
||||||
|
*(byte *) 0x3000 = *ptr++;
|
||||||
|
|
||||||
|
irq_triggered = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void handle_nmi(void){
|
||||||
|
|
||||||
|
char message[]="nmi\n";
|
||||||
|
char* ptr;
|
||||||
|
ptr = message;
|
||||||
|
while (*ptr)
|
||||||
|
*(byte *) 0x3000 = *ptr++;
|
||||||
|
|
||||||
|
irq_triggered = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void IRQHandler(void)
|
||||||
|
{
|
||||||
|
irq_triggered = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
void NMIHandler(void)
|
||||||
|
{
|
||||||
|
nmi_triggered = 1;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
void initInternalRegisters(void)
|
void initInternalRegisters(void)
|
||||||
{
|
{
|
||||||
@ -149,6 +187,13 @@ void boot(DWORD addr)
|
|||||||
printfc("SNES::main: Try to init disk\n");
|
printfc("SNES::main: Try to init disk\n");
|
||||||
put_rc(f_mount((BYTE) 0, &fatfs[0]));
|
put_rc(f_mount((BYTE) 0, &fatfs[0]));
|
||||||
|
|
||||||
|
while(1){
|
||||||
|
if (irq_triggered)
|
||||||
|
handle_irq();
|
||||||
|
if (nmi_triggered)
|
||||||
|
handle_nmi();
|
||||||
|
}
|
||||||
|
|
||||||
#if 0
|
#if 0
|
||||||
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");
|
||||||
@ -294,12 +339,4 @@ void boot(DWORD addr)
|
|||||||
while (1);
|
while (1);
|
||||||
}
|
}
|
||||||
|
|
||||||
void IRQHandler(void)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
void NMIHandler(void)
|
|
||||||
{
|
|
||||||
|
|
||||||
// processEvents();
|
|
||||||
}
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user