Short list of differences between 1.7.0 and 1.7.1:

- The BIOS driver can now operate in 286 or 386 protected mode.

- Higher RS232 baud rates

- More robust ethernet driver that supports the WD8003, WD8013, NE1000,
  NE2000, and SMC Elite Ultra.

- Interface to the Boot Monitor changed so that Minix can return to
  it.  Also support for a BIOS disk I/O call added.  Minix 1.7.1 must
  be booted by the new Monitor.

- New are the Mitsumi & Soundblaster drivers.  Neither of these have been
  tested very well after integration in 1.7.1.

Long list of differences between 1.7.0 and 1.7.1:

include/errno.h
	ERROR changed into EGENERIC (symbol ERROR often used in user code,
	although all E* symbols are reserved if <errno.h> is included.)

include/unistd.h
	Rebooting codes for various ways of rebooting added.

include/minix/cdrom.h
	For the Mitsumi CD-ROM driver.

include/minix/com.h
	Changed task number definitions of optional tasks to

		#define TASK  (PREVIOUS_TASK - ENABLE_TASK)

	This replaces the former #ifdef spaghetti.  The ENABLE_XXX defines
	must be exactly 0 or 1.

include/minix/config.h
	Z_MAP_SLOTS upped to 32 to allow V2 file systems of up to 256 Mb.
	ENABLE_XXX variables for Mitsumi CD-ROM and Soundblaster drivers
	added.

include/minix/const.h
	NR_IOREQS symbol introduced as the maximum size of a scattered
	I/O vector.  Vectors used to be NR_BUFS in size, which is a
	potentionally large value.

	NR_TASKS redefined as (10 + ENABLE_XXX + ENABLE_YYY + ...).

include/minix/sound.h
	For the Soundblaster driver.

include/minix/syslib.h
	Declarations for all the interface functions to the system task
	added.

include/sgtty.h
	Definitions for higher baud rates.  (Some so high that they are
	not likely to even work, but you can never know.)  Untested!

include/sys/ioctl.h
	Carloads of ioctl request codes added for font loading, CD-ROM,
	and Soundblaster.

man
	Various manpages updated, several new ones for new commands.
	The boot(8) manpage contains several new or changed boot
	parameters, and the TCP/IP configuration section is updated for
	the new ethernet driver.
	New manual pages: loadfont(0), isodir(1), isoinfo(1), isoread(1),
	mixer(1), playwave(1), cdplay(1), isoread(1), recwave(1),
	screendump(8).

src/boot/boot.c
	Boot device name in boot monitor prompt.

src/boot/boothead.s
	Allow Minix to return to the monitor.  This means that Minix is
	just a subprocess to the monitor.  The monitor either reboots Minix
	(this is very fast) or shows the monitor prompt (halt).

	Offer a support function for Minix-386 to make a BIOS int 13 call
	for bios_wini.

src/boot/edparams.c
	Don't edit boot parameters unless there is a genuine Minix
	bootstrap on the device.  Exit command to exit to Minix.

src/boot/extboot.s
	Bootstrap that boots Minix in an logical (extended) partition.
	For if you really, really, need to have Minix in logical
	partition.  (For the brave and foolish.)

src/boot/installboot.c
	Support for extboot.s.

src/boot/masterboot.s
	Stupid bug fixed in the "BOOT B:" trick.  (Boot the other floppy
	if floppy 0 contains masterboot.)

src/commands/aal/archiver.c
	Use a temp file in /usr/tmp for /tmp may not be big enough to
	contain a copy of the library.

src/commands/ellec.c
	Bug fixed to make 'ellec -Profile' work.

src/commands/i386/asmconv
	Translation of complex jmp and call targets from ACK to NCC or GNU
	fixed.  Proper translation of CBW, CDQ, CWD, and CWDE from BAS to
	ACK.

src/commands/i86/cc.c
	Give better advise than using chmem.

src/commands/ibm
	New commands: cdplay, loadfont, mixer, playwave, recwave.
	Moved in from commands/simple: loadkeys, screendump, term.

src/commands/ibm/fdisk.c
	Fixed master bootstrap included.

src/commands/ibm/part.c
	User interface changed to make it tad more user friendly.  Also
	fixed master bootstrap included.

src/commands/ibm/readclock.c
	Don't complain if the machine is not an AT or PS/2.

src/commands/ibm/screendump.c
	Mono or colour?  Just look at BIOS variable 0x40:0x63 and you know.

src/commands/kermit
	Higher baud rates.  Untested!

src/commands/mined/mined1.c
	Allow characters with bit 8 set.  (KJB's idea of internationalization
	is that all characters with bit 8 set are letters.)

src/commands/reboot/shutdown.c
	New flags: -R: reboot with a hard reset (old style reboot),
	           -x "boot hd1": execute this monitor code on reboot.

src/commands/scripts/DESCRIBE.sh
src/commands/scripts/MAKEDEV.sh
	Add knowledge of /dev/cd*, /dev/audio, and /dev/mixer.

src/commands/scripts/instdist.sh
	Added more text to make it more expert hostile.  Find out what our
	root and usr devices are.  If usr=fd0c then root is on fd0, etc.

src/commands/scripts/mkdist.sh
	Make V1 file systems to save a few bytes.

src/commands/scripts/whatis.sh
	Search expression fixed.

src/commands/simple
	New command: isoread.
	Obsolete or useless and thus removed: fix, getlf, gres, hyphenate.
	Moved to commands/ibm: loadkeys, screendump, term.

src/commands/simple/dd.c
	Added 'conv=silent' to suppress "records in/out" messages.  This
	option is unportable, but useful in Minix specific scripts.

src/commands/simple/file.c
	Replaced by the Minix-386vm version for it understands more
	executable types.  (Old file didn't know Minix-386 binaries.)

src/commands/simple/in.rshd.c
	Some port selection bug fixed.  (Je ne parle pas TCP/IP.)

src/commands/simple/rarpd.c
	Major overhaul.  Checks if networks already configured, makes RARP
	requests, slices bread, answers RARP if /etc/ethers exists.

src/commands/simple/rsh.c
	Proper path to rlogin.

src/commands/simple/vol.c
	Added knowledge of tape block sizes.  Very useful now for compressed
	backups to tape.  New manual page.

src/fs/cache.c::rw_scattered()
	Limit I/O vectors to NR_IOREQS blocks.  NR_IOREQS = max(NR_BUFS, 64).

src/fs/const.h
	FS_STACK_BYTES symbol removed.  FS is now loaded with a normal
	crtso.s instead of the special head.s.  The stack size is set
	with chmem.  The stack is allocated by the boot monitor.

src/fs/file.h
	Locking definitions moved to lock.h.

src/fs/glo.h
	The fstack array removed.

src/fs/lock.[hc]
	Locking code formerly in file.h and misc.c.

src/fs/misc.c
	Locking code moved to lock.c.

src/fs/read.c
	Bug with large pipe writes fixed.  (Return count was wrong.)

	The rw_user() function removed.  All calls to rw_user() are
	replaced by sys_copy() calls.

	Read ahead limited to NR_IOREQS blocks.

src/fs/table.c
	Device table cleaned up and CD-ROM, AUDIO, and MIXER devices
	added.

src/fs/utility.c
	The sys_xxx() functions moved to src/lib/syslib.

src/inet
	Broadcast ethernet address properly recognized, and other little
	fixes.

	Stack array removed in favour of a stack created by the monitor.

src/kernel/aha_scsi.c
	Deadly bug fixed in the CD-ROM reading code.
	Drives larger than 1 Gb have a fake 255x63 geometry.  (This was
	already so in the 386vm driver.  Stupid of me not to adapt this
	one.)
	Major overhaul to remove code that issues multiple commands to the
	same target.  Hardly made a performance difference, but complicated
	the code leading to crashes on moon phase changes.

src/kernel/*_wini.c
	Partititions is not speled that way.

src/kernel/bios_wini.c
	Adapted to run in protected mode.  (Both 286 and 386 protected mode!)
	Max number of drives set to 4.

src/kernel/clock.c
	Code added to reprogram the clock to the BIOS rate at Minix halt.
	Tricks added to collect clock ticks that get lost when the BIOS
	driver is active.
	New millisecond timer primitives to aid in high speed polling of
	I/O registers.  Various drivers adapted to use them.

src/kernel/console.c
	Don't blank the screen when switching to software scrolling.  Don't
	change the cursor shape.  Code added to load a new font into the
	VGA card.  There are no fonts yet though.

src/kernel/dp8390.[hc]
	New ethernet driver for cards based on the DP8390 chip.

src/kernel/driver.c
	Several nop_xxx functions removed.  Tasks are now completely
	configured out of the kernel, they no longer run a dummy loop.

src/kernel/ether.[hc]
src/kernel/hw_conf.h
	Old ethernet driver.  Removed.

src/kernel/i8259.c
	Reprogram the interrupt controllers only if in protected mode.  In
	real mode we use the normal BIOS interrupt vectors, and only
	reprogram those that Minix needs.

src/kernel/keyboard.c
	CTRL-ALT-DEL now halts instead of rebooting.  (The monitor would
	otherwise reboot Minix-386.  This is usually not what the person
	behind the console wants.)

	Reboot code changed to return to the monitor for Minix-386.  All
	devices appropriately reprogrammed for the BIOS.

src/kernel/keymaps/spanish.src
	Modified by Javier Garcia Martin (jawa@inf.deusto.es).

src/kernel/klib386.s
src/kernel/klib88.s
	8086 bios13 code changed to enable all unused IRQ's and to
	disable them afterward, so that bios_wini need not know the IRQ
	of the disk.  286 bios13 allows bios_wini to operate in
	protected mode.  It steps back to real mode with a processor
	shutdown, makes the BIOS call, and steps back up to protected
	mode.  The 386 version makes a call to a monitor function that
	makes the call using 386 ways to step in and out of real mode.
	Don't read this code if mentally unstable.

	Port_read_byte() and port_write_byte() functions added that do
	block port I/O in byte mode.  (Needed for the NE1000 driver and
	the Mitsumi CD-ROM driver.)

	Protected mode initialization code cleaned up and calls to it
	removed from C code.

	Extended memory copy removed from klib88.s::phys_copy() for lack
	of use.

src/kernel/main.c
	Stack pointers of servers initialized to the top of their
	address space where the monitor has made a stack.

	Stack guard words for the tasks added.  The system now panics
	early if a tasks overruns its stack, instead of crashing in an
	adjacent task.

	Real mode vector initialization code removed.  Minix now runs in
	real mode with only minimum changes to BIOS parameters.  All the
	special case code for real mode is gone.  One should be able to
	make BIOS calls from user programs, but that's just an unfortunate
	side-effect of the cleanup.  (The BIOS disk driver is happy though.)

src/kernel/mcd.c
	Mitsumi CD-ROM driver by Michel Prevenier (mrpreve@cs.vu.nl).
	(Andy has these fun projects for his students.  :-)  )

src/kernel/memory.c
	The RAM disk can no longer be placed in extended memory.  Minix
	should now be able to run in protected mode on any 286 or better,
	so we can forget about "extended memory" being special.

src/kernel/mpx386.s
src/kernel/mpx88.s
	Flags set to tell the monitor that stacks must be made for the
	servers, and that Minix-386 would like to return on reboot or
	halt.  (Requires a new boot monitor, 1.7.0 monitor won't work.)

	Cruft removed, protected mode initialization cleaned up.
	Real mode int08-16 removed.

src/kernel/ne2000.[hc]
	NE1000 and NE2000 code for the ethernet driver.

src/kernel/proc.c
	Stack guard check in unready().

src/kernel/ps_wini.c
	Writing enabled, driver otherwise nonfunctional.  (See comments
	in the file.)

src/kernel/rs2.s
src/kernel/rs232.c
	RS232 hangup code contributed by Will Rose (cwr@cts.com).
	Untested.

src/kernel/sb16.h
src/kernel/sb16_dsp.h
src/kernel/sb16_mixer.h
	Soundblaster driver by Michel Prevenier (mrpreve@cs.vu.nl).
	Hardly tested.

src/kernel/start.c
	Several changes for the monitor return and BIOS calls.  Call to
	sel_wini_task() removed, as the BIOS driver is now even useable
	in 286 protected mode.  Simplyfied a bit w.r.t. real/protected
	mode.

src/kernel/table.c
	New definitions, stack sizes, etc. for the new drivers.

src/kernel/tty.c
	New font change ioctl.  RS232 hangup.

src/kernel/wdeth.[hc]
	WD8003 and WD8013 parts of the ethernet driver.

src/kernel/wini.c
	Panic if the selected hd driver doesn't exist instead of
	silently failing.
	Sel_wini_task() folded into winchester_task().

src/lib/*/rts/head.s
	Removed.

src/lib/other/printk.c
	Replaced by the Minix-386vm version that is somewhat smaller
	and somewhat more ANSI C compliant.

src/lib/other/syslib.c
	Moved to src/lib/syslib and split up.

src/lib/posix/_getcwd.c
	Initialization bug fixed.

src/lib/syslib
	All the sys_xxx() functions from other/syslib.c and the
	utility.c files of MM and FS gathered here in separate files.
	(Much like the system call stubs in the posix directory.)  The
	sys_copy() function is changed to look like the former
	mem_copy() function of MM.

src/mm
	SIGMASK changed to SIGPROCMASK in lower or upper case.

src/mm/alloc.c
src/mm/main.c
	Get_mem() removed from main.c and built into alloc.c::mem_init().

src/mm/const.h
src/mm/glo.h
src/mm/table.c
	Stack stuff removed.

src/mm/utility.c
	Sys_xxx() functions moved to src/lib/syslib.  All calls to
	mem_copy replaced by sys_copy() calls.  (Sys_copy has been
	changed to have the same interface as old mem_copy, save a few
	type changes.)

src/tools/init.c
	Stack array removed.  Abort signal (CTRL-ALT-DEL) now does a
	halt.

src/tools/mkboot
	Delay added to 'make hdtest' to make it visible that another
	device is booted.  The other device has its own set of boot
	parameters!  Test and floppy boot device changed into file
	systems with copies of /dev and /minix.  This script must now
	be run as root from the start, 'su root' calls removed.
