/Files/GLMame/old
GLMame v 0.92 Mame Display Driver
=================================
Sven Goethel
http://www.jausoft.com
sgoethel@jausoft.com
MAME License
Based upon GLmame v0.6 driver for xmame, written by Mike Oliphant
peace, sven
01/December/2001 GLMame OpenGL-Display-Driver Version 0.92
=================================================================
o clean up: glvec.c again
o added 2 new options for vector games:
-[no]glantialiasvec, -[no]glaav , default true !
Enable/disable vector antialiasing
(otherwise 16bpp opengl displays looks kinda bad ..)
-[no]gldrawbitmapvec, -[no]glbitmapv, default true
Enable/Disable the drawing of the bitmap only for vector games - speedup
(remember, you can also toggle this via RALT-O)
o added vector flickering ;-)
o because of the buggy dirty-code,
i recommend you use -nodirty for opengl as default ..
27/November/2001 GLMame OpenGL-Display-Driver Version 0.91
=================================================================
o clean up: glvec.c, glgen.c
o removed gldirty.[ch]
added functionality to glgen.c
o added new dirty strategie to glgen's texture handling ..
as for mplayer ;-)
WARNING: still needs -nodirty flag for some games,
like atetris !
o still don't know how to handle effect's .. ! HELP !
o WARNING: modified src/cpu/v60/v60.c to being compiled
under PPC architecture !
18/November/2001 GLMame OpenGL-Display-Driver Version 0.90
=================================================================
- true color vector game bug (all vector game colors are true since 0.5x.y)
- using blit.h for 16bpp colorIndex mapping only,
e.g. true color games don't need it .. (xexex, shocking, ..)
-> useColorBlitter !
- added an own texture memory with BITMAP_SAFETY's,
if using useColorBlitter !
- removed color bpp "guessing" - this fixes some neogeo problems ..
20/August/2001 GLMame OpenGL-Display-Driver Version 0.88
=================================================================
o changed to the new png usage
o INFO: I kept the 8bpp color-table stuff for now,
but the base mame 0.53 does not support it anymore !
13/July/2001 GLMame OpenGL-Display-Driver Version 0.87
=================================================================
o tested xmam.xgl with LinuxPPC
(Powerbook) + ATI-Rage128 + XFree86 4.1 + DRI
! SUCCESS !
Use options: "-noglext78 -noglaa" or "-bpp 16 -noglaa",
where the latter is a bit slower for me (about 5fps)
o changed GLboolean -> int,
because of Linux-PPC problems ..
05/May/2001 GLMame OpenGL-Display-Driver Version 0.86
=================================================================
o Added option:
- glres
x
Always scale games to XresxYres,
keeping their aspect ratio. This overrides the scale options.
This is e.g. necessary, if you run xmame.xgl under
a Vodoo1 gfx card, which only allows you a 640x480 fullscreen
"window" ;-) - but your desktop runs under a different resolution.
04/April/2001 GLMame OpenGL-Display-Driver Version 0.85
=================================================================
o recreated general purpose opengl modules:
- gltool.[ch]
- glxtool.[ch]
- glcaps.[ch]
these are now licensed under the LGPL _and_ the MAME license !
(I am the creator and copyright holder .. so ..)
o fixed glxtool modules
- segmentation fault, due to NULL pix pointer
- bug fixed fall back method ..
- extended finding appropiate visual, falling back ..
o Last but not least, you can use gltool's feature of
specifying the GL/GLU library names by the systems
environment variables:
GLTOOL_USE_GLLIB - OpenGL library name
GLTOOL_USE_GLULIB - GLU library name
these environment variables does _always_ overrides
any given ones !
01/April/2001 GLMame OpenGL-Display-Driver Version 0.84
=================================================================
o fixed vector module
- flickering and "now show" is now avoided,
e.g. in mhavoc (flicker), warrior(no show),
spacewar(no show), ...
29/March/2001 GLMame OpenGL-Display-Driver Version 0.83
=================================================================
o fixed cmdline options ..
o fixed documentation
o fixed info printouts (-DGLDEBUG)
28/March/2001 GLMame OpenGL-Display-Driver Version 0.82
=================================================================
o Fixed vector module
- resize, and a little new arrangement to fix begin/end
problems
o new cmdline options ..
28/March/2001 GLMame OpenGL-Display-Driver Version 0.81
=================================================================
o Fixed vector module
- now you can play vector games with 16bpp either,
but do not complain the speed ;-)
You can toggle drawing the overlayed bitmaps,
while pressing "RALT-O"
27/March/2001 GLMame OpenGL-Display-Driver Version 0.80
=================================================================
o Added 15bpp & 32bpp true color support
- Both modes uses std. opengl direct texture mapping
- You can additionally add a blitter run for nonsense,
Via cmdline option "-glblit"
Let me say: "Yeahh... "
This easy solution you can follow in glgen.c costs me nerves ..
But you need OpenGL >= 1.2, well .. of course ..
o Added 16bpp color index mode
- This modes uses a blitter run, to
exchange the indices <-> colors from lookup table
within the opengl texture.
We only need it at the original size.
- If your graphic's card opengl colortable mapping
does not work nice,
you can now call xgl with "-bpp 16", and the blitter
code is used for color mapping !
Everything else (zoom, filter, cabinet) is still
done by opengl.
After getting crazy about this color mode
(mk ran without indices lookup .. with _nearly_ correct colors),
i looked at SDL.c and took the blitter :-), for the conversion.
By the way, .. it was impossible to use OpenGL's colormapping
for colortables > 256, neither with Mesa 3.4 nor with nvidia.
So this old mode is reserved for the best ever games ;-)
pacman, mr do, ..
o Added opengl snapshoot via std. F12 (-> png)
But be aware, the current window size is being used ;-)
with RGB mode !
If you complain on colors now,
make a screenshot.
But I am a bit colorblind (red/green),
so don't hit me :-))
(yes, i have tested the rgb(a) mapping via the colormaps ..)
o The fullscreen (R-ALT+F) key does now toggle
between full- and windowscreen.
o Added a startup "hack" within unix/main.c,
where i try to find the games nicest
full color - low color depth size.
Be aware, the games do not start at 8bpp now,
if they are colorfull.
This only works, if you do not use the "-bpp" cmdline option
o Many bugfixes and cleanup,
so new bugs are in :-))
23/March/2001 GLMame OpenGL-Display-Driver Version 0.74
=================================================================
o Bugfixed the cmdline argument handling "-cabinet"
- previously, the argument was simply ignored ..
- misc cabinet bugfixes ..
o Added new elements for the cabinet syntax (cabv1.1):
- pointsize (-> glPointSize() )
- begin points (-> glBegin(GL_POINTS) )
o Created and added my cabinet (glmamejau) and
use it as the default ..
You can now simply add your 256x64 jpeg banner
to your mame cabinet :-)
o updated sgml documentation ..
o switched back frm "glColorSubTableEXT" to "glColorTableEXT",
may be this can help somebody .. (i do not think so)
22/March/2001 GLMame OpenGL-Display-Driver Version 0.73
=================================================================
o Updated the doc/xmame-doc.sgml root documentation,
to respect the new xmame.xgl
Added a little script, named makedoc.sh, to produce
all the destination documentation !
o Added runtime toggle's for opengl options with keyboard input
KEYCODE_RALT + KEYCODE_A := toggle antialias (vector)
KEYCODE_RALT + KEYCODE_B := toggle bilinear (raster)
KEYCODE_RALT + KEYCODE_C := toggle cabinet mode (both)
KEYCODE_RALT + KEYCODE_F := switch to fullscreen (both)
KEYCODE_RALT + KEYCODE_O := toggle draw-bitmap (both)
KEYCODE_RALT + KEYCODE_T := toggle phosphor trails (vector)
KEYCODE_RALT + KEYCODE_PLUS_PAD := incr. beam size (vector)
KEYCODE_RALT + KEYCODE_MINUS_PAD:= decr. beam size (vector)
o The OpenGL (xgl) cmdline options are (unchanged since 0.71):
*** OpenGL Related ***
-[no]fullscreen Start fullscreen
-[no]gldblbuffer Enable/disable double buffering
-gltexture_size Force the max width and height of one texture
segment (default: autosize)
-[no]glext Force the usage of gl extensions (default:
auto)
-[no]glbilinear / -[no]glbilin Enable/disable bilinear filtering
-glbeam Set the beam size for vector games
-[no]glalphablending / Enable/disable alphablending (default: try
-[no]glalpha alphablending)
-[no]glantialias / -[no]glaa Enable/disable antialiasing
-gllod level of bitmap-texture detail
-gllibname / -gllib Choose the dynamically loaded OpenGL Library
(default libGL.so)
-glulibname / -glulib Choose the dynamically loaded GLU Library
(default libGLU.so)
-[no]cabview Start/ don't start in cabinet view mode
-cabinet Specify which cabinet model to use
22/March/2001 GLMame OpenGL-Display-Driver Version 0.72
=================================================================
o Added a fallback visual attribute fetch algo
this is done with (a modified gl4java module)
the new glxtool.c's functions !
This is important to fallback to lower visual capabilites ..
o Now the glcontext is bound to the window !!
.. not the root window or NULL :-)
21/March/2001 GLMame OpenGL-Display-Driver Version 0.71
=================================================================
o Fetching all GL, GLU and GLX functions dynamically
- I use a compiler for these stubs,
which I have implemented for the project
"OpenGL for Java" (gl4java)
o Choosing the GL and GLU library at runtime (commandline argument)
o Some misc. bugfixes ..
o Changed this file from
"doc/ChangeLog-GLMame.txt" to "doc/changes.opengl"
o Alpha is used for default
o Alpha & db-buffer is checked
o Split texture work's now,
e.g. you have an vodoo card with max texture size = 256,
so more than one textures must be used, if bitmap > 256 !
O The non OpenGL Extension Mode works now (is tested)
o Changed runtime options
o Changed compiler options
- only if the compiler define 'GLDEBUG'
is set, NDEBUG is not set ;-)
if you want to have some opengl related debug output,
recompile with 'GLDEBUG' !
o Vector:
- onscreen (osd) menu cleanup
- fixed LINE_WIDTH == 0 (e.g. tacscan ..)
- now using (runtime config)
- intensity & gamma
o Compiler options:
No more used:
-GLLIBS= -lGL -lGLU (!! important !!)
-DNVIDIA
-DUTAH_GLX
New:
-GLLIBS= -ldl (!! important !!)
-DGLDEBUG
Enables (more) OpenGL related (debug) info's,
included runtime gl-error check's ..
12/March/2001 GLMame OpenGL-Display-Driver Version 0.7
=================================================================
General Changes
o Merge back to xmame
- is used xmame 0.37b12.1pre3
o Cleanup
o All OpenGL specific changes i have done for the GLMame32 version
are present within this version !
- no memcpy
- direct mame bitmap usage
- eff. color buffer
- dynamical query of
- glColorTableEXT
- texture size
- many more .. (see below)
ToDo (?!):
o fix vectorgame's gl display
- some bitmaps, etc. are not shown
o if more than one texture is used for the bitmap presentation,
only the very first is rendered ...
i don't now what's the damn problem, i have tested it a long time.
please help ..
usually today's gfx cards does support big enough texture sizes
you can test this bug e.g. with the option:
xmame.xgl -gltexture_size 128
where the texture size is forced to 128x128, so more than one
texture is needed ..
o add png save of the gl rendere frame
o add mac port ?
o backport to win32 (partial included -> cleanup) ..
Info:
o for debug purpose, just edit glmame.h and undef NDEBUG
in this case many info printf's are shown up :-)
20/March/2000 GLMame32 Version 36rc2 OpenGL-Display-AddOn 1.3beta
==================================================================
General Changes
o Taken Windows-Source-Base from Mame32-36b16 !
o Taken MAME Source Mame 36rc2 !
Mame32 integration
o Now GLMame32 just adds the OpenGL display driver !
o Vector Games are support for OpenGL only in this Version !
o the '#define xgl' exists everywhere in the source,
except of the Ressource Files :-(
OpenGL Changes
o Because of the lower changes,
the performance should be increased ...
o Now useing normal coordinates [0.0-1.0].
o The vector implementation is bug-fixed,
and is able to show the bitmap for options etc.
The artwork bitmap still does not work ... but is coming !
The Fullscreen mode for vectors has the correct aspect-ration now !
o The color allocation is bug-fixed,
so the "disclaimer" where you have to say OK the first time
is viewabel !
Also the color sheme should accept high color games now ...
15/June/1999 GLMame32 Version 35rc1 OpenGL-Display-AddOn 1.2
============================================================
General Changes
o Taken Windows-Source-Base from Mame32-35b13 !
o Taken MAME Source Mame 35rc1
Mame32 integration
o Now GLMame32 is compiled with MSVC 6.0
o Now GLMame32 just adds the OpenGL display driver,
- the others are still available !
- you can choose OpenGL within the properties.advanced dialog-box.
o The following values are transparent to the main Mame32
and are saved into the config-file:
alpha, gamma, OpenGL-Usage, automatic-fps, skip-fps,
fullscreen
o osd_pause is implemented
o the auto-pause mechanism has changed a bit (implementation).
o the '#define xgl' exists sometimes in the source,
but in a way of hurry - it is not used consitency.
o the opengl-part supports png-files, but just the
poor mame-bitmap quality :-( yet !
OpenGL Changes
o getting PIXELFORMAT with depth 16 bits as default
o IF alphablending == FALSE
- Only RGB rendering is done, the Alpha-Channel is dropped !
- Alpha will modify the RGB intensity !
o The maximal texture-size is tested and used,
so the bitmap may be displayed within more than one
texture.
This is a must for OpenGL hardware with a restricted texture size !
The texture-size of each testure is equal, but only the
viewable part is watchable.
The width and height is tested in a way,
so they can be different.
The test algorythm tests till the texture-proxy allows
the settings :-)
o The maximal texture width and height can be forced to a spec. value !
Of course the used value is adapted to 2**n=size :-) !
o the opengl-part supports png-files, but just the
poor mame-bitmap quality :-( yet !
o while setting properties.misc.error_log to true,
you can read the file 'glmame32_stderr.log' for information
about some opengl-metrics and the opengl-vendor !
The log file catches the info of the last game-run !
15/May/1999 GLMame32 Version 35b12 OpenGL-Display-Only 1.1
===========================================================
o Using the original bitmap in ONE texture-buffer !
- So the *_create_display and *_new_bitmap is patched !
- Using the true view size, to update the texture
o if the EXT functions is not their, the other one works !
- The non EXT function for Color-Index works,
but - of course - it is _very_ slow !
- The non EXT function for color index can be used,
while toggeling the flag in the GL-status dialog.
Be aware of broken OpenGL drivers ...
... the ELSA driver for Gloria L/MX frozes my NT-machine :-(,
so i use 3DLabs now (faster for Quake2 anyway ...).
- The non EXT support works only from this version on !
o Using the true color number for the palette
o Using the right component size of the bitmap
o using the alpha values for brightness
o added win32 function to load the EXT functions !
o added snapshot support for:
- BMP (Win32 only)
- PPM (Win32 and all the others - now it works :)
- JPG (why not - but the quality is poor ..)