Package: pcsx-bin
Version: 1:1.6-3
Severity: serious
Tags: patch
Justification: no longer builds from source
When the previously reported endianness detection problem is fixed,
it turns out that the big endian version of the code doesn't build,
due to some incorrect uses of the macros psxHu32 and psxHu16. The
following patch solves the problem by using psxHu32ref and psxHu16ref
instead, as already established in other parts of the code.
diff -ur ./CdRom.c /home/marcus/hack/pcsx-1.6.orig/CdRom.c
--- ./CdRom.c 2003-05-21 16:05:59.000000000 +0200
+++ /home/marcus/hack/pcsx-1.6.orig/CdRom.c 2006-04-04 23:15:08.763266000
+0200
@@ -548,7 +548,7 @@
}
if (cdr.Stat != NoIntr && cdr.Reg2 != 0x18) {
- psxHu32(0x1070)|= SWAP32((u32)0x4);
+ psxHu32ref(0x1070)|= SWAP32((u32)0x4);
psxRegs.interrupt|= 0x80000000;
}
diff -ur ./PsxHw.c /home/marcus/hack/pcsx-1.6.orig/PsxHw.c
--- ./PsxHw.c 2003-05-21 16:06:15.000000000 +0200
+++ /home/marcus/hack/pcsx-1.6.orig/PsxHw.c 2006-04-04 23:16:48.170121000
+0200
@@ -26,8 +26,8 @@
#endif
void psxHwReset() {
- if (Config.Sio) psxHu32(0x1070) |= 0x80;
- if (Config.SpuIrq) psxHu32(0x1070) |= 0x200;
+ if (Config.Sio) psxHu32ref(0x1070) |= SWAP32(0x80);
+ if (Config.SpuIrq) psxHu32ref(0x1070) |= SWAP32(0x200);
memset(psxH, 0, 0x10000);
@@ -399,16 +399,16 @@
#ifdef PSXHW_LOG
PSXHW_LOG("IREG 16bit write %x\n", value);
#endif
- if (Config.Sio) psxHu16(0x1070) |= SWAPu16(0x80);
- if (Config.SpuIrq) psxHu16(0x1070) |= SWAPu16(0x200);
- psxHu16(0x1070) &= SWAPu16((psxHu16(0x1074) & value));
+ if (Config.Sio) psxHu16ref(0x1070) |= SWAPu16(0x80);
+ if (Config.SpuIrq) psxHu16ref(0x1070) |= SWAPu16(0x200);
+ psxHu16ref(0x1070) &= SWAPu16((psxHu16(0x1074) &
value));
return;
case 0x1f801074:
#ifdef PSXHW_LOG
PSXHW_LOG("IMASK 16bit write %x\n", value);
#endif
- psxHu16(0x1074) = SWAPu16(value);
+ psxHu16ref(0x1074) = SWAPu16(value);
psxRegs.interrupt|= 0x80000000;
return;
diff -ur ./PsxHw.h /home/marcus/hack/pcsx-1.6.orig/PsxHw.h
--- ./PsxHw.h 2003-05-21 14:52:49.000000000 +0200
+++ /home/marcus/hack/pcsx-1.6.orig/PsxHw.h 2006-04-04 23:15:28.086899000
+0200
@@ -49,7 +49,8 @@
#define DMA_INTERRUPT(n) \
if (HW_DMA_ICR & (1 << (16 + n))) { \
HW_DMA_ICR|= (1 << (24 + n)); \
- psxHu32(0x1070) |= 8; psxRegs.interrupt|= 0x80000000; \
+ psxHu32ref(0x1070) |= SWAP32(8); \
+ psxRegs.interrupt|= 0x80000000; \
}
-- System Information:
Debian Release: testing/unstable
APT prefers unstable
APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: powerpc (ppc)
Shell: /bin/sh linked to /bin/bash
Kernel: Linux 2.6.8dma
Locale: LANG=C, LC_CTYPE=sv_SE (charmap=ISO-8859-1)
Versions of packages pcsx-bin depends on:
ii libatk1.0-0 1.11.3-1 The ATK accessibility toolkit
ii libc6 2.3.6-4 GNU C Library: Shared libraries an
ii libcairo2 1.0.2-3 The Cairo 2D vector graphics libra
ii libfontconfig1 2.3.2-5 generic font configuration library
ii libglib2.0-0 2.10.1-2 The GLib library of C routines
ii libgtk2.0-0 2.8.16-1 The GTK+ graphical user interface
ii libpango1.0-0 1.12.0-2 Layout and rendering of internatio
ii libx11-6 6.9.0.dfsg.1-5 X Window System protocol client li
ii libxcursor1 1.1.3-1 X cursor management library
ii libxext6 6.9.0.dfsg.1-5 X Window System miscellaneous exte
ii libxi6 6.9.0.dfsg.1-5 X Window System Input extension li
ii libxinerama1 6.9.0.dfsg.1-5 X Window System multi-head display
ii libxrandr2 6.9.0.dfsg.1-5 X Window System Resize, Rotate and
ii libxrender1 1:0.9.0.2-1 X Rendering Extension client libra
ii pcsx-i18n 1:1.6-3 Sony PlayStation emulator -- extra
ii xbase-clients 6.9.0.dfsg.1-5 miscellaneous X clients
ii zlib1g 1:1.2.3-11 compression library - runtime
Versions of packages pcsx-bin recommends:
ii psemu-drive-cdrmooby [psemu-d 2.8+o-2 ISO plugin for PSX emulators
ii psemu-input-padjoy [psemu-inp 0.8.2+o-2 Controller plugin for PSX emulator
ii psemu-sound-alsa [psemu-sound 1.7+o-2 ALSA sound plugin for PSX emulator
ii psemu-sound-oss [psemu-sound] 1.7+o-2 OSS sound plugin for PSX emulators
ii psemu-video-x11 [psemu-video] 1.15-2 software graphics plugin for PSX e
-- no debconf information
--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]