X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=pico%2Fpico.c;h=302cc699215a78278e67a3902e3d3e097e34c515;hb=94d2199eb18a8d21e24fb2aab66c10ef6869704b;hp=f2da10b686df6e95952190085164cb72c307db5f;hpb=45f2f245f51ef0c0d37df3c998595c132bfcaffa;p=picodrive.git diff --git a/pico/pico.c b/pico/pico.c index f2da10b..302cc69 100644 --- a/pico/pico.c +++ b/pico/pico.c @@ -40,6 +40,7 @@ void PicoInit(void) PicoInitMCD(); PicoSVPInit(); + Pico32xInit(); } // to be called once on emu exit @@ -75,6 +76,9 @@ void PicoPower(void) if (PicoAHW & PAHW_MCD) PicoPowerMCD(); + if (!(PicoOpt & POPT_DIS_32X)) + PicoPower32x(); + PicoReset(); } @@ -187,6 +191,11 @@ int PicoReset(void) if (!(PicoOpt & POPT_DIS_IDLE_DET)) SekInitIdleDet(); + if (!(PicoOpt & POPT_DIS_32X)) { + PicoReset32x(); + return 0; + } + // reset sram state; enable sram access by default if it doesn't overlap with ROM Pico.m.sram_reg = 0; if ((SRam.flags & SRF_EEPROM) || Pico.romsize <= SRam.start) @@ -296,11 +305,17 @@ void PicoFrame(void) return; } + // TODO: MCD+32X if (PicoAHW & PAHW_MCD) { PicoFrameMCD(); return; } + if (PicoAHW & PAHW_32X) { + PicoFrame32x(); + return; + } + //if(Pico.video.reg[12]&0x2) Pico.video.status ^= 0x10; // change odd bit in interlace mode PicoFrameStart();