Directory: MAIN


Ad Lib, May 1989
----------------

Sound driver (SOUND.COM) upgraded to V1.51.

Ad Lib, January 1989
--------------------

This diskette now contains version 1.5 of the sound driver.  This
version uses a different method of calculating delays (required between
writes to the chip) so that the W option (see Dec-87 below) on fast
machines will no longer be necessary.

The instrument file format, as shown in Appendix C of the Programmer's
Manual, has changed and is explained in the file BKFORMAT.TXT.

In the event that two different boards use the same port address, it is
useful to be able to change the port address of one of the boards.  As
explained in the Programmer's Manual, the port address of the Ad Lib card
is at 0x388.  However, there exists the possibililty of using three other
addresses: 0x218, 0x288 or 0x318.  The port address is currently hard-wired,
but in future production runs we will be adding a jumper to the card to
facilitate the changing of port addresses.  (To date, conflicts have been
very rare.)  If you are developing software which does not use our sound
driver, we suggest that you allow for the use of different port addresses
as we have done in our driver (see next paragraph).

Our sound driver (SOUND.COM) can accomodate the different port addresses.
This is done when loading the driver by giving the argument "p" followed
by the address to be used.  For example:
      > sound p288
This will cause the sound driver to use0x288 as the port address.


Ad Lib November 1988
--------------------

	New Version 1.3:

		- Support of two new functions:

		function 22:	Use to set the pitch bend range (in half-tones).
				Argument 1: pitch range, from 1 to 12.
				Function 0 sets this value to 1 half-tone for
				compatiblity with software that was designed
				for the older sound-driver.

		function 23:	Use to enable/disable the wave-form parameter.
				Argument 1: state, 0 == off, 1 == on.
				Note that the function 0 disables the wave-form
				parameter, so to enable it, function 23 must be
				called AFTER function 0.

 

	If the wave-form is enabled (func. 23), then function 16 (Set timbre)
	expects two more integers at the end of the timbre definition array
	(field 26 & 27), which specify values for the wave-form parameters
	of operators 0 and 1.



	Here is the description of the status register, read from i/o
	address 0x388:

	bit #	function
	------+---------
	d7:	IRQ flag, set if flag T1 or T2 is on
	d6:	T1 flag, set if timer 1 has elapsed. Remains set until it is
		reset by setting bit d7 in the register at address 4
	d5:	T2 flag, same as d6 for timer 2
	d4-d0:	not used.

        (This information is missing from the Programmer's Manual.  Note
         however, that the interrupts are not wired, so that the timers are
         of no use given the delivered configuration of the card.  You can
         wire this interrupt yourself if you wish, but this will void your
         warranty.)



Ad Lib April 1988
-----------------

	Errors where detected in the Programmer's Manual, here is the
	list:
		page 26, 27 and 28:
		   Functions 7, 11 and 13 that are given in your manual are
		   not supported (they are not implemented).

		page 40:
		   The delay times after a read or write are in micro (10E-06)
		   seconds.

		page 40:
		   Register 04 start/stop T1 and T2 should be exchanged
		   ( T1=D0, T2=D1 ).

		page 43:
		   When NOTE-SEL = 0,  FNUM(MSb) are Xs (dont cares).



Ad Lib December 1987
--------------------

	This disk contains a new sound driver (sound.com version 1.2)
	update for fast computers with 286 or 386 microprocessors.  This
	new sound driver solves the note-skipping-problem.
	
	All you need to do is replace your old sound driver with the
	new one.  If you still have problems you can change the wait
	parameter as indicated below:

		sound Wxx

	where 'xx' is the delay value in hexadecimal.  The value ranges 
	from 0 to 10 for normal systems.



Ad Lib November 20th 1987
-------------------------

	In regards to the .ROL file formats, certain fields must be set
	to specific values:

	-field #1 and #2 should be set to 0 and 4 respectively.

	-field #9 should read 0 => percussive, and 1 => melodic.

	-field #10 should be set to zero.


