# --- ROCK-COPYRIGHT-NOTE-BEGIN ---
|
|
#
|
|
# This copyright note is auto-generated by ./scripts/Create-CopyPatch.
|
|
# Please add additional copyright information _after_ the line containing
|
|
# the ROCK-COPYRIGHT-NOTE-END tag. Otherwise it might get removed by
|
|
# the ./scripts/Create-CopyPatch script. Do not edit this copyright text!
|
|
#
|
|
# ROCK Linux: rock-src/package/blindcoder/visualboyadvance/hotfix-binutils-gcc.patch
|
|
# ROCK Linux is Copyright (C) 1998 - 2006 Clifford Wolf
|
|
#
|
|
# This patch file is dual-licensed. It is available under the license the
|
|
# patched project is licensed under, as long as it is an OpenSource license
|
|
# as defined at http://www.opensource.org/ (e.g. BSD, X11) or under the terms
|
|
# of the GNU General Public License as published by the Free Software
|
|
# Foundation; either version 2 of the License, or (at your option) any later
|
|
# version.
|
|
#
|
|
# --- ROCK-COPYRIGHT-NOTE-END ---
|
|
|
|
Hotfix needed for new binutils (bug is in gcc)
|
|
(see http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16625)
|
|
|
|
--- ./src/Gfx.h.orig 2004-10-10 10:50:57.000000000 +0200
|
|
+++ ./src/Gfx.h 2004-10-10 11:04:57.000000000 +0200
|
|
@@ -763,6 +763,8 @@
|
|
case 3:
|
|
sizeX = sizeY = 64;
|
|
break;
|
|
+ default:
|
|
+ switch(((a0 >>12) & 0x0c)|(a1>>14)) {
|
|
case 4:
|
|
sizeX = 16;
|
|
break;
|
|
@@ -777,6 +779,8 @@
|
|
sizeX = 64;
|
|
sizeY = 32;
|
|
break;
|
|
+ default:
|
|
+ switch(((a0 >>12) & 0x0c)|(a1>>14)) {
|
|
case 8:
|
|
sizeY = 16;
|
|
break;
|
|
@@ -793,6 +797,7 @@
|
|
break;
|
|
default:
|
|
continue;
|
|
+ }}
|
|
}
|
|
|
|
#ifdef SPRITE_DEBUG
|
|
@@ -1167,6 +1172,8 @@
|
|
case 3:
|
|
sizeX = sizeY = 64;
|
|
break;
|
|
+ default:
|
|
+ switch(((a0 >>12) & 0x0c)|(a1>>14)) {
|
|
case 4:
|
|
sizeX = 16;
|
|
break;
|
|
@@ -1181,6 +1188,8 @@
|
|
sizeX = 64;
|
|
sizeY = 32;
|
|
break;
|
|
+ default:
|
|
+ switch(((a0 >>12) & 0x0c)|(a1>>14)) {
|
|
case 8:
|
|
sizeY = 16;
|
|
break;
|
|
@@ -1197,6 +1206,7 @@
|
|
break;
|
|
default:
|
|
continue;
|
|
+ }}
|
|
}
|
|
|
|
int sy = (a0 & 255);
|
|
--- ./src/GBAinline.h.orig 2004-10-10 10:50:08.000000000 +0200
|
|
+++ ./src/GBAinline.h 2004-10-10 11:13:05.000000000 +0200
|
|
@@ -74,6 +74,8 @@
|
|
case 3:
|
|
value = READ32LE(((u32 *)&internalRAM[address & 0x7ffC]));
|
|
break;
|
|
+ default:
|
|
+ switch(address >> 24) {
|
|
case 4:
|
|
if((address < 0x4000400) && ioReadable[address & 0x3fc]) {
|
|
if(ioReadable[(address & 0x3fc) + 2])
|
|
@@ -91,10 +93,14 @@
|
|
case 7:
|
|
value = READ32LE(((u32 *)&oam[address & 0x3FC]));
|
|
break;
|
|
+ default:
|
|
+ switch(address >> 24) {
|
|
case 8:
|
|
case 9:
|
|
case 10:
|
|
case 11:
|
|
+ default:
|
|
+ switch(address >> 24) {
|
|
case 12:
|
|
value = READ32LE(((u32 *)&rom[address&0x1FFFFFC]));
|
|
break;
|
|
@@ -128,6 +134,7 @@
|
|
// value = *((u32 *)&bios[address & 0x3ffc]);
|
|
// }
|
|
// return 0xFFFFFFFF;
|
|
+ }}}
|
|
}
|
|
|
|
if(address & 3) {
|
|
@@ -190,6 +197,8 @@
|
|
case 3:
|
|
value = READ16LE(((u16 *)&internalRAM[address & 0x7ffe]));
|
|
break;
|
|
+ default:
|
|
+ switch(address >> 24) {
|
|
case 4:
|
|
if((address < 0x4000400) && ioReadable[address & 0x3fe])
|
|
value = READ16LE(((u16 *)&ioMem[address & 0x3fe]));
|
|
@@ -204,10 +213,14 @@
|
|
case 7:
|
|
value = READ16LE(((u16 *)&oam[address & 0x3fe]));
|
|
break;
|
|
+ default:
|
|
+ switch(address >> 24) {
|
|
case 8:
|
|
case 9:
|
|
case 10:
|
|
case 11:
|
|
+ default:
|
|
+ switch(address >> 24) {
|
|
case 12:
|
|
if(address == 0x80000c4 || address == 0x80000c6 || address == 0x80000c8)
|
|
value = rtcRead(address);
|
|
@@ -249,6 +262,7 @@
|
|
// value = (value >> 8) | ((value & 0xFF) << 24);
|
|
// return 0xFFFF;
|
|
break;
|
|
+ }}}
|
|
}
|
|
|
|
if(address & 1) {
|