aboutsummaryrefslogtreecommitdiff
path: root/emulators
diff options
context:
space:
mode:
authorKoop Mast <kwm@FreeBSD.org>2018-09-30 11:58:29 +0000
committerKoop Mast <kwm@FreeBSD.org>2018-09-30 11:58:29 +0000
commit951c1f5d1c7354f058f5919d858dbb0c174dc73e (patch)
tree6146e775343aaf339921799078894a48fef9aa15 /emulators
parentc9b47f0427d70ba42c2d53271f8b64b8e8096825 (diff)
downloadports-951c1f5d1c7354f058f5919d858dbb0c174dc73e.tar.gz
ports-951c1f5d1c7354f058f5919d858dbb0c174dc73e.zip
The FreeBSD GNOME team proudly presents GNOME 3.28 for FreeBSD.
The offical GNOME 3.28 release notes can be found at https://help.gnome.org/misc/release-notes/3.28/ Thanks to Antoine Brodin for running the exp-runs. PR: 229761
Notes
Notes: svn path=/head/; revision=480951
Diffstat (limited to 'emulators')
-rw-r--r--emulators/tiemu3/Makefile2
-rw-r--r--emulators/tiemu3/files/patch-src_core_uae_Makefile6
-rw-r--r--emulators/tiemu3/files/patch-src_core_uae_build68k.c74
-rw-r--r--emulators/tiemu3/files/patch-src_core_uae_fpp.c45
-rw-r--r--emulators/tiemu3/files/patch-src_core_uae_gencpu.c421
-rw-r--r--emulators/tiemu3/files/patch-src_core_uae_machdep_m68k.h11
-rw-r--r--emulators/tiemu3/files/patch-src_core_uae_newcpu.c20
-rw-r--r--emulators/tiemu3/files/patch-src_core_uae_readcpu.c140
-rw-r--r--emulators/tiemu3/files/patch-src_core_uae_sysdeps.h11
9 files changed, 726 insertions, 4 deletions
diff --git a/emulators/tiemu3/Makefile b/emulators/tiemu3/Makefile
index cdb57a746adc..4f0afa661254 100644
--- a/emulators/tiemu3/Makefile
+++ b/emulators/tiemu3/Makefile
@@ -3,7 +3,7 @@
PORTNAME= tiemu3
PORTVERSION= 3.03
-PORTREVISION= 8
+PORTREVISION= 9
CATEGORIES= emulators
MASTER_SITES= SF/gtktiemu/tiemu-linux/TIEmu%20${DISTVERSION}
DISTNAME= tiemu-${DISTVERSION}
diff --git a/emulators/tiemu3/files/patch-src_core_uae_Makefile b/emulators/tiemu3/files/patch-src_core_uae_Makefile
index f07efb4543a4..3cae8682e667 100644
--- a/emulators/tiemu3/files/patch-src_core_uae_Makefile
+++ b/emulators/tiemu3/files/patch-src_core_uae_Makefile
@@ -1,6 +1,6 @@
---- src/core/uae/Makefile.orig 2006-01-06 18:30:04.000000000 -0500
-+++ src/core/uae/Makefile 2011-07-02 12:14:35.000000000 -0400
-@@ -14,26 +14,26 @@
+--- src/core/uae/Makefile.orig 2006-01-06 23:30:04 UTC
++++ src/core/uae/Makefile
+@@ -14,26 +14,26 @@ all: cpudefs.o cpustbl.o readcpu.o fpp.o missing.o cpu
# For cross-compiling (generators are run on host)
build68k_host.o: build68k.c
diff --git a/emulators/tiemu3/files/patch-src_core_uae_build68k.c b/emulators/tiemu3/files/patch-src_core_uae_build68k.c
new file mode 100644
index 000000000000..167c819846d6
--- /dev/null
+++ b/emulators/tiemu3/files/patch-src_core_uae_build68k.c
@@ -0,0 +1,74 @@
+--- src/core/uae/build68k.c.orig 2005-06-25 14:27:52 UTC
++++ src/core/uae/build68k.c
+@@ -52,7 +52,7 @@ static int nextchtohex(void)
+ case 'd': return 13;
+ case 'e': return 14;
+ case 'f': return 15;
+- default: abort();
++ default: uae_abort();
+ }
+ }
+
+@@ -114,7 +114,7 @@ int main(int argc, char **argv)
+ case 'R': currbit = bitR; break;
+ case 'z': currbit = bitz; break;
+ case 'p': currbit = bitp; break;
+- default: abort();
++ default: uae_abort();
+ }
+ if (!(bitmask & 1)) {
+ bitpos[n_variable] = currbit;
+@@ -138,7 +138,7 @@ int main(int argc, char **argv)
+ case '2': cpulevel = 2; break;
+ case '3': cpulevel = 3; break;
+ case '4': cpulevel = 4; break;
+- default: abort();
++ default: uae_abort();
+ }
+ getnextch();
+
+@@ -147,7 +147,7 @@ int main(int argc, char **argv)
+ case '1': plevel = 1; break;
+ case '2': plevel = 2; break;
+ case '3': plevel = 3; break;
+- default: abort();
++ default: uae_abort();
+ }
+ getnextch();
+
+@@ -155,7 +155,7 @@ int main(int argc, char **argv)
+ getnextch();
+
+ if (nextch != ':')
+- abort();
++ uae_abort();
+
+ for(i = 0; i < 5; i++) {
+ getnextch();
+@@ -176,7 +176,7 @@ int main(int argc, char **argv)
+ getnextch();
+
+ if (nextch != ':') /* Get flag used information */
+- abort();
++ uae_abort();
+
+ for(i = 0; i < 5; i++) {
+ getnextch();
+@@ -194,7 +194,7 @@ int main(int argc, char **argv)
+ getnextch();
+
+ if (nextch != ':') /* Get source/dest usage information */
+- abort();
++ uae_abort();
+
+ getnextch();
+ sduse = nextchtohex() << 4;
+@@ -206,7 +206,7 @@ int main(int argc, char **argv)
+ getnextch();
+
+ if (nextch != ':')
+- abort();
++ uae_abort();
+
+ fgets(opcstr, 250, tablef);
+ getnextch();
diff --git a/emulators/tiemu3/files/patch-src_core_uae_fpp.c b/emulators/tiemu3/files/patch-src_core_uae_fpp.c
new file mode 100644
index 000000000000..64732cdcce12
--- /dev/null
+++ b/emulators/tiemu3/files/patch-src_core_uae_fpp.c
@@ -0,0 +1,45 @@
+--- src/core/uae/fpp.c.orig 2005-06-25 14:27:52 UTC
++++ src/core/uae/fpp.c
+@@ -13,35 +13,35 @@
+
+ void fdbcc_opp (uae_u32 opcode, uae_u16 extra)
+ {
+- abort();
++ uae_abort();
+ }
+
+ void fscc_opp (uae_u32 opcode, uae_u16 extra)
+ {
+- abort();
++ uae_abort();
+ }
+
+ void ftrapcc_opp (uae_u32 opcode, uaecptr oldpc)
+ {
+- abort();
++ uae_abort();
+ }
+
+ void fbcc_opp (uae_u32 opcode, uaecptr pc, uae_u32 extra)
+ {
+- abort();
++ uae_abort();
+ }
+
+ void fsave_opp (uae_u32 opcode)
+ {
+- abort();
++ uae_abort();
+ }
+
+ void frestore_opp (uae_u32 opcode)
+ {
+- abort();
++ uae_abort();
+ }
+
+ void fpp_opp (uae_u32 opcode, uae_u16 extra)
+ {
+- abort();
++ uae_abort();
+ }
diff --git a/emulators/tiemu3/files/patch-src_core_uae_gencpu.c b/emulators/tiemu3/files/patch-src_core_uae_gencpu.c
new file mode 100644
index 000000000000..57d03bcdd10a
--- /dev/null
+++ b/emulators/tiemu3/files/patch-src_core_uae_gencpu.c
@@ -0,0 +1,421 @@
+--- src/core/uae/gencpu.c.orig 2007-11-20 18:01:02 UTC
++++ src/core/uae/gencpu.c
+@@ -12,7 +12,7 @@
+ * MC68000 instructions, plus a prototype header file and a function pointer
+ * array to look up the function for an opcode.
+ * Error checking is bad, an illegal table68k file will cause the program to
+- * call abort().
++ * call uae_abort().
+ * The generated code is sometimes sub-optimal, an optimizing compiler should
+ * take care of this.
+ *
+@@ -89,7 +89,7 @@ static void read_counts (void)
+ }
+ }
+ if (nr != nr_cpuop_funcs)
+- abort ();
++ uae_abort ();
+ }
+
+ static char endlabelstr[80];
+@@ -144,7 +144,7 @@ static int bit_size (int size)
+ case sz_byte: return 8;
+ case sz_word: return 16;
+ case sz_long: return 32;
+- default: abort ();
++ default: uae_abort ();
+ }
+ return 0;
+ }
+@@ -155,7 +155,7 @@ static const char *bit_mask (int size)
+ case sz_byte: return "0xff";
+ case sz_word: return "0xffff";
+ case sz_long: return "0xffffffff";
+- default: abort ();
++ default: uae_abort ();
+ }
+ return 0;
+ }
+@@ -370,7 +370,7 @@ static void genamode (amodes mode, char *reg, wordsize
+ switch (mode) {
+ case Dreg:
+ if (movem)
+- abort ();
++ uae_abort ();
+ if (getv == 1)
+ switch (size) {
+ case sz_byte:
+@@ -393,12 +393,12 @@ static void genamode (amodes mode, char *reg, wordsize
+ printf ("\tuae_s32 %s = m68k_dreg(regs, %s);\n", name, reg);
+ break;
+ default:
+- abort ();
++ uae_abort ();
+ }
+ return;
+ case Areg:
+ if (movem)
+- abort ();
++ uae_abort ();
+ if (getv == 1)
+ switch (size) {
+ case sz_word:
+@@ -408,7 +408,7 @@ static void genamode (amodes mode, char *reg, wordsize
+ printf ("\tuae_s32 %s = m68k_areg(regs, %s);\n", name, reg);
+ break;
+ default:
+- abort ();
++ uae_abort ();
+ }
+ return;
+ case Aind:
+@@ -433,7 +433,7 @@ static void genamode (amodes mode, char *reg, wordsize
+ printf ("\tuaecptr %sa = m68k_areg(regs, %s) - %d;\n", name, reg, movem ? 0 : 4);
+ break;
+ default:
+- abort ();
++ uae_abort ();
+ }
+ break;
+ case Ad16:
+@@ -482,7 +482,7 @@ static void genamode (amodes mode, char *reg, wordsize
+ break;
+ case imm:
+ if (getv != 1)
+- abort ();
++ uae_abort ();
+ switch (size) {
+ case sz_byte:
+ printf ("\tuae_s8 %s = %s;\n", name, gen_nextibyte (flags & GF_NOREFILL));
+@@ -494,31 +494,31 @@ static void genamode (amodes mode, char *reg, wordsize
+ gen_nextilong ("uae_s32", name, flags & GF_NOREFILL);
+ break;
+ default:
+- abort ();
++ uae_abort ();
+ }
+ return;
+ case imm0:
+ if (getv != 1)
+- abort ();
++ uae_abort ();
+ printf ("\tuae_s8 %s = %s;\n", name, gen_nextibyte (flags & GF_NOREFILL));
+ return;
+ case imm1:
+ if (getv != 1)
+- abort ();
++ uae_abort ();
+ printf ("\tuae_s16 %s = %s;\n", name, gen_nextiword (flags & GF_NOREFILL));
+ return;
+ case imm2:
+ if (getv != 1)
+- abort ();
++ uae_abort ();
+ gen_nextilong ("uae_s32", name, flags & GF_NOREFILL);
+ return;
+ case immi:
+ if (getv != 1)
+- abort ();
++ uae_abort ();
+ printf ("\tuae_u32 %s = %s;\n", name, reg);
+ return;
+ default:
+- abort ();
++ uae_abort ();
+ }
+
+ /* We get here for all non-reg non-immediate addressing modes to
+@@ -544,14 +544,14 @@ static void genamode (amodes mode, char *reg, wordsize
+ case sz_byte: insn_n_cycles += 4; break;
+ case sz_word: insn_n_cycles += 4; break;
+ case sz_long: insn_n_cycles += 8; break;
+- default: abort ();
++ default: uae_abort ();
+ }
+ start_brace ();
+ switch (size) {
+ case sz_byte: printf ("\tuae_s8 %s = get_byte(%sa);\n", name, name); break;
+ case sz_word: printf ("\tuae_s16 %s = get_word(%sa);\n", name, name); break;
+ case sz_long: printf ("\tuae_s32 %s = get_long(%sa);\n", name, name); break;
+- default: abort ();
++ default: uae_abort ();
+ }
+ }
+
+@@ -571,7 +571,7 @@ static void genamode (amodes mode, char *reg, wordsize
+ printf ("\tm68k_areg(regs, %s) += 4;\n", reg);
+ break;
+ default:
+- abort ();
++ uae_abort ();
+ }
+ break;
+ case Apdi:
+@@ -597,7 +597,7 @@ static void genastore (char *from, amodes mode, char *
+ printf ("\tm68k_dreg(regs, %s) = (%s);\n", reg, from);
+ break;
+ default:
+- abort ();
++ uae_abort ();
+ }
+ break;
+ case Areg:
+@@ -609,7 +609,7 @@ static void genastore (char *from, amodes mode, char *
+ printf ("\tm68k_areg(regs, %s) = (%s);\n", reg, from);
+ break;
+ default:
+- abort ();
++ uae_abort ();
+ }
+ break;
+ case Aind:
+@@ -631,17 +631,17 @@ static void genastore (char *from, amodes mode, char *
+ case sz_word:
+ insn_n_cycles += 4;
+ if (cpu_level < 2 && (mode == PC16 || mode == PC8r))
+- abort ();
++ uae_abort ();
+ printf ("\tput_word(%sa,%s);\n", to, from);
+ break;
+ case sz_long:
+ insn_n_cycles += 8;
+ if (cpu_level < 2 && (mode == PC16 || mode == PC8r))
+- abort ();
++ uae_abort ();
+ printf ("\tput_long(%sa,%s);\n", to, from);
+ break;
+ default:
+- abort ();
++ uae_abort ();
+ }
+ break;
+ case imm:
+@@ -649,10 +649,10 @@ static void genastore (char *from, amodes mode, char *
+ case imm1:
+ case imm2:
+ case immi:
+- abort ();
++ uae_abort ();
+ break;
+ default:
+- abort ();
++ uae_abort ();
+ }
+ }
+
+@@ -746,7 +746,7 @@ static void genflags_normal (flagtypes type, wordsizes
+ strcpy (usstr, "((uae_u32)(");
+ break;
+ default:
+- abort ();
++ uae_abort ();
+ }
+ strcpy (unsstr, usstr);
+
+@@ -969,7 +969,7 @@ static const char *cmask (wordsizes size)
+ case sz_byte: return "0x80";
+ case sz_word: return "0x8000";
+ case sz_long: return "0x80000000";
+- default: abort ();
++ default: uae_abort ();
+ }
+ }
+
+@@ -1391,7 +1391,7 @@ static void gen_opcode (unsigned long int opcode)
+ case sz_byte: printf ("\tuae_u32 dst = (uae_s32)(uae_s8)src;\n"); break;
+ case sz_word: printf ("\tuae_u16 dst = (uae_s16)(uae_s8)src;\n"); break;
+ case sz_long: printf ("\tuae_u32 dst = (uae_s32)(uae_s16)src;\n"); break;
+- default: abort ();
++ default: uae_abort ();
+ }
+ genflags (flag_logical,
+ curi->size == sz_word ? sz_word : sz_long, "dst", "", "");
+@@ -1823,7 +1823,7 @@ static void gen_opcode (unsigned long int opcode)
+ printf ("\tlower=get_long(dsta); upper = get_long(dsta+4);\n");
+ break;
+ default:
+- abort ();
++ uae_abort ();
+ }
+ printf ("\tSET_ZFLG (upper == reg || lower == reg);\n");
+ printf ("\tSET_CFLG (lower <= upper ? reg < lower || reg > upper : reg > upper || reg < lower);\n");
+@@ -1840,7 +1840,7 @@ static void gen_opcode (unsigned long int opcode)
+ case sz_byte: printf ("\tuae_u32 val = (uae_u8)data;\n"); break;
+ case sz_word: printf ("\tuae_u32 val = (uae_u16)data;\n"); break;
+ case sz_long: printf ("\tuae_u32 val = data;\n"); break;
+- default: abort ();
++ default: uae_abort ();
+ }
+ printf ("\tuae_u32 sign = (%s & val) >> %d;\n", cmask (curi->size), bit_size (curi->size) - 1);
+ printf ("\tcnt &= 63;\n");
+@@ -1874,7 +1874,7 @@ static void gen_opcode (unsigned long int opcode)
+ case sz_byte: printf ("\tuae_u32 val = (uae_u8)data;\n"); break;
+ case sz_word: printf ("\tuae_u32 val = (uae_u16)data;\n"); break;
+ case sz_long: printf ("\tuae_u32 val = data;\n"); break;
+- default: abort ();
++ default: uae_abort ();
+ }
+ printf ("\tcnt &= 63;\n");
+ printf ("\tCLEAR_CZNV;\n");
+@@ -1911,7 +1911,7 @@ static void gen_opcode (unsigned long int opcode)
+ case sz_byte: printf ("\tuae_u32 val = (uae_u8)data;\n"); break;
+ case sz_word: printf ("\tuae_u32 val = (uae_u16)data;\n"); break;
+ case sz_long: printf ("\tuae_u32 val = data;\n"); break;
+- default: abort ();
++ default: uae_abort ();
+ }
+ printf ("\tcnt &= 63;\n");
+ printf ("\tCLEAR_CZNV;\n");
+@@ -1941,7 +1941,7 @@ static void gen_opcode (unsigned long int opcode)
+ case sz_byte: printf ("\tuae_u32 val = (uae_u8)data;\n"); break;
+ case sz_word: printf ("\tuae_u32 val = (uae_u16)data;\n"); break;
+ case sz_long: printf ("\tuae_u32 val = data;\n"); break;
+- default: abort ();
++ default: uae_abort ();
+ }
+ printf ("\tcnt &= 63;\n");
+ printf ("\tCLEAR_CZNV;\n");
+@@ -1972,7 +1972,7 @@ static void gen_opcode (unsigned long int opcode)
+ case sz_byte: printf ("\tuae_u32 val = (uae_u8)data;\n"); break;
+ case sz_word: printf ("\tuae_u32 val = (uae_u16)data;\n"); break;
+ case sz_long: printf ("\tuae_u32 val = data;\n"); break;
+- default: abort ();
++ default: uae_abort ();
+ }
+ printf ("\tcnt &= 63;\n");
+ printf ("\tCLEAR_CZNV;\n");
+@@ -2000,7 +2000,7 @@ static void gen_opcode (unsigned long int opcode)
+ case sz_byte: printf ("\tuae_u32 val = (uae_u8)data;\n"); break;
+ case sz_word: printf ("\tuae_u32 val = (uae_u16)data;\n"); break;
+ case sz_long: printf ("\tuae_u32 val = data;\n"); break;
+- default: abort ();
++ default: uae_abort ();
+ }
+ printf ("\tcnt &= 63;\n");
+ printf ("\tCLEAR_CZNV;\n");
+@@ -2028,7 +2028,7 @@ static void gen_opcode (unsigned long int opcode)
+ case sz_byte: printf ("\tuae_u32 val = (uae_u8)data;\n"); break;
+ case sz_word: printf ("\tuae_u32 val = (uae_u16)data;\n"); break;
+ case sz_long: printf ("\tuae_u32 val = data;\n"); break;
+- default: abort ();
++ default: uae_abort ();
+ }
+ printf ("\tcnt &= 63;\n");
+ printf ("\tCLEAR_CZNV;\n");
+@@ -2059,7 +2059,7 @@ static void gen_opcode (unsigned long int opcode)
+ case sz_byte: printf ("\tuae_u32 val = (uae_u8)data;\n"); break;
+ case sz_word: printf ("\tuae_u32 val = (uae_u16)data;\n"); break;
+ case sz_long: printf ("\tuae_u32 val = data;\n"); break;
+- default: abort ();
++ default: uae_abort ();
+ }
+ printf ("\tcnt &= 63;\n");
+ printf ("\tCLEAR_CZNV;\n");
+@@ -2092,7 +2092,7 @@ static void gen_opcode (unsigned long int opcode)
+ case sz_byte: printf ("\tuae_u32 val = (uae_u8)data;\n"); break;
+ case sz_word: printf ("\tuae_u32 val = (uae_u16)data;\n"); break;
+ case sz_long: printf ("\tuae_u32 val = data;\n"); break;
+- default: abort ();
++ default: uae_abort ();
+ }
+ printf ("\tuae_u32 sign = %s & val;\n", cmask (curi->size));
+ printf ("\tuae_u32 cflg = val & 1;\n");
+@@ -2110,7 +2110,7 @@ static void gen_opcode (unsigned long int opcode)
+ case sz_byte: printf ("\tuae_u32 val = (uae_u8)data;\n"); break;
+ case sz_word: printf ("\tuae_u32 val = (uae_u16)data;\n"); break;
+ case sz_long: printf ("\tuae_u32 val = data;\n"); break;
+- default: abort ();
++ default: uae_abort ();
+ }
+ printf ("\tuae_u32 sign = %s & val;\n", cmask (curi->size));
+ printf ("\tuae_u32 sign2;\n");
+@@ -2131,7 +2131,7 @@ static void gen_opcode (unsigned long int opcode)
+ case sz_byte: printf ("\tuae_u32 val = (uae_u8)data;\n"); break;
+ case sz_word: printf ("\tuae_u32 val = (uae_u16)data;\n"); break;
+ case sz_long: printf ("\tuae_u32 val = data;\n"); break;
+- default: abort ();
++ default: uae_abort ();
+ }
+ printf ("\tuae_u32 carry = val & 1;\n");
+ printf ("\tval >>= 1;\n");
+@@ -2148,7 +2148,7 @@ static void gen_opcode (unsigned long int opcode)
+ case sz_byte: printf ("\tuae_u8 val = data;\n"); break;
+ case sz_word: printf ("\tuae_u16 val = data;\n"); break;
+ case sz_long: printf ("\tuae_u32 val = data;\n"); break;
+- default: abort ();
++ default: uae_abort ();
+ }
+ printf ("\tuae_u32 carry = val & %s;\n", cmask (curi->size));
+ printf ("\tval <<= 1;\n");
+@@ -2165,7 +2165,7 @@ static void gen_opcode (unsigned long int opcode)
+ case sz_byte: printf ("\tuae_u8 val = data;\n"); break;
+ case sz_word: printf ("\tuae_u16 val = data;\n"); break;
+ case sz_long: printf ("\tuae_u32 val = data;\n"); break;
+- default: abort ();
++ default: uae_abort ();
+ }
+ printf ("\tuae_u32 carry = val & %s;\n", cmask (curi->size));
+ printf ("\tval <<= 1;\n");
+@@ -2182,7 +2182,7 @@ static void gen_opcode (unsigned long int opcode)
+ case sz_byte: printf ("\tuae_u8 val = data;\n"); break;
+ case sz_word: printf ("\tuae_u16 val = data;\n"); break;
+ case sz_long: printf ("\tuae_u32 val = data;\n"); break;
+- default: abort ();
++ default: uae_abort ();
+ }
+ printf ("\tuae_u32 carry = val & 1;\n");
+ printf ("\tval >>= 1;\n");
+@@ -2199,7 +2199,7 @@ static void gen_opcode (unsigned long int opcode)
+ case sz_byte: printf ("\tuae_u8 val = data;\n"); break;
+ case sz_word: printf ("\tuae_u16 val = data;\n"); break;
+ case sz_long: printf ("\tuae_u32 val = data;\n"); break;
+- default: abort ();
++ default: uae_abort ();
+ }
+ printf ("\tuae_u32 carry = val & %s;\n", cmask (curi->size));
+ printf ("\tval <<= 1;\n");
+@@ -2217,7 +2217,7 @@ static void gen_opcode (unsigned long int opcode)
+ case sz_byte: printf ("\tuae_u8 val = data;\n"); break;
+ case sz_word: printf ("\tuae_u16 val = data;\n"); break;
+ case sz_long: printf ("\tuae_u32 val = data;\n"); break;
+- default: abort ();
++ default: uae_abort ();
+ }
+ printf ("\tuae_u32 carry = val & 1;\n");
+ printf ("\tval >>= 1;\n");
+@@ -2319,7 +2319,7 @@ static void gen_opcode (unsigned long int opcode)
+ case sz_byte: printf ("\tm68k_areg(regs, (extra >> 12) & 7) = (uae_s32)(uae_s8)src;\n"); break;
+ case sz_word: printf ("\tm68k_areg(regs, (extra >> 12) & 7) = (uae_s32)(uae_s16)src;\n"); break;
+ case sz_long: printf ("\tm68k_areg(regs, (extra >> 12) & 7) = src;\n"); break;
+- default: abort ();
++ default: uae_abort ();
+ }
+ printf ("\t} else {\n");
+ genastore ("src", Dreg, "(extra >> 12) & 7", curi->size, "");
+@@ -2566,7 +2566,7 @@ static void gen_opcode (unsigned long int opcode)
+ printf ("\tmmu_op(opcode,extra);\n");
+ break;
+ default:
+- abort ();
++ uae_abort ();
+ break;
+ }
+ finish_braces ();
+@@ -2631,7 +2631,7 @@ static void generate_one_opcode (int rp)
+ case 4: smsk = 7; break;
+ case 5: smsk = 63; break;
+ case 7: smsk = 3; break;
+- default: abort ();
++ default: uae_abort ();
+ }
+ dmsk = 7;
+
+@@ -2680,7 +2680,7 @@ static void generate_one_opcode (int rp)
+ #if 0
+ /* Check that we can do the little endian optimization safely. */
+ if (pos < 8 && (dmsk >> (8 - pos)) != 0)
+- abort ();
++ uae_abort ();
+ #endif
+ if (pos)
+ printf ("\tuae_u32 dstreg = (opcode >> %d) & %d;\n",
diff --git a/emulators/tiemu3/files/patch-src_core_uae_machdep_m68k.h b/emulators/tiemu3/files/patch-src_core_uae_machdep_m68k.h
new file mode 100644
index 000000000000..b976d40b9cab
--- /dev/null
+++ b/emulators/tiemu3/files/patch-src_core_uae_machdep_m68k.h
@@ -0,0 +1,11 @@
+--- src/core/uae/machdep/m68k.h.orig 2005-08-26 21:05:37 UTC
++++ src/core/uae/machdep/m68k.h
+@@ -36,7 +36,7 @@ static __inline__ int cctrue(const int cc)
+ case 14:return !ZFLG && (NFLG == VFLG); /* GT */
+ case 15:return ZFLG || (NFLG != VFLG); /* LE */
+ }
+-// abort();
++// uae_abort();
+ return 0;
+ }
+
diff --git a/emulators/tiemu3/files/patch-src_core_uae_newcpu.c b/emulators/tiemu3/files/patch-src_core_uae_newcpu.c
new file mode 100644
index 000000000000..b05692415144
--- /dev/null
+++ b/emulators/tiemu3/files/patch-src_core_uae_newcpu.c
@@ -0,0 +1,20 @@
+--- src/core/uae/newcpu.c.orig 2008-05-25 13:08:41 UTC
++++ src/core/uae/newcpu.c
+@@ -148,7 +148,7 @@ static void build_cpufunctbl (void)
+ if (table68k[opcode].handler != -1) {
+ f = cpufunctbl[table68k[opcode].handler];
+ if (f == op_illg_1)
+- abort();
++ uae_abort();
+ cpufunctbl[opcode] = f;
+ }
+ }
+@@ -1575,7 +1575,7 @@ void m68k_go (int may_quit)
+ {
+ if (in_m68k_go || !may_quit) {
+ write_log ("Bug! m68k_go is not reentrant.\n");
+- abort ();
++ uae_abort ();
+ }
+
+ reset_frame_rate_hack ();
diff --git a/emulators/tiemu3/files/patch-src_core_uae_readcpu.c b/emulators/tiemu3/files/patch-src_core_uae_readcpu.c
new file mode 100644
index 000000000000..f05c4a3faa83
--- /dev/null
+++ b/emulators/tiemu3/files/patch-src_core_uae_readcpu.c
@@ -0,0 +1,140 @@
+--- src/core/uae/readcpu.c.orig 2007-11-20 18:01:02 UTC
++++ src/core/uae/readcpu.c
+@@ -172,7 +172,7 @@ STATIC_INLINE amodes mode_from_str (const char *str)
+ if (strncmp (str, "PC16", 4) == 0) return PC16;
+ if (strncmp (str, "PC8r", 4) == 0) return PC8r;
+ if (strncmp (str, "Immd", 4) == 0) return imm;
+- abort ();
++ uae_abort ();
+ return 0;
+ }
+
+@@ -198,7 +198,7 @@ STATIC_INLINE amodes mode_from_mr (int mode, int reg)
+ case 7: return am_illg;
+ }
+ }
+- abort ();
++ uae_abort ();
+ return 0;
+ }
+
+@@ -316,10 +316,10 @@ static void build_insn (int insn)
+ case 0: sz = sz_byte; break;
+ case 1: sz = sz_word; break;
+ case 2: sz = sz_long; break;
+- default: abort();
++ default: uae_abort();
+ }
+ break;
+- default: abort();
++ default: uae_abort();
+ }
+ } else {
+ mnemonic[mnp] = opcstr[pos];
+@@ -328,7 +328,7 @@ static void build_insn (int insn)
+ switch (bitval[bitf]) {
+ case 0: mnemonic[mnp] = 'R'; break;
+ case 1: mnemonic[mnp] = 'L'; break;
+- default: abort();
++ default: uae_abort();
+ }
+ }
+ mnp++;
+@@ -353,7 +353,7 @@ static void build_insn (int insn)
+ switch (opcstr[pos++]) {
+ case 'r': srcreg = bitval[bitr]; srcgather = 1; srcpos = bitpos[bitr]; break;
+ case 'R': srcreg = bitval[bitR]; srcgather = 1; srcpos = bitpos[bitR]; break;
+- default: abort();
++ default: uae_abort();
+ }
+ break;
+ case 'A':
+@@ -361,7 +361,7 @@ static void build_insn (int insn)
+ switch (opcstr[pos++]) {
+ case 'r': srcreg = bitval[bitr]; srcgather = 1; srcpos = bitpos[bitr]; break;
+ case 'R': srcreg = bitval[bitR]; srcgather = 1; srcpos = bitpos[bitR]; break;
+- default: abort();
++ default: uae_abort();
+ }
+ switch (opcstr[pos]) {
+ case 'p': srcmode = Apdi; pos++; break;
+@@ -424,7 +424,7 @@ static void build_insn (int insn)
+ srcpos = bitpos[bitp];
+ }
+ break;
+- default: abort();
++ default: uae_abort();
+ }
+ break;
+ case 'd':
+@@ -522,7 +522,7 @@ static void build_insn (int insn)
+ }
+ }
+ break;
+- default: abort();
++ default: uae_abort();
+ }
+ /* safety check - might have changed */
+ if (srcmode != Areg && srcmode != Dreg && srcmode != Aind
+@@ -546,10 +546,10 @@ static void build_insn (int insn)
+ switch (opcstr[pos++]) {
+ case 'r': destreg = bitval[bitr]; dstgather = 1; dstpos = bitpos[bitr]; break;
+ case 'R': destreg = bitval[bitR]; dstgather = 1; dstpos = bitpos[bitR]; break;
+- default: abort();
++ default: uae_abort();
+ }
+ if (dstpos < 0 || dstpos >= 32)
+- abort ();
++ uae_abort ();
+ break;
+ case 'A':
+ destmode = Areg;
+@@ -557,10 +557,10 @@ static void build_insn (int insn)
+ case 'r': destreg = bitval[bitr]; dstgather = 1; dstpos = bitpos[bitr]; break;
+ case 'R': destreg = bitval[bitR]; dstgather = 1; dstpos = bitpos[bitR]; break;
+ case 'x': destreg = 0; dstgather = 0; dstpos = 0; break;
+- default: abort();
++ default: uae_abort();
+ }
+ if (dstpos < 0 || dstpos >= 32)
+- abort ();
++ uae_abort ();
+ switch (opcstr[pos]) {
+ case 'p': destmode = Apdi; pos++; break;
+ case 'P': destmode = Aipi; pos++; break;
+@@ -580,7 +580,7 @@ static void build_insn (int insn)
+ case 'J': destmode = immi; destreg = bitval[bitJ]; break;
+ case 'k': destmode = immi; destreg = bitval[bitk]; break;
+ case 'K': destmode = immi; destreg = bitval[bitK]; break;
+- default: abort();
++ default: uae_abort();
+ }
+ break;
+ case 'd':
+@@ -680,7 +680,7 @@ static void build_insn (int insn)
+ }
+ }
+ break;
+- default: abort();
++ default: uae_abort();
+ }
+ /* safety check - might have changed */
+ if (destmode != Areg && destmode != Dreg && destmode != Aind
+@@ -707,7 +707,7 @@ static void build_insn (int insn)
+ table68k[opc].mnemo = lookuptab[find].mnemo;
+ break;
+ }
+- if (strlen(lookuptab[find].name) == 0) abort();
++ if (strlen(lookuptab[find].name) == 0) uae_abort();
+ }
+ }
+ else {
+@@ -792,7 +792,7 @@ static void handle_merges (long int opcode)
+ smsk = 3; sbitdst = 4; break;
+ default:
+ smsk = 0; sbitdst = 0;
+- abort();
++ uae_abort();
+ break;
+ }
+ smsk <<= table68k[opcode].spos;
diff --git a/emulators/tiemu3/files/patch-src_core_uae_sysdeps.h b/emulators/tiemu3/files/patch-src_core_uae_sysdeps.h
new file mode 100644
index 000000000000..503ef8dc545a
--- /dev/null
+++ b/emulators/tiemu3/files/patch-src_core_uae_sysdeps.h
@@ -0,0 +1,11 @@
+--- src/core/uae/sysdeps.h.orig 2007-06-24 05:05:05 UTC
++++ src/core/uae/sysdeps.h
+@@ -138,7 +138,7 @@ extern void *xcalloc(size_t, size_t);
+ #define ENUMNAME(name) name
+
+ /* While we're here, make abort more useful. */
+-#define abort() \
++#define uae_abort() \
+ do { \
+ fprintf (stderr, "UAE: Internal error; file %s, line %d\n", __FILE__, __LINE__); \
+ (abort) (); \