diff options
-rw-r--r-- | games-emulation/virtualjaguar/files/virtualjaguar-2.1.2-gcc6.patch | 316 | ||||
-rw-r--r-- | games-emulation/virtualjaguar/virtualjaguar-2.1.2-r2.ebuild | 10 |
2 files changed, 318 insertions, 8 deletions
diff --git a/games-emulation/virtualjaguar/files/virtualjaguar-2.1.2-gcc6.patch b/games-emulation/virtualjaguar/files/virtualjaguar-2.1.2-gcc6.patch new file mode 100644 index 000000000000..8145de9bbd15 --- /dev/null +++ b/games-emulation/virtualjaguar/files/virtualjaguar-2.1.2-gcc6.patch @@ -0,0 +1,316 @@ +Backported from following commit: + +From c9d57b57d70ab2ae842144828175820fb207a3b0 Mon Sep 17 00:00:00 2001 +From: Shamus Hammons <jlhamm@acm.org> +Date: Wed, 18 May 2016 00:31:26 +0000 +Subject: [PATCH] Fixes for compilation against GCC 6. + +So Debian decides to be more rice than Gentoo, and makes the jump to GCC +6 for some unknown reason. Thus, in order to prevent VJ from getting +dumped out of Debian for incompatibility with GCC 6, we have the +following update. Thanks to John Paul Adrian Glaubitz for the report, and +to Teemu Hukkanen for Debian chroot advice. :-) +--- + Makefile | 2 +- + src/blitter.cpp | 2 +- + src/gui/about.cpp | 3 +-- + src/gui/controllerwidget.cpp | 10 ++++++---- + src/gui/mainwin.cpp | 2 +- + src/jagbios.cpp | 4 +++- + src/jagbios.h | 4 +++- + src/jagbios2.cpp | 4 +++- + src/jagbios2.h | 4 +++- + src/jagcdbios.cpp | 4 +++- + src/jagcdbios.h | 4 +++- + src/jagdevcdbios.cpp | 4 +++- + src/jagdevcdbios.h | 4 +++- + src/jagstub1bios.cpp | 4 +++- + src/jagstub1bios.h | 4 +++- + src/jagstub2bios.cpp | 4 +++- + src/jagstub2bios.h | 4 +++- + src/joystick.cpp | 4 ++-- + 18 files changed, 48 insertions(+), 23 deletions(-) + +diff --git a/Makefile b/Makefile +index 4fd8eae..29f5f49 100644 +--- a/Makefile ++++ b/Makefile +@@ -65,7 +65,7 @@ virtualjaguar: sources libs makefile-qt + + makefile-qt: virtualjaguar.pro + @echo -e "\033[01;33m***\033[00;32m Creating Qt makefile...\033[00m" +- $(Q)$(CROSS)qmake $(QMAKE_EXTRA) virtualjaguar.pro -o makefile-qt ++ $(Q)$(CROSS)qmake -qt=5 $(QMAKE_EXTRA) virtualjaguar.pro -o makefile-qt + + libs: obj/libm68k.a obj/libjaguarcore.a + @echo -e "\033[01;33m***\033[00;32m Libraries successfully made.\033[00m" +diff --git a/src/blitter.cpp b/src/blitter.cpp +index 588e6c2..7193daf 100644 +--- a/src/blitter.cpp ++++ b/src/blitter.cpp +@@ -5387,7 +5387,7 @@ Addq_x := JOIN (addq_x, addq_x[0..5], addqt_x[6..15]); + Addq_y := JOIN (addq_y, addq_y[0..15]);*/ + + ////////////////////////////////////// C++ CODE ////////////////////////////////////// +- int16_t mask[8] = { 0xFFFF, 0xFFFE, 0xFFFC, 0xFFF8, 0xFFF0, 0xFFE0, 0xFFC0, 0x0000 }; ++ uint16_t mask[8] = { 0xFFFF, 0xFFFE, 0xFFFC, 0xFFF8, 0xFFF0, 0xFFE0, 0xFFC0, 0x0000 }; + addq_x = addqt_x & mask[modx]; + addq_y = addqt_y & 0xFFFF; + ////////////////////////////////////////////////////////////////////////////////////// +diff --git a/src/gui/about.cpp b/src/gui/about.cpp +index 1b3df54..71cec73 100644 +--- a/src/gui/about.cpp ++++ b/src/gui/about.cpp +@@ -51,9 +51,8 @@ AboutWindow::AboutWindow(QWidget * parent/*= 0*/): QWidget(parent, Qt::Dialog) + "<b>Ryan C. Gordon</b> for Virtual Jaguar's web presence<br>" + "<b>Curt Vendel</b> for various Jaguar & other goodies<br>" + "<b>Reboot</b> for reasons too numerous to mention<br>" +- "<b>The Free Jaguar Project</b> (you know why) ;-)<br>" + "The guys over at <b>Atari Age</b> :-)<br>" +- "<b>byuu</b> for BSNES and showing us what was possible" ++ "<b>byuu</b> for <s>BSNES</s> Higan and showing us what was possible" + )); + text = new QLabel(s); + layout->addWidget(text); +diff --git a/src/gui/controllerwidget.cpp b/src/gui/controllerwidget.cpp +index f7ea8d0..38ce415 100644 +--- a/src/gui/controllerwidget.cpp ++++ b/src/gui/controllerwidget.cpp +@@ -47,8 +47,8 @@ char ControllerWidget::hatName[4][16] = { "Up", "Rt", "Dn", "Lf" }; + char ControllerWidget::axisName[2][8] = { "+", "-" }; + + // This is hard-coded crap. It's crap-tastic! +-// These are the positions to draw the button names at, ordered by the BUTTON_* sequence +-// found in joystick.h. ++// These are the positions to draw the button names at, ordered by the BUTTON_* ++// sequence found in joystick.h. + int ControllerWidget::buttonPos[21][2] = { { 74, 32 }, { 71, 67 }, { 53, 49 }, { 93, 49 }, + { 110, 200 }, { 110, 175 }, { 110, 151 }, { 110, 126 }, + { 148, 200 }, { 148, 175 }, { 148, 151 }, { 148, 126 }, +@@ -239,7 +239,8 @@ void ControllerWidget::mouseMoveEvent(QMouseEvent * event) + + for(int i=BUTTON_FIRST; i<=BUTTON_LAST; i++) + { +- // We loop through the button text positions, to see which one is closest. ++ // We loop through the button text positions, to see which one is ++ // closest. + double distX = (double)(event->x() - buttonPos[i][0]); + double distY = (double)(event->y() - buttonPos[i][1]); + double currentDistance = sqrt((distX * distX) + (distY * distY)); +@@ -265,7 +266,8 @@ void ControllerWidget::leaveEvent(QEvent * /*event*/) + + void ControllerWidget::DrawBorderedText(QPainter & painter, int x, int y, QString text) + { +- // Text is drawn centered at (x, y) as well, using a bounding rect for the purpose. ++ // Text is drawn centered at (x, y) as well, using a bounding rect for the ++ // purpose. + QRect rect(0, 0, 60, 30); + QPen oldPen = painter.pen(); + painter.setPen(QColor(0, 0, 0, 255)); // This is R,G,B,A +diff --git a/src/gui/mainwin.cpp b/src/gui/mainwin.cpp +index 9f64c62..cb01b02 100644 +--- a/src/gui/mainwin.cpp ++++ b/src/gui/mainwin.cpp +@@ -964,7 +964,7 @@ void MainWin::LoadSoftware(QString file) + running = false; // Prevent bad things(TM) from happening... + pauseForFileSelector = false; // Reset the file selector pause flag + +- char * biosPointer = jaguarBootROM; ++ uint8_t * biosPointer = jaguarBootROM; + + if (vjs.hardwareTypeAlpine) + biosPointer = jaguarDevBootROM2; +diff --git a/src/jagbios.cpp b/src/jagbios.cpp +index 8c03e6f..7951524 100644 +--- a/src/jagbios.cpp ++++ b/src/jagbios.cpp +@@ -4,7 +4,9 @@ + // NOTE: This is the Jaguar Series K boot ROM + // + +-char jaguarBootROM[0x20000] = { ++#include "jagbios.h" ++ ++uint8_t jaguarBootROM[0x20000] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x08, 0x41, 0xF9, 0x00, 0xF0, 0x00, 0x00, 0x30, 0xBC, 0x18, 0x61, 0x32, 0x3C, 0x35, 0xCC, 0x30, 0x39, 0x00, 0xF1, 0x40, 0x02, 0x08, 0x00, 0x00, 0x05, + 0x66, 0x04, 0x32, 0x3C, 0x35, 0xDD, 0x31, 0x41, 0x00, 0x02, 0x46, 0xFC, 0x27, 0x00, 0x2E, 0x7C, 0x00, 0x00, 0x40, 0x00, 0x31, 0x7C, 0x00, 0x00, 0x00, 0x58, 0x21, 0x7C, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x2A, 0x33, 0xFC, 0x00, 0x04, 0x00, 0xF1, 0x00, 0x14, 0x08, 0x00, 0x00, 0x04, 0x67, 0x00, 0x00, 0x74, 0x33, 0xFC, 0x00, 0xB5, 0x00, 0xF1, 0x00, 0x12, 0x31, 0x7C, 0x03, 0x4C, 0x00, 0x2E, +diff --git a/src/jagbios.h b/src/jagbios.h +index 3f6ae5e..9e9a383 100644 +--- a/src/jagbios.h ++++ b/src/jagbios.h +@@ -1,6 +1,8 @@ + #ifndef __JAGBIOS_H__ + #define __JAGBIOS_H__ + +-extern char jaguarBootROM[]; ++#include <stdint.h> ++ ++extern uint8_t jaguarBootROM[]; + + #endif // __JAGBIOS_H__ +diff --git a/src/jagbios2.cpp b/src/jagbios2.cpp +index 413e5e6..5076405 100644 +--- a/src/jagbios2.cpp ++++ b/src/jagbios2.cpp +@@ -4,7 +4,9 @@ + // NOTE: This is the Jaguar Series M boot ROM + // + +-char jaguarBootROM2[0x20000] = { ++#include "jagbios2.h" ++ ++uint8_t jaguarBootROM2[0x20000] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x08, 0x41, 0xF9, 0x00, 0xF0, 0x00, 0x00, 0x30, 0xBC, 0x18, 0x61, 0x70, 0xFF, 0x51, 0xC8, 0xFF, 0xFE, 0x32, 0x3C, 0x35, 0xCC, 0x30, 0x39, 0x00, 0xF1, + 0x40, 0x02, 0x08, 0x00, 0x00, 0x05, 0x66, 0x04, 0x32, 0x3C, 0x35, 0xDD, 0x31, 0x41, 0x00, 0x02, 0x46, 0xFC, 0x27, 0x00, 0x2E, 0x7C, 0x00, 0x00, 0x40, 0x00, 0x31, 0x7C, 0x00, 0x00, 0x00, 0x58, + 0x21, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x23, 0xFC, 0x00, 0x07, 0x00, 0x07, 0x00, 0xF1, 0xA1, 0x0C, 0x23, 0xFC, 0x00, 0x07, 0x00, 0x07, 0x00, 0xF0, 0x21, 0x0C, 0x23, 0xFC, 0x00, 0x00, +diff --git a/src/jagbios2.h b/src/jagbios2.h +index 9944947..961e585 100644 +--- a/src/jagbios2.h ++++ b/src/jagbios2.h +@@ -1,6 +1,8 @@ + #ifndef __JAGBIOS2_H__ + #define __JAGBIOS2_H__ + +-extern char jaguarBootROM2[]; ++#include <stdint.h> ++ ++extern uint8_t jaguarBootROM2[]; + + #endif // __JAGBIOS2_H__ +diff --git a/src/jagcdbios.cpp b/src/jagcdbios.cpp +index eea4cf0..a4c407a 100644 +--- a/src/jagcdbios.cpp ++++ b/src/jagcdbios.cpp +@@ -2,7 +2,9 @@ + // This file was automagically generated by bin2c (by James Hammons) + // + +-char jaguarCDBootROM[0x40000] = { ++#include "jagcdbios.h" ++ ++uint8_t jaguarCDBootROM[0x40000] = { + 0xF6, 0x1A, 0x8C, 0x5F, 0xF0, 0x28, 0xD5, 0xC2, 0xDE, 0xE7, 0xB6, 0x87, 0xD6, 0xEA, 0x4A, 0x42, 0x9A, 0x9B, 0x2E, 0xCB, 0xE7, 0x35, 0x3C, 0x3B, 0xA2, 0xA6, 0x74, 0xF9, 0xC9, 0x86, 0xE2, 0xD7, + 0x67, 0xC0, 0x9A, 0xFB, 0x61, 0x37, 0x37, 0x89, 0x70, 0x3B, 0xE0, 0x84, 0x97, 0x0A, 0xD2, 0xC5, 0x9F, 0xC1, 0x62, 0xB5, 0x2E, 0xD1, 0x26, 0x02, 0x44, 0xC3, 0xE1, 0xD4, 0xD6, 0xC2, 0xE7, 0x6A, + 0x56, 0x27, 0x2E, 0x60, 0x74, 0xE9, 0x05, 0xCE, 0x65, 0xB9, 0x87, 0x74, 0x64, 0x65, 0xF2, 0xB2, 0x00, 0xF7, 0xFB, 0xBC, 0xB9, 0xA2, 0x2D, 0x73, 0xC1, 0x75, 0xF5, 0xD1, 0xF3, 0xDB, 0xB5, 0x17, +diff --git a/src/jagcdbios.h b/src/jagcdbios.h +index 2fb0861..23e5abe 100644 +--- a/src/jagcdbios.h ++++ b/src/jagcdbios.h +@@ -1,6 +1,8 @@ + #ifndef __JAGCDBIOS_H__ + #define __JAGCDBIOS_H__ + +-extern char jaguarCDBootROM[]; ++#include <stdint.h> ++ ++extern uint8_t jaguarCDBootROM[]; + + #endif // __JAGCDBIOS_H__ +diff --git a/src/jagdevcdbios.cpp b/src/jagdevcdbios.cpp +index 85dbe91..e4ce4b4 100644 +--- a/src/jagdevcdbios.cpp ++++ b/src/jagdevcdbios.cpp +@@ -2,7 +2,9 @@ + // This file was automagically generated by bin2c (by James Hammons) + // + +-char jaguarDevCDBootROM[0x40000] = { ++#include "jagdevcdbios.h" ++ ++uint8_t jaguarDevCDBootROM[0x40000] = { + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +diff --git a/src/jagdevcdbios.h b/src/jagdevcdbios.h +index 432e48c..fe6ae8c 100644 +--- a/src/jagdevcdbios.h ++++ b/src/jagdevcdbios.h +@@ -1,6 +1,8 @@ + #ifndef __JAGDEVCDBIOS_H__ + #define __JAGDEVCDBIOS_H__ + +-extern char jaguarDevCDBootROM[]; ++#include <stdint.h> ++ ++extern uint8_t jaguarDevCDBootROM[]; + + #endif // __JAGDEVCDBIOS_H__ +diff --git a/src/jagstub1bios.cpp b/src/jagstub1bios.cpp +index 80fdd43..7fb85d5 100644 +--- a/src/jagstub1bios.cpp ++++ b/src/jagstub1bios.cpp +@@ -2,7 +2,9 @@ + // This file was automagically generated by bin2c (by James Hammons) + // + +-char jaguarDevBootROM1[0x20000] = { ++#include "jagstub1bios.h" ++ ++uint8_t jaguarDevBootROM1[0x20000] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x08, 0x4D, 0xF9, 0x00, 0xF0, 0x00, 0x00, 0x49, 0xF9, 0x00, 0xF1, 0x40, 0x00, 0x3C, 0xFC, 0x18, 0x61, 0x3C, 0xBC, 0x35, 0xCC, 0x46, 0xFC, 0x27, 0x00, + 0x4F, 0xF8, 0x03, 0x00, 0x70, 0xFF, 0x74, 0x02, 0x51, 0xC8, 0xFF, 0xFC, 0x38, 0xBC, 0x80, 0x0D, 0xC4, 0x6C, 0x00, 0x02, 0x66, 0x06, 0x4E, 0xF9, 0x00, 0xE0, 0x1B, 0xFA, 0x41, 0xF9, 0x00, 0xE0, + 0x00, 0x00, 0x47, 0xF8, 0x04, 0x00, 0x30, 0x3C, 0x06, 0xFF, 0x26, 0xD8, 0x51, 0xC8, 0xFF, 0xFC, 0x30, 0x3C, 0x06, 0xFF, 0x24, 0x23, 0xB4, 0xA0, 0x67, 0x04, 0x60, 0x00, 0x12, 0x1A, 0x51, 0xC8, +diff --git a/src/jagstub1bios.h b/src/jagstub1bios.h +index a4b6f72..200e84b 100644 +--- a/src/jagstub1bios.h ++++ b/src/jagstub1bios.h +@@ -1,6 +1,8 @@ + #ifndef __JAGSTUB1BIOS_H__ + #define __JAGSTUB1BIOS_H__ + +-extern char jaguarDevBootROM1[]; ++#include <stdint.h> ++ ++extern uint8_t jaguarDevBootROM1[]; + + #endif // __JAGSTUB1BIOS_H__ +diff --git a/src/jagstub2bios.cpp b/src/jagstub2bios.cpp +index 884680a..41d55c4 100644 +--- a/src/jagstub2bios.cpp ++++ b/src/jagstub2bios.cpp +@@ -2,7 +2,9 @@ + // This file was automagically generated by bin2c (by James Hammons) + // + +-char jaguarDevBootROM2[0x20000] = { ++#include "jagstub2bios.h" ++ ++uint8_t jaguarDevBootROM2[0x20000] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x08, 0x4D, 0xF9, 0x00, 0xF0, 0x00, 0x00, 0x49, 0xF9, 0x00, 0xF1, 0x40, 0x00, 0x3C, 0xFC, 0x18, 0x61, 0x3C, 0xBC, 0x35, 0xCC, 0x46, 0xFC, 0x27, 0x00, + 0x4F, 0xF8, 0x03, 0x00, 0x70, 0xFF, 0x76, 0x02, 0x51, 0xC8, 0xFF, 0xFC, 0x41, 0xF9, 0x00, 0xE0, 0x00, 0x00, 0x47, 0xF8, 0x04, 0x00, 0x30, 0x3C, 0x06, 0xFF, 0x26, 0xD8, 0x51, 0xC8, 0xFF, 0xFC, + 0x30, 0x3C, 0x06, 0xFF, 0x24, 0x23, 0xB4, 0xA0, 0x66, 0x00, 0x12, 0x34, 0x51, 0xC8, 0xFF, 0xF6, 0x48, 0x79, 0x00, 0x00, 0x04, 0x64, 0x45, 0xF9, 0x00, 0xE0, 0x15, 0x94, 0x95, 0xFC, 0x00, 0xDF, +diff --git a/src/jagstub2bios.h b/src/jagstub2bios.h +index fcec2e3..c80d98d 100644 +--- a/src/jagstub2bios.h ++++ b/src/jagstub2bios.h +@@ -1,6 +1,8 @@ + #ifndef __JAGSTUB2BIOS_H__ + #define __JAGSTUB2BIOS_H__ + +-extern char jaguarDevBootROM2[]; ++#include <stdint.h> ++ ++extern uint8_t jaguarDevBootROM2[]; + + #endif // __JAGSTUB1BIOS_H__ +diff --git a/src/joystick.cpp b/src/joystick.cpp +index 4b25493..25aef85 100644 +--- a/src/joystick.cpp ++++ b/src/joystick.cpp +@@ -137,6 +137,6 @@ uint16_t JoystickReadWord(uint32_t offset) + if (offset0 != 0xFF) + { +- uint8_t mask[4][2] = { { BUTTON_A, BUTTON_PAUSE }, { BUTTON_B, -1 }, { BUTTON_C, -1 }, { BUTTON_OPTION, -1 } }; ++ uint8_t mask[4][2] = { { BUTTON_A, BUTTON_PAUSE }, { BUTTON_B, 0xFF }, { BUTTON_C, 0xFF }, { BUTTON_OPTION, 0xFF } }; + data &= (joypad0Buttons[mask[offset0][0]] ? 0xFFFD : 0xFFFF); + + if (mask[offset0][1] != -1) +@@ -147,6 +147,6 @@ uint16_t JoystickReadWord(uint32_t offset) + if (offset1 != 0xFF) + { +- uint8_t mask[4][2] = { { BUTTON_A, BUTTON_PAUSE }, { BUTTON_B, -1 }, { BUTTON_C, -1 }, { BUTTON_OPTION, -1 } }; ++ uint8_t mask[4][2] = { { BUTTON_A, BUTTON_PAUSE }, { BUTTON_B, 0xFF }, { BUTTON_C, 0xFF }, { BUTTON_OPTION, 0xFF } }; + data &= (joypad1Buttons[mask[offset1][0]] ? 0xFFF7 : 0xFFFF); + + if (mask[offset1][1] != -1) diff --git a/games-emulation/virtualjaguar/virtualjaguar-2.1.2-r2.ebuild b/games-emulation/virtualjaguar/virtualjaguar-2.1.2-r2.ebuild index 59c43c743cc3..d620d15ffa1c 100644 --- a/games-emulation/virtualjaguar/virtualjaguar-2.1.2-r2.ebuild +++ b/games-emulation/virtualjaguar/virtualjaguar-2.1.2-r2.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2016 Gentoo Foundation +# Copyright 1999-2017 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 EAPI=6 @@ -26,13 +26,7 @@ DEPEND="${RDEPEND} S=${WORKDIR}/${PN} -pkg_pretend() { - local ver=4.4 - - if tc-is-gcc && ! version_is_at_least ${ver} $(gcc-version); then - die "${PN} needs at least gcc ${ver} selected to compile." - fi -} +PATCHES=( "${FILESDIR}"/${P}-gcc6.patch ) src_prepare() { default |