mirror of the now-defunct rocklinux.org
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

142 lines
3.7 KiB

  1. # --- ROCK-COPYRIGHT-NOTE-BEGIN ---
  2. #
  3. # This copyright note is auto-generated by ./scripts/Create-CopyPatch.
  4. # Please add additional copyright information _after_ the line containing
  5. # the ROCK-COPYRIGHT-NOTE-END tag. Otherwise it might get removed by
  6. # the ./scripts/Create-CopyPatch script. Do not edit this copyright text!
  7. #
  8. # ROCK Linux: rock-src/package/blindcoder/visualboyadvance/hotfix-binutils-gcc.patch
  9. # ROCK Linux is Copyright (C) 1998 - 2006 Clifford Wolf
  10. #
  11. # This patch file is dual-licensed. It is available under the license the
  12. # patched project is licensed under, as long as it is an OpenSource license
  13. # as defined at http://www.opensource.org/ (e.g. BSD, X11) or under the terms
  14. # of the GNU General Public License as published by the Free Software
  15. # Foundation; either version 2 of the License, or (at your option) any later
  16. # version.
  17. #
  18. # --- ROCK-COPYRIGHT-NOTE-END ---
  19. Hotfix needed for new binutils (bug is in gcc)
  20. (see http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16625)
  21. --- ./src/Gfx.h.orig 2004-10-10 10:50:57.000000000 +0200
  22. +++ ./src/Gfx.h 2004-10-10 11:04:57.000000000 +0200
  23. @@ -763,6 +763,8 @@
  24. case 3:
  25. sizeX = sizeY = 64;
  26. break;
  27. + default:
  28. + switch(((a0 >>12) & 0x0c)|(a1>>14)) {
  29. case 4:
  30. sizeX = 16;
  31. break;
  32. @@ -777,6 +779,8 @@
  33. sizeX = 64;
  34. sizeY = 32;
  35. break;
  36. + default:
  37. + switch(((a0 >>12) & 0x0c)|(a1>>14)) {
  38. case 8:
  39. sizeY = 16;
  40. break;
  41. @@ -793,6 +797,7 @@
  42. break;
  43. default:
  44. continue;
  45. + }}
  46. }
  47. #ifdef SPRITE_DEBUG
  48. @@ -1167,6 +1172,8 @@
  49. case 3:
  50. sizeX = sizeY = 64;
  51. break;
  52. + default:
  53. + switch(((a0 >>12) & 0x0c)|(a1>>14)) {
  54. case 4:
  55. sizeX = 16;
  56. break;
  57. @@ -1181,6 +1188,8 @@
  58. sizeX = 64;
  59. sizeY = 32;
  60. break;
  61. + default:
  62. + switch(((a0 >>12) & 0x0c)|(a1>>14)) {
  63. case 8:
  64. sizeY = 16;
  65. break;
  66. @@ -1197,6 +1206,7 @@
  67. break;
  68. default:
  69. continue;
  70. + }}
  71. }
  72. int sy = (a0 & 255);
  73. --- ./src/GBAinline.h.orig 2004-10-10 10:50:08.000000000 +0200
  74. +++ ./src/GBAinline.h 2004-10-10 11:13:05.000000000 +0200
  75. @@ -74,6 +74,8 @@
  76. case 3:
  77. value = READ32LE(((u32 *)&internalRAM[address & 0x7ffC]));
  78. break;
  79. + default:
  80. + switch(address >> 24) {
  81. case 4:
  82. if((address < 0x4000400) && ioReadable[address & 0x3fc]) {
  83. if(ioReadable[(address & 0x3fc) + 2])
  84. @@ -91,10 +93,14 @@
  85. case 7:
  86. value = READ32LE(((u32 *)&oam[address & 0x3FC]));
  87. break;
  88. + default:
  89. + switch(address >> 24) {
  90. case 8:
  91. case 9:
  92. case 10:
  93. case 11:
  94. + default:
  95. + switch(address >> 24) {
  96. case 12:
  97. value = READ32LE(((u32 *)&rom[address&0x1FFFFFC]));
  98. break;
  99. @@ -128,6 +134,7 @@
  100. // value = *((u32 *)&bios[address & 0x3ffc]);
  101. // }
  102. // return 0xFFFFFFFF;
  103. + }}}
  104. }
  105. if(address & 3) {
  106. @@ -190,6 +197,8 @@
  107. case 3:
  108. value = READ16LE(((u16 *)&internalRAM[address & 0x7ffe]));
  109. break;
  110. + default:
  111. + switch(address >> 24) {
  112. case 4:
  113. if((address < 0x4000400) && ioReadable[address & 0x3fe])
  114. value = READ16LE(((u16 *)&ioMem[address & 0x3fe]));
  115. @@ -204,10 +213,14 @@
  116. case 7:
  117. value = READ16LE(((u16 *)&oam[address & 0x3fe]));
  118. break;
  119. + default:
  120. + switch(address >> 24) {
  121. case 8:
  122. case 9:
  123. case 10:
  124. case 11:
  125. + default:
  126. + switch(address >> 24) {
  127. case 12:
  128. if(address == 0x80000c4 || address == 0x80000c6 || address == 0x80000c8)
  129. value = rtcRead(address);
  130. @@ -249,6 +262,7 @@
  131. // value = (value >> 8) | ((value & 0xFF) << 24);
  132. // return 0xFFFF;
  133. break;
  134. + }}}
  135. }
  136. if(address & 1) {