1
0
mirror of https://github.com/fruit-bat/pico-zxspectrum.git synced 2025-04-19 00:04:01 +03:00

Fix quicksave on Picomputer VGA

This commit is contained in:
Phil 2022-05-26 20:03:51 +01:00
parent 5c08d7a6dd
commit 03a4b017b2
3 changed files with 33 additions and 15 deletions

View File

@ -96,7 +96,12 @@ static bool isInReport(hid_keyboard_report_t const *report, const unsigned char
return false;
}
ZxSpectrumHidKeyboard::ZxSpectrumHidKeyboard(ZxSpectrumFileLoop *zxSpectrumSnapList, ZxSpectrumFileLoop* zxSpectrumTapeList, QuickSave* quickSave, ZxSpectrumJoystick * zxSpectrumJoystick) :
ZxSpectrumHidKeyboard::ZxSpectrumHidKeyboard(
ZxSpectrumFileLoop *zxSpectrumSnapList,
ZxSpectrumFileLoop* zxSpectrumTapeList,
QuickSave* quickSave,
ZxSpectrumJoystick * zxSpectrumJoystick
) :
ZxSpectrumKeyboard(zxSpectrumJoystick),
_zxSpectrumSnapList(zxSpectrumSnapList),
_zxSpectrumTapeList(zxSpectrumTapeList),
@ -105,6 +110,18 @@ ZxSpectrumHidKeyboard::ZxSpectrumHidKeyboard(ZxSpectrumFileLoop *zxSpectrumSnapL
sort_keys();
}
ZxSpectrumHidKeyboard::ZxSpectrumHidKeyboard(
QuickSave* quickSave,
ZxSpectrumJoystick * zxSpectrumJoystick
) :
ZxSpectrumKeyboard(zxSpectrumJoystick),
_zxSpectrumSnapList(0),
_zxSpectrumTapeList(0),
_quickSave(quickSave)
{
sort_keys();
}
int ZxSpectrumHidKeyboard::processHidReport(hid_keyboard_report_t const *report, hid_keyboard_report_t const *prev_report) {
int r = 0;

View File

@ -12,7 +12,19 @@ class ZxSpectrumHidKeyboard : public ZxSpectrumKeyboard {
ZxSpectrumFileLoop* _zxSpectrumTapeList;
QuickSave* _quickSave;
public:
ZxSpectrumHidKeyboard(ZxSpectrumFileLoop* zxSpectrumSnapList, ZxSpectrumFileLoop* zxSpectrumTapeList, QuickSave* quickSave, ZxSpectrumJoystick * zxSpectrumJoystick);
int processHidReport(hid_keyboard_report_t const *report, hid_keyboard_report_t const *prev_report);
ZxSpectrumHidKeyboard(
ZxSpectrumFileLoop* zxSpectrumSnapList,
ZxSpectrumFileLoop* zxSpectrumTapeList,
QuickSave* quickSave,
ZxSpectrumJoystick * zxSpectrumJoystick
);
ZxSpectrumHidKeyboard(
QuickSave* quickSave,
ZxSpectrumJoystick * zxSpectrumJoystick
);
int processHidReport(
hid_keyboard_report_t const *report,
hid_keyboard_report_t const *prev_report
);
void setZxSpectrum(ZxSpectrum *ZxSpectrum) { _ZxSpectrum = ZxSpectrum; }
};

View File

@ -50,22 +50,16 @@ uint8_t* attrPtr;
static SdCardFatFsSpi sdCard0(0);
// ZX Spectrum emulator
// static ZxSpectrumFatFsSpiFileLoop zxSpectrumSnaps(&sdCard0, "zxspectrum/snapshots");
// static ZxSpectrumFatFsSpiFileLoop zxSpectrumTapes(&sdCard0, "zxspectrum/tapes");
static QuickSave quickSave(&sdCard0, "zxspectrum/quicksaves");
static ZxSpectrumHidJoystick hidJoystick;
static ZxSpectrumPicomputerVgaJoystick picomputerVgaJoystick;
static ZxSpectrumDualJoystick dualJoystick(&hidJoystick, &picomputerVgaJoystick);
static ZxSpectrumHidKeyboard keyboard1(
0, // &zxSpectrumSnaps,
0, // &zxSpectrumTapes,
&quickSave,
&dualJoystick
);
static ZxSpectrumHidKeyboard keyboard2(
0, // &zxSpectrumSnaps,
0, // &zxSpectrumTapes,
&quickSave,
&picomputerVgaJoystick
);
@ -79,7 +73,7 @@ static ZxSpectrum zxSpectrum(
static ZxSpectrumMenu picoRootWin(
&sdCard0,
&zxSpectrum,
0 // &quickSave
&quickSave
);
static PicoDisplay picoDisplay(pcw_screen(), &picoRootWin);
@ -201,11 +195,6 @@ int main(){
multicore_launch_core1(core1_main);
sem_release(&dvi_start_sem);
unsigned int lastInterruptFrame = _frames;