<09 Mar 03>
  - added sound output to flash EPROM programmer
  - changed most of the source code to support new Makefile layout and
    modified configure.ac accordingly
  - moved config.h.in into include directory
  - version.h and common.i86 within include directory are now made
    by configure
  - changed dependency rules in Makefiles to use .depend files instead
    of changing each Makefile directly
  - added linker scripts and changed almost all source files to new
    binary formats (bootrom and mknbi-mgl still missing)
  - added debugging option to mknbi-dos

<07 Mar 03>
  - added check for x86-GCC to configure.ac
  - added files make.config.in and make.rules and removed a couple
    of Makefile.in

<02 Mar 03>
  - removed calls to BIOS function 15h, E881 in i386 library and
    bootrom because this call seems to hang the system with some
    BIOS versions
  - added network driver definitions for 3C509

<19 Feb 03>
  - added some more optimization rules for copt
  - changed mknbi-dos to search all directories for command.com, not
    only the root directory

<14 Feb 03>
  - added timer and keyboard functions and function to print decimal
    numbers to i386 library
  - added user abort option to Flash EPROM programmer

<13 Feb 03>
  - corrected a bug in the packet driver and NDIS driver which caused
    the hardware address to be set incorrectly

<05 Feb 03>
  - added option --without-dev86 to configure.ac
  - added support for Intel Flash EPROMs to flash EPROM programmer
  - added support for autodetecting the supported flash EPROM programmer
    hardware interface types to makerom
  - added support for window-switching bootroms to flash EPROM programmer
  - added DDIM detection to flash EPROM programmer
  - removed the now obsolete noddim functionality from makerom
  - updated the makerom man page

<03 Feb 03>
  - added packet drivers for Intel EtherExpress Pro/10, Pro/10+ ISA and
    Pro/10+ PCI from Crynwr collection
  - updated packet driver for Intel EtherExpress Pro/100B PCI from
    Crynwr collection
  - updated all network driver information for added/changed Intel
    network cards
  - added support for Intel 82595 network controller to flash EPROM
    programmer

<30 Jan 03>
  - added the noddim functionality to makerom
  - updated the makerom man page
  - changed makerom user interface code to only give flash EPROM output
    file option if noddim is specified for the network card (which means
    that the card might have onboard flash EPROM which is supported by
    makerom)
  - changed nbentry routine in nblib to support loading at image starting
    offsets different from 0

<25 Jan 03>
  - added timeout for asking about network boot in bootrom startup code
  - added support for ask timeout to makerom
  - added flash EPROM hooks to bootrom startup code

<20 Jan 03>
  - modified flash programming code for 3C905C to support all 3C90xB/C
    network cards
  - fixed a bug in the 3C90x flash programming code which caused the
    program to not recognize the installed Flash EPROM
  - fixed a bug in the sample menu MGL code printing invalid color codes
  - added 3C980C network card information

<17 Jan 03>
  - added support for different Flash EPROMs and interface cards to
    makerom flash programming code: 3C905C and RTL8139

<05 Jan 03>
  - moved flash rom programming code into it's own subdirectory within
    the makerom directory and modified all Makefiles accordingly
  - changed flash rom programming code into GAS syntax and made it to
    use the i386 target library

<03 Jan 03>
  - added error reporting to bootrom termination phase
  - corrected a bug in the bootrom kernel cleanup code which
    caused an error when the network card hardware interrupt
    is located on the master PIC

<13 Dez 02>
  - added NEWDRIVE option to nbramdrv.s86 (mknbi-dos)
  - added support for nbramdrv to rmrd.com (mknbi-dos)
  - added single-fat option to mknbi-dos
  - added volume-name option to mknbi-dos

<01 Dez 02>
  - makerom did not read empty lines or comments in a MD5 checksum file
    correctly
  - fixed a bug in the driver installation script which caused an empty
    MD5 checksum file to not correctly install further MD5 checksums

<29 Nov 02>
  - modified autoconf sources to include config.h.top into configure.in
  - renamed configure.in into configure.ac
  - fixed some bugs in configure.in which brake configure on SCO OpenServer

<19 Nov 02>
  - modified autoconf source files to support autoconf 2.52
  - all version information now comes from configure, which in turn
    gets it from netboot/version

<15 Nov 02>
  - added DHCP option to nbramdrv.s86
  - added common target assembler include file to support movzx with or
    without data32 prefix as required by the GAS version, also changed
    configure.in to check for this GAS bug

<11 Nov 02>
  - added nbramdrv.s86 DOS ramdisk driver to mknbi-dos

<27 Oct 02>
  - changed mknbi-dos to fully support 16-bit FATs and ramdisk sizes up to
    256 MB
  - changed mknbi-dos to use the i386 library
  - changed all assembler code for mknbi-dos to use GAS syntax

<03 Oct 02>
  - added i386 target library subdirectory with assembler files derived from
    mknbi-linux
  - changed mknbi-linux to use the i386 library
  - changed all assembler code for mknbi-linux to use GAS syntax

<26 Sep 02>
  - added data for manufacturer provided network drivers for 3C90x adapters
    to 3com.dif

<14 Sep 02>
  - added --nocreate option to misc/makedist, and changed the tar call to
    exclude CVS directories

<30 Aug 02>
  - some packet drivers allow to switch off the receiver, but not to turn
    it on again (clearly a bug...), so we never allow the receiever to get
    turned off.

<29 Aug 02>
  - added code to network driver interfaces (packet and NDIS) to correctly
    setup the PCI latency timer if not done by BIOS
  - added hw/pci.inc include file to bootrom which contains definitions needed
    for the PCI interface
  - added PCI vendor/device ID's for some misc. RTL-8139 network cards

<16 Aug 02>
  - some NDIS drivers don't export their upper level interface correctly, so
    eased the checks a little bit in bind_mac in file ndis.S
  - makerom incorrectly computed the number of DOS paragraphs required when
    loading more than one program with differing minsize/maxsize values
  - when storing the bootrom on a hard disk partition, the boot sector gets
    the number of sectors to load from one track wrong with certain disk
    geometries

<06 Aug 02>
  - added some 3Com network card information
  - changed mknbi-linux to support "noauto" command line option

<28 Jul 02>
  - changed labels _etext, _edata and _bss_start to those with two under-
    scores in mknbi-linux/first.s86 because those with one underscore are
    not supported with all GNU-ld targets

<25 Jul 02>
  - corrected some minor bugs in mknbi-linux/Makefile.in
  - rewrote mknbi-linux/first.s86 in order to allow use of low-
    loading kernels. The kernel now gets loaded into high memory,
    and first.s86 moves it into low memory lateron when necessary
  - removed size limit for Linux kernel in mknbi-linux

<10 Jul 02>
  - added support for newer kernels ("nfsaddrs=" changed to "ip=" and "kernel"
    argument should not get empty when calling kernel, use "::::::any" instead)
    to mknbi-linux
    
<07 Jul 02>
  - converted first.S in mknbi-linux into GAS source code (now first.s86)
  - added support for kernel setup version >= 0x0202 to mknbi-linux
  - added debug option to mknbi-linux

<03 Jul 02>
  - fixed a bug in undi_cleanup in netdrv/init/netdrv.S which prevented UNDI
    to get removed from memory
  - restored minimum memory requirement check in mknbi-linux/first.S since
    UNDI now gets removed properly and we have enough memory again
  - added support for timeout TFTP option to bootrom

<30 Jun 02>
  - changed makerom to support MD5 checksums of the network driver files
  - updated the documentation
  - updated the driver information files for Realtek drivers (minsize/maxsize)
  - added MD5 checksums to all Crynwr and Realtek driver information
  - added shell script instdrv which installs a network driver and it's
    MD5 checksum
  - modified all Makefiles to support MD5 checksums
  - cardinst will be set automatically in makerom/user.c without asking the user

<23 Jun 02>
  - added minsize/maxsize for ne2000 ISA Crynwr driver

<22 Jun 02>
  - the program loader in the DOS simulator required at least 4.25 kB of free
    DOS memory to load a program, but pktwatch is a lot smaller, and therefore
    not enough memory has been allocated by makerom --> reduced the minimum
    amount of free memory for a program load to 1.25 kB in the DOS simulator
  - added return of "OEM" number to DOS simulator version check
  - added DOS function 58 with "get first MCB"-extension

<20 Jun 02>
  - changed loader ram area from interrupt vector $E0 to interrupt vector
    $97, because it looks like some BIOS use 0000:0040 as their initial
    stack pointer. This move gives some more room for the BIOS stack.
  - changed makerom so that it is now possible to load DOS programs before
    and after the network driver

<19 Jun 02>
  - changed all IP addresses in kernel from host to network order. This
    allows us to remove a lot of ntoh{l|s} calls
  - corrected PXE interface: IP addresses and port numbers are in
    network order (this is not very clear in the PXE specification)

<27 May 02>
  - changed NDIS and packet network driver to work with virtual-8086 processor
    mode

<21 May 02>
  - corrected a bug in the packet driver and NDIS interfaces which prevented
    proper hardware interrupt handling after closing the UNDI interface
  - adjusted the lower boundary for loading boot images to 0:7C00 in order to
    allow PXE boot images to load

<20 Apr 02>
  - applied some patches to floppy.S sent in by aurin which speed up floppy
    loading and prevent a 'not enough memory' error with mknbi-linux
  - corrected a bug in the packet and UNDI interrupt handling codes which
    caused a race condition and extremely slow download rates with fast
    network cards
  - updated all documentation and copyright notices

<26 Nov 01>
  - label f13e1 in mknbi-dos/first.S has been defined twice

<27 Oct 01>
  - corrected a bug in the DOS simulator which prevented NDIS drivers without
    an EXE header to load

<21 Aug 01>
  - updated all documentation and copyright notices
  - added script to update copyright notices in all source files

<24 May 99>
  - changed all declarations of 'main' in the various programs to a return
    type of 'int' to prevent warnings with newer GCC

<22 May 99>
  - added sending correct network interface type by BOOTP
  - moved BCC optimizer rules directory into netboot/misc
  - added NDIS driver information for 3C90X to DIF database

<09 May 99>
  - removed high-level interrupt handling from UNDI interface in kernel
  - changed UNDI interrupt handling in kernel to polling
  - adjusted UDP and ARP code to new packet polling
  - added packet fragmentation to UDP
  - added protected mode check to PXE handler in packet driver and NDIS
    driver interfaces

<27 Apr 99>
  - corrected 3Com driver information file for PCI network cards
  - corrected the PCI detection code in rom.S, added printing of error message

<07 Apr 99>
  - removed BBS flag from bootrom loader and changed loader so that bootrom
    returns to correct error routine
  - added PCI vendor/device ID detection to rom.S

<05 Apr 99>
  - added kernel/arpa/bootpbufs.c to dynamically allocate BOOTP buffers
  - changed BOOTP code to support handling multiple BOOTP buffers (request
    and reply packets for BOOTP)
  - fixed BOOTP code to correctly count timeout retries
  - removed do_error again, error printing is now done in the main bootrom
    routine

<01 Apr 99>
  - changed network driver interface to new PXE spec 2.0
  - changed bootrom error output to call a central routine which terminates
    the bootrom

<25 Mar 99>
  - changed network driver hardware interrupt handler to no longer disable
    interrupts at the PIC level - this might cause problems with shared PCI
    interrupts

<21 Mar 99>
  - fixed a bug in the floppy loader while calculating the number of heads
    incorrectly when booting off a hard disk partition
  - fixed a bug in misc/Makefile.in which didn't installed the man pages
    when the man directory was not there

<03 Mar 99>
  - some more documentation updates
  - added support for shared PCI interrupts to bootrom kernel

<24 Feb 99>
  - moved PMM definitions from rom.S into seperate include file
  - removed Wake-On-Lan functions from rom.S because of their complications
  - changed makerom to allocate 64kB or the amount of minsize/maxsize for
    a COM program
  - moved COM program compression detection code into a seperate routine in
    makerom

<21 Feb 99>
  - the packet driver interface produced a multicast error when the driver
    itself does not support multicasting, even when there is no multicast
    list to set -> corrected

<19 Feb 99>
  - update of all man pages
  - documentation updates
  - corrected a bug with reading the network driver definition file in makerom
  - mknbi-linux: reading of kernel setup size incorrect, causing hangup with
    Linux version 2.2.x

<09 Feb 99>
  - some more man page updates

<06 Feb 99>
  - changed parsing of database file for makerom: use options loader value
    instead of specifying all options as boolean values
  - update of all man pages

<31 Jan 99>
  - fixed a bug in command line for the 3c90xpd packet driver
  - corrected makerom to correctly compute the number of paragraphs to
    allocate for COM programs
  - sometimes PKLITE seems to compute an invalid size value, so changed
    makerom to print a warning in that case

<28 Jan 99>
  - added bootrom/headers/hw/pnp.inc
  - removed PnP read data port saving from rom loader
  - added search for PnP entry point structure to rom loader
  - temporarily removed wake-on-lan support because it seems to interfere
    with NCR SCSI BIOS

<23 Jan 99>
  - added descriptions for SMC-EPIC and RTL8139 cards, thanks to
    petr@kristof.cz
  - added descriptions for Accton EN1207D card to drivers database
  - updated man pages for mknbi programs
  - fixed a bug in dossim/process.S which caused segment overruns when loading
    large programs
  - changed makerom to skip debugging information in EXE files
  - changed makerom to handle PKLITE compressed COM programs

<10 Jan 99>
  - fixed a bug in the optimizer rules causing ARP timeout errors
  - fixed some bugs in the install Makefile rules

<04 Jan 99>
  - changed all Copyright messages and strings to reflect year change
  - fixed some syntax errors in the makerom driver info files
  - added support for wakeup-on-lan to bootrom loader
  - updated some of the documentation

<23 Dec 98>
  - changed mknbi-linux to support new memory layout (see ChangeLog)
  - changed all mknbi-* assembler modules to a common coding style

<12 Dec 98>
  - fixed some bugs in the NDIS network driver interface
  - added keep option to mknbi-dos

<10 Dec 98>
  - added support for PXE UDP routines
  - removed bootrom checksize AWK script

<08 Dec 98>
  - corrected and cleanedup some bugs in the BCC optimization rules
  - changed bootrom load() routine to always return an error code in addition
    to printing an error message, also added quiet flag to load()
  - added support for PXE boot images to load()
  - moved _getds() into copt rules
  - moved code for getting BOOTP extension file into a seperate source file
  - added routine to get a file via TFTP and changed getext.c accordingly
  - added support for PXE TFTP routines
  - added NAK sending to TFTP code
  - added TFTP support for blksize and tsize options
  - changed TFTP to abort a transfer upon closing
  - changed UDP/IP buffer sizes to ethernet MTU
  - changed bootrom timeout routines to directly accept seconds

<06 Dec 98>
  - added support for PXE_TFTP_RESTART call
  - changed the kernel PXE handler to copy the PXE parameter structure onto
    local stack and back before calling the handler routine
  - changed the kernel PXE handler to use a function table instead of going
    through all command values with cmp
  - added the option to let the bootrom ask before starting the network boot
  - changed kernel/boot/utility.S to support loads into memory higher than
    16MB
  - changed floppy loader to setup the bootrom RAM area directly and then call
    the bootrom via the BEV in the PnP structure
  - added option to makerom to allow removing the PCI header when the bootrom
    doesn't get installed on the network card

<04 Dec 98>
  - changed bootrom loader to always use DDIM if available, not only when
    it gets called via BBS
  - changed bootrom loader to always include PnP and PCI structures, even
    for non-386 compiles, because the 16-bit images can also run on 386+
    systems
  - added options printing to bootrom loader
  - corrected the order of the class bytes in the PCI and PnP headers

<01 Dec 98>
  - all mknbi programs computed the vendor data size in the boot image
    header incorrectly - fixed
  - changed the mknbi-mgl runtime module to support the new PXE interface
  - changed the order of data and text segments of all bootrom parts according
    to the PXE specification
  - added network card and driver specification for RTL8029 based PCI cards
    to network driver database
  - fixed a bug with the DOS simulator incorrectly setting the flags on return
    from an int $21

<30 Nov 98>
  - separated the network driver definition file into multiple parts (called
    Driver Information File = *.dif) within the misc subdirectory
  - splitted a network driver definition in a DIF file into a network card
    definition [card:*] and a set of driver definitions [driver:*]
  - added definitions for many new network cards to the network driver
    information files
  - changed makerom to support this new definition file layout
  - added support for usedriver network card parameter to makerom
  - added some more Crynwr packet drivers: depca, 3c505, 3c523, de600, exos205,
    exp16, hppclan, hppclanp, ne2
  - updated the driver information for all SMC network adapters
  - updated bootrom/make.config and bootrom/make.defs.in to allow using
    the older SysV-make
  - added check for const to configure.in
  - removed checking for GNU-make in configure.in
  - ARP replies used the wrong hardware destination address - fixed

<25 Nov 98>
  - changed makerom to read network driver definitions from a different file
    than the standard configuration file
  - changed makerom to support multiple network driver files for a network card
  - added support for PnP device ID string to makerom

<22 Nov 98>
  - changed UNDI support in kernel to new PXE specification, including
    the hardware interrupt handler
  - fixed a bug in mknbi-dos/boot.S with AX returned incorrectly on a disk
    reset with some systems. Thanks to Petr Olivka who found the solution.
  - added long integer config file and command line parameters to netboot
    library routines
  - added minsize/maxsize parameters for DOS programs to makerom
  - changed makerom to support new bootrom loader memory layout
  - added mntnbi utility by Martin Atkins to mknbi-dos

<18 Nov 98>
  - changed main PXE API entries in netdrv/init/netdrv.S to save all registers
    before calling the appropriate function and changed all PXE entry points
    to support this new feature
  - removed pxe_force_int from packet driver interface since we cant
    properly support it
  - changed NDIS driver interface to properly call the MAC to force an
    interrupt instead of simulating this functionality

<12 Nov 98>
  - added PXE handler to kernel startup code
  - added exitrom and callpxe routines to kernel startup code
  - changed kernel startup code to properly terminate the UNDI driver and
    cleanup the kernel memory upon termination

<08 Nov 98>
  - added missing UNDI functions to packet driver interface, like network
    statistics
  - changed NDIS and UNDI network driver interfaces to support new PXE
    specification and interrupt handling routines
  - removed a bug in the interrupt handling code (intset and intreset)

<29 Oct 98>
  - changed pktwatch to terminate when the packet driver terminates
  - added routines to network driver interface library to set and restore
    interrupts
  - removed saving old DOS interrupts in the DOS simulator setup
  - changed dosclean to clean interrupts in interrupt vector buffer instead
    of completely restoring them

<26 Oct 98>
  - changed kernel loader to load all bootrom parts at the end of conventional
    memory. this is clearly against the netboot specification, but necessary
    for PXE compliance, so we'll have to change the netboot specification
    accordingly sometime
  - changed network driver interface loader to support new memory layout
  - changed packet driver loader to support new memory layout and hardware
    interrupt handling functions
  - changed both loaders for PXE compliance, e.g. both set the PXE entry
    structures and contain a PXE handler entry point. also, the network
    driver interface loader contains the int $1A handler required by PXE
  - moved some public network driver interface routines into new lib
    directory, and also added an appropriate Makefile in that directory
  - added netdrvr/lib/interrupt.S to handle network card hardware interrupts
    per the PXE specification
  - removed dosfatal from DOS simulator
  - added DOS error handler to process.S - loadprog and runprog now directly
    print their error message and return with the carry flag set
  - removed int $22-$24 definitions from PSP template in DOS simulator - will
    be set to default by terminate function
  - removed stack sanity check for DOS int $21 handler - we always assume that
    the functions internal to the DOS simulator never overrun the currently
    active stack
  - cleaned up many routines in the DOS simulator

<18 Oct 98>
  - changed searching for packet driver start interrupt from 0x60 to 0x20
    according to packet driver specification 1.10
  - added DDIM support to the bootrom loader
  - changed bootrom loader to return to the BIOS correctly in case of error
  - bootrom loader is now saving startup parameters in a special area of
    the interrupt table
  - changed floppy bootrom loader so that a floppy image can also be written
    into a hard disk partition

<04 Oct 98>
  - changed all calls to boot failure interrupt so that it will be used
    only with a BBS compliant BIOS
  - added printing of amount of free memory with packet driver and NDIS
    driver interfaces
  - re-added saving of old interrupt table to generic network driver
    initialization to make fatal error handling safer
  - fixed buggy setup of local stack in packet driver and NDIS interfaces
  - added patch by Erik Hendriks (hendrik@cesdis.gsfc.nasa.gov) to set
    database filename on the command line of makerom and mknbi programs

<01 Oct 98>
  - changed Makefiles to copy pktwatch.com into binaries directory, and to
    copy it into utils directory at installation time
  - added binaries directory to utils directory default value in makerom
  - adjusted pktwatch to new packet driver interface

<30 Sep 98>
  - fixed a bug in the NDIS driver startup code which caused an invalid
    memory allocation
  - added UNDI driver interface

<27 Sep 98>
  - changed DOS simulator to initially provide up to 128kB of memory and
    reduce it lateron to 64kB. this should improve usability with large
    network drivers
  - fixed a bug in the PROTOCOL.INI parser which caused invalid offsets to
    be written
  - added NDIS driver interface

<19 Sep 98>
  - removed strdup() usage in nblib/memory.c and strdup() check in configure
  - changed romcheck to new rom loader header
  - with all C source files of the bootrom, initialization of dynamic variables
    has been moved out of the variable declaration - this save a total of 40
    bytes in the bootrom kernel

<17 Sep 98>
  - changed all mknbi programs to use __u8 instead of unsigned char wherever
    necessary to access an x86 target file
  - changed all internal error checks to assert(), except for PARANOID checks
    in mknbi-mgl
  - some mknbi programs still used stderr for verbose output, changed to stdout
  - moved standard library string handling routines into nblib/strings.h
  - added routines to copy and compare byte arrays with strings to netboot lib
  - added conversion of character and string constants from host to target
    representation to mknbi-mgl
  - changed all error output to use macros in nblib.h

<16 Sep 98>
  - added check for assert.h to configure and include it into common.h
  - renamed bootrom files version.h and version.inc into romversion.h and
    romversion.inc to avoid conflicts, and changed all source files accordingly
  - added checks for various library routines to configure and acconfig.h
  - added strstr, strspn, strcspn and memmove to nblib/memory.c in case
    those are not found in one of the system libraries
  - corrected some bugs with inclusion of directory and time handling
    header files in common.h: HAVE_ was missing with cpp #ifdef's
  - changed nbread() and nbwrite() to operate on __u8 arrays instead of char
  - added quiet command line switch to nblib startup code
  - added macros for printing error messages to nblib.h

<14 Sep 98>
  - moved console I/O routines of makerom into their own source & header files
  - added directory output to filename entering routine in makerom
  - changed common.h to only include directory, time and binary services
    when required, and adjusted all necessary source files

<13 Sep 98>
  - finished adjusting makerom to new network driver interface, which
    includes changes to the user interface
  - fixed segment violation bug in checkaccess()
  - fixed getdb() to use new checkaccess routine
  - added bytecmp() to passes.c to bytewise compare a string with a byte
    buffer
  - adjusted default netboot configuration file to new config file format
  - added PCI vendor/device ID's to network driver specifications

<07 Sep 98>
  - moved setpath in netboot library into it's own source file
  - changed setpath to support colon separated path and directory names
  - added checkaccess routine to netboot library
  - changed format of configuration information for makerom
  - added new structure to hold all makerom configuration information
  - moved reading of makerom configuration file into doconfig.[ch] and adjusted
    it to support new config format

<23 Aug 98>
  - moved network driver text segment into kernel data space
  - changed database readig of makerom to support new network drivers
  - adjusted bootrom definition structure of makerom for new network drivers
  - changed bootrom generation of makerom to support new network drivers

<17 Aug 98>
  - changed makerom to add 0x80 twice at the end of the bootrom
  - changed makerom to fill bootrom with 0xff instead of 0x00
  - changed makerom to support selectable rom sizes
  - changed ROM loader header: rom size and serial number changed into 4 byte
    values - adjusted makerom accordingly

<27 Jul 98>
  - wrote packet driver to UNDI interface
  - adjusted bootrom network stack to use UNDI interface
  - corrected some bugs in the optimizer rules

<20 Jul 98>
  - added definition for services function 02h and UNDI option to netboot
    specification
  - changed kernel.S to support new netboot specification services interrupt
  - adjusted network driver initialization module and header files to allow
    UNDI API and network initialization/shutdown to be called by far calls
    to an address within the first 8 bytes of the network driver code
  - wrote PXE header files common.h, entry.h and undi.h including the corres-
    ponding assembler include files

<13 Jul 98>
  - new file headers/general.inc which contains common assembler definitions
    like _USE_ASSEMBLER, and included macros.inc into general.inc
  - changed include file concept: assembler modules only include *.inc files,
    which in turn include the necessary C header files after including
    general.inc; modified memory.h and general.h accordingly and created
    new files memory.inc and general.inc (see above)
  - created symlinks in bootrom headers subdirectory to individual module's
    public include directories, removed those public include file directories
    from general include path
  - changed all include files to use #ifndef - #endif pairs to prevent multiple
    inclusions

<12 Jul 98>
  - created new subdirectory bootrom/netdrvr for network driver sources
    including required Makefiles
  - wrote general network driver initialization code
  - changed kernel.S to load and support new network driver
  - moved DOS simulator into network driver subdirectory
  - made the keyboard routines in the DOS simulator optional
  - changed dossim/process.S to support new layout of DOS programs, support
    of both COM and EXE style programs, splitted program loading routine into
    two parts: one that loads a program and one that runs it. removed program
    loading from DOS simulator initialization
  - corrected some bugs in make.defs.in
  - changed all interrupt calls to use INT_* definitions

<08 Jul 98>
  - added PCI data structure to ROM loader
  - changed makerom to support PCI data structure
  - corrected makerom to update PCI and PnP structures even for floppy
    loader
  - support for PCI and PnP headers only for 386+ kernels
  - removed ANSI driver program, and included ANSI support into the kernel,
    selectable with the USEANSI define in make.config.
  - removed ansidrv support from makerom
  - removed MENU kernel flag in makerom
  - changed keyboard bootrom library routine to directly access the BIOS
    instead of using the DOS simulator

<06 Jul 98>
  - removed ifdefs from bootrom Makefiles
  - moved a couple of common bootrom Makefile rules into make.defs.in
  - moved checksize into bootrom/utils and adjusted it to support MEMAVAIL
    and STACKSIZE from command line
  - added DEFAULT kernel flag to makerom
  - changed meaning of kernelm from "minimal" to "with old menu support",
    including removing MINIMAL kernel flag from makerom and introducing
    MENU kernel flag

<05 Jul 98>
  - added support for rom sizes > 64kB to bootrom loader
  - changed startup messages of bootrom loader
  - changed bootrom exit via INT 18h according to BIOS boot specification
  - corrected error handling of loaders according to PnP specification
  - corrected file mode for kernel binary files (was set to executable)

<21 Jun 98>
  - corrected PnP device ID and class in ROM loader
  - added support for multiple PnP headers to romcheck
  - added printing of device class names to romcheck

<12 Jun 98>
  - added PnP BIOS support to ROM loader
  - changed makerom to support new PnP header information
  - added PnP BIOS support to romcheck
  - added copyright search to romcheck
  - added print-info function to romcheck
  - added product name search ("netboot" string) to romcheck

<07 Jun 98>
  - missing cp increase in loops in menu.c:decode_image, which caused image
    descriptions to not be decoded properly
  - fixed a bug with decoding the packet driver command line predef string
    in makerom/user.c (thanks to rmueller.bln@sni.de)
  - added O_BINARY to all open calls for compatibility with Cygnus/GNU
    development system (thanks to rmueller.bln@sni.de)
  - added sorting of network driver list to makerom
  - removed conditionals in Makefiles of user programs by introducing stamp
    files
  - added missing append database command to mknbi-linux man page
  - released version 0.8.1

<01 Jun 98>
  - added bug fixes by D. Gruszka to first.S from mknbi-dos (see Changelog
    for details)
  - added support for arbitrary sized input lines in configuration files
  - added support for quote delimited strings in configuration files
  - added specification for 3C90X cards to default configuration file
  - added specification for Intel EtherExpress Pro/100 ISA card to config file
  - updated netboot.config man page

<23 May 98>
  - removed definition of NO_ASM and NO_BOOTROM from configure and all
    Makefiles and replaced it with DEV86
  - romcheck build has been started even without a proper as86
  - netboot directory not properly set when no configuration file available,
    which caused core dumps with any programs
  - bootrom rejected bootp answers with the vendor extension field completely
    empty (e.g. all zeroes)

<17 May 98>
  - added checksize script to bootrom kernel source tree to check that the
    kernel memory requirements are not too large
  - added packet driver for DC21x4 compatible cards
  - increased version number to 0.8

<16 May 98>
  - made all memory allocation in bootrom static and removed dynamic
    memory allocation routines
  - moved bootrom data and BSS segments into higher memory right after
    text segment
  - changed network code to only use one receive and send buffer - this
    removes the need to copy send/receive data around twice
  - changed init/kernel.S to support new data layout
  - changed boot/menu.c to use bootp space instead of own filename buffers
  - fixed a bug in the optimizer rules which caused a certain long int push
    command to only get optimized half-way (the first of two pushes remained)
  - removed DNS support from x86 kernel due to memory space restrictions
  - added default responses to makerom

<12 May 98>
  - updated all man pages
  - updated all documentation
  - added README.romcheck

<10 May 98>
  - moved often used routines + routines for handling command line arguments
    and configuration files into netboot library
  - changed all user programs to use the netboot library, including support
    for the configuration and database files
  - added copyright output to all user programs
  - added support for various hex output file formats to makerom
  - renamed configuration and database files to netboot.* and moved them
    into library directory
  - changed exit codes to 8 bit values
  - added check for ranlib and ar to configure

<07 May 98>
  - removed dummy target from all Makefiles and changed all relevant targets
    to .PHONY
  - changed all Makefiles to allow recompilation with 'make install'
  - added distrib target to all Makefiles

<26 Apr 98>
  - converted romcheck program to C
  - added hex display and FlashCard search to romcheck
  - updated documentation

<24 Apr 98>
  - reorganized some parts of the directory structure
  - adjusted Makefiles and configuration to new directory structure
  - extracted exit codes from common.h
  - moved romcheck program from bootrom directory into misc

<14 Apr 98>
  - updated configure.in for autoconf-2.12
  - changed makedist so that it can be called from any directory
  - added romcheck program

<10 Apr 98>
  - minor changes to mknbi-linux
  - moved documentation into doc subdirectory
  - moved utility files into misc subdirectory
  - updated documentation

<28 Mar 98>
  - changed mknbi-linux to support specification of network device to use
  - increased upper limit for I/O address in makerom (PCI uses addresses > 7fff)
  - updated documentation

<08 Feb 98>
  - allow 2.88MB floppy format with mknbi-dos
  - allow arbitrary sized hard disk images with mknbi-dos
  - added support for OpenDOS to mknbi-dos
  - increased version number to 0.7.3

<24 Jan 98>
  - corrected makerom which did not pad out the rom loader to paragraph
    boundary (this worked for 386 loader by pure luck)

<10 Jan 98>
  - added some changes to the documentation
  - added patch by hendrik@cesdis.gsfc.nasa.gov which allows point-to-point
    connections

<07 Dec 97>
  - added patch by hendrik@cesdis.gsfc.nasa.gov which sets the time field
    in BOOTP request correctly

<22 Aug 97>
  - added checks for -O2 and -Wall to configure
  - added makedist script
  - increased version number to 0.7.2

<15 Aug 97>
  - some bug fixes in mknbi-mgl
  - corrected signed/unsigned warnings in all source files
  - corrected all Makefiles to set correct installation directory
  - changed all Makefiles to delete core files at cleanup
  - changed configure.in to only allow flex - most other lex's don't work
  - various bug fixes in configure.in
  - removed definition of void in common.h
  - added USE_PRAGMA_ALIGN for AIX, and changed USE_PRAGMA to USE_PRAGMA_PACK
  - changed checks for -lnsl and -lsocket in configure.in
  - added check for GNU make
  - added check for C compiler optimization flags

<04 Aug 97>
  - added new FlashCard PCB layout
  - various bug fixes in mknbi-mgl
  - documentation updated
  - increased version number to 0.7.1

<29 Jul 97>
  - fixed incorrect stack pointer in rom.S
  - fixed invalid setup of environment in DOS simulator
  - added EXE program loader to makerom
  - documentation updated

<26 Jul 97>
  - some bug fixes in mknbi-mgl (see Changelog there)
  - added support for generating FlashCard programming boot image file with
    makerom

<17 Jul 97>
  - removed a bug in load.c which prevented the server tftp daemon not
    to terminate
  - added support for repetitive loading of boot images
  - added mknbi-mgl (no change in main documentation yet)
  - increased version number to 0.7.0

<01 Jul 97>
  - changed boot rom loader (rom.S and inflate.S) to copy itself into ram
    before uncompressing for the sake of systems without shadow ram. Also
    removed separation of text and data segments.

<29 Jun 97>
  - changed all exit codes
  - changed makerom database lookup routine: section tags now read
    [<system name>:<program name>]

<25 Jun 97>
  - fixed some minor bugs in the makefiles with 'make dep'
  - fixed a bug in the random number generator
  - changed timeout computation for BOOTP and removed retry limit: BOOTP
    now never terminates trying, unless the user presses ESC
  - updated documentation
  - released bug-fix version 0.6.1

<22 Jun 97>
  - added description for 3Com 3C59X cards to makerom.config.in
  - added check for floppy boot in case the bootrom is hooked into the
    bootstrap vector
  - fixed some minor bugs in the Makefiles
  - changed mknbi sources to get compiled by non-ANSI compilers
  - added support for different floppy ramdisk images to mknbi-dos
  - updated man pages
  - released version 0.6

<19 Jun 97>
  - included a patch to support OPENDOS images with mknbi-dos
  - fixed a problem with the typedef of __u8 etc. in common.h, which only
    occurs with older Linux C libraries
  - fixed a problem with detecting misaligned data accesses and included
    USG support into configure
  - changed the makerom program from shell script to binary and included
    all previously seperate utility programs, moved makerom up to the
    main netboot directory level and removed the utilsrc directory
  - changed the bootrom loader to allow makerom giving the start interrupt
    vector to be either 18h or 19h
  - changed all Makefiles to reflect the recent changes in the directory
    structure
  - updated documentation

<15 Jun 97>
  - fixed a bug in mknbi-dos preventing MS-DOS to start when no disks installed
  - changed the boot image loader to support the RETURN flag: if it's set,
    the bootrom does not cleanup before calling the boot image so that it
    can use bootrom services and safely return to the bootrom
  - changed the packet driver code so that before calling a returnable image
    all packet driver handles get unregistered, and reregistered upon returning
    to the bootrom
  - implemented a bootrom service interrupt
  - moved the bootrom cleanup and termination code into the service interrupt
    so that it can be called when a returnable image decided not to return to
    the bootrom
  - moved makec.c out of the individual mkbni directories and established
    symlinks instead

<14 Jun 97>
  - changed configure.in to support caching of all determined system values
    and to support checking for inline, pack pragma and misaligned data
    accesses
  - fixed problems when compiling the mknbi programs with other compilers
    than gcc
  - added support for SPARC architecture (variables on misaligned addresses)
  - changed Makefiles for Dev86-0.12.0, and removed copt as it is now part
    of Dev86
  - included freezing algorithm into pass2 and removed check for unfrozen
    kernel image from rom.S
  - updated the documentation
  - released version 0.5.4

<05 Jun 97>
  - changed limit for I/O address in bconfig.c to 0x7fff to allow for
    PCI network card addresses

<14 Apr 97>
  - changed compression algorithm from compress to freeze
  - removed loading modes 0 and 1 from the bootrom using ifdef's
  - added install function for bootrom utilities, so there is no need to
    keep the sources around for creating a new bootrom
  - added ability to read setup file to bconfig program
  - changed version information for all mknbi programs
  - released version 0.5.3

<10 Apr 97>
  - included DEBIAN fixes for makerom script as suggested by Christian
    Leutloff <leutloff@sundancer.oche.de>
  - changed makerom script to better check for a correct compression program
  - updated documentation to point to netboot mailing list

<07 Apr 97>
  - changed bootrom startup code to use interrupt 18h only if there is a
    boot device which the BIOS checks first, otherwise use interrupt 19h

<10 Mar 97>
  - added version file, the kernel include files version.h and version.inc
    now get created using a Makefile from this master file, so there is only
    one file to edit for a new version
  - fixed a bug in exec_image which caused a wrong BOOTP pointer to be
    pushed onto the stack
  - added some more debugging messages to mknbi-linux (first.S)
  - fixed some minor bugs in configure.in
  - released bug-fix version 0.5.2

<09 Mar 1997>
  - fixed some bugs in mknbi-dos (see Changelog there)
  - fixed a bug in the bootrom main Makefile which caused ansidrv and
    pktwatch to get recompiled even when no suitable assembler is present
  - added install script from X11 source tree
  - added support for install script to configure.in
  - released bug-fix version 0.5.1

<01 Mar 1997>
  - changed the autoconf source files to support version 2.10 of autoconf
  - changed common.h to support new glibc-2.0, which defines u_intxx_t
    instead of __uxx

<28 Jan 1997>
  - added copt peephole optimizer for BCC assembler output, and rules
    to control the optimization
  - optimized some C source files by hand
  - fixed a bug with not having a proper BSS segment
  - updated mknbi-linux with a patch by Markus Gutschke to add parameters
    to kernel command line from bootp record
  - added PCB layout for FlashCard thanks to Michael Riepe
  - increased version number to 0.5

<24 Jan 1997>
  - moved development platform for whole bootrom tree from MS-DOS to
    Linux, which involved too many changes to list here

<18 Jan 1997>
  - minor changes to mknbi-linux
  - changed mknbi-dos to create a ramdisk image from a server directory
    and added new command line options (see corresponding ChangeLog)
  - changed autoconf scripts to better check for as86, ld86 and bcc -
    needed to add aclocal.m4, which contains a macro to run as86 and
    check for required features
  - now using as86 and ld86 from the ELKS project

<05 Jan 1997>
  - changed mknbi-dos to support loading the ram disk as a floppy device
    (see corresponding ChangeLog)
  - added packet driver termination when calling the boot image, which
    fixes a bug with the interrupt controller (DOS didn't startup correctly)

<25 Dec 1996>
  - added menu support
  - moved IP address resolving (via ARP) from udp_write() to udp_open()
  - changed TFTP code to allow interrupting TFTP transfers with escape key
  - changed the pass2 utility to include a unique serial number into each
    rom image file
  - added support for loading a bootblock from a disk device
  - the bootrom startup code now sets the BIOS boot flag to indicate warm
    boot on Ctrl-Alt-Del key press
  - removed prnchar routine and replaced it with direct calls to int 29h, hand-
    ling of TAB's has been dismissed (is now done by an optionally loadable
    display driver)
  - changed printf() to not expand LF to CR/LF with %s and %c option. this
    allows sending full ANSI control characters to the int29 handler
  - added ansidrv, a simple ANSI display driver, and updated makeall.bat
  - updated documentation
  - release of netboot version 0.4

<15 Dec 1996>
  - fixed a bug in the packet driver code which pushed a wrong value onto
    the stack when calling a higher level protocol routine
  - concatenated the IP and UDP handling routines into one source file,
    saving about 200 bytes in the final binary

<08 Dec 1996>
  - fixed a bug in function 09 handling of the DOS simulator which caused
    the DS register to be set incorrectly and destroying data in the packet
    driver binary, causing sporadic system crashes.
  - removed function 4B from the DOS simulator
  - moved DOS program loading into the Mini-DOS startup code
  - concatenated all remaining packet driver code into one source file and
    moved it into the network directory, thus removing the packet subdir.
  - moved all network related code (tftp and bootp source) from the boot
    directory into a new arpa directory, and added a new makefile there
  - added name server support
  - added version include files and version information into the startup
    code of the binaries (rom.bin and kernel.bin).
  - removed get_hw_addr and get_mtu from the packet driver code and changed
    the higher protocols to always use the maximum buffer size.

<18 Nov 1996>
  - added FlashCard directory

<09 Nov 1996>
  - fixed a whole couple of bugs in mknbi-dos (see ChangeLog there)
  - release of a bug-fix version 0.3.1

<13 Oct 1996>
  - changed everything to get configured by GNU's autoconf
  - changed all mknbi's to get compiled on UNIX systems with different
    byte order
  - created one main Makefile for making everything on a UNIX system
  - release of netboot version 0.3

<23 Sep 1996>
  - added makeall.bat script
  - fixed tab handling in DOS-simulator output routine
  - fixed high loading bug
  - changed boot loader to use INT18 (ROM BASIC) instead of INT19
    (Bootstrap), and removed the floppy checking code in the rom
    setup module (no longer necessary)
  - included new mknbi for booting DOS
  - included new version 1.4 of mknbi for Linux (see ChangeLog there)

<07 Jul 1996>
  - added VERBOSE, P86 and MINIMAL flags to makefiles
  - changed makefiles to support Borland C++ V2.0
  - fixed scrolling
  - fixed escape key handling while sending bootp request
  - added floppy and rom loaders for 86/186 processors and added support
    for them to the bootrom configuration program
  - added capability to use more than one DOS program
  - added packet driver debugging module (PKTWATCH)
  - fixed byte ordering problem with bootrom configuration program on
    non-Intel-platforms

<16 May 1996>
  - initial public release of netboot version 0.2

