;----------------------------------------------------------------------------
;
;
;	This file serves as the release documentation file for updates
;	to PhoenixPhlash.
;
;		  R E V I S I O N    H I S T O R Y
;
;	$Log:   K:/nb/archive/nubios/crisis/std.600/rel_note.txv  $
	
	   Rev 1.13   16 Dec 1996 13:39:22                
	No change.
	
	   Rev 1.12   16 Sep 1996 19:16:06                 
	Renamed from .405 to .600
	
	   Rev 1.11   06 Aug 1996 13:40:08                
	PhoenixPhlash Version 4.00 Release 1.27.
	
	   Rev 1.10   30 Jul 1996 17:00:28                
	PhoenixPhlash Version 4.00 Release 1.26.
	
	   Rev 1.9   20 May 1996 15:16:08                
	PhoenixPhlash Version 4.00 Release 1.25.
	
	   Rev 1.8   15 Feb 1996 16:09:54                
	PhoenixPhlash Version 4.00 Release 1.22.
	
	   Rev 1.7   07 Feb 1996 18:52:44                
	PhoenixPhlash Version 4.00 Release 1.21.
	
	   Rev 1.6   01 Feb 1996 11:45:06                
	PhoenixPhlash Version 4.00 Release 1.20.
	
	   Rev 1.5   24 Jan 1996 18:33:52                
	PhoenixPhlash Version 4.00 Release 1.19.
	
	   Rev 1.4   18 Jan 1996 10:13:04                
	PhoenixPhlash Version 4.00 Release 1.18.
	
	   Rev 1.3   21 Nov 1995 15:37:32                
	PhoenixPhlash Version 4.00 Release 1.17.
	
	   Rev 1.2   31 Oct 1995 16:11:54                
	PhoenixPhlash Version 4.00 Release 1.16.
	
	   Rev 1.1   06 Oct 1995 11:39:48                
	PhoenixPhlash Version 4.00 Release 1.15.
	
	   Rev 1.0   28 Sep 1995 15:44:20                
	Initial revision.
;
;----------------------------------------------------------------------------

;----------------------------------------------------------------------------
;
;	Subject:        PhoenixPhlash 4.0 Release 1.27
;	Date:           Tuesday, August 6, 1996 13:35 PDT
;
;----------------------------------------------------------------------------

	;-------------------------------------
	;
	;	FIXES
	;

SPR #3500 - Fixed part number checking of testrel BIOS's.
SPR #3501 - Added WipeScreen function to fix bug when
  clearing screen before exit.


;----------------------------------------------------------------------------
;
;	Subject:        PhoenixPhlash 4.0 Release 1.26
;	Date:           Tuesday, July 30, 1996 16:55 PDT
;
;----------------------------------------------------------------------------

	;-------------------------------------
	;
	;	ENHANCEMENTS
	;

ECR #3488 - Added SST 29EE020 and MX28F2000


;----------------------------------------------------------------------------
;
;	Subject:        PhoenixPhlash 4.0 Release 1.25
;	Date:           Monday, May 20, 1996 15:10 PDT
;
;----------------------------------------------------------------------------

	;-------------------------------------
	;
	;	ENHANCEMENTS
	;

ECR #3264 - The following changes.
Added support for new AMD parts 29F002T, 29F002B, 29F002BXT
  and 29F002BXB. Added method 10 functions for AMD parts.
Added Atmel AT29LV010 to table of supported parts.
ECR #3195 - Screen is now cleared after key press to reboot.


;----------------------------------------------------------------------------
;
;	Subject:        PhoenixPhlash 4.0 Release 1.24
;	Date:           Friday, March 12, 1996 15:20 PDT
;
;----------------------------------------------------------------------------

	;-------------------------------------
	;
	;	FIXES
	;

ECR #2960 - Found another place where screen was being cleared in
production mode. This was supposed to be fixed back in 4.0r1.21.


;----------------------------------------------------------------------------
;
;	Subject:        PhoenixPhlash 4.0 Release 1.23
;	Date:           Tuesday, February 27, 1996 16:55 PDT
;
;----------------------------------------------------------------------------

	;-------------------------------------
	;
	;	FIXES
	;

ECR #3022 - Fixed error handling in production mode with /EXIT.


;----------------------------------------------------------------------------
;
;	Subject:        PhoenixPhlash 4.0 Release 1.22
;	Date:           Friday, February 15, 1996 16:10 PDT
;
;----------------------------------------------------------------------------

	;-------------------------------------
	;
	;	FIXES
	;

ECR #2994 - Fixed bug where ATMEL 29C010 was not autodetecting
because of addition of AMD 29F200T. Just rearranged the
DEVICETABLE order (put AMD 29F200T at end). It seems AMD's
_Sense9 was messing up any sense routine which followed.


;----------------------------------------------------------------------------
;
;	Subject:        PhoenixPhlash 4.0 Release 1.21
;	Date:           Friday, February 7, 1996 18:26 PDT
;
;----------------------------------------------------------------------------

	;-------------------------------------
	;
	;	ENHANCEMENTS
	;

ECR #2960 - Screen is no longer cleared in production mode (/P switch).


;----------------------------------------------------------------------------
;
;	Subject:        PhoenixPhlash 4.0 Release 1.20
;	Date:           Friday, February 1, 1996 11:39 PDT
;
;----------------------------------------------------------------------------

	;-------------------------------------
	;
	;	ENHANCEMENTS
	;

ECR #2948 - Added support for AMD 29F200T.

	;-------------------------------------
	;
	;	FIXES
	;

SPR #2947 - Fixed bug where OpenFile() failed on read-only files.


;----------------------------------------------------------------------------
;
;	Subject:        PhoenixPhlash 4.0 Release 1.19
;	Date:           Friday, January 24, 1995 18:33 PDT
;
;----------------------------------------------------------------------------

	;-------------------------------------
	;
	;	FIXES
	;

SPR #2911 - Fixed Atmel 29C010 autosense bug in _Sense2 by
adding required 10ms delays.

	
;----------------------------------------------------------------------------
;
;	Subject:        PhoenixPhlash 4.0 Release 1.18
;	Date:           Friday, January 18, 1995 10:09 PDT
;
;----------------------------------------------------------------------------

	;-------------------------------------
	;
	;	ENHANCEMENTS
	;

- ECR #2878 - Added support for DMI 2.0.
Added /DMS, /DPS, /DSS and /DVS for structure type 1 "System Info".
Added /DMM, /DPM, /DSM and /DVM for structure type 2 "Motherboard Info".
Added /DMC, /DPC, /DSC and /DVC for structure type 3 "Chassis Info".
The /D?M switches are equivalent to the original DMI 1.X /D? switches.
The /D? switches were kept for compatibility.
Added code to ignore processing of DMI stuff if BIOS contains BCPDMI 2.0
which was an incompatible implementation of DMI 2.0 in the BIOS.

	;-------------------------------------
	;
	;	FIXES
	;

- SPR #2879 - Fixed AMD 29F040 write problems by changing the erase method
in _Erase2 to do a sector erase instead of a chip erase. This is what it 
should have been doing anyway.


;----------------------------------------------------------------------------
;
;	Subject:        PhoenixPhlash 4.0 Release 1.17
;	Date:           Friday, November 21, 1995 15:35 PDT
;
;----------------------------------------------------------------------------

	;-------------------------------------
	;
	;	ENHANCEMENTS
	;

- ECR #2762 - The following changes.
Added "if system does not reset, power off, then on" to the reboot message.

Added support for ATMEL 29C020.

The following MEMORY.ASM changes from Derek Chen:
Added method 8 (_Write8, _Zero8) for ATMEL 29C020. It would be nice to 
combine methods 3 and 8 in the future, since they are identical except for 
the page size (128 vs. 256 bytes).

Modified _Zero3 to fix a bug for ATMEL 29C010.

	;-------------------------------------
	;
	;	FIXES
	;

- SPR #2763 - The following changes.
Fixed /PN BIOS part number checking. The comparison in CheckBcpSys()
was performed incorrectly. It assumed the part number was in the
same format (i.e. TESTxxx, DEVELxxx or production) in both the
system BIOS and the new BIOS image.

;----------------------------------------------------------------------------
;
;	Subject:        PhoenixPhlash 4.0 Release 1.16
;	Date:           Friday, October 31, 1995 16:07 PDT
;
;----------------------------------------------------------------------------

	;-------------------------------------
	;
	;	ENHANCEMENTS
	;

- ECR #2637 - Added FLAG_IMAGESIZE and /I switch to verify that the ROM
image size matches the flash part size.


;----------------------------------------------------------------------------
;
;	Subject:        PhoenixPhlash 4.0 Release 1.15
;	Date:           Friday, October 6, 1995 11:39 PDT
;
;----------------------------------------------------------------------------

	;-------------------------------------
	;
	;	FIXES
	;

- SPR #2552 - When BCPDMI was moved from OEM tips to the core, the BCP
version was mistakenly changed from 0.1 to 0.0. The difference between
the two is 0.1 added DMI OEM strings. Phlash expects 0.1 in order to
process OEM strings.

Changed Phlash to look for BCPDMI 0.0 of size 22 bytes or 0.1 and above
to recognize DMI OEM strings in a ROM image. If the ROM has BCPDMI 0.0 of
18 bytes, there are no BCPDMI strings. This affects any old ROMs.

Changed the version of BCPDMI in DMI.INC in INCLUDE.405 and 404 from 0.0
to 0.1. This affects any new ROMs.


;----------------------------------------------------------------------------
;
;	Subject:        PhoenixPhlash 4.0 Release 1.14
;	Date:           Thursday, September 27, 1995 13:51:00 PDT
;
;----------------------------------------------------------------------------

The following is a list of changes from Version 4.0 Release 1.10 to 1.14.

	;-------------------------------------
	;
	;	ENHANCEMENTS
	;

- ECR #2530 -  Added conditional block processing (checking the return value
from BeginFlash function from PLATFORM.BIN). If it returns nonzero, the
current block is not processed.

- Added support for new flash part Macronix MX 28F1000.

	;-------------------------------------
	;
	;	FIXES
	;

- SPR #2468 - Fixed timing problem with CPUs faster than 100MHz.

- SPR #2447 - Fixed write routine for SST 29EE010.


;----------------------------------------------------------------------------
;
;	Subject:        PhoenixPhlash 4.0 Release 1.09
;	Date:           Friday, May 26, 1995 12:09:00 PDT
;
;----------------------------------------------------------------------------

The following is a list of changes from Version 4.0 Release 1.07 to 1.09.

	;-------------------------------------
	;
	;	ENHANCEMENTS
	;

- Added /EXIT switch to allow return to DOS after flashing. The /EXIT switch
is not displayed on the help screen. Use of this switch requires more careful
chipset manipulation when enabling and disabling the platform for flashing.

- Made flash part programming CPU speed independent. We no longer have to add
support for new CPU speeds.

- Added /CS switch for checksum verification of BIOS ROM file. When this
switch is used, if the checksum of the BIOS ROM file is not zero, the program
terminates.

- Added new PLATFORM.BIN flag FLAG_CHECKSUM to enable checksum verification
without the /CS command line switch.

- Added support for PLATFORM.BIN function CheckSum to provide an alternative
method of validating the BIOS ROM image. If this function is provided, it is
used regardless of whether the /CS switch or FLAG_CHECKSUM were specified.

- Added display of actual filenames for PLATFORM.BIN, BIOS.ROM and BIOS.BAK
instead of the default names.

- Added new field for PLATFORM.BIN version string. This is displayed next to
the platform filename on the Phlash status screen.

- Moved backup function, WriteBakFile(), to right after entering big real
mode, SetBigReal(), to allow linear memory access to GetBlock() in
PLATFORM.BIN.

- ECR #2311 - All of the above changes.

	;-------------------------------------
	;
	;	FIXES
	;

- None

;----------------------------------------------------------------------------
;
;	Subject:        PhoenixPhlash 4.0 Release 1.07
;	Date:           Monday, April 17, 1995 17:58:00 PDT
;
;----------------------------------------------------------------------------

The following is a list of changes from Version 4.0 Release 1.05 to 1.07.

	;-------------------------------------
	;
	;	ENHANCEMENTS
	;

- Added support for new flash part, SGS Thompson ST M28F101.

	;-------------------------------------
	;
	;	FIXES
	;

- Fixed SST part autosensing.

- Added setting shutdown status byte to 1 before reboot to resolve problem
with NuBIOS 4.05 and compressed portions of the BIOS.

- Fixed DMI string length bug. Phlash would fail with "DMI string too long"
error if a DMI string used all its allocated space. For example if a DMI
string was assigned 3 bytes and initialized to "XYZ", Phlash would consider
this an error because it expected 3 bytes to mean 3 bytes including the NULL.

- Fixed spelling (Plash -> Phlash) on a couple of status lines.

;----------------------------------------------------------------------------
;
;	Subject:        PhoenixPhlash 4.0 Release 1.07
;	Date:           Monday, April 3, 1995 22:44:00 PDT
;
;----------------------------------------------------------------------------

The previous version checked in was 2.07.
The following is a list of changes from version 2.06 to 4.0 Release 1.05.

	;-------------------------------------
	;
	;	ENHANCEMENTS
	;

- Added support for new optional Reboot() function in PLATFORM.BIN. If
present, PHLASH calls the function to reset the system after flashing is
complete.

- Added support for new optional IsFlashable() function in PLATFORM.BIN. If
present, PHLASH calls this function to determine if flashing should be allowed
proceed. If the function returns non-zero PHLASH terminates and optionally
displays a message returned by the function.

- Added /O switch to disable all flags from PLATFORM.BIN.

- Added /PN switch to proceed only if the BIOS part number in the BIOS ROM
image file is the same as in the current system BIOS image.

- Added command line response file processing (PHLASH @response.fil).

- Added /DO0.../DOn switches for DMI OEM string support. If a BIOS contains
DMI substructure type 8, PHLASH can modify the strings using these switches.

- Added /X switch to ignore the presence of XMS drivers and proceed with
flashing. This switch is not documented on the /? help screen.

- Got rid of hard coded BIOS ROM file name "BIOS.ROM" from PHLASH.EXE. The
default name may now be set in PLATFORM.BIN.

- Changed status menu item to indicate whether the system BIOS (when MODE=1)
or a BIOS ROM image file is read.

- Changed behavior of /N switch. If MODE=2 (update DMI and program flash part
mode) and /N switch is specified, MODE is set to 1 (update DMI only mode), the
system BIOS is read and DMI info is processed.

- Added MODE=3 support. This allows resetting the DMI strings to the default
values from the BIOS ROM image.

- Added range checking for the /MODE switch. Only values 0 to 3 are allowed.

- Added checking for memory allocation failure for BIOS.BAK.

- Changed name PhoenixPHLASH to PhoenixPhlash.

	;-------------------------------------
	;
	;	FIXES
	;

- Fixed command line processing. Previously, if any command line switches were
used, all flags set in PLATFORM.BIN were disabled. Now, command line switches
and PLATFORM.BIN flags are additive.

- Added saving of system DMI info. Now any DMI strings in the system BIOS are
saved unless overriden. This is how PHLASH was documented to work, but it was
never implemeted.

- Fixed bug when programming SST parts. The wrong status bit was being
checked.

- Fixed bug in DMI string processing. If the BIOS ROM image buffer was located
above 1MB, DMI string processing failed.

- Fixed handling of DMI OEM strings. Strings were being stored at the wrong
indices. For example, if "/DO3:xxx /DO4:yyy" was specified, the strings would
be stored in the BIOS in the locations reserved for OEM strings 0 and 1.

- Fixed bug in DMI string processing where the DMI string length fields (the
byte before the string) was not being used to determine the maximum length.

- Fixed DMI OEM string command line processing. If a two digit number was
used, e.g. /DO13:x, it was parsed as /DO3:x.

- Fixed range checking for the DMI OEM strings. If a BIOS supports two
strings, you can't specify /DO2, only 0 or 1.

- Changed DMI string handling routines to work with linear memory above 1MB.

- Fixed bug where if MODE=1 (update DMI only mode), BIOS ROM file still had to
be present.

- Fixed /PN switch to check only BIOS part number, not the full encoded name
from BCPSYS.

- Added reenabling of A20 before programming part in case it was disabled (by
XMS driver) after RAMDrive file access.

- Fixed backup (/BU) switch. If /BU was specified with no name, the default
name of BACK_FILE_NAME was not being used. The program was terminating with
the help screen display.

