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)
|
||||
cli ; Enable interrupts
|
||||
|
||||
|
||||
;lda #$81
|
||||
;sta $4200
|
||||
|
||||
rep #$30
|
||||
longa on
|
||||
longi on
|
||||
|
||||
@ -40,8 +40,46 @@ DWORD addr,crc_addr;
|
||||
BYTE res;
|
||||
|
||||
|
||||
byte irq_triggered = 0;
|
||||
byte nmi_triggered = 0;
|
||||
|
||||
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)
|
||||
{
|
||||
characterLocation[0] = 0x0000;
|
||||
@ -149,6 +187,13 @@ void boot(DWORD addr)
|
||||
printfc("SNES::main: Try to init disk\n");
|
||||
put_rc(f_mount((BYTE) 0, &fatfs[0]));
|
||||
|
||||
while(1){
|
||||
if (irq_triggered)
|
||||
handle_irq();
|
||||
if (nmi_triggered)
|
||||
handle_nmi();
|
||||
}
|
||||
|
||||
#if 0
|
||||
printfs(0, "FATFS OPTIXX.ORG ");
|
||||
printfc("SNES::main: Try to get free\n");
|
||||
@ -294,12 +339,4 @@ void boot(DWORD addr)
|
||||
while (1);
|
||||
}
|
||||
|
||||
void IRQHandler(void)
|
||||
{
|
||||
}
|
||||
|
||||
void NMIHandler(void)
|
||||
{
|
||||
|
||||
// processEvents();
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user