     ______   ___    ___
    /\  _  \ /\_ \  /\_ \
    \ \ \L\ \\//\ \ \//\ \      __     __   _ __   ___ 
     \ \  __ \ \ \ \  \ \ \   /'__`\ /'_ `\/\`'__\/ __`\
      \ \ \/\ \ \_\ \_ \_\ \_/\  __//\ \L\ \ \ \//\ \L\ \
       \ \_\ \_\/\____\/\____\ \____\ \____ \ \_\\ \____/
	\/_/\/_/\/____/\/____/\/____/\/___L\ \/_/ \/___/
				       /\____/
				       \_/__/


             Informacin especfica para DJGPP.

    Vase readme.txt para un punto de vista ms general.



=====================================
============ Notas DJGPP ============
=====================================

   Estado: completo. Esta es la versin original de Allegro, y ha tenido
   tiempo suficiente para llegar a ser buena y estable.



============================================
============ Software requerido ============
============================================

   - DJGPP 2.01 o posterior (djdev*.zip).
   - GCC compiler 2.91.x o posterior (gcc*b.zip).
     Nota: gcc 3.0.x (0 <= x <= 1) no compila Allegro correctamente.
   - Binutils 2.9.x o posterior (bnu*b.zip).
   - GNU make (mak*b.zip).
   - Texinfo (txi*b.zip).
   - Opcional: rm (fil*b.zip). Usado por los comandos clean y uninstall del
     make.
   - Opcional: sed (sed*b.zip). Usado por "make depend".

   Lo mencionado arriba puede descargarse desde su servidor rplica Simtel
   ms cercano, en el directorio /pub/simtelnet/gnu/djgpp/, o puede usar el
   zip picker de http://www.delorie.com/djgpp/. Por favor asegrese de haber
   instalado correctamente djgpp segn las instrucciones de readme.1st, y de
   que no est mezclndolo con ficheros de otros compiladores (ej: el make
   de Borland).
   


===========================================
============ Notas Allegro CVS ============
===========================================

   Si est usando una versin CVS de Allegro, entonces necesitar hacer un
   par de cosillas adicionales para asegurar que su copia de Allegro
   compilar correctamente. Esto se cubre en detalle ms abajo, pero en pocas
   palabras:

   1. Debe ejecutar el script `fix' (ya sea el fichero bat, mediante el
      command.com, o el fichero .sh con bash). Debe usar el argumento
      `djgpp'.

   2. Debe regenerar los ficheros de dependencias: un simple `make depend'
      har lo necesario. No obstante, tenga en cuenta que necesita tener
      instalado el programa sed para realizar este paso.



============================================
============ Instalando Allegro ============
============================================

   Esto es una distribucin de cdigo fuente, por lo que deber compilar
   Allegro antes de poder usarlo. Para hacer esto deber:

   Ir al sitio donde desea poner su copia de Allegro (el directorio principal
   del djgpp es vlido, pero puede ponerlo en otro lugar si as lo desea), y
   descomprimir ah todo. Allegro contiene varios subdirectorios, por lo que
   necesitar usar el parmetro -d si usa pkunzip.

   Si est en Linux, y desea realizar una compilazin cruzada para obtener la
   versin djgpp de Allegro, ajuste la variable de entorno "CROSSCOMPILE=1",
   haga que DJDIR apunte al directorio donde tiene instalado el compilador
   cruzado, modifique PATH para que pueda acceder al compilador cruzado, y
   apunte con NATIVEPATH a la ruta de su versin nativa del gcc (_no_ al
   compilador cruzado djgpp!) para que ste pueda ser invocado en la
   conversin de la documentacin. Quizs quiera editar y usar `xmake.sh';
   hay ms intrucciones en los comentarios de ese mismo fichero.

   Teclee "cd allegro" seguido de "make". Entonces vaya a hacer algo
   interesante mientras todo se compila. Cuando acabe la compilacin, teclee
   "make install" para que pueda usar la librera. Si ha tenido algn
   problema con la compilacin, mire en docs/txt/faq.txt para obtener las
   soluciones a algunos de los problemas ms comunes.

   Si adems desea instalar la versin de depuracin de la librera
   (altamente recomendado), teclee ahora "make install DEBUGMODE=1". Las
   maysculas son importantes, por lo que debe ser DEBUGMODE, no debugmode!

   Si adems desea instalar la versin para medir rendimiento de la librera,
   teclee ahora "make install PROFILEMODE=1".

   Si desea leer la documentacin de Allegro desde el sistema de ayuda online
   de Rhide, vaya al men "Help / Syntax help / Files to search", y aada
   "allegro" tras la entrada "libc" existente (separando con un espacio).

   Si desea crear la documentacin HTML como un gran fichero allegro.html en
   lugar de separarlo en secciones, modifique docs/allegro._tx, y borre la
   lnea 8 que contiene el comando @multiplefiles, y ejecute make de nuevo.

   Una vez el proceso de compilacin haya terminado puede recuperar algo de
   espacio del disco duro ejecutando "make compress" (que usa los programas
   DJP o UPX para comprimir los ficheros ejecutables), y/o "make clean" (para
   deshacerse de todos los ficheros temporales y documentacin en formato
   HTML).

   Si su copia de Allegro est configurada para ser usada por otro compilador
   (si descarg un archivo tar.gz o una versin CVS), deber ejecutar
   'fix.bat djgpp' antes de compilar. Si est usando bash puede ejecutar en
   su lugar 'fix.sh djgpp'.

   Si su copia de Allegro no incluye los ficheros de dependencia makefile.dep
   (si por ejemplo ha ejecutado "make veryclean" o tiene la versin CVS),
   puede regenerarlos ejecutando "make depend".

   Si `make' le dice que necesita descargar un nuevo paquete, o si necesita
   el paquete `sed' para generar las dependencias, puede encontrar stos en:
     ftp://ftp.demon.co.uk/pub/mirrors/simtelnet/gnu/djgpp/

   Una lista de todas las opciones disponibles:
    CROSSCOMPILE
                Active esto si est realizando compilacin cruzada; implica
                UNIX_TOOLS.

    WARNMODE
                Active esto si desea que Allegro muestre casi todos los
                mensajes de aviso del compilador. Allegro debera poder
                compilar correctamente con esta opcin activada.

    TARGET_ARCH_COMPAT
      o
    TARGET_ARCH_EXCL
                Estos afectan al nivel de optimizacin dependiente del
                procesador que puede usar Allegro. Puede ajustar cualquiera
                de estas opciones al tipo de procesador para el cual desea
                optimizar. La diferencia entre los dos es que
                TARGET_ARCH_COMPAT optimizar el cdigo para el procesador
                indicado permitiendo que el cdigo funcione tambin en
                procesadores ms antiguos, mientras que  TARGET_ARCH_EXCL
                generar cdigo que funcionar exclusivamente en el
                procesador indicado y versiones posteriores. Ejemplo:
                set TARGET_ARCH_COMPAT=i686

    TARGET_OPTS
                Afecta las optimizaciones generales que usa Allegro.

    UNIX_TOOLS
                Si su sistema no tiene las herramientas DOS habituales
                disponibles `md', `rd', `copy', etc., y comandos que
                entienden el carcter \), entonces active esto a 1 para usar
                las equivalentes de unix. Esto se activa implcitamente si ha
                activado CROSSCOMPILE, y tambin es activado automticamente
                si est ejecutando bash.

    Para activar cualquiera de estas, teclee (por ejemplo) "make WARNMODE=1".



========================================
============ Usando Allegro ============
========================================

   Todas las funciones, variables y estructuras de datos estn definidas en
   allegro.h. Debe inclur esto en sus programas, y enlazar con una de las
   libreras Allegro, la optimizada liballeg.a, la de depuracin liballd.a,
   o la de medir rendimientos liballp.a. Para esto debera:

   Poner la siguiente lnea al comienzo de sus ficheros C o C++ que usen
   Allegro:

      #include <allegro.h>

   Si compila desde la lnea de comando o con un makefile, aada al final
   de la lnea de comando '-lalleg' (para la versin optimizada), '-lalld'
   (para la versin de depuracin), o '-lallp' (para medir rendimientos):

      gcc foo.c -o foo.exe -lalleg

   Si est usando Rhide, vaya al men Options/Libraries, y teclee en el
   primer espacio libre 'alleg' (para la versin optimizada), 'alld'
   (versin para depurar), o 'allp' (para medir rendimientos), y asegrese
   de que el recuadro que est al lado est marcado.



============================================
============ Hardware soportado ============
============================================

   Lo mnimo que necesita para usar Allegro es un 386 con una tarjeta de
   vdeo VGA, pero un 486 es muy recomendado. Para alcanzar los modos SVGA
   necesitar una tarjeta compatible SVGA, es decir, una tarjeta que
   funcione con un controlador VESA o VBE/AF.

   Idealmente debera usar VBE/AF, ya que permite a Allegro usar las
   funciones de aceleracin por hardware para dibuajar. El proyecto
   FreeBE/AF (http://www.talula.demon.co.uk/freebe/) da un nmero de
   controladores VBE/AF gratis (los voluntarios siempre pueden hacer ms
   controladores!), y un nmero grande de controladores acelerados por
   hardware estn disponibles comercialmente como parte del pack SciTech
   Display Doctor (http://www.scitechsoft.com/).

   Si tiene un controlador VBE 2.0 o VBE 3.0 quizs no necesite ms, pero no
   tendr aceleracin por hardware como la que permite el controlador
   VBE/AF. Si tiene una implementecin VESA antigua (ej: VESA 1.2), tenga
   cuidado. Por un lado, todo ser mucho ms lento que cuando Allegro puede
   usar las caractersticas sexys del controlador VBE 2.0. Por otro lado,
   podra hablarle todo el da de historias horribles sobre las
   implementaciones con fallos y generalmente patticas que me he
   encontrado. Si tiene problemas con los modos SVGA, pruebe conseguir una
   copia del SciTech Display Doctor y mire si soluciona sus problemas
   (seguramente lo har: SciTech suele hacer estas cosas bien).

   Tenga en cuenta que los controladores de chipsets SVGA nativos se han
   borrado de la biblioteca Allegro. Todava estn disponibles como un
   paquete adicional que puede conseguir del mismo sitio que Allegro, pero
   ya no son necesarios porque puede obtener el mismo cdigo en un formato
   ms flexible como parte del proyecto FreeBE/AF.

   En la parte de sonido, Allegro soporta la reproduccin de samples en la
   SB (mono), SB Pro (estreo), SB16, ESS Audiodrive y Ensoniq Soundscape.
   Tiene controladores MIDI para el sintetizador FM OPL2 (tarjetas Adlib y
   SB), OPL3 (Adlib Gold, SB Pro-II y superiores), el par de chips OPL2 de
   la SB Pro-I, el chip EMU8000 de la AWE32, la salida MIDI SB pura, y el
   interfaz MPU-401, y adems puede emular un sintetizador MIDI wavetable
   por software, corriendo sobre cualquiera de las tarjetas digitales
   soportadas. Las tarjetas SB PCI-64 y PCI-128 de Creative Labs estn
   basadas en el chip de Ensoniq, por lo que pueden ser usadas con el
   controlador de Soundscape y MPU-401. Sin embargo, tendr que seleccionar
   el MPU manualmente, ya que no ser autodetectado. Actualmente, muchas
   tarjetas de tabla de ondas emulan el MPU, por lo que intente esto y mire
   si funciona en su tarjeta. Si tiene ganas de aportar ms controladores
   para otro hardware, sern bienvenidos.

   La grabacin de audio est soportada por todas las SB, pero slo en modo
   unidireccional, es decir, no puede grabar y reproducir samples a la vez.
   La entrada MIDI se consique con los controladores MPU-401 y SB MIDI, pero
   hay ciertas restricciones con esto. La interfaz SB MIDI no puede ser
   usada al mismo tiempo que un sistema de sonido digital, y MPU slo
   funcionar si hay un IRQ libre (esto ser el caso si tienes una SB16 o
   superior, o si no instala ningn controlador de sonido digital tipo SB, o
   si su interfaz MIDI usa un IRQ diferente al de la SB).



==============================================
============ Notas pare el msico ============
==============================================

   El chip sinttico OPL2 puede manejar nueve voces en polifona o seis
   voces ms cinco canales de tambores. El cmo hacer que la msica suene
   bien en un OPL2 se deja a ejercicio del lector :-) En una SB Pro o
   superior, tendr dieciocho voces, o quince ms tambores. Allegro decide
   si usar el modo con tambores individualmente para cada fichero MIDI,
   basndose en si ste contiene tambores o no. Si tienes una pieza
   orquestral con el tpico platillo, sera buena idea quitarlo para que
   Allegro use el modo sin tambores para darle tres notas extra de
   polifona.

   Cuando Allegro est reproduciendo un fichero MIDI en modo loop, salta al
   comienzo del fichero cuando llega al final. Para controlar exactamente el
   punto de loop, necesitar insertar una marca de evento como un mensaje de
   control en un canal que no usa.

   Todos los chips OPL tienen una capacidad estreo muy limitada. En un
   OPL2, todo es reproducido en mono. En la SB Pro-I, los sonidos slo
   pueden panoramizarse totalmente a la izquierda o a la derecha. Con el
   chip OPL3 de la SB Pro-II y superiores, el sonido puede panoramizarse a
   la izquierda, derecha o centro. Podra usar dos voces por nota para
   proveer una panoramizacin ms flexible, pero eso reducira la polifona
   y no deseo hacer eso. Por lo que no intente mover el sonido en estreo
   con mensajes de control de panoramizacin, porque darn unos saltos
   horribles. Tambin merece la pena considerar la panoramizacin sw cada
   canal para que la msica suene bien en tarjetas SB Pro-I y OPL3. Si
   quiere un sonido panoramizado a la izquierda o derecha, usa un valor de
   pan menor de 48 o mayor de 80. Si lo quiere centrado, use un valor de pan
   entre 48 y 80, pero pngalo ligeramente en un lado del centro 64, para
   controlar qu altavoz ser usado si la panoramizacin central no es
   posible.

