
I hope I've remembered everyone who ought to be mentioned here. If your 
name should be included, my apologies, and please tell me so I can correct 
the oversight!



======================================
============ Contributors ============
======================================

   A.Cottrell (andrewc@dbworld.net.au).
   Changed the grabber to use a more robust (locale-independent) date format.

   Adrian Oboroc (doba@corefx.com).
   Wrote the LBM loader.

   Alex Demko (alex_demko@mbnet.mb.ca).
   Suggested lots of improvements to the datafile system, and provided code 
   for handling the 8x16 BIOS font format.

   Alessandro Monopoli (almonopo@tin.it).
   Added the Italian translation of the system messages.

   Andreas Kluge (bitland@aol.com).
   Wrote the Ensoniq Soundscape driver.

   Andrei 'old-boy' Ellman (ellman@xs4all.nl).
   Contributed the polygon_z_normal() function.

   Andrew Ellem (krand@ican.net).
   Wrote the original version of the digital audio streaming code.

   Andrew Geers (andy@geerswj.clara.net).
   Added the -ppassword and -nosound options to the grabber, scrolling 
   support in the image viewer, and the flipped rotated sprite routines.

   Andy Goth (andygoth@vetec.com).
   Made the gfx_card config variable more flexible, added the 256x256 
   tweaked VGA mode, and wrote the d_text_list_proc() dialog object.

   Antoine Mathys (mmathys@bluewin.ch).
   Added the Swiss keyboard mapping.

   Anton Ragnarsson (anton.ragnarsson@swipnet.se).
   Contributed the Swedish keyboard mapping table.

   Antti Haapala (ztane@lyseo.edu.ouka.fi).
   Fixed the setup program to display the right frequency list for each type 
   of soundcard, and contributed the Finnish translation of the system 
   messages.

   Antti Koskipaa (antti.koskipaa@nic.fi).
   Wrote the DOS driver for WSS (Windows Sound System) cards.

   Arne Steinarson (arst@ludd.luth.se).
   The fixed point square root routine came from his fix-float library.

   Ben Chauveau (bendomc@worldnet.fr).
   Added support for Tseng ET6000 cards (now available as part of the 
   FreeBE/AF project).

   Ben Darnell (bdarnell@vnet.net).
   Put together the 2.11 release of Allegro while I was away from the net, 
   and wrote the original version of the Allegro FAQ.

   Burton Radons (loth@gec.net).
   Optimised the truecolor pixel blending function, converted the blenders 
   to the new single-handler format, and added the range of 
   Photoshop-compatible blender functions.

   Calin Andrian (calin@ibd.dbio.ro).
   Wrote the truecolor, MMX, 3DNow!, and masked lit mode polygon rendering 
   routines, and the clip3d_f() function.

   Calvin French (frenchc@home.com).
   Added the -w (always update) switch to dat.exe.

   Carsten Schmidt (email unknown).
   Wrote the the initial version of the Linux GGI driver.

   Carsten Sorensen (csorensen@ea.com).
   Wrote the the ESS AudioDrive soundcard driver.

   Cloud Wu (cloudwu@263.net).
   Optimised the truecolor pixel blending functions.

   Chris La Mantia (chrislm@earthlink.net).
   Wrote the d_radio_proc(), d_icon_proc(), and d_slider_proc() dialog 
   objects, added the D_DISABLED flag, improved the GUI handling of 
   different font heights, and added the right aligned text functions.

   Chris Robinson (crobin_99@yahoo.com).
   Wrote the fixed point clip3d() function.

   Daniel Nilsson (daniel7@algonet.se).
   Enlarged the starfield in exstars, and fixed an incorrect range in 
   exlights.

   David Kuhling (dkuelhin@hell1og.be.schule.de).
   Optimised the fsqrt() routine, and added fhypot().

   Dave Thomson (gameskitchen@geocities.com).
   Added the RGB <-> HSV conversion routines, the autocrop function to 
   the grabber, and wrote the 3d starfield example program (ex26.exe).

   David Calvin (calvid@rpi.edu).
   Wrote the original version of the sound setup utility.

   Dmitriy Kazimirow (mariann@mail.ru).
   Provided the Russian keyboard mapping and message translation files.

   Dominique Biesmans (Dominique.Biesmans@ping.be).
   Wrote the mode-X version of draw_sprite() and the mode-X  linear 
   blitting functions.

   Doug Eleveld (D.J.Eleveld@anest.azg.nl).
   Wrote the d_textbox_proc() dialog object and the new grabber help system.

   Eduard Bloch (edi@gmx.de).
   Fixed a freeze caused by the ESD detection code and suggested better ways
   to find the path to the executable in Unix.

   Edward Boone (Lucien.Boone@ping.be).
   Provided scancode mapping tables for the AZERTY keyboard layout.

   Eric Botcazou (botcazou@club-internet.fr).
   Made the DGA driver work better in 32bpp modes.

   Erik Sandberg (eriksandberg@geocities.com).
   Optimised the 8 bit draw_sprite() and draw_trans_sprite() functions, and 
   helped with the Swedish message translation.

   Ettore Perazzoli (ettore@comm2000.it).
   Optimised the linear -> mode-X blitting function.

   Fabian Nunez (faybs@iafrica.com).
   Added support for the CH Flightstick Pro and Logitech Wingman Extreme 
   joysticks, 3-button mice, and the extended keys on a Microsoft keyboard.

   Fabrizio Gennari (faybs@iafrica.com).
   Contributed the DB9 and TurboGraFXoystick drivers.

   Francois Charton (deef@pobox.oleane.com).
   Wrote the Paradise graphics driver (now available as part of the 
   FreeBE/AF project), improved the VGA palette setting code, and helped 
   with the TexInfo conversion of the docs.

   Frodo Baggins (l41273@alfa.ist.utl.pt).
   Made the Portuguese keyboard mapping.

   Garret Thomson (gart@terraport.net).
   Wrote the music used in the demo game.

   George Foot (gfoot@users.sourceforge.net).
   Did a great deal of work on the Linux console version. Also wrote the 
   AWE32 driver, added the MIDI pause/seek functions, and provided the basis 
   of the SoundFont reader used in the pat2dat utility.

   Gorka Olaizola (olsago@jet.es).
   Added the Redhat RPM .spec file.

   Greg Hackmann (hacker@ididitmyway.com).
   Contributed the Borland C++ Builder port.

   Grzegorz Adam Hankiewicz (gradha@iname.com).
   Wrote several of the example programs, suggested the "compress" makefile 
   target, translated the docs and system error messages into Spanish,
   suggested the idea of embedding the setup utility into other programs, 
   and wrote some documentation.

   Grzegorz Ludorowski (pajonk@ajax.umcs.lublin.pl).
   Wrote several of the example programs, and made the intro animation and 
   graphics for the demo game.

   Guilherme Silveira (thedarkage@geocities.com).
   Modified the file selector to only list valid drive letters.

   Gunter Ladwig (gladwig@iname.com).
   Wrote the OS/2 detection routines and added the three-button mouse 
   emulation.

   Haruhiko Okumura, 12-2-404 Green Heights, 580 Nagasawa, Yokosuka 239, JP.
   Wrote the original version of the LZSS compression code.

   Henrik Stokseth (hstokset@hotmail.com).
   Added code to distinguish between win95 and win98, and worked on the 
   Mingw32 native build version.

   Isaac Cruz (icruzbal@teleline.es).
   Fixed a bug with accelerated drawing onto sub bitmaps of DirectDraw 
   surfaces, added the GFX_DIRECTX_WIN driver, fixed a Windows sub bitmap 
   locking bug, added Windows desktop_color_depth and yield_timeslice 
   routines, and made extensive modifications to other aspects of the 
   Windows code.

   Ivan Baldo (lubaldo@adinet.com.uy).
   Wrote the 15/16 bit dithering code and optimised the sprite rotation 
   routines.

   James Arthur (jaa@arfa.clara.net).
   Documented the Photoshop-style truecolor blender routines.

   James Hyman (frooge@mindless.com).
   Added support for quoted strings in the get_config_argv() function, and 
   the dithering code for paletted images.

   Jan Hubicka (hubicka@horac.ta.jcu.cz).
   Vastly improved the speed of the create_rgb_table() function.

   Jason Wilkins (fenix@io.com).
   Wrote the quaternion math routines, and contributed the BeOS port.

   Javier Gonzalez (javigg@wanadoo.es).
   Made bug reports and suggestions for improvement.

   Jim Flynn (jflynn@pacbell.net).
   Removed floating point calculations from the AWE32 MIDI driver.

   Joaquin Hierro Diaz (Joaquin.Hierro.Diaz@fresno.csic.es).
   Made the mapping table for Spanish keyboards.

   Joerg Rueppel (sharky-x@gmx.net).
   Added more flexible wildcard matching for object names in dat.exe, and 
   the find_datafile_object() function.

   Johan Venter (leonjventer@bigpond.com).
   Fixed some problems with the RSXNT and Mingw32 makefiles.

   Jonas Petersen (joXonoX@berlin.snafu.de).
   Added the save_bmp() function, and support for the OS/2 BMP format.

   Jonathan Tarbox (jonattar@rocketmail.com).
   Wrote the mode-X setup code, the FLI/FLC player, and contributed parts of 
   the joystick handler.

   Jorrit Rouwe (j.rouwe@cpedu.rug.nl).
   Provided a new and much cooler set of FM instrument definitions for the 
   Adlib MIDI driver.

   Jose Antonio Luque (skylord@LatinMail.com).
   Improved the Windows joystick driver, and optimised the 16 bit blit() and 
   masked_blit() functions.

   Joshua Heyer (joshua_heyer@yahoo.com).
   Wrote the original version of the OSS sound driver.

   Keith Gerdes (kwg@softhome.net).
   Fixed the DirectDraw overlay mode driver.

   Kerry High (khigh01@umr.edu).
   Contributed the SNES joypad driver.

   Kester Maddock (dmaddock@xtra.co.nz).
   Wrote the Wingman Warrior joystick driver.

   Knut Pape (Knut_Pape@t-online.de).
   Improved the Mingw32 readme file.

   Krzysztof Krzyzaniak (eloy@arrakis.cs.put.poznan.pl).
   Wrote the load_voc() function.

   Lee Killough (email unknown).
   Added the low-level hook routine to the keyboard handler, and fixed a 
   couple of bugs.

   Lennart Rolland (chimeni@hotmail.com).
   Contributed the Norwegian message translation.

   Lucas Vignoli Reis (lucasvr@bestway.com.br).
   Added the Portuguese (Brazil) message translation and keyboard mapping.

   Maiolino Carmelo (cmaiolino@ctonline.it).
   Added the Italian keyboard mapping table.

   Manni Heumann (manfred.heumann@uni-bielefeld.de).
   Fixed some problems with the German keyboard mapping table.

   Marcel de Kogel (m.dekogel@student.utwente.nl).
   Not content with fixing my broken MPU-401 driver, Marcel went on to 
   provide a set of vastly improved drum sounds for the OPL driver, to help 
   me sort out some problems with reentrant interrupts, to supply the half 
   of the joystick code that didn't come from Jonathan, and to locate a 
   stupid mistake in my VESA linear framebuffer code.

   Marco Campinoti (marco@etruscan.li.it).
   Added 15 and 24 bit support to the native Tseng ET4000 driver (now 
   available as part of the FreeBE/AF project).

   Marco Marmulla (Viper005@usa.net).
   Added 16 bit support to the load_voc() routine.

   Marian Dvorsky (mdvorsky@dodo.sk).
   Wrote the Windows GDI interface routines.

   Marius Fodor (iceman@teleport.com).
   Added support for the Sidewinder and Gravis GamePad Pro.

   Marek Habersack (grendel@ananke.amu.edu.pl).
   Did the original Linux console port (brave man: this was the first ever 
   work done on porting Allegro away from DOS), which is the basis of the 
   code we are still using today. Added support for the more recent Trident 
   chipsets (now available as part of the FreeBE/AF project).

   Mark Wodrich (mwodric@eleceng.uct.ac.za).
   The brain behind sub-bitmaps, flicker-free mouse pointers, and the 
   ability to import GRX .FNT files into the grabber.

   Markus F.X.J. Oberhumer (markus.oberhumer@jk.uni-linz.ac.at).
   Fixed the Video-7 scrolling function (now available as part of the 
   FreeBE/AF project), optimised the color mapping routines, and made many 
   useful suggestions like the addition of a vid_phys_base field to the 
   graphics driver structure.

   Martijn Versteegh (VERSTEEGH@KVI.nl).
   Added the config hook extension mechanism.

   Mathieu Lafon (mlafon@ifhamy.insa-lyon.fr).
   Added the French keyboard mapping, support for the Pause/PrtScr keys, and 
   changed the key[] table to a normal/extended bitfield.

   Matthew Bowie (catcat@nmt.edu).
   Added support for 4-button joysticks.

   Michael Bevin (michael.bevin@stonebow.otago.ac.nz).
   Optimised the create_trans_table() function.

   Michael Bukin (M.A.Bukin@inp.nsk.su).
   Ported the whole thing to Unix/X, and contributed a _lot_ of patches to 
   improve the portability, robustness, and performance of pretty much the 
   entire library.

   Michael Rickmann (mrickma@gwdg.de).
   Ported the Windows code to Mingw32.

   Michael Tanczos (webmaster@logic-gate.com).
   Fixed some bugs in the FLIC player.

   Michal Mertl (mime@eunet.cz).
   Wrote all the 24 bit graphics code, the optimised palette generation 
   function, and a fair amount of the other truecolor stuff too (bitmap 
   scaling, image loading, etc).

   Nathan Albury, aka Rubicant (gt4558a@prism.gatech.edu).
   Improved the fire routine in examples/ex11.c (my original version didn't 
   really look very much like flames :-) and gave me some extremely useful 
   ideas about how to implement translucency.

   Neil Townsend (neil@robots.ox.ac.uk).
   Improved the accuracy of the timer routines, and added the callback 
   parameters.

   Ole Laursen (98zOLaw@aalborghus.dk).
   Contributed the Danish keyboard mapping table and system message 
   translation, and made the Unicode utolower() and utoupper() functions 
   understand the entire 16 bit character set.

   Olly Betts (olly@muscat.co.uk).
   Modified the djgpp makefile to support cross-compiling on a Linux machine.

   Owen Embury (owen@gememail.demon.co.uk).
   Wrote part of the translucency/lighting code.

   Ove Kaaven (ovek@arcticnet.no).
   Fixed a bug in the ATI mach64 driver (now available as part of the 
   FreeBE/AF project), added native truecolor and linear framebuffer support 
   to the ATI driver, contributed the Norwegian keyboard mapping, and added 
   MIDI and sample input features to the MPU and SB drivers respectively.

   Patrick Hogan (patter@iname.com).
   Wrote the draw_gouraud_sprite() function, and made Windows audiostreams 
   work properly.

   Paul Bartrum (bartrum@xtra.co.nz).
   Contributed the ellipse drawing functions.

   Paul Furber (paul@sprintlink.co.za).
   Provided the floating point apply_matrix_f() function.

   Paul Hampson (Paul.Hampson@Pobox.Com).
   Fixed some problems with the SNES gamepad driver.

   Paul Pinault (diskaleg@infonie.fr).
   Translated the system error messages into French.

   Pavlos Touboulidis (gtoub@otenet.gr).
   Made file_select() able to include or exclude files based on their 
   attributes.

   Pedro Cardoso (pcardoso@viriato.ipv.pt).
   Contributed the tweaked 80x80 VGA mode.

   Peter Cech (7cech@nw.fmph.uniba.sk).
   Added grabber support for the 8x8 BIOS font format, and support for 
   hot-swapping between a custom keyboard layout and the standard US 
   mapping. Optimised the alpha sprite blending routines. Added non-ASCII
   space recognition to uisspace().

   Peter Monks (pmonks@iname.com).
   Wrote the Video-7 graphics driver (now available as part of the FreeBE/AF 
   project), and showed me how to set up the unchained 640x400 mode.

   Peter Palotas (blizzar@hem1.passagen.se).
   Added the keyboard callback routine.

   Peter Pavlovic (pavlovic@redbull.dcs.fmph.uniba.sk).
   Added the Slovak keyboard mapping and message translation, stopped the 
   DOS file selector from listing virtual drives, did the same for the Windows
   file selector, improved the support for accented character maps in the 
   keyboard driver, and made aesthetic modifications to the GUI menu system.

   Peter Wang (tjaden@alphalink.com.au).
   Contributed to the Linux GGI driver, added the mouse_z wheel input 
   support to the Linux code, fixed problems with the ESD sound driver, 
   wrote the ALSA sound driver, wrote the BeOS sound driver, added OSS MIDI 
   and sample input support, added banked mode support to the SVGAlib driver, 
   wrote the X DGA mode switching code, and improved the Linux joystick driver,
   and did loads of other things too.

   Phil Frisbie, Jr. (pfrisbie@geocities.com).
   Wrote the CPU type detection code.

   Przemek Podsiadly (ppodsiad@elka.pw.edu.pl).
   Added hicolor versions of the 3d polygon code.

   Revin Guillen (revin@phylo.com).
   Added the position_dialog() function.

   Richard Davies (richard@debaser.force9.co.uk).
   Added support for PSX and N64 joypads.

   Richard Mitton (100740.1271@compuserve.com).
   Added support for 6-button joysticks, and wrote the 12-bit color example 
   program (ex35).

   Robert J. Ragno (rjr@mit.edu).
   Wrote the Gravis GrIP driver, and made some improvements to the Wingman, 
   PSX, and throttle input code.

   Robert Ohannessian (varobert@colba.net).
   Added MMX optimisation for the 8 and 16 bit clear() functions.

   Romano Signorelli (romanos@bigfoot.com).
   Added an arc plotting routine.

   S.Sakamaki (emt@geocities.co.jp).
   Added the VESA 3.0 refresh rate control code.

   S.Suzuki (s-suz@sunfield.ne.jp).
   Wrote the IF-SEGA /PCI, /PCI2, and /ISA joystick interface drivers.

   Salvador Eduardo Tropea (salvador@inti.edu.ar).
   Improved the keyboard routines (better handling of extended scancodes, 
   keyboard LED support, capslock and numlock, and alt+numpad input), 
   contributed the 320x100 VGA graphics mode, added support for proper 16 
   bit sample mixing, and made numerous other useful suggestions, 
   contributions and bugfixes.

   Santeri Saarimaa (gridle@mbnet.fi).
   Made the Finnish keyboard mapping.

   Scott Harrison (scotth@calderauk.com).
   Added the OpenDOS detection code.

   Sean Gugler (sean@epal.com).
   Added the set_leds() function.

   Seymour Shlien (seymour@dgbt.doc.ca).
   Contributed the Windows BMP file reader, bezier spline drawer, and 
   justified text plotting function.

   Shawn Hargreaves (shawn@talula.demon.co.uk).
   Progenitor. Wrote everything that wasn't written by somebody else.

   Stefan Eilert (seilert@rz.Uni-Osnabrueck.DE).
   Added support for a second joystick.

   Stefan Schimanski (1Stein@gmx.de).
   Wrote the Windows version pretty much single-handedly.

   Stefan T. Boettner (virtual.man@t-online.de).
   Wrote the Linux SVGAlib driver.

   Stepan Roh (sroh7497@ss1000.ms.mff.cuni.cz).
   Added a Czech keyboard mapping and system message translation, the Latin 
   Extended-A characters in the default font, and the codepage support in 
   the textconv utility, fixed some problems with the ESD sound driver, and 
   helped make Allegro build better on some Unix platforms.

   Stephen Kittelson (stickman2000@juno.com).
   Made bugfixes and tweaks to the keyboard system.

   Sven Sandberg (ssven@geocities.com).
   Fixed a problem with save_bitmap() rounding the image widths, optimised 
   the create_light_table() function, optimised the fixed point trig 
   routines, provided the Swedish message translations, improved the file 
   selector sorting algorithm, optimised the spline routines, added the 
   ustrrchr() function, improved the usprintf() handling of floats, and 
   provided other bug fixes.

   TBD/FeR (tbd@usa.net).
   Added the 320x600 and 360x600 resolutions to the mode-X driver.

   Teijo Hakala (teijo.hakala@imnetti.fi).
   Added wheel support to the Windows mouse driver.

   Tero Parvinen (Tero.Parvinen@hut.fi).
   Designed most of the new sound API.

   Theuzifan Sumachingun (uzi@simauria.upv.es).
   Improved the cpu detection for Cyrix chips and made the file selector 
   only list valid drive letters.

   Thomas Wolf (two@chello.at).
   Corrected some errors in the German keyboard mapping, and added the 
   German translation of the system messages.

   Tim Bird (tbird@caldera.com).
   Worked on the Linux console port.

   Tim Gunn (timgunn@eastwind.com.au).
   Wrote the TGA reading/writing routines.

   Timothy Terriberry (sundance@sprintmail.com).
   Fixed several bugs in the RGB <-> HSV conversion routines.

   Tom Breton (tob@world.std.com).
   Added the functionality selection #ifndefs to allegro.h.

   Tom Novelli (tnovelli@cyber3.servtech.com).
   Wrote the original version of the digital MIDI driver.

   Tomohiko Sugiura (tmsugi@d4.dion.ne.jp).
   Added the KEY_YEN and KEY_YEN2 keys to the input handler, and organised 
   getting the IF-SEGA joystick drivers by S.Suzuki merged into my codebase.

   Vincent Penquerc'h (vpenquerch@cr2a-di.fr).
   Added the D_DIRTY flag and mouse button press/release events to the GUI
   system, optimised the 256 to truecolor blitting code to avoid repeated 
   conversions of the palette table, added scare_mouse_area(), added the 
   yield_timeslice() function, added the update selection function to the 
   grabber, added the XCRP and YCRP properties to datafiles in general, and 
   made various other bugfixes and improvements.

   VolkerOth (VolkerOth@aol.com).
   Integrated the concepts of scrolling and edit_proc objects.

