aboutsummaryrefslogtreecommitdiff
path: root/libpsn00b/psxcd
diff options
context:
space:
mode:
authorspicyjpeg <thatspicyjpeg@gmail.com>2023-05-12 18:05:21 +0200
committerspicyjpeg <thatspicyjpeg@gmail.com>2023-05-12 18:05:21 +0200
commit513a6e99dd1f9cf5531d55f544478bec72efb910 (patch)
tree47d7789347ba596dca54704df24e85b6763f26a2 /libpsn00b/psxcd
parent4230715311892502452f326f3618e5ef4dc81972 (diff)
downloadpsn00bsdk-513a6e99dd1f9cf5531d55f544478bec72efb910.tar.gz
Downgrade GCC to 12.3, add setjmp(), fix CdGetRegion()
Diffstat (limited to 'libpsn00b/psxcd')
-rw-r--r--libpsn00b/psxcd/common.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/libpsn00b/psxcd/common.c b/libpsn00b/psxcd/common.c
index 461ab91..438fcc1 100644
--- a/libpsn00b/psxcd/common.c
+++ b/libpsn00b/psxcd/common.c
@@ -12,6 +12,7 @@
#define CD_ACK_TIMEOUT 0x100000
#define CD_SYNC_TIMEOUT 0x100000
+#define MAX_RESULT_SIZE 32
/* Internal globals */
@@ -134,7 +135,7 @@ static void _cd_irq_handler(void) {
if (_result_ptr) {
_result_ptr[0] = first_byte;
- for (int i = 1; (CD_REG(0) & 0x20) && (i < 8); i++)
+ for (int i = 1; (CD_REG(0) & 0x20) && (i < MAX_RESULT_SIZE); i++)
_result_ptr[i] = CD_REG(1);
}
@@ -257,7 +258,6 @@ int CdCommandF(CdlCommand cmd, const void *param, int length) {
// Keep track of the last mode and seek location set (so retries can be
// attempted).
-
if (cmd == CdlSetloc) {
_last_pos.minute = _param[0];
_last_pos.second = _param[1];