summaryrefslogtreecommitdiff
path: root/emulators/pcemu
diff options
context:
space:
mode:
authorwiz <wiz@pkgsrc.org>2004-07-09 12:45:23 +0000
committerwiz <wiz@pkgsrc.org>2004-07-09 12:45:23 +0000
commit2bd44dac3f3dfafca8583a467b775c2a6a318776 (patch)
treeed178c3d53f2bebd2cffe348bcd5857e9fb0ed2a /emulators/pcemu
parentd810d07aa31313463e3ed9ea2ec1b8c57d383b02 (diff)
downloadpkgsrc-2bd44dac3f3dfafca8583a467b775c2a6a318776.tar.gz
Make build with gcc3; from FreeBSD ports (joerg).
Diffstat (limited to 'emulators/pcemu')
-rw-r--r--emulators/pcemu/distinfo16
-rw-r--r--emulators/pcemu/patches/patch-ab150
-rw-r--r--emulators/pcemu/patches/patch-ah13
3 files changed, 93 insertions, 86 deletions
diff --git a/emulators/pcemu/distinfo b/emulators/pcemu/distinfo
index 3f45c944e28..1a52737113d 100644
--- a/emulators/pcemu/distinfo
+++ b/emulators/pcemu/distinfo
@@ -1,11 +1,15 @@
-$NetBSD: distinfo,v 1.3 2001/10/25 20:50:39 agc Exp $
+$NetBSD: distinfo,v 1.4 2004/07/09 12:45:23 wiz Exp $
SHA1 (pcemu1.01alpha.tar.gz) = 4c0cf9b3b197e890fbc85dc85ca0d7c75eb145b3
Size (pcemu1.01alpha.tar.gz) = 316257 bytes
SHA1 (patch-aa) = f53e918695b8929688b375c1af6f003b02ffa4ca
-SHA1 (patch-ab) = adb327b827d80d275509c8057a1d877d19b8fbc7
-SHA1 (patch-ac) = 1e1f9ca92dc6c1c09ddcb8c77f4536a02c752f6e
-SHA1 (patch-ad) = 7adb1245e8bb9369b50cc1339337908660b8ebfb
-SHA1 (patch-ae) = 953a1aed49026acab609b8944424bdb9ba387de0
-SHA1 (patch-af) = 84f85b5d74a4c27203e0a3183d89af42504ed89f
+SHA1 (patch-ab) = 6636736f76b956a2beb6490785b63f4a131c9c25
+SHA1 (patch-ac) = 0ff6e3057b7b23d606256baf95e6efb742e79257
+SHA1 (patch-ad) = 5b4c50d591eb5060276015e8b178475de38293fd
+SHA1 (patch-ae) = c641955b80afabb688739fca411f3c31c2aa16a7
+SHA1 (patch-af) = d36be5e25896ebc66bb2cc11135d61053a7e57ff
SHA1 (patch-ag) = 95ee8354783af38e43eb966a991c7a87823b7ce7
+SHA1 (patch-ah) = 37e8e4af38a4a66e4c5f3e57e682ca793b735732
+SHA1 (patch-ai) = 797d2d6b03f4c4b4e014bb1f8931313fddafd3a8
+SHA1 (patch-aj) = 6df6fb6fc9b8f9a9c551f5152325fde7aab986c6
+SHA1 (patch-ak) = e04ac57d8a51016bd1e449141a33a7c793b6aab0
diff --git a/emulators/pcemu/patches/patch-ab b/emulators/pcemu/patches/patch-ab
index 0a6d3047b76..63ca983d882 100644
--- a/emulators/pcemu/patches/patch-ab
+++ b/emulators/pcemu/patches/patch-ab
@@ -1,80 +1,70 @@
-$NetBSD: patch-ab,v 1.2 1999/12/29 01:45:39 wiz Exp $
-*** cpu.c.orig Wed Jun 22 16:24:50 1994
---- cpu.c Tue Jan 24 18:37:17 1995
-***************
-*** 1127,1132 ****
---- 1127,1133 ----
-
- static INLINE2 void i_daa(void)
- {
-+ /* Opcode 0x27 */
- if (AF || ((*bregs[AL] & 0xf) > 9))
- {
- *bregs[AL] += 6;
-***************
-*** 1300,1305 ****
---- 1301,1330 ----
- c_ss = SegToMemPtr(SS);
- }
-
-+ static INLINE2 void i_das(void)
-+ {
-+ /* Opcode 0x2f */
-+ if (AF || ((*bregs[AL] & 0xf) > 9))
-+ {
-+ *bregs[AL] -= 6;
-+ AF = 1;
-+ }
-+ else
-+ AF = 0;
-+
-+ if (CF || (*bregs[AL] > 0x9f))
-+ {
-+ *bregs[AL] -= 0x60;
-+ CF = 1;
-+ }
-+ else
-+ CF = 0;
-+
-+ SetPF(*bregs[AL]);
-+ SetSFB(*bregs[AL]);
-+ SetZFB(*bregs[AL]);
-+ }
-+
-
- /* most XOR instructions go here */
-
-***************
-*** 4140,4146 ****
- {
- fprintf(stderr,"Error: Unimplemented opcode %02X at cs:ip = %04X:%04X\n",
- c_cs[ip-1],sregs[CS],ip-1);
-! exit(1);
- }
-
-
---- 4165,4171 ----
- {
- fprintf(stderr,"Error: Unimplemented opcode %02X at cs:ip = %04X:%04X\n",
- c_cs[ip-1],sregs[CS],ip-1);
-! /* exit(1); */
- }
-
-
-***************
-*** 4218,4224 ****
- case 0x2c: i_sub_ald8(); break;
- case 0x2d: i_sub_axd16(); break;
- case 0x2e: i_cs(); break;
-! case 0x2f: i_notdone(); break;
- case 0x30: i_xor_br8(); break;
- case 0x31: i_xor_wr16(); break;
- case 0x32: i_xor_r8b(); break;
---- 4243,4249 ----
- case 0x2c: i_sub_ald8(); break;
- case 0x2d: i_sub_axd16(); break;
- case 0x2e: i_cs(); break;
-! case 0x2f: i_das(); break;
- case 0x30: i_xor_br8(); break;
- case 0x31: i_xor_wr16(); break;
- case 0x32: i_xor_r8b(); break;
+$NetBSD: patch-ab,v 1.3 2004/07/09 12:45:23 wiz Exp $
+
+--- cpu.c.orig 1994-06-22 16:24:50.000000000 +0200
++++ cpu.c
+@@ -253,7 +253,7 @@ static INLINE2 void i_ ## name ## _axd16
+
+
+ #define JumpCond(name, cond) \
+-static INLINE2 void i_j ## name ## (void) \
++static INLINE2 void i_j ## name (void) \
+ { \
+ register int tmp = (int)((INT8)GetMemInc(c_cs,ip)); \
+ if (cond) ip = (WORD)(ip+tmp); \
+@@ -1127,6 +1127,7 @@ static INLINE2 void i_es(void)
+
+ static INLINE2 void i_daa(void)
+ {
++ /* Opcode 0x27 */
+ if (AF || ((*bregs[AL] & 0xf) > 9))
+ {
+ *bregs[AL] += 6;
+@@ -1300,6 +1301,30 @@ static INLINE2 void i_cs(void)
+ c_ss = SegToMemPtr(SS);
+ }
+
++static INLINE2 void i_das(void)
++{
++ /* Opcode 0x2f */
++ if (AF || ((*bregs[AL] & 0xf) > 9))
++ {
++ *bregs[AL] -= 6;
++ AF = 1;
++ }
++ else
++ AF = 0;
++
++ if (CF || (*bregs[AL] > 0x9f))
++ {
++ *bregs[AL] -= 0x60;
++ CF = 1;
++ }
++ else
++ CF = 0;
++
++ SetPF(*bregs[AL]);
++ SetSFB(*bregs[AL]);
++ SetZFB(*bregs[AL]);
++}
++
+
+ /* most XOR instructions go here */
+
+@@ -4140,7 +4165,7 @@ static INLINE2 void i_notdone(void)
+ {
+ fprintf(stderr,"Error: Unimplemented opcode %02X at cs:ip = %04X:%04X\n",
+ c_cs[ip-1],sregs[CS],ip-1);
+- exit(1);
++/* exit(1); */
+ }
+
+
+@@ -4218,7 +4243,7 @@ void execute(void)
+ case 0x2c: i_sub_ald8(); break;
+ case 0x2d: i_sub_axd16(); break;
+ case 0x2e: i_cs(); break;
+- case 0x2f: i_notdone(); break;
++ case 0x2f: i_das(); break;
+ case 0x30: i_xor_br8(); break;
+ case 0x31: i_xor_wr16(); break;
+ case 0x32: i_xor_r8b(); break;
diff --git a/emulators/pcemu/patches/patch-ah b/emulators/pcemu/patches/patch-ah
new file mode 100644
index 00000000000..8da1b630ccc
--- /dev/null
+++ b/emulators/pcemu/patches/patch-ah
@@ -0,0 +1,13 @@
+$NetBSD: patch-ah,v 1.1 2004/07/09 12:45:23 wiz Exp $
+
+--- mfs_link.h.orig 1994-06-22 16:24:51.000000000 +0200
++++ mfs_link.h
+@@ -41,7 +41,7 @@ extern unsigned char *memory;
+
+
+ #define REGS vm86s.regs
+-#define REG(reg) (REGS.##reg)
++#define REG(reg) (REGS.reg)
+
+ #define CF (1 << 0)
+ #define TF (1 << 8)