Skip to content

Commit fb67acd

Browse files
committed
fix: waitKeysReleased for Windows release build
GO 20 from 128 was hanging
1 parent 275ccf5 commit fb67acd

File tree

4 files changed

+11
-1
lines changed

4 files changed

+11
-1
lines changed

src/c-simple-emu6502-cbm/ASCIIKeyboard.cpp

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,9 @@
3434

3535
#include "ASCIIKeyboard.h"
3636
#include "C128ScanCode.h"
37-
#ifndef _WINDOWS
37+
#ifdef _WINDOWS
38+
#include "WindowsTime.h"
39+
#else // NOT _WINDOWS
3840
#include "config.h"
3941
#include "cardkbdscan.h"
4042
#ifdef ARDUINO_TEENSY41
@@ -284,5 +286,6 @@ static void waitKeysReleased()
284286
pollKeyboard();
285287
calculateShiftState();
286288
scan_code = calculateScanCode();
289+
delay(20);
287290
} while (scan_code != SCAN_CODE_NO_KEY);
288291
}

src/c-simple-emu6502-cbm/emuc128.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,8 @@
7070
//
7171
////////////////////////////////////////////////////////////////////////////////
7272

73+
#include "dprintf.h"
74+
7375
#include "emuc128.h"
7476
#include "config.h"
7577
#ifdef _WINDOWS
@@ -860,5 +862,6 @@ void C128Memory::WaitKeysReleased()
860862
for (int i = 0; !keypressed && i < 16; ++i)
861863
if ((scan_codes[i] & 127) != 88)
862864
keypressed = true;
865+
delay(20);
863866
} while (keypressed);
864867
}

src/c-simple-emu6502-cbm/emuc64.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,7 @@
6262
#include <Windows.h>
6363
#include <stdio.h>
6464
#include "WindowsKeyboard.h"
65+
#include "WindowsTime.h"
6566
int static random(int max)
6667
{
6768
return (long)max * rand() / RAND_MAX;
@@ -679,5 +680,6 @@ static void waitKeysReleased()
679680
for (int i = 0; !keypressed && i < 16; ++i)
680681
if ((scan_codes[i] & 127) != 64)
681682
keypressed = true;
683+
delay(20);
682684
} while (keypressed);
683685
}

src/c-simple-emu6502-cbm/emuvic20.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,7 @@
6868
#include "config.h"
6969
#ifdef _WINDOWS
7070
#include "WindowsKeyboard.h"
71+
#include "WindowsTime.h"
7172
#else // NOT _WINDOWS
7273
#include "cardkbdscan.h"
7374
#ifdef ARDUINO_TEENSY41
@@ -603,5 +604,6 @@ static void waitKeysReleased()
603604
for (int i = 0; !keypressed && i < 16; ++i)
604605
if ((scan_codes[i] & 127) != 64)
605606
keypressed = true;
607+
delay(20);
606608
} while (keypressed);
607609
}

0 commit comments

Comments
 (0)