Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 16 Jan 1996 02:30:15 +0100
From:      Juergen Lock <nox@jelal.hb.north.de>
To:        jmz@cabri.obs-besancon.fr
Cc:        ports@freebsd.org, nino@complang.tuwien.ac.at
Subject:   Re: Someone want to make a port of this?
Message-ID:  <199601160130.CAA00513@saturn>
In-Reply-To: <9601102213.AA27832@cabri.obs-besancon.fr>
References:  <5314.821291909@westhill.cdrom.com>

next in thread | previous in thread | raw e-mail | index | archive | help
In article <9601102213.AA27832@cabri.obs-besancon.fr> you write:
>>>>>> gpalmer  writes:
>
> >> From the WWW page (http://www.complang.tuwien.ac.at/nino/stemu.html):
>
> > Description
>
> > STonX is an Atari ST Emulator for Unix and the X Window System. It is
> > distributed under the GNU License, meaning that source code is
> > available as well - and, of course, it's free software.
> [...]
>
>
>What a coincidence. I just built it yesterday! It compile (and runs)
>without any problem. I will make a port.

Hey and i thought i was the only one playing with this :)

 here are some patches that make it run even better (0.6.3), well the
Keysyms diffs only if you have a german TOS and keyboard...

 (i don't know if its time to make a real `port' yet, development is
quite fast at the moment...  besides, does DISTFILES undestand http:
locations yet?)

 have fun
	Juergen

# This is a shell archive.  Save it in a file, remove anything before
# this line, and then unpack it by entering "sh file".  Note, it may
# create directories; files and directories will be owned by you and
# have default permissions.
#
# This archive contains:
#
#	patches/
#	patches/patch-aa
#	patches/patch-ac
#	patches/patch-ad
#	patches/patch-ca
#	patches/patch-cb
#	patches/patch-cc
#	patches/patch-da
#	patches/patch-db
#	patches/patch-de
#
echo c - patches/
mkdir -p patches/ > /dev/null 2>&1
echo x - patches/patch-aa
sed 's/^X//' >patches/patch-aa << 'END-of-patches/patch-aa'
XIndex: Keysyms
X@@ -28,9 +28,8 @@
X E		ST_E
X R		ST_R
X T		ST_T
X-Y		ST_Y
X-#German TOS:
X-#Z		ST_Y
X+#Y		ST_Y
X+Z		ST_Y
X U		ST_U
X I		ST_I
X O		ST_O
X@@ -44,9 +43,8 @@
X J		ST_J
X K		ST_K
X L		ST_L
X-Z		ST_Z
X-#German TOS:
X-#Y		ST_Z
X+#Z		ST_Z
X+Y		ST_Z
X X		ST_X
X C		ST_C
X V		ST_V
X@@ -70,17 +68,24 @@
X KP_9		ST_KP_9
X KP_Divide	ST_KP_DIV
X KP_Multiply	ST_KP_MULT
X+KP_Decimal	ST_KP_DOT
X Alt_L		ST_ALT
X Escape		ST_ESC
X-minus		ST_MINUS
X-equal		ST_EQUAL
X-grave	ST_GRAVE
X+#minus		ST_MINUS
X+ssharp		ST_MINUS
X+#equal		ST_EQUAL
X+acute		ST_EQUAL
X+#grave		ST_GRAVE
X+numbersign		ST_GRAVE
X+#asciitilde		ST_GRAVE
X BackSpace	ST_BS
X Delete		ST_DELETE
X Insert		ST_INSERT
X Tab		ST_TAB
X-bracketleft	ST_SQ_OPEN
X-bracketright	ST_SQ_CLOSE
X+#bracketleft	ST_SQ_OPEN
X+udiaeresis	ST_SQ_OPEN
X+#bracketright	ST_SQ_CLOSE
X+plus	ST_SQ_CLOSE
X Up		ST_UP
X Left		ST_LEFT
X Right		ST_RIGHT
X@@ -89,15 +94,25 @@
X Shift_L		ST_LSH
X Shift_R		ST_RSH
X Caps_Lock	ST_CAPSLOCK
X-semicolon	ST_SEMIC
X-apostrophe	ST_APOST
X-backslash	ST_BACKSL
X+#semicolon	ST_SEMIC
X+odiaeresis	ST_SEMIC
X+#apostrophe	ST_APOST
X+adiaeresis	ST_APOST
X+#backslash	ST_BACKSL
X+#numbersign	ST_BACKSL
X+#asciitilde	ST_BACKSL
X+asciicircum	ST_BACKSL
X+less		ST_ISO
X comma		ST_COMMA
X period		ST_DOT
X-slash		ST_SLASH
X+#slash		ST_SLASH
X+minus		ST_SLASH
X Return		ST_RETURN
X KP_Enter	ST_KP_ENTER
X KP_Subtract	ST_KP_MINUS
X KP_Add		ST_KP_PLUS
X-Help		ST_HELP
X-Undo		ST_UNDO
X+Home		ST_HOME
X+#Help		ST_HELP
X+#Undo		ST_UNDO
X+Print		ST_HELP
X+Break		ST_UNDO
END-of-patches/patch-aa
echo x - patches/patch-ac
sed 's/^X//' >patches/patch-ac << 'END-of-patches/patch-ac'
XIndex: config/x86-linux.h
X@@ -10,7 +10,7 @@
X #define PCREG "%ebp"
X #undef SRREG
X #define IS_BIG_ENDIAN 0
X-#define SMALL 1
X+#define SMALL 0
X 
X #define STONX_AUDIO_LINUX
X 
END-of-patches/patch-ac
echo x - patches/patch-ad
sed 's/^X//' >patches/patch-ad << 'END-of-patches/patch-ad'
XIndex: configure
X@@ -1130,6 +1130,12 @@
X 	regs="-fomit-frame-pointer"
X 	conf="config/x86-linux.h"
X 	;;
X+i*86-*bsd*)
X+	echo 'A 80x86-based BSD box...'
X+	regs="-fomit-frame-pointer -ffixed-ebx -ffixed-ebp"
X+	copt="-O3"
X+	conf="config/x86-linux.h"
X+	;;
X mips-sgi-irix*)
X 	echo 'Wow, an SGI!'
X 	conf="config/mips-sgi-irix.h"
END-of-patches/patch-ad
echo x - patches/patch-ca
sed 's/^X//' >patches/patch-ca << 'END-of-patches/patch-ca'
XIndex: main.c
X@@ -201,7 +201,16 @@
X 		{	int i,c=1;	
X 			char *args[64];
X 			for (i=0;i<64;i++) args[i] = malloc(sizeof(char)*256);
X-			while (fscanf(rc,"%s",args[c]) != EOF) c++;
X+			while (fscanf(rc,"%s",args[c]) != EOF) {
X+				if (args[c][0] == '#') {
X+					int ch;
X+					while ((ch = fgetc(rc)) != EOF &&
X+						ch != '\n')
X+						;
X+					continue;
X+				}
X+				c++;
X+			}
X 			fclose(rc);
X 			fprintf (stderr, "Using configuration file:%s\n", stonxrc);
X 			process_args (c, args,1);
END-of-patches/patch-ca
echo x - patches/patch-cb
sed 's/^X//' >patches/patch-cb << 'END-of-patches/patch-cb'
XIndex: Keysyms
X@@ -116,4 +116,3 @@
X #Undo		ST_UNDO
X Print		ST_HELP
X Break		ST_UNDO
X-numbersign	ST_ISO
END-of-patches/patch-cb
echo x - patches/patch-cc
sed 's/^X//' >patches/patch-cc << 'END-of-patches/patch-cc'
XIndex: xlib_vdi.c
X@@ -1315,6 +1315,7 @@
X void vdi_post (UL as)
X {
X 	UW *a;
X+	UW v_cel_ht;
X 	UL pblock = DREG(1);
X 	control	= LM_UL(MEM(pblock));
X 	intin 	= LM_UL(MEM(pblock+4));
X@@ -1326,12 +1327,13 @@
X 	SM_W(INTOUT(1),vdi_h-1);
X 	fprintf(stderr,"abase=$%lx\n",abase);
X 	a=MEM(abase);
X+	v_cel_ht=LM_UW(a-0x2e/2);
X 	SM_W(a-0x15a,vdi_w-1);
X 	SM_W(a-0x159,vdi_h-1);
X 	SM_W(a+1,scr_width/8);
X 	SM_W(a-1,scr_width/8);
X 	SM_W(a-22,scr_width/8-1);
X-	SM_W(a-21,scr_height/16-1);
X+	SM_W(a-21,scr_height/v_cel_ht-1);
X 	SM_W(a-20,scr_width*2);
X 	SM_W(a-6,scr_width);
X 	SM_W(a-2,scr_height);
X@@ -1340,10 +1342,12 @@
X void linea_post (UL as)
X {
X 	UW *a=MEM(DREG(0));
X+	UW v_cel_ht=LM_UW(a-0x2e/2);
X 	abase=DREG(0);
X 	SM_W(a+1,scr_width/8);
X+	SM_W(a-1,scr_width/8);
X 	SM_W(a-22,scr_width/8-1);
X-	SM_W(a-21,scr_height/16-1);
X+	SM_W(a-21,scr_height/v_cel_ht-1);
X 	SM_W(a-20,scr_width*2);
X 	SM_W(a-6,scr_width);
X 	SM_W(a-2,scr_height);
END-of-patches/patch-cc
echo x - patches/patch-da
sed 's/^X//' >patches/patch-da << 'END-of-patches/patch-da'
XIndex: configure
X@@ -1058,7 +1058,7 @@
X 
X ; return 0; }
X EOF
X-if eval $ac_link; then
X+if eval $ac_link $inc; then
X   rm -rf conftest*
X   def="$def -DSH_MEM"
X shm=ok
END-of-patches/patch-da
echo x - patches/patch-db
sed 's/^X//' >patches/patch-db << 'END-of-patches/patch-db'
XIndex: configure
X@@ -1133,7 +1133,7 @@
X 	;;
X i*86-*bsd*)
X 	echo 'A 80x86-based BSD box...'
X-	regs="-fomit-frame-pointer -ffixed-ebx -ffixed-ebp"
X+	regs="-fomit-frame-pointer -ffixed-ebx -ffixed-ebp -fno-strength-reduce"
X 	copt="-O3"
X 	conf="config/x86-linux.h"
X 	;;
END-of-patches/patch-db
echo x - patches/patch-de
sed 's/^X//' >patches/patch-de << 'END-of-patches/patch-de'
XIndex: xlib_vdi.c
X@@ -519,36 +519,47 @@
X 		GCBackground|GCForeground|GCFillStyle|GCStipple|GCFunction, &gv);
X }
X 
X-static void init_vwk (int i, W *w_in)
X+static void init_vwk (int i, W *w_in, int resetp)
X {
X+	extern int shiftmod;	/* shift mode	*/
X 	XGCValues gv;
X-	vwk[i] = malloc (sizeof(VWK));
X+	if (!resetp)
X+		vwk[i] = malloc (sizeof(VWK));
X 	gv.function = GXcopy;
X 	gv.line_width = 1;
X 	gv.foreground = 1;
X 	gv.background = 0;
X 	gv.plane_mask = 1;
X 	gv.graphics_exposures = False;
X-	gv.font = sysfont[2];
X-	vwk[i]->font_index = 2;
X+	vwk[i]->font_index = (shiftmod >= 2) ? 2 : 1;
X+	gv.font = sysfont[vwk[i]->font_index];
X 	vwk[i]->font_yoff = 0;
X 	vwk[i]->font_ver = 0;
X 	vwk[i]->font_hor = 0;
X 	vwk[i]->font_eff = 0;
X 	vwk[i]->wrmode = 1;
X-	vwk[i]->gc = XCreateGC (display, xw, VMASK, &gv);
X+	if (resetp)
X+		XChangeGC (display, vwk[i]->gc, VMASK, &gv);
X+	else
X+		vwk[i]->gc = XCreateGC (display, xw, VMASK, &gv);
X 	vwk[i]->fill_color=1;
X 	vwk[i]->line_color=1;
X 	vwk[i]->text_color=1;
X 	vwk[i]->fill_perimeter=0;
X+#if 1
X+	vwk[i]->fill_style=4;
X+	vwk[i]->fill_interior=1;
X+#else
X 	vwk[i]->fill_style=0;
X 	vwk[i]->fill_interior=0;
X+#endif
X 	vwk[i]->line_type=0;
X 	vwk[i]->line_pattern=0;
X 	vwk[i]->line_width=0;
X 	vwk[i]->line_ends=0;
X 	vwk[i]->clipping=0;
X 	bzero((char *)vwk[i]->mode,sizeof(int)*4);
X+	set_fontparms (i);
X }
X 
X static void v_opnwk (void)
X@@ -574,7 +585,7 @@
X 	init_data();
X 	SW(CONTRL(4),45);	/* XXX handle */
X 	for (i=0; i<MAX_VWK; i++)
X-		init_vwk (i, INTIN(0));
X+		init_vwk (i, INTIN(0), 0);
X 	xi = XCreateImage (display, visual, 1, XYBitmap, 0, NULL, vdi_w, vdi_h, 16, 80);
X #if XBUFFER
X 	xbuffer = XCreatePixmap (display, xw, vdi_w, vdi_h, depth);
X@@ -606,6 +617,18 @@
X 	/* do what v_opnwk() does now */
X }
X 
X+static void v_clsvwk (void)
X+{
X+	int h = LM_W(CONTRL(6));
X+	T(v_clsvwk);
X+#if 0
X+	if (ph >= 11) return;
X+#endif
X+	if ((unsigned)h<MAX_VWK)
X+		/* reset vwk */
X+		init_vwk (h, INTIN(0), 1);
X+}
X+
X static void v_pline (void)
X {
X 	int x, y, xo, yo, i=1;
X@@ -1303,7 +1326,9 @@
X IGNORE(vqm_attributes)
X IGNORE(vqf_attributes)
X IGNORE(vqt_attributes)
X+#if 0
X IGNORE(v_clsvwk)
X+#endif
X IGNORE(vq_extnd)
X IGNORE(v_contourfill)
X IGNORE(v_get_pixel)
END-of-patches/patch-de
exit




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199601160130.CAA00513>