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]