#include "jaguar.h"
#include "log.h"
//#include "memory.h"
+#include "settings.h"
// Various conditional compilation goodies...
//#define LOG_BLITS
-//#define USE_ORIGINAL_BLITTER
+#define USE_ORIGINAL_BLITTER
//#define USE_MIDSUMMER_BLITTER
#define USE_MIDSUMMER_BLITTER_MKII
+#ifdef USE_ORIGINAL_BLITTER
+#ifdef USE_MIDSUMMER_BLITTER_MKII
+#define USE_BOTH_BLITTERS
+#endif
+#endif
+
+
// External global variables
extern int jaguar_active_memory_dumps;
WriteLog("BLIT: Blitter started by %s...\n", whoName[who]);
doGPUDis = true;
}//*/
+#ifndef USE_BOTH_BLITTERS
#ifdef USE_ORIGINAL_BLITTER
blitter_blit(GET32(blitter_ram, 0x38));
#endif
#ifdef USE_MIDSUMMER_BLITTER_MKII
BlitterMidsummer2();
#endif
+#else
+ {
+ if (vjs.useFastBlitter)
+ blitter_blit(GET32(blitter_ram, 0x38));
+ else
+ BlitterMidsummer2();
+ }
+#endif
}
//F02278,9,A,B
generalTab->useDSP->setChecked(vjs.DSPEnabled);
generalTab->useFullScreen->setChecked(vjs.fullscreen);
// generalTab->useHostAudio->setChecked(vjs.audioEnabled);
+ generalTab->useFastBlitter->setChecked(vjs.useFastBlitter);
if (vjs.hardwareTypeAlpine)
{
strcpy(vjs.ROMPath, CheckForTrailingSlash(
generalTab->edit4->text()).toAscii().data());
- vjs.useJaguarBIOS = generalTab->useBIOS->isChecked();
- vjs.GPUEnabled = generalTab->useGPU->isChecked();
- vjs.DSPEnabled = generalTab->useDSP->isChecked();
- vjs.fullscreen = generalTab->useFullScreen->isChecked();
-// vjs.audioEnabled = generalTab->useHostAudio->isChecked();
+ vjs.useJaguarBIOS = generalTab->useBIOS->isChecked();
+ vjs.GPUEnabled = generalTab->useGPU->isChecked();
+ vjs.DSPEnabled = generalTab->useDSP->isChecked();
+ vjs.fullscreen = generalTab->useFullScreen->isChecked();
+// vjs.audioEnabled = generalTab->useHostAudio->isChecked();
+ vjs.useFastBlitter = generalTab->useFastBlitter->isChecked();
if (vjs.hardwareTypeAlpine)
{
useFullScreen = new QCheckBox(tr("Start Virtual Jaguar in full screen"));
// useHostAudio = new QCheckBox(tr("Enable audio playback (requires DSP)"));
useUnknownSoftware = new QCheckBox(tr("Show all files in file chooser"));
+ useFastBlitter = new QCheckBox(tr("Use fast blitter"));
layout4->addWidget(useBIOS);
layout4->addWidget(useGPU);
layout4->addWidget(useFullScreen);
// layout4->addWidget(useHostAudio);
layout4->addWidget(useUnknownSoftware);
+ layout4->addWidget(useFastBlitter);
setLayout(layout4);
}
// QCheckBox * useHostAudio;
QCheckBox * useFullScreen;
QCheckBox * useUnknownSoftware;
+ QCheckBox * useFastBlitter;
};
#endif // __GENERALTAB_H__
vjs.renderType = settings.value("renderType", 0).toInt();
vjs.allowWritesToROM = settings.value("writeROM", false).toBool();
vjs.biosType = settings.value("biosType", BT_M_SERIES).toInt();
+ vjs.useFastBlitter = settings.value("useFastBlitter", false).toBool();
strcpy(vjs.EEPROMPath, settings.value("EEPROMs", "./eeproms/").toString().toAscii().data());
strcpy(vjs.ROMPath, settings.value("ROMs", "./software/").toString().toAscii().data());
strcpy(vjs.alpineROMPath, settings.value("DefaultROM", "").toString().toAscii().data());
settings.setValue("renderType", vjs.renderType);
settings.setValue("writeROM", vjs.allowWritesToROM);
settings.setValue("biosType", vjs.biosType);
+ settings.setValue("useFastBlitter", vjs.useFastBlitter);
settings.setValue("JagBootROM", vjs.jagBootPath);
settings.setValue("CDBootROM", vjs.CDBootPath);
settings.setValue("EEPROMs", vjs.EEPROMPath);
uint32_t renderType;
bool allowWritesToROM;
uint32_t biosType;
+ bool useFastBlitter;
// Keybindings in order of U, D, L, R, C, B, A, Op, Pa, 0-9, #, *