diff --git a/compat.txt b/compat.txt index bbcba05..71bbbeb 100644 --- a/compat.txt +++ b/compat.txt @@ -10,9 +10,9 @@ Disney's Hercules Action Game (USA) *22 Disney's The Emperor's New Groove (USA).cue *22 Fixed: Doom (All) *4 (e145a4e) Fixed: Elder Gate (Japan) *1 (2989bb6) -Fear Effect (USA) (Disc 1) *3 + Fixed: Fear Effect (USA) (Disc 1) *3 Fixed: Final Doom (All) *4 (e145a4e) -Final Fantasy IX (USA) (Disc 1) *22 + Fixed: Final Fantasy IX (USA) (Disc 1) *22 Fixed: Gran Turismo 2 - Music at the Speed of Sound - The Album (USA) (Bonus PlayStation Disc) *19 (regression) Hello Kitty - Cube Frenzy (USA) *22 Initial D (Japan) *3 (regression) @@ -25,17 +25,17 @@ PaRappa the Rapper (Japan) (USA version works) *16 Fixed: Paro Wars (Japan) *12 (e145a4e) Fixed: Pet in TV - With My Dear Dog (Japan) *1 (2989bb6) Fixed: Philosoma (USA) *15 -PoPoRoGue (Japan) *14 + Fixed: PoPoRoGue (Japan) *14 (2989bb6) Fixed: RayStorm (USA) + RayCrisis (Japan) + RayCrisis - Series Termination (USA) *12 Fixed: Rockman (Japan) *1 (2989bb6) S.C.A.R.S (USA) *11 SimCity 2000 (USA) *3 Sister Princess 2 - Premium Fan Disc (Japan) (Disc A) *2 (regression) Star Wars - Rebel Assault II - The Hidden Empire (USA) (Disc 1) *9 -Strider Hiryuu 1 & 2 (Japan) (Disc 1) (Strider Hiryuu) *6 + Fixed: Strider Hiryuu 1 & 2 (Japan) (Disc 1) (Strider Hiryuu) *6 (2989bb6) Tama - Adventurous Ball in Giddy Labyrinth (Japan) *5 -Time Gal & Ninja Hayate (Japan) (En,Ja) (Disc 1) (Time Gal) *9 -Time Gal & Ninja Hayate (Japan) (En,Ja) (Disc 2) (Ninja Hayate) *9 + Fixed: Time Gal & Ninja Hayate (Japan) (En,Ja) (Disc 1) (Time Gal) *9 + Fixed: Time Gal & Ninja Hayate (Japan) (En,Ja) (Disc 2) (Ninja Hayate) *9 Fixed: Tokimeki Memorial 2 (Japan) *1 (2989bb6) Fixed: Tomb Raider (USA) *8 (e145a4e) Tony Hawk's Pro Skater (USA) *10 diff --git a/psx/dev/dma.c b/psx/dev/dma.c index cbfec3a..5ad3681 100644 --- a/psx/dev/dma.c +++ b/psx/dev/dma.c @@ -506,7 +506,7 @@ void psx_dma_update(psx_dma_t* dma, int cyc) { } if (dma->mdec_in_irq_delay) { - dma->mdec_in_irq_delay = 0; + --dma->mdec_in_irq_delay; if (!dma->mdec_in_irq_delay) if (dma->dicr & DICR_DMA0EN) @@ -514,7 +514,7 @@ void psx_dma_update(psx_dma_t* dma, int cyc) { } if (dma->mdec_out_irq_delay) { - dma->mdec_out_irq_delay = 0; + --dma->mdec_out_irq_delay; if (!dma->mdec_out_irq_delay) if (dma->dicr & DICR_DMA1EN) diff --git a/psx/dev/mdec.c b/psx/dev/mdec.c index b33d1c5..a05063f 100644 --- a/psx/dev/mdec.c +++ b/psx/dev/mdec.c @@ -445,7 +445,6 @@ void psx_mdec_write32(psx_mdec_t* mdec, uint32_t offset, uint32_t value) { mdec->output_depth = 0; mdec->input_request = 0; mdec->output_request = 0; - mdec->busy = 0; mdec->input_full = 0; mdec->output_empty = 1; mdec->current_block = 4; diff --git a/psx/dev/timer.c b/psx/dev/timer.c index f3428e5..3fdedc4 100644 --- a/psx/dev/timer.c +++ b/psx/dev/timer.c @@ -279,9 +279,6 @@ void timer_handle_irq(psx_timer_t* timer, int i) { timer->timer[i].irq = 1; if (trigger) { - if ((i == 1)) - printf("timer 1 irq fire\n"); - psx_ic_irq(timer->ic, 16 << i); } }