- update to 0.6.7.6

- update MASTER_SITES
- install in standard path
- wrapper script removed
- enable audio support
- reset MAINTAINER after 4 weeks
PR:		152393
Approved by:	(maintainer timeout)
This commit is contained in:
Dirk Meyer 2010-12-21 05:32:39 +00:00
parent 56145f3827
commit abf97d8550
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=266690
8 changed files with 340 additions and 87 deletions

View file

@ -6,11 +6,10 @@
#
PORTNAME= stonx
PORTVERSION= 0.6.7e
PORTREVISION= 1
PORTVERSION= 0.6.7e.6
CATEGORIES= emulators
MASTER_SITES= ftp://ftp.complang.tuwien.ac.at/pub/nino/stonx-current/
DISTNAME= STonX-0.6.7-epsilon
MASTER_SITES= SF/stonx/stonx/0.6.7.6
DISTNAME= STonX-0.6.7.6
MAINTAINER= treif@mayn.de
COMMENT= AtariST emulator
@ -36,50 +35,37 @@ pre-build:
# Installing
#
BINDIR= ${PREFIX}/bin
LIBDIR= ${PREFIX}/lib/X11/STonX
FNTDIR= ${PREFIX}/lib/X11/fonts/misc
DATA= tos.img cartridge.img Keysyms Keysyms.G atari/FLOPPY-4MB \
atari/bench1.pas atari/bench1.prg atari/final.tos
DOCS= ../COPYING DEBUGGING FONTS INSTALL PROGRAMS README RELEASE_NOTES \
DATA= atari/bench1.pas atari/bench1.prg
ETCFILES= keysyms-alternative keysyms-german keysyms-spanish
DOCS= ../COPYING AUTHORS DEBUGGING INSTALL README RELEASE_NOTES \
TOS-VERSIONS
FONTS= System0-iso.pcf System0.pcf System1-iso.pcf System1.pcf \
System2-iso.pcf System2.pcf
pre-install:
@${ECHO_MSG} "#!/bin/sh" > ${WRKSRC}/stonx.script
@${ECHO_MSG} "cd ${LIBDIR}" >> ${WRKSRC}/stonx.script
@${ECHO_MSG} "${BINDIR}/stonx.bin -noaudio \
-disk A:FLOPPY-4MB -fs C:." >> ${WRKSRC}/stonx.script
do-install:
@${ECHO_MSG} "===> Installing programs"
${INSTALL_SCRIPT} ${WRKSRC}/stonx.script ${BINDIR}/stonx
${INSTALL_PROGRAM} ${WRKSRC}/stonx ${BINDIR}/stonx.bin
@${ECHO_MSG} "===> Installing data"
@${MKDIR} ${LIBDIR}
.for f in ${DATA}
${INSTALL_DATA} ${WRKSRC}/$f ${LIBDIR}
post-install:
.for f in ${ETCFILES}
${INSTALL_DATA} ${WRKSRC}/etc/$f ${ETCDIR}/
.endfor
@${ECHO_MSG} "===> Installing fonts"
.for f in ${FONTS}
${INSTALL_DATA} ${WRKSRC}/data/$f ${FNTDIR}
${INSTALL_DATA} ${WRKSRC}/data/$f ${FNTDIR}/
@${GZIP_CMD} ${FNTDIR}/$f
.endfor
@mkfontdir ${FNTDIR}
.if !defined(NOPORTDOCS)
@${ECHO_MSG} "===> Installing docs"
@${MKDIR} ${LIBDIR}/docs
@${MKDIR} ${DOCSDIR}
.for f in ${DOCS}
${INSTALL_DATA} ${WRKSRC}/docs/$f ${LIBDIR}/docs
${INSTALL_DATA} ${WRKSRC}/docs/$f ${DOCSDIR}/
.endfor
@${MKDIR} ${EXAMPLESDIR}
.for f in ${DATA}
${INSTALL_DATA} ${WRKSRC}/$f ${EXAMPLESDIR}/
.endfor
.endif
.if (defined(DISPLAY) && ${DISPLAY} != "")
post-install:
@xset fp+ ${FNTDIR}
@xset fp rehash
.endif
@ -88,7 +74,7 @@ post-install:
.if !exists(${DISTDIR}/${TOSIMG})
IGNORE="Please get a ROM dump from your AtariST and save it as"\
"\"${TOSIMG}\" in \"${DISTDIR}\" manually, and then make install again"
"\"${TOSIMG}\" in \"${DISTDIR}\" manually, and then make again"
.endif
BUILD_DEPENDS+= ${LOCALBASE}/lib/X11/fonts/misc/10x20-ISO8859-1.pcf.gz:${PORTSDIR}/x11-fonts/font-misc-misc

View file

@ -1,5 +1,3 @@
MD5 (STonX-0.6.7-epsilon.tar.gz) = c8a5a3bbf6a7c13c1c1e6176c6e6d93a
SHA256 (STonX-0.6.7-epsilon.tar.gz) = 814b0a3978c4dc1b233ca5696e6979adc4a84a19d43a7a26eb8e3f469db773b6
SIZE (STonX-0.6.7-epsilon.tar.gz) = 192149
MD5 (tos.img) = IGNORE
SHA256 (tos.img) = IGNORE
MD5 (STonX-0.6.7.6.tar.gz) = 77f356c428666b31318190b2d28a049a
SHA256 (STonX-0.6.7.6.tar.gz) = 664df47df3be34be852dff24d4a43f507bf0a1d4d137e8016128a23486aafbd8
SIZE (STonX-0.6.7.6.tar.gz) = 379738

View file

@ -1,24 +0,0 @@
--- Makefile.in.orig 1997-05-24 22:49:30.000000000 +0200
+++ Makefile.in 2010-01-22 10:38:08.000000000 +0100
@@ -28,7 +28,7 @@
#XLIBS=@X_LIBS@ -lvgagl -lvga
#SFLAGS=-DUSE_SVGALIB
-STONXDIR=/usr/local/lib/STonX
+STONXDIR=${PREFIX}/lib/X11/STonX
DEF= @def@ -DINLINE=@inline@ -DSTONXDIR=\"$(STONXDIR)\"
# Compiler
@@ -117,10 +117,10 @@
$(SCC) @static@ -o $@ $(OBJ) $(MOREOBJ) $(XLIBS) @X_PRE_LIBS@ -lXext -lX11 @X_EXTRA_LIBS@ @xtra@
fnttobdf: fnttobdf.c
- $(CC) -o $@ fnttobdf.c $(XLIBS) @X_PRE_LIBS@ -lXext -lX11 @X_EXTRA_LIBS@
+ $(CC) -o $@ fnttobdf.c $(CFLAGS) $(XLIBS) @X_PRE_LIBS@ -lXext -lX11 @X_EXTRA_LIBS@
tosfonts: tosfonts.c
- $(CC) -o $@ tosfonts.c $(XLIBS) @X_PRE_LIBS@ -lXext -lX11 @X_EXTRA_LIBS@
+ $(CC) -o $@ tosfonts.c $(CFLAGS) $(XLIBS) @X_PRE_LIBS@ -lXext -lX11 @X_EXTRA_LIBS@
clean:
rm -f $(OBJ) $(MOREOBJ) stonx mon.out gmon.out fonts-done.stmp

View file

@ -1,11 +1,12 @@
--- audio.c.orig Mon May 5 03:07:05 1997
+++ audio.c Wed Oct 25 19:33:27 2006
@@ -36,7 +36,7 @@
--- audio.c.orig 2004-08-15 16:07:55.000000000 +0200
+++ audio.c 2010-04-03 09:44:58.000000000 +0200
@@ -45,6 +45,9 @@
#include <linux/sched.h>
#include <linux/unistd.h>
#endif
#else /* FreeBSD? */
-#include <machine/soundcard.h>
+#elif defined(__FreeBSD__)
+#include <sys/soundcard.h>
#endif
#include <unistd.h>
#define LINUX_DEFAULT_FREQ (22050)
+#define SOUND_DEVICE "/dev/dsp"
#elif defined(__NetBSD__) || defined(__OpenBSD__)
/* NetBSD's Linux API emulation, require -lossaudio too */
#include <soundcard.h>

View file

@ -0,0 +1,33 @@
--- configure.orig 2004-08-15 15:36:21.000000000 +0200
+++ configure 2010-04-03 09:57:44.000000000 +0200
@@ -3989,6 +3990,30 @@
esac
copt="$copt -funroll-loops"
;;
+*freebsd*)
+ echo 'A FreeBSD box...'
+ case $t in
+ i*86-*)
+ cat >>confdefs.h <<\_ACEOF
+#define NZREG "%ebx"
+_ACEOF
+
+ cat >>confdefs.h <<\_ACEOF
+#define PCREG "%ebp"
+_ACEOF
+
+ regs="-fomit-frame-pointer -ffixed-ebx -ffixed-ebp"
+ ;;
+ *)
+ regs=""
+ esac
+ # Most BSD systems support OSS audio, too:
+ cat >>confdefs.h <<\_ACEOF
+#define STONX_AUDIO_LINUX 1
+_ACEOF
+
+ libs=""
+ ;;
*bsd*)
echo 'A BSD box...'
case $t in

View file

@ -0,0 +1,242 @@
--- STonX-0.6.7.6.orig/di_dis.c 2004-08-15 14:33:40.000000000 +0200
+++ di_dis.c 2004-12-25 15:21:15.000000000 +0100
@@ -76,7 +76,6 @@
static const OP_DEF table[] = {
"ABCD",0xc100,0xf1f0,type_14,
- "ADD",0xd000,0xf000,type_3, /* add, adda */
"RESET",0x4e70,0xffff,type_10,
"RTE",0x4e73,0xffff,type_10,
@@ -105,12 +104,12 @@
"NBCD",0x4800,0xffc0,type_15,
"PEA",0x4840,0xffc0,type_5,
+ "CHK",0x4180,0xf1c0,type_16,
+ "LEA",0x41c0,0xf1c0,type_2,
"EXT",0x4800,0xfe30,type_12,
"MOVEM",0x4880,0xfb80,type_23,
- "CHK",0x4180,0xf1c0,type_16,
- "LEA",0x41c0,0xf1c0,type_2,
"TST",0x4a00,0xff00,type_7,
"CLR",0x4200,0xff00,type_15,
@@ -152,13 +151,13 @@
"SVC",0x58c0,0xffc0,type_5,
"SVS",0x59c0,0xffc0,type_5,
"ADDQ",0x5000,0xf100,type_6,
- "ADDX",0xd000,0xf130,type_14,
- "EXG",0xc100,0xf130,type_18,
+ "ADDA",0xd0c0,0xf0c0,type_3, /* ADDA can look like a ADDX! */
+ "ADDX",0xd100,0xf130,type_14,
+ "ADD",0xd000,0xf000,type_3, /* add, adda */
"MULS",0xc1c0,0xf1c0,type_16,
"MULU",0xc0c0,0xf1c0,type_16,
+ "EXG",0xc100,0xf130,type_18,
"AND",0xc000,0xf000,type_3,
- "ASL",0xe100,0xf118,type_11,
- "ASR",0xe000,0xf118,type_11,
"BCC",0x6400,0xff00,type_8,
"BCS",0x6500,0xff00,type_8,
"BEQ",0x6700,0xff00,type_8,
@@ -175,15 +174,14 @@
"BVS",0x6900,0xff00,type_8,
"BRA",0x6000,0xff00,type_8,
"BSR",0x6100,0xff00,type_8,
+ "CMPA",0xb0c0,0xf0c0,type_3, /* cmpa */
"CMPM",0xb108,0xf138,type_19,
+ "EOR",0xb100,0xf100,type_3,
"CMP",0xb000,0xf000,type_3, /* cmp,cmpa */
"DIVS",0x81c0,0xf1c0,type_16,
"DIVU",0x80c0,0xf1c0,type_16,
- "EOR",0xd000,0xf000,type_3,
- "LSR",0xe008,0xf118,type_11,
- "LSR",0xe2c0,0xffc0,type_11,
- "LSL",0xe108,0xf118,type_11,
- "LSL",0xe3c0,0xffc0,type_11,
+ "MOVEA.W",0x3040,0xf1c0,type_4,
+ "MOVEA.L",0x2040,0xf1c0,type_4,
"MOVE.B",0x1000,0xf000,type_4,
"MOVE.W",0x3000,0xf000,type_4,
"MOVE.L",0x2000,0xf000,type_4,
@@ -196,10 +194,10 @@
"%6lx EORI #$%x,SR",0x0a7c,0xffff,type_27,
"%6lx ANDI #$%x,CCR",0x023c,0xffff,type_27, /* ANDI #<data>,CCR */
"%6lx ANDI #$%x,SR",0x027c,0xffff,type_27, /* ANDI #data,SR */
- "%6lx MOVEP.W %x(%s),%s",0x0108,0xf1f8,type_29,
- "%6lx MOVEP.W %s,%x(%s)",0x0188,0xf1f8,type_29,
- "%6lx MOVEP.L %x(%s),%s",0x0148,0xf1f8,type_29,
- "%6lx MOVEP.L %s,%x(%s)",0x01c8,0xf1f8,type_29,
+ "%6lx MOVEP.W $%x(%s),%s",0x0108,0xf1f8,type_29,
+ "%6lx MOVEP.W %s,$%x(%s)",0x0188,0xf1f8,type_29,
+ "%6lx MOVEP.L $%x(%s),%s",0x0148,0xf1f8,type_29,
+ "%6lx MOVEP.L %s,$%x(%s)",0x01c8,0xf1f8,type_29,
"BTST",0x0800,0xffc0,type_20,
"BSET",0x08c0,0xffc0,type_20,
"BCHG",0x0840,0xffc0,type_20,
@@ -216,14 +214,23 @@
"BCHG",0x0140,0xf1c0,type_21,
"BCLR",0x0180,0xf1c0,type_21,
+ "ASR",0xe0c0,0xffc0,type_11,
+ "ASL",0xe1c0,0xffc0,type_11,
+ "LSR",0xe2c0,0xffc0,type_11,
+ "LSL",0xe3c0,0xffc0,type_11,
+ "ROXR",0xe4c0,0xffc0,type_11,
+ "ROXL",0xe5c0,0xffc0,type_11,
+ "ROR",0xe6c0,0xffc0,type_11,
+ "ROL",0xe7c0,0xffc0,type_11,
+ "ASR",0xe000,0xf118,type_11,
+ "ASL",0xe100,0xf118,type_11,
+ "LSR",0xe008,0xf118,type_11,
+ "LSL",0xe108,0xf118,type_11,
"ROL",0xe118,0xf118,type_11,
"ROR",0xe018,0xf118,type_11,
- "ROL",0xe7c0,0xffc0,type_11,
- "ROR",0xe6c0,0xffc0,type_11,
"ROXL",0xe110,0xf118,type_11,
"ROXR",0xe010,0xf118,type_11,
- "ROXL",0xe5c0,0xffc0,type_11,
- "ROXR",0xe4c0,0xffc0,type_11,
+
"SUBQ",0x5100,0xf100,type_6,
"SUBA",0x90c0,0xf0c0,type_3, /* SUBA can look like a SUBX! */
"SUBX",0x9100,0xf130,type_14,
@@ -237,7 +244,9 @@
static const char *data_regs[] = {
"D0","D1","D2","D3","D4","D5","D6","D7"};
-static const char *sizes[] = {".B",".W",".L"};
+static const char *sizes[] = {".B",".W",".L",".?"};
+
+static const char *unknown = "??";
void *dis(void *c,char *s)
{
@@ -309,7 +318,7 @@
ULONG adr;
/* WORD data; */
- adr = LM_UL(MEM(c));
+ adr = (long) c;
c++;
sprintf(s,table[index].op,adr,LM_UW(MEM(c)));
return(++c);
@@ -524,7 +533,14 @@
adr = (long)c;
dest_reg = (LM_UW(MEM(c)) & 0x0e00) >> 9; /* get destination reg */
source = LM_UW(MEM(c)) & 0x3f; /* this is an effective address */
- c = effective_address(c,e_a,source,index,0); /* do effective address */
+ if (0x0100 == (LM_UW(MEM(c)) & 0xf1c0))
+ {
+ c = effective_address(c,e_a,source,index,BYTE_SIZE); /* do effective address for BTST (special for BTST Dn,#) */
+ }
+ else
+ {
+ c = effective_address(c,e_a,source,index,0); /* do effective address */
+ }
sprintf(s,"%6lx %s %s,%s",adr,table[index].op,data_regs[dest_reg],e_a);
++c;
return(c);
@@ -575,7 +591,7 @@
const char *rx,*ry;
adr = (long)c;
- dest = LM_UL(MEM(c)) & 0x07;
+ dest = LM_UW(MEM(c)) & 0x07;
source = (LM_UW(MEM(c)) & 0x0e00) >> 9;
op_mode = (LM_UW(MEM(c)) & 0xf8) >> 3;
if(op_mode == 0x08)
@@ -593,6 +609,11 @@
rx = data_regs[source];
ry = adr_regs[dest];
}
+ else
+ {
+ rx = unknown;
+ ry = unknown;
+ }
sprintf(s,"%6lx %s %s,%s",adr,table[index].op,rx,ry);
++c;
return(c);
@@ -693,7 +714,7 @@
}
else
{
- il_data = LM_UL(MEM(c));
+ il_data = LM_UW(MEM(c));
}
c = effective_address(c,e_a,dest,index,0);
sprintf(s,"%6lx %s%s #$%lx,%s",adr,table[index].op,sizes[size],il_data,e_a);
@@ -731,7 +752,7 @@
size = (LM_UW(MEM(c)) & 0x0c0) >> 6;
if(size < 3) /* register shifts */
{
- type = (LM_UW(MEM(c)) & 0x100) >> 8;
+ type = (LM_UW(MEM(c)) & 0x20) >> 5;
dest = (LM_UW(MEM(c)) & 0x07);
count = (LM_UW(MEM(c)) & 0x0e00)>>9;
if(type)
@@ -796,9 +817,9 @@
else
{
size = ".S";
- displacement = (UWORD)( (WORD)( (char)displacement) );
+ displacement = (UWORD)( (WORD)( (char)displacement) + 2 );
}
- dest = (long)c + (long)((WORD)displacement) + 2l;
+ dest = (long)c + (long)((WORD)displacement);
sprintf(s,"%6lx %s%s $%lx",adr,table[index].op,size,dest);
++c;
return(c);
@@ -952,7 +973,7 @@
adr = (long)c;
the_reg = LM_UW(MEM(c)) & 0x07; /* get register number */
++c; /* point to word displacement */
- sprintf(s,"%6lx %s %s,#$%x",adr,table[index].op,adr_regs[the_reg],*c);
+ sprintf(s,"%6lx %s %s,#$%x",adr,table[index].op,adr_regs[the_reg],LM_UW(MEM(c)));
++c;
return(c);
}
@@ -1043,7 +1064,7 @@
displacement = LM_UW(MEM(a)) & 0xff;
index_reg = (LM_UW(MEM(a)) & 0x7000) >> 12;
index_reg_ind = (LM_UW(MEM(a)) & 0x8000)>> 15;
- index_size = (LM_UW(MEM(a)) & 0x8000) >> 11;
+ index_size = (LM_UW(MEM(a)) & 0x0800) >> 11;
if(index_size)
{
s1 = ".L";
@@ -1082,15 +1103,15 @@
case 2: /* program counter with displacement */
++a;
displacement = LM_UW(MEM(a));
- a1 = (long)a + (long)displacement;
- sprintf(s,"%lx(PC)",a1);
+ a1 = (long)a + (long)((WORD)displacement);
+ sprintf(s,"$%lx(PC)",a1);
break;
case 3:
++a;
a1 = (long)((char)(LM_UW(MEM(a)) & 0xff));
index_reg = (LM_UW(MEM(a)) & 0x7000) >> 12;
index_reg_ind = (LM_UW(MEM(a)) & 0x8000)>> 15;
- index_size = (LM_UW(MEM(a)) & 0x8000) >> 11;
+ index_size = (LM_UW(MEM(a)) & 0x0800) >> 11;
a1 += (long)a;
if(index_size)
{
@@ -1134,6 +1155,11 @@
sprintf(s,"#$%x.B",displacement);
}
break;
+ case 5:
+ case 6:
+ case 7:
+ sprintf (s, "%s", unknown);
+ break;
default:
{
fprintf(stderr,"Overun decode!\n");

View file

@ -0,0 +1,11 @@
--- mint/mint_stonxfs_fs.c.orig 2004-08-15 15:25:24.000000000 +0200
+++ mint/mint_stonxfs_fs.c 2010-04-03 09:52:51.000000000 +0200
@@ -43,6 +43,8 @@
#elif defined(STATFS_USE_STATFS_VMOUNT)
#include <sys/statfs.h>
#include <sys/vmount.h>
+#elif defined(STATFS_USE_STATVFS)
+#include <sys/statvfs.h>
#else
#include <sys/vfs.h>
#endif

View file

@ -1,29 +1,35 @@
bin/stonx
bin/stonx.bin
lib/X11/STonX/FLOPPY-4MB
lib/X11/STonX/Keysyms
lib/X11/STonX/Keysyms.G
lib/X11/STonX/bench1.pas
lib/X11/STonX/bench1.prg
lib/X11/STonX/cartridge.img
lib/X11/STonX/final.tos
lib/X11/STonX/tos.img
%%ETCDIR%%/keysyms
%%ETCDIR%%/keysyms-alternative
%%ETCDIR%%/keysyms-german
%%ETCDIR%%/keysyms-spanish
%%ETCDIR%%/stonxrc
%%DATADIR%%/cartridge.img
%%DATADIR%%/gemdos_c/bench1.prg
%%DATADIR%%/gemdos_c/final.tos
%%DATADIR%%/gemdos_c/mint/stonx.xfs
%%DATADIR%%/tos.img
lib/X11/fonts/misc/System0-iso.pcf.gz
lib/X11/fonts/misc/System0.pcf.gz
lib/X11/fonts/misc/System1-iso.pcf.gz
lib/X11/fonts/misc/System1.pcf.gz
lib/X11/fonts/misc/System2-iso.pcf.gz
lib/X11/fonts/misc/System2.pcf.gz
lib/X11/STonX/docs/COPYING
lib/X11/STonX/docs/DEBUGGING
lib/X11/STonX/docs/FONTS
lib/X11/STonX/docs/INSTALL
lib/X11/STonX/docs/PROGRAMS
lib/X11/STonX/docs/README
lib/X11/STonX/docs/RELEASE_NOTES
lib/X11/STonX/docs/TOS-VERSIONS
@dirrm lib/X11/STonX/docs
@dirrm lib/X11/STonX
%%PORTDOCS%%%%DOCSDIR%%/AUTHORS
%%PORTDOCS%%%%DOCSDIR%%/COPYING
%%PORTDOCS%%%%DOCSDIR%%/DEBUGGING
%%PORTDOCS%%%%DOCSDIR%%/INSTALL
%%PORTDOCS%%%%DOCSDIR%%/README
%%PORTDOCS%%%%DOCSDIR%%/RELEASE_NOTES
%%PORTDOCS%%%%DOCSDIR%%/TOS-VERSIONS
%%PORTDOCS%%%%EXAMPLESDIR%%/bench1.pas
%%PORTDOCS%%%%EXAMPLESDIR%%/bench1.prg
%%PORTDOCS%%@dirrm %%EXAMPLESDIR%%
%%PORTDOCS%%@dirrm %%DOCSDIR%%
@dirrm %%DATADIR%%/gemdos_c/mint
@dirrm %%DATADIR%%/gemdos_c
@dirrm %%DATADIR%%
@dirrmtry %%ETCDIR%%
@exec mkfontdir %D/lib/X11/fonts/misc
@exec xset fp+ %D/lib/X11/fonts/misc
@exec xset fp rehash