[comp.os.minix] Tandy 1000 Minix diffs

japplega@csm9a.UUCP (Joe Applegate) (08/03/88)

This shar file will create 3 cdiff's to patch the Minix 1.3 kernel to
work with a Tandy 1000 or 1000A... they may or may not work with the
new SX models.
These diffs are derived from a very early MINIX fix posted by John Clark
Cdiff's will be produced for const.h main.c and floppy.c
A makefile (tn_makefile) will also be generated

# ------- cut here and pass to sh -------
# Tandy 1000 and 1000A cdiffs for Minix 1.3
echo x - const.cdiff
sed '/^X/s///' > const.cdiff << '/'
X*** const.h	Tue Aug  2 20:22:09 1988
X--- ../kernel/const.h	Tue Aug  2 19:30:27 1988
X***************
X*** 25,31 ****
X  #define ETHER_VECTOR      11	/* ethernet interrupt vector */
X  #define SECONDARY_VECTOR  11	/* RS232 interrupt vector for port 2 */
X  #define	RS232_VECTOR      12	/* RS232 interrupt vector for port 1 */
X! #define XT_WINI_VECTOR	  13	/* xt winchester interrupt vector */
X  #define FLOPPY_VECTOR     14	/* floppy disk interrupt vector */
X  #define PRINTER_VECTOR    15	/* line printer interrupt vector */
X  #define SYS_VECTOR        32	/* system calls are made with int SYSVEC */
X--- 25,38 ----
X  #define ETHER_VECTOR      11	/* ethernet interrupt vector */
X  #define SECONDARY_VECTOR  11	/* RS232 interrupt vector for port 2 */
X  #define	RS232_VECTOR      12	/* RS232 interrupt vector for port 1 */
X! 
X! #ifndef T1K
X! #define XT_WINI_VECTOR	  13	/* xt winchester interrupt vector */
X! #endif /* not Tandy 1000 */
X! #ifdef T1K
X! #define XT_WINI_VECTOR    10	/* Tandy 1000 winchestor int. vector */
X! #endif /* Tandy 1000 */
X! 
X  #define FLOPPY_VECTOR     14	/* floppy disk interrupt vector */
X  #define PRINTER_VECTOR    15	/* line printer interrupt vector */
X  #define SYS_VECTOR        32	/* system calls are made with int SYSVEC */
/
echo x - floppy.cdiff
sed '/^X/s///' > floppy.cdiff << '/'
X*** floppy.c	Tue Aug  2 20:22:23 1988
X--- ../kernel/floppy.c	Tue Aug  2 19:30:38 1988
X***************
X*** 369,375 ****
X   */
X  
X    if ( (motor_goal & MOTOR_MASK) != (motor_status & MOTOR_MASK) ) {
X! 	port_out(DOR, motor_goal);
X  	motor_status = motor_goal;
X    }
X  }
X--- 369,380 ----
X   */
X  
X    if ( (motor_goal & MOTOR_MASK) != (motor_status & MOTOR_MASK) ) {
X! #ifndef T1K
X! 	port_out(DOR, motor_goal);
X! #endif /* not Tandy 1000 */
X! #ifdef T1K
X! 	port_out(DOR, motor_goal | 0X0F);
X! #endif /* Tandy 1000 */
X  	motor_status = motor_goal;
X    }
X  }
/
echo x - main.cdiff
sed '/^X/s///' > main.cdiff << '/'
X*** main.c	Tue Aug  2 20:22:26 1988
X--- ../kernel/main.c	Tue Aug  2 19:30:54 1988
X***************
X*** 177,184 ****
X    pick_proc();
X  
X    /* Now go to the assembly code to start running the current process. */
X!   port_out(INT_CTLMASK, 0);	/* do not mask out any interrupts in 8259A */
X!   port_out(INT2_MASK, 0);	/* same for second interrupt controller */
X    restart();
X  }
X  
X--- 177,190 ----
X    pick_proc();
X  
X    /* Now go to the assembly code to start running the current process. */
X! #ifndef T1K
X!   port_out(INT_CTLMASK, 0);	/* do not mask out any interrupts in 8259A */
X!   port_out(INT2_MASK, 0);	/* same for second interrupt controller */
X! #endif /* not Tandy 1000 */
X! #ifdef T1K
X!   port_out(INT_CTLMASK, 0X20);	/* mask interrupt 5 */
X!   /* Tandy's do not use the 2nd interrupt controller */
X! #endif /* Tandy 1000 */
X    restart();
X  }
X  
/
echo x - tn_makefile
sed '/^X/s///' > tn_makefile << '/'
X# The kernel dir contains xt_wini.c and at_wini.c.  Before running make
X# you must copy one of these to wini.c, depending on which controller you
X# have.  If you do not have a hard disk, you MUST choose one of them at random.
X# On a PC, cpp and cem are in /lib and will be removed to make space while
X# linking the kernel.  On an AT, they are in /usr/lib are are not removed.
X# This is because they have to be in /lib on a PC; the diskette is too small
X# for them to be in /usr/lib.  You can change this by editing commands/cc.c.
X#
X# Normally, MINIX scrolls the screen using the 6845's registers.  However,
X# on some EGA cards (those that are not IBM compatible), the 6845 is not
X# properly emulated.  On these machines, it is necessary to scroll in
X# software by copying. This is much slower, but it works. The CFLAGS flags are:
X#
X#  -Di8088	- required on an 8088/80286/80386 CPU; forbidden on a 68000
X#  -F		- run cpp and cem sequentially (used when memory is tight)
X#  -T.		- put temporaries in working directory (when RAM disk is small)
X#
X# In the standard distribution, the following defaults are set
X#  PC:		CFLAGS = -Di8088 -F -T.
X#  Tandy:       CFLAGS = -Di8088 -DT1K -F -T.
X#  AT:		CFLAGS = -Di8088 -F 
X#
XCFLAGS= -Di8088 -DT1K -F -T.
Xh=../h
Xl=/usr/lib
X
Xobj =	mpx88.s main.s tty.s floppy.s wini.s system.s proc.s clock.s memory.s \
X	printer.s table.s klib88.s dmp.s
X
Xcobjs =	main.s tty.s floppy.s wini.s system.s proc.s clock.s memory.s \
X	printer.s table.s dmp.s
X
X
Xkernel:	makefile $(obj) $l/libc.a
X	@echo "Start linking Kernel."
X	@echo "On a PC, /lib/* will be removed to make space on RAM disk"
X	@echo "If linking fails due to lack of space on 2/1, rm xx_wini.c"
X	@rm -f /lib/cem /lib/cpp  /tmp/*
X	@asld -o kernel $(obj) $l/libc.a $l/end.s
X	@echo "Kernel done.  On a PC, restore /lib/cem and /lib/cpp manually"
X
Xclean:
X	rm -f $(cobjs)
X
Xclock.s:	const.h type.h $h/const.h $h/type.h
Xclock.s:	$h/callnr.h
Xclock.s:	$h/com.h
Xclock.s:	$h/error.h
Xclock.s:	$h/signal.h
Xclock.s:	glo.h
Xclock.s:	proc.h
X
Xfloppy.s:	const.h type.h $h/const.h $h/type.h
Xfloppy.s:	$h/callnr.h
Xfloppy.s:	$h/com.h
Xfloppy.s:	$h/error.h
Xfloppy.s:	glo.h
Xfloppy.s:	proc.h
X
X
Xdmp.s:		const.h type.h $h/const.h $h/type.h
Xdmp.s:		$h/callnr.h
Xdmp.s:		$h/com.h
Xdmp.s:		$h/error.h
Xdmp.s:		glo.h
Xdmp.s:		proc.h
X
Xmain.s:		const.h type.h $h/const.h $h/type.h
Xmain.s:		$h/callnr.h
Xmain.s:		$h/com.h
Xmain.s:		$h/error.h
Xmain.s:		glo.h
Xmain.s:		proc.h
X
Xmemory.s:	const.h type.h $h/const.h $h/type.h
Xmemory.s:	$h/callnr.h
Xmemory.s:	$h/com.h
Xmemory.s:	$h/error.h
Xmemory.s:	proc.h
X
Xprinter.s:	const.h type.h $h/const.h $h/type.h
Xprinter.s:	$h/callnr.h
Xprinter.s:	$h/com.h
Xprinter.s:	$h/error.h
Xprinter.s:	proc.h
Xprinter.s:	glo.h
X
Xproc.s:		const.h type.h $h/const.h $h/type.h
Xproc.s:		$h/callnr.h
Xproc.s:		$h/com.h
Xproc.s:		$h/error.h
Xproc.s:		glo.h
Xproc.s:		proc.h
X
Xsystem.s:	const.h type.h $h/const.h $h/type.h
Xsystem.s:	$h/callnr.h
Xsystem.s:	$h/com.h
Xsystem.s:	$h/error.h
Xsystem.s:	$h/signal.h
Xsystem.s:	glo.h
Xsystem.s:	proc.h
X
Xtable.s:	const.h type.h $h/const.h $h/type.h $h/com.h
Xtable.s:	glo.h
Xtable.s:	proc.h
X
Xtty.s:	const.h type.h $h/const.h $h/type.h
Xtty.s:	$h/callnr.h
Xtty.s:	$h/com.h
Xtty.s:	$h/error.h
Xtty.s:	$h/sgtty.h
Xtty.s:	$h/signal.h
Xtty.s:	glo.h
Xtty.s:	proc.h
X
Xwini.s:	const.h type.h $h/const.h $h/type.h
Xwini.s:	$h/callnr.h
Xwini.s:	$h/com.h
Xwini.s:	$h/error.h
Xwini.s:	proc.h
/

muehl@vim.ARPA (Ted Muehl ) (08/28/88)

Hello,


	Article 681 in this newsgroup posts a patch  for the Minix 1.3 kernel
	to work on a Tandy 1000 or 1000A.  It also mentions that it may or may
	not work with the Tandy 1000 SX.  Could anyone inform me if they have
	successfully patched a Tandy 1000 SX with this fix or any other fix?
	Also, will this patch work with the Minix 1.2 version that I have?

			tanx,
			 Ted Muehl

muehl@brl.mil

charles@hpcvca.HP.COM (Charles Brown) (09/01/88)

>	Article 681 in this newsgroup posts a patch  ....
>			 Ted Muehl

The Article # is relative to the site.  At this site the numbers stop
around 50.  When you local site administrator archives the notes
file, all the article numbers change.  When referring to an old
posting you need to provide other information such as the title and
the poster's name.  Of course, with an article *that* old many of us
will have no access to it.
	Charles Brown		charles%hpcvca@hplabs