pete ogl d3d version 1 75


--------------------------------------------------------------------------

10. November, 2003 Version 1.75

- Not much done in 1.75 (at least as far as I remember, ehe). The major
change was some tweaking of the internal texture caching, which will
sometimes cause better FPS, and sometimes (insignificant) less FPS,
depending on the game engine.
Anyway, the new caching is somewhat cleaner, and cards with little vram
(32 MB or less) will like it better in certain games using many different
texture palettes. Therefore: if 1.75 works better with your system/games,
use it, if 1.74 works better, feel free to keep it, you will not miss any new
feature by doing so.


"images of sunshine
lease, to make the words rhyme
let me die in eight-time
let me write a tale to no-one
let me write a tale to make you think you're someone
and 'Can you think of one good reason to remain?'"
- "Death Trip" by Steve Harley

--------------------------------------------------------------------------

16. August, 2003 Version 1.74

- A few fixes from the OGL2 plugin also affected the standard OGL/D3D
plugins, so I've decided to release them as well.
Things fixed (shameless copy of my OGL2 version text):

- Skullmonkeys... ah, yeah... sorry to say: the game didn't work perfectly with
the last release (I was only able to check out one level... and of course other
levels were still screwed). Well, Parotaku gave me another save state, and I
think now everything is right... at least Parotaku was not able to find more
issues, so blame him if still something is going wrong ;)

- FrancoisC noticed a bad shading in the Breath Of Fire 4 camp fire on his R8500
with my OGL plugins. First I didn't believe that (I played BOF4 alot in the past),
but then I took a closer look... and he was right. After a few investigations I've
found out that nVidia cards and ATI cards are doing a different rendering of
connected quad polygons. Seems like ATI cards are handling a single "quad_strip"
polygon like a "standard quad" one, while nVidia cards are handling it like
two connected triangles. Don't ask me what's the correct behaviour, and who is
to blame, ehehe.
Anyway, I've fixed that... now ATI and nVidia cards will work fine.

- Ah, and related to the bad BOF4 shading: the car tires in "Driver" were also missing
on ATI cards, tsts. Of course that's also fixed.


"He disappeared
In the early haze of morning
And with him left his prophecies
They didn't care..."
- "Send Me A Sign" by Gamma Ray

--------------------------------------------------------------------------

01. August, 2003 Version 1.73

- calb detected a gpu bug with the Skullmonkeys game (missing
graphic layers), and gave me a save state. I was able to fix
that bug without the need of a new 'game fix', and hey, maybe
some other games will also be affected for good (but I don't
want to know how many games will break because of it, ehehe...
naah, none of the games I've tried had shown any bad side
effects).

- ePSXe 1.6.0 is offering multitap and gun support. Old plugins
only could give infos if the emu was running in "A"nalog or
"M"ouse mode (a symbol appeared in the gpu menu), now the menu
can display the currently used "A"nalog, "M"ouse, "G"un or
"D"igital pad mode, and also the pad/input device number (1-4).


"Das ist die Zeit der Nebel,
der Kraehen und der Raben.
Die Schnitter muessen maehen,
und keiner kommt zum saeen.
Es geht ein duester Reigen"
- "Herbstzeit" by Subway to Sally

--------------------------------------------------------------------------

14. Juny, 2003 Version 1.72

- It's summertime :) That means that I don't spend much free
time for emu coding right now, and since the hw/accel psx gpu
plugins are kinda mature, there is no big need to do so as well.
Nevertheless, since ATI cards get more and more common,
I wasn't exactly happy that there were still some ATI issues
reported with my plugins.
But since I used only nVidia cards for the last years (I liked
their driver stability), I never got a real chance to check out
what was going wrong on ATI cards. Of course I had a lot of
offers to do beta testing from ATI users (thanx to Laurent,
Omegadrive, Tuan, Tarcel, and everybody else for the
support), but I am not so a big fan of remote debugging (that's
usually a tiresome, time-consuming business).
Therefore I was nicely surprised when Alan, from Woodstock (USA),
offered to send me a free Radeon 9700 Pro. So this gpu release
is dedicated to Alan, it wouldn't been possible without his
donation.

- First some general words about the ATI card (you can skip this
section, if you can't stand my engrish, long winded explanations,
and you just want to know what's new in the plugins... you may
want to read on if you are planning to upgrade your system to
an ATI card as well, though).
Before replacing my old trusty GeForce 3, I de-installed all nVidia
drivers from my W98 and WinXP systems. After that I shut the
PC down, put in the 9700 Pro, and bootet up again, WinXP first.
I ignored all the blabla on startup, installed the 3.4 Catalyst drivers
and the ATI control panel, rebootet again, and all was up and
running.
Well, running at 60 Hz, of course. First I adjusted the frequency in
the monitor settings (like I used to do with my GF3 card), setting it
to 85 Hz... and nothing happened... still 60 Hz. After some research
I found out that I had to increase the frequency in the ATI panel as
well, tsts. Finally 85 Hz :) At least on desktop... fullscreen games of
course still were running at 60 Hz... the typical WinXP problem. So,
running RefreshForce (which I also used for my GF3) fixed that issue,
nice.
Otherwise everything else was working without problems (ah,
of course WinXP detected a 'major change in hardware', so I had to
activate XP again). All PC games I started up were running fine,
and because of the faster gfx card I was able to max out all the video
settings (like in Morrowind, Gothic2, Aquanox2 and GTA Vice City),
without performance problems. No stability issues as well.

So I booted Win98, installed the Cat3.4/ATI panel as well, and... also
60 Hz. Well, no problem I thought, went to the ATI panel... and...
no tab for adjusting the frequency there... eh? Changing the W98
monitor frequency without the ATI panel didn't work, and therefore I
tried many things (like installing different monitor drivers, re-
installing the ATI drivers, using a driver cleaner tool, etc). No success.
After searching in various ATI forums I found a solution: create a
new binary key called:
"DALRULE_ALLOWNONDDCCRTALLMODESUPTO1600x1200"
in the "HKLM/Software/ATI Technologies/Driver/0001/DAL" registry
section, set it to "01 00 00 00", reboot, and yeepee... finally it was
possible to change the monitor frequency to an higher value.
Big flaw in the ATI drivers, imho... ok, prolly it's caused by my BNC
monitor connection, but I think that an average user would have
been lost.
I also noted that the mouse cursor in W98 tends to get screwed (after
leaving the ATI panels?), but I was able to fix that by adjusting my
MS IntelliMouse settings. Anyway, it seems that's another W98
ATI bug lurking in the dark.

- Ok, now on to the plugins: yeah, with the ATI driver the emu crashed
on exit.
Funny enough only with the psx gpu OpenGL plugin, not the Zinc one,
or with any other of my other OGL projects. Wtf?
It was getting worse: it didn't crash in the plugin, but in the main emu
(prolly when it was trying to destroy the renderer window). Hard to
debug... so I tried the good old 'trial and error' approach, and found
out that if I don't delete the OGL rendering context, no more crashes.
Well, anyway I didn't like this solution, very unprofessional.
After some more research I found out the real problem: it seems that
the ATI OGL driver is subclassing the renderer window when it
creates the rendering context, and de-subclasses it again on context
deletion. Dunny why it is doing that. But it conflicted with my own
window subclassing. Aha. After swapping a few lines of code: tadaaa...
no mor 'crash on exit' bug, and fullscreen <=> window toggling now
also worked as expected.
Ok, one issue solved :)

- Now I started up several psx games which are known to use framebuffer
textures/framebuffer access. Nice: in OpenGL the framebuffer texture
option works very fast on ATI cards (at least on the R9700 Pro).
But the framebuffer access (reading vram to system memory) has an
horrible speed... at least 5 times slower than my old GF3. I've tried all
kind of different color formats, and read through the ATI OpenGL
extension specs, but no luck: slow.
So I decided to do a new 'special game fix' (I should rename that section
into 'special hardware fixes', it seems), calling it 'Mixed software FB
access'. What does it do? It minimizes the real vram reading to a
minimum, whenever the 'framebuffer access' modes 1 (reads), 2 (moves)
and 3 (read&moves) are used, and uses software drawing instead.
Unlike the FB access mode 4 (full software drawing) it will not use the
soft funcs all the time, only if they are really needed, when a psx game
is doing such special effects.

- Then I moved on to the D3D plugins... didn't expect much problems,
but then I noticed an horrible slowdown with 'FB access' and even
with 'FB textures'. Well, I did know that my D3D code to emulate such
effects were optimized for older (DX6/7) hardware, but I never
suspected that newer ATI cards were choking that bad at it. Anyway,
since the new OGL plugin is working really nice on new cards, I didn't
change anything with the D3D code, I just added the new 'Mixed software
FB access' special game fix as well.
Therefore: if you want to play psx games with my plugins with an ATI
card, I suggest to use the OGL plugin. If (for whatever reasons) you want
to use one of the D3D plugins, you should at least enable the new fix,
and set the 'FB textures' option to 3 (card buffer + software), never to 2
(card buffer).

- Last but not least: the D3D DX6 plugin produced stupid glitches. My
fault... I screwed the internal 'palettized textures' detection in the DX6
plugin, and of course never noticed it because my old GF3 supported
that kind of textures. Tststs. Ok, repaired :)

- Oh, and sorry... I didn't have time yet to change my Linux installation
as well, using the new 9700 Pro. I haven't even decided if I simply replace
the Linux nVidia drivers, or if I should upgrade to a new kernel, etc.
So, no new Mesa plugin version right now, but it will follow 'soonish', I
hope.

- Conclusion: nice and fast card, and not-to-bad drivers. Some problems
in my W98 desktop, but fixable. On the downside: A bad frame reading
speed - can maybe get improved with newer drivers, who knows - and
of course no palettized texture support.
But be aware (if you right now have to decide if you want to get a Geforce
FX or one of the newer ATI Radeons), that all of the nVidia FX
cards _also_ have no more palettized texture support. Yup.
Personally I find that a shame... it will even produce strange situations
when you compare the speed of your old card to your new one, and
the old one will win the race with certain games (not only psx ones, like
'Ghost in a shell'... also PC games were using pal textures, like the Unreal 1
based ones, or the PC version of FF7). But ATI, nVidia (and Intel as well)
have decided that palettized textures are expensive to support, and so
it's gone. Like it or not.


"If I could have my wasted days back
Would I use them to get back on track?
Stop to warm at karma's burning
Or look ahead, but keep on turning?

My lifestyle determines my deathstyle"
- "Frantic" by Metallica

--------------------------------------------------------------------------

19. April, 2003 Version 1.71

- I've adjusted the OpenGL fullscreen handling somewhat.
I don't know if it will help with the ATI 3.2 Catalyst drivers
(which seem to tend to crash when the rendering context
is getting released), but it should not hurt as well.

- The results of my experimental 1.70 alpha texel handling were
interesting. As expected, some Intel and Kyro card users
reported black areas, but also ATI cards were affected.
So, I've adjusted the alpha values again, this way the texture
handling (without filtering) will be OK on all cards, and
also activated filtering will be fine with most cards (thanx to
Badara for checking it on his ATI card). For cards still having
filtering troubles I've included a new special game fix: "Use
old texture filtering", which will handle the filtering like
version 1.69 (or older).

- A small OpenGL plugin bugfix for the lovers of the 'keep
aspect ratio' option: now you can use the 'direct framebuffer
upload' special game fix without problems. Thanx to F-3582
for reporting that issue.

- Beside the usual bugfixes (as described above), I also
wanted to add some new eye candy and improved compatibility.
Snu suggested to use a new kind of hires textures: simply
scaled ones, without any interpolation like 2xSaI. First I was
sceptical, and my first checks seemed to proove me right: I
couldn't see any image quality improvements at all. So I dropped
that idea for a few days, until it came to my mind that I've used
a too small window resolution (640x480) for my tests. And yeah:
Scaled hires textures combined with extended texture filtering and
a resolution of 800x600 or higher gives a nice display: there will be
a slight (not very strong) filter effect on 2D backgrounds, without
tile effects or much texture glitches (well, there are the usual
exceptions like FF7, which simply hates any kind of texture
filtering).
So, it's a good alternative to the standard texture filtering
(which often screws 2D backgrounds), use it if you like
it (and your hardware can handle it, of course... like 2xSaI you
will prolly need at least 64 MBytes vram with most games).

- As for compatibility: it's well known that the current hw/accel
psx gpu plugins have to do all kind of compromises, resulting
in lower compatibility (means: missing screens, screwed displays,
flickering, etc) with some games. And it's not easy to improve
the compatibility of one game without screwing a dozen other
ones. Anyway, in 1.71 I've tried to improve my 'splash screen'
upload detection (hopefully in a way that it doesn't harm games),
but I've noticed still missing screens in Tony Hawks (demo),
Soulreaver (demo) and Colin McRae (demo). So I've decided
to do an even nastier screen detection as well, but this one has
to get activated manually as a new special game fix, since it surely
will act badly with much other games (for example ChronoCross).
_Only_ activate the new fix when you are missing important
information screens (and of course there is no guarantee that
the fix will help your game).


"Cought in neverland
In the place of many eyes
Make it be
What they are allowed to realize"
- "Neverland" by Avantasia

--------------------------------------------------------------------------

15. March, 2003 Version 1.70a

- The D3D DX7 plugin had a small bug with 8888 textures and
extended filtering (crash boom bang with some games), so
I've updated the archive as quickly as possible.

--------------------------------------------------------------------------

15. March, 2003 Version 1.70

- The 'old skipping' game fix from version 1.69 ignored the
frame limimation setting. That should be fixed.

- I have disabled the automatic "force 15 bit framebuffer updates"
option, which kicked in when a 16 bit color depth has been
used. That should give better colors with mdecs in some 16 bit
color depths (depends on the color format your card is using),
as long as the config option is not activated.

- The main reason for this early release: I did take a look if it
would be possible to improve the texture filtering. And I came
up with a solution which gives nicer filtering results when
32 bit textures (RGBA8 or BGRA8) are selected.
So, if you are using one of the 8888 texture types, and you
have enabled "alpha multipass" as well (recommended
settings for good systems anyway), especially the standard +
extended filtering modes will be behaving somewhat better.
For example "extended" filtering will not produce such ugly
fat texts anymore (most times), and the occasional 'transparent
halos' will be smaller as well.
Of course the tile effects with some 2D backgrounds or the
'colored thin frames' which are showing up with texture filtering
sometimes are _not_ fixed (and I highly doubt they ever will - psx
games are usually not designed for texture filtering).
To archive the better filtering I had to drive the texture alpha bits
to their limits... which _could_ cause glitches on some cards,
even if no filtering is activated. That's the main reason why I
call this release 'experimental'. If you suddenly are encountering
black areas around sprites, for example, please drop me a mail,
and tell me the name of your gfx card.
My Geforce 3 has no problems at all, and according to my
texture benchmark results most cards will be fine, too (exception:
old Intel cards and most likely older 3dfx cards as well), but
I strongly believe at the good ole SNAFU principle, so we will
see :)


"In the splendour of the night
I've found company
Once again I feel that life's begun
All the wrongs seem to be right
Drowned in ecstasy
Every star is like a newborn sun"
- "A feast for the vain" by Kamelot

--------------------------------------------------------------------------

08. March, 2003 Version 1.69

- The new frame skipping has been improved again, there
were certain situations where the skipping didn't work
right (like with mdecs or screen smoothing) or caused some
semi-lockups (like in the 'Pause' mode of FF8).

- Some users liked the old frameskipping better (since that
one only skipped every other frame, making the display
smoother... most times the game will be too slow with that,
but not as 'jumpy' as with the new skipping method).
Therefore I've added a special game fix for the old way of
skipping, use it if you like it.

- Some "nice"/"fast" default settings were really buggy
(the funniest thing: hitting 'fast' in the D3D plugins caused
a forced "vram size" of 4 MB... not really the fastest way
to run the plugins). I blame Microsoft for doing a crappy
Visual Studio resource editor :)

- My plugins had an internal hack in the past, to get around
issues with ChronoCross (lock up in the status screen). Well,
it showed that the real bug was in the main emu, so I removed
the internal hack in 1.69. But as long as you are using epsxe 1.5.2
(or previous version), you will need the hack to play CC, so I made
a special game fix instead (called "odd/even bit hack"). Turn it on,
if your game is suddenly showing lock ups, which didn't happen
in 1.68.
Ah, and no, I don't know when the next epsxe release will happen,
poor calb has little time right now to do some coding.

- Like the P.E.Op.S. soft gpu, my hw/accel. plugins are now
supporting a special "cursor display" function, which can get
used by the main emu. Right now only private epsxe betas
are using it, and again: no, I don't know when the next epsxe
release blablabla :)

- The "texture garbage collection" option has been removed. The
plugin now will decide internally if it's needed, making the plugin
configuration a little bit easier (let us be honest: nobody but me
knew what this option was for anyway, eh? ;))

- And another one bites the dust: the OpenGL "change desktop" option
has been removed as well. The plugin will now auto-detect if it
needs to change the desktop resolution/color depth. Thanx to JNS,
his never-ending coding questions forced me to look at that part
of my source (ehehe, JNS, keep up the good work... there are no
stupid questions, just stupid answers).

- ATI users often complained that they couldn't start up the OpenGL
plugin in fullscreen, they had to start it up in Window mode, and
toggle manually with ALT+ENTER to fullscreen size. Well, it showed
that the ATI drivers were dropping the rendering context, I have now
done some more security checks to prevent this (even if it seems
that the newest ATI OpenGL drivers wouldn't need it anymore).
Thanx to Lindsey for checking it on his ATI systems.

- If you are visiting my homepage from time to time, you prolly have
noticed the small benchmark application I have done to check out
your OpenGL driver capabilities and texture speeds. A lot of users did
mail me their results, so I was able to see what is supported on nowadays
gfx cards, and how fast certain modes behave. Because of that informations
I was able to make the following improvements:

* the "faster palettized texture window" option has been removed.
That option caused some troubles with ATI users in the past (for
example screwed displays). That will not happen anymore, the plugin
will now 100% auto-detect if palettized textures are supported, and
activate/deactivate them properly. Of course that doesn't mean that
ATI cards can now do magically that kind of textures, the plugin will
simply not use them with such cards. That's not a big deal, though,
only a few games (like 'Ghost in a shell') will really be faster if
palettized textures are available.

* A new option for slower systems, which are having troubles to
run psx mdec movies at full speed in OpenGL. It's called "Force
15 bit framebuffer updates", and, as the name already is hinting,
it will cause a small color loss when the game is using 24bit psx
mdecs. So it's your choice: better speed or better colors. Oh, and
btw: the plugin will use that mode automatically when you are
playing in a 16 bit color depth, so you only have to enable the
option if you are having speed troubles in a 32 bit desktop/fullscreen
color depth mode.

* The benchmark also prooved that some cards/drivers are having a
better texture upload speed, when a BGR color ordering is used.
So I've made a new texture quality option as well, called "B8G8R8A8".
How can you know if you should select the new or the old 8888
texture type? Easy: run my benchmark application :) A full description
can be found on my homepage, in the "Fairy tales" section.

* Some other facts I could extract from the benchmark results: I am
already using the fastest possible way to do the "framebuffer
texture" effects. So, if it's slow on your system, I cannot help you
at all. Another thing to mention (it seems I have to do that again and
again): activated FSAA will cause a big slowdown with framebuffer
textures. So better deactivate it, if a game is using FBT (motion blur,
water effects, battle swirls).
Packed 4-4-4-4 textures are very slow on ATI cards. So I recommend
not to use them, if the benchmark is showing a slow performance with
that texture type... more about that in the Fairy Tale as well.

* Last but not least: the 'ATI reverse subtractive blending' game fix
is still needed if you want to use the OpenGL plugin right now with ATI
cards.
At least there is hope: Mwarhead showed me a forum thread on rage3d
(http://www.rage3d.net/board/showthread.php?s=&threadid=33671156)
where an ATI employee stated that the Cat3.2 or Cat3.3 divers will
fix that issue.


"Because no, nobody knows, nobody knows
Because nobody knows anything"
- "Nobody knows anything" by Anthrax

--------------------------------------------------------------------------

03. December, 2002 Version 1.68

- Fixed a small bug in the vram upload detection, this
caused a strange flickering in ChronoCross with certain
Offscreen Drawing modes.

- Finally I was able to get Final Fatasy Tactics, to investigate
the 'missing world map' issue, which was reported by some
users. Well, that issue was no real one at all (you just need
to set the correct framebuffer access/texture options to see
that map), but the game showed me another small
bug, which was in my plugins since ages: sometimes the 'fast
palettized tex windows' option caused (wrong) transparent
textures. Fixed. Ah, and no, it doesn't mean that now TNT2 or
ATI cards can use that option, it simply means that a few
text boxes in FFT are now drawn opaque, the way it should be.

- And now the biggest chance: frame skipping. Ah, Lewpy's old
skipping code hasn't been improved since I've added it in
gpuPeteTNT version 1.11 (released in May 1999!), so it was
really about time, eh? :)
Well, good frame skipping is a bit tricky to do, the old method
tried to measure the average psx frame rate, and skipped every
second frame if the speed was too slow... yup, some speed up,
but not very accurate.
The new skipping will measure each drawn frame, and decide
automatically how much skipping is needed to get the right
speed... if you use it together with frame limitation (really
recommended!), you will most likely get a correct speed in every
situation: doesn't matter if you had 15 fps or 40 fps without
skipping, or if speed was dropping only in certain situations,
now you should always reach the magic 50 (PAL) or 59.94 (NTSC)
framerate if you are enabling frame skipping + frame limitation
together (well, there are some limits: if your system is only able
to reach 1 or 2 fps without skipping, forget it).

Of course there are still some things to consider:

* Frame skipping will cause glitches/missing stuff in some games
(depends how skipping-friendly the game has been coded).
And most likely your favourite game will be one of them. That's life.

* Skipped frames make a game more 'jumpy', less smooth. You will
not notice that very much if just a few frames have to get skipped,
but the more, the uglier, of course.

* The plugin FPS display (at least in my or Lewpy's plugins) doesn't
show the real PC gfx card frame rate, but the vsync count of the
emulated psx gpu. Therefore:

* A big frame rate (higher than 50/59.94) doesn't mean a smoother
display, it only means a too fast game play (and usually screwed
sound). It's not like in a PC game, such games can draw additional
frames, if your system is fast enough. In PSX emulation your goal
should be a steady 50/59.94 frame rate, nothing more, nothing less.

* It's important that the main emu is generating the correct vsync
timing. Otherwise the speed will be wrong. Luckily modern psx
emus like ePSXe usually have the right timing, only in a few cases
the 'PC fps calculation' special game fix will be needed (that fix
is ignoring the main emu timing, but of course that will cause other
issues most times).

* Some spu plugins are offering a framerate limitation as well (done
with the SPUAsync interface, or by measuring the XA frequency).
If you want to use the gpu frame skipping, you cannot use such
external fps limitations at all.

Ah, and of course the golden rule: if you don't need frame skipping
with your system and game, don't enable it!

- Also related to the new frame skipping: some motherboard chipsets
are having a bug with MSWindow's high performance counters (see
also the version notes for version 1.52, 26. August 2001). While the
plugin tries to correct that bug automatically if only the fps limitation
is used, the correction cannot be done with the new skipping code.
Therefore I've decided to add a new special game fix, called
"low-res fps timer", which will fix that issue on that systems (by
using a different, less perfect, way to calculate the times). So, if your
system is having some weird timing behaviour, try the game fix, and
check out if it helps.


"Magic potion
Crystal clear
It's too late
Open lips and
Open heart
Tristan's fate"
- "Tristan's Fate" by Grave Digger

--------------------------------------------------------------------------

23. October, 2002 Version 1.67

- All the small fixes I've added to the P.E.Op.S. soft plugin 1.9 are
now included in my hw/accel plugins as well. A big 'thanx' goes
to Farfetch'd for his valuable infos :)

Here a small list of game improvements:

* Transparency issues in FF6 (semi-transparent people) are
solved
* Madden doesn't need the 'old coord check' special game fix
anymore
* Many 'big polygon' troubles are fixed (don't ask me for game
names, I only had save states for tests, but I am sure that the
users who gave me the saves will notice the differences :))
* The ChronoCross Fort Dragonia scene will now work fine without
any game fix (I've removed the old CC fix in this release). Prolly
also all other CC scenes with similar glitches are now fine, too.

- The 'nVidia FSAA' special game fix is now somewhat stronger,
hopefully it will help the games which showed black rects when
FSAA was activated.

- I was able to enhance my internal texture alignment: there are now
less glitches with texture windows when filtering is enabled, and,
more important, some small but stupid texture glitches are now fixed
as well (for example with Grandia texts, Jumping Flash status displays
and a few Wild Arms1 texture garbage happenings).

- Ok , that's all... it's getting harder and harder to make real
improvements, but I guess that's 'a good thing', eh? :)


"Un minuto come un ora come un giorno o forse piu'
un minuto anche stasera per dimenticare
un minuto
un minuto per sempre..."
- "Un minuto per sempre" by Prozac+

--------------------------------------------------------------------------

12. September, 2002 Version 1.66

- The first improvement was actually the work of Lewpy and
E}I{: finally texture window coords are (hopefully) emulated
right. That kind of 'repeated texture areas' is often used as
background pattern in text boxes, so for example the FF7 text
box border glitch was caused by not 100% correctly handled
TWs.
Well, now it seems to be fine, so FF7, RRT4, Gauntlet Legends
and Casper are repaired. There is still a "FF7 special game fix"
in my hw/accel plugins though, it's not needed for the text borders
anymore, but it will handle some issues with the offscreen battle
hand cursor and the swirl effects.

- I've also repaired the FF8 'scanline effect' in the intro of that game
Mmm... nothing more to say about it :)

- Also related to the FF8 intro: prolly you have noticed that the
screens are very slow, even if you have a powerful system. The
same slowdowns can been found in the FF7 intro, and some other
games as well (as far as I remember during a special 'wave' effect in
Persona2, and some transitions in Action Man or whatever it was
called).
Reason for the slowdowns: the games are uploading hundreds
of single lines of screen data each frame, what is a 'bad thing' with
modern gfx accelerator cards: the rendering pipelines on the cards
stall hard by frequent texture upload/draw actions during one frame.
In the D3D plugins the speed can be improved by selecting 'unfiltered
framebuffer updates' (since then 'DX surfaces', not textures, will be
used for uploading screen data, causing less stalling), but in OpenGL
the speed was always slow, tststs.
So I've tried certain things to improve the 'upload screen data' speed
in OGL, and to my surprise in the current nVidia Detonator drivers
the direct buffer draw commands have a very good speed (two years
ago the speed was very, very bad).
So I've decided to add a 'special game fix' called 'Direct framebuffer
updates' in the OGL plugin, which will improve the speed greatly on
certain cards/drivers (like my GeForce3 with Detonator 30.82).
You can easily check, if your card can handle the 'direct FB updates'
at a good speed, by running a mdec (movie) with and without the
game fix. If the fix is enabled and speed is the same (or even better),
your card is doing fine. If speed is much slower, well, forget it :)
Oh, btw, activating the fix will cause more pixelated (unfiltered) mdecs.

- And some more FF stuff: I was able to fix the battle transitions and
the transparency of certain battle effects (magic spells and such)
with FF6.

- By pure luck I found a small annoying bug, which caused heavy
dancing textures in some games, if texture filtering has been
activated. The issue happened since version 1.58, and is of
course repaired again in 1.66.

- Last and least (ehehe): I think I've seen a news post on
www.retrogames.com some months (or years? mmm) ago, announcing
a funny display feature in an (non-psx) emulator: the emu had a special
display effect, which distorted the screen in the same way as a very
old TV, causing a 'cushion' effect. Last week the idea popped up
in my mind again (it's sometimes really funny how all that small brain
cells are working, isn't it?), and I had to sit down and code such an effect
myself. Since it's just a fun mode, I don't expect that anyone will really
use it for playing games, and so I've added it only to the Windows OpenGL
plugin. Speed will be the same as the 'screen smoothing' mode (btw, you
can't use the 'cushion' and the 'smoothing' mode together), so prolly you
will need a more powerful system to enjoy it For the best laughes try it on
a scrolling 2D rpg game :)
Ah, and if someone knows which emu introduced such an effect for the
first time, please send me a mail, I really want to know :)


"I hear a very gentle sound"
- "When the music's over" by The Doors

--------------------------------------------------------------------------

05. August, 2002 Version 1.65

- Many users reported me wrong black areas in certain NTSC
games. Thanx to Cobra95, by using his Spyro3 save state I was
able to investigate and fix that issue.

- Lewpy suggested a small trick to prevent FF9 from crashing
when framebuffer access is activated. I have followed his
suggestions, but still I advise NOT to use the FA options with
that game (it will not crash anymore, but glitches in battle will
happen). Well, it's up to you :)

- I've removed the "FF9 mdec mask bit" special game fix, hopefully
now all mdec polygons and mdec texts will be fine without.
Thanks to Dimitri for reports and Yazoo for his save state.

- Since Lewpy did a very nice dynamic loading of the kernel funcs
for disabling screensavers/power saving modes in the P.E.Op.S.
soft gpu plugin, I couldn't find any more reasons against a
'disable screensavers' option (without Lewpy's piece of code such
an option would have crashed with Win95/WinNT in the past).
So, if you were tormented by suddenly starting screen savers while
playing a psx game before, you can now easily disable them in
the gpu configs.

- I've found a small bug in the D3D plugins with the "Unfiltered frame-
buffer updates - faster mdecs" option. I don't know what games
suffered by that bug, but I've decided to fix it nonetheless ;)
Oh, btw, I did notice that this option does not (and never will) work
right with emulating the psx mask bit. So, if you are seeing flickering
displays, or missing stuff, try to turn that D3D option off (OpenGL
will always be ok, though).

- Finally I was able to find out what was going wrong with the
'Monkey Hero' game (that one was really messed up with all
of my gpu plugins), and yeah, I've fixed it. Will be interesting
to see what other games will also run better because of the fix
(and I hope that speed will not drop much because of it... at least
on my system I didn't notice any slowdowns).


"Life is the future, not the past - it's the Wizard's Seventh Rule"
- "The Pillars of Creation" by Terry Goodkind

--------------------------------------------------------------------------

10. July, 2002 Version 1.64

- While the last releases were mainly bug fixes and compatibility
stuff, 1.64 has only one purpose: to improve the graphics
(yeah, we all love that :))

- Ok, the first change takes care about some unwanted texture
shaking that was happening in my hw/accel plugins. That
doesn't mean that now all psx texture wobbling is magically gone,
only some issues caused by the internal texture alignment has
been improved. Thanx to Shadow Lady for the 'shaking Lara'
save state :)

- And now for the real graphical boost (note: if you don't want to
read (maybe boring) background informations, you can skip this
part):
I was long time no friend to special texture filtering ideas. I always
did see big problems arise when the original psx texture data gets
changed by filters, and it's already hard enuff to render the original
unfiltered psx textures on hw/accel APIs without glitches.
Anyway, last week there was a small ngemu forum discussion
about filtering again, and to proove E}I{ wrong (who was telling
that 2xSaI filtering on textures should work well), I downloaded the
latest OpenGL plugin from NickK, to make some screenshots with
that texture filtering method.
NickK always is a pioneer when it comes to interesting new ideas
(like his full screen smoothing or... tada... 2xSaI texture caching),
but this time I wanted to use his plugin to show the various problems
which will occur with pre-filtered textures (shame on me ;))
Anyway, I've tried all kind of games with his plugin and 2xSaI textures,
and yeah, I did see glitches caused by the filtering, but strange enuff
not the problems I have expected to see (only some texture alignment
gaps and garbage, and big slowdowns, but not the expected texture
distortions... good work, NickK, btw :).
So of course I had to do two things:
a) to apologize to E}I{ for prooving _me_ wrong (tststs, ehehe), and
b) to drop a mail to Derek Liauw, the creator and copyright holder
of the 2xSaI algorithm, asking him for permission to use his func
in my (not GPLd yet) hw/accel plugins.
And yeah, Derek happily allowed me to use the 2xSaI func (since
he is enjoying epsxe and my plugins, too :)), and I have to admit it
wasn't difficult to add to my source... I had to change it somewhat
to handle my texture color depths and alpha values, and to avoid
problems at the texture area borders, but that was all...

- So, a new option in the gpu config is available, called "Hi-Res textures
(2xSaI)".
You can activate it with all available texture color modes, and
of course you can even combine it with filtering, smoothing,
whatever.
The option will improve the textures in many games, making small
fonts more readable, and most textures will look sharper. It even will
help the standard bilinear filtering, less 'blocky' look that way and not
much black borders. On the other hand some rendering techniques
(like multi-layered 2D backgrounds) will cause glitches (thin lines
appear, for example, or small gaps between textures), and that is
nothing I can fix!
So mailing me issues with FF7/8/9 or games using a similar rendering
style is useless and will get ignored (well, maybe I will flame a few
mailers, depends on my mood :))... and if you don't believe me, feel
free to code your own psx gpu plugin and add 2xSaI textures... good
luck :)

And also be aware of the following:
a) your gfx card has to be able to handle 512x512 textures. Otherwise
you will get no textures at all. So, for example, no Hi-Res textures on
V2/V3 cards and prolly some other older brands as well.
b) Hi-Res 2xSaI textures need 4 times as much vram as the 'normal'
textures. That means for example that your 32 MB gfx card can handle
the same amount of 'hires' textures as an 8 (!!!) MB gfx card with
'normal' textures. And that's not very much, and prolly will cause
slowdowns... users with 64 and 128 MB cards will not encounter much
speed problems, though... runs great on my 64 MB GF3 with most
games :)

Finally some tips for using my Hi-Res texture option, if you are having
speed problems:
- use a lower display resolution, for example 640x480 in 16 bit color depth
- use a lower texture quality mode, for example 4-4-4-4 or 5-5-5-1 textures
- turn off the 'mask bit' emulation option, that saves some vram as well
- don't use the 'screen smoothing' option, and absolutely turn off FSAA
in your display properties.
- I have seen strange autodetected vram size values in the DX6 plugin
with my nVidia GF3 card (I am absolutely sure that I don't have over
80 MB vram, ehe). The exactly same func reports the correct size in the
DX7 plugin, though. So maybe a generic advise is to set the 'vram size'
value manually to the correct value in all plugins, just to be sure.
On the other hand, maybe it will help if you set the 'vram size' option
manually to an higher value (for example to '64 MB' even if your card
only has 32 MB). Will depend on the game, your hardware and the phase
of the moon, though ;)

Have fun!

- btw, I've decided to keep the D3D-DX6 plugin alive. The 1.63 DX7
changes did help a lotta cards (thanx to all users reporting their results),
so the DX6 plugin isn't that necessary anymore, but I've nearly forgotten
the poor WinNT 4 users, who can't use anything above DX6... thanx to
DarkWatcher for reminding me :)

- Ah, and a final note: I've added an extra FAQ file with this release, covering
many standard questions. Check it out if you are having problems.


"Du musst glauben, du musst wagen,
denn die Goetter leih'n kein Pfand..."
ah, bah, enuff text for this release, listen yourself:
http://www.dhalia.de/musik/sounds/daten/sehnsucht_dhalia.mp3

--------------------------------------------------------------------------

23. June, 2002 Version 1.63

- The nicest change in 1.63 (imho): no more "short dmachain" game
fix, no more "Ignore dmachain 0" game fix... the handling of bad
dmachains is now done automatically without much speed loss.
That means you can now play Tekken3, Tekken2, Syphoon Filter,
Ghosts'n Goblins, Persona2, MetalSX and prolly some more games
without any special options. Ehe, I really like that :)

- Another internal change: correct support for write vram wrappings.
I've noticed missing textures in a soccer game (can't remember its name,
but the players looked funny without heads), that one at least is
fixed.

- And some more internal adjustments: I've was able to reduce the
garbage frames which can happen after/before a 24 bit mdec is
displayed. You can see that with FF9, for example.

- Also some flickering issues (for example in FF7 after a battle, or in
some Wild Arms1, BOF4 and Silent Hill splash screens) are corrected.
The same code will also help drivers which are doing page flipping
in fullscreen mode.

- Some additional splash screens/menus will get displayed with the highest
Offscreen Drawing setting. Still I suggest to use the highest setting only
if you are missing some gfx screens. Never use it with FF8/FF9 :)

- NTSC games can have a border at the top/the bottom of the display.
No, 1.63 can't remove that borders (as a matter of fact the borders are
right and needed), but 1.63 will now display the borders most times
correctly with a black color instead of a fancy color.
Thanx to Gary for some save states :)

- A new mode for the framebuffer texture option, called "gfx card buffer &
software". Framebuffer textures are needed to get some special effects
(swirls, motion blur) right, and they are harder to emulate in hw/accel
gpu plugins. The new mode (which is working like in Lewpy's Glide
plugin) will help users with slower gfx cards, still a lotta cpu power will
be needed.
For example the pure "gfx card buffer" hardware mode is much faster on
my GF3 compared to the new mode, but on other systems the results may
vary... try it yourself, and use the option which makes you happy.
Compatibility note: sometimes the new "gfx card + soft" mode will display
certain effects more correctly (for example blurring in ChronoCross, or
the "enter battle" effects in Legend of Dragoons).

- I've removed the the "framebuffer read" and "framebuffer read on move"
special game fixes, and combined them together with the old "Full vram
primitives" option into a new main option called "Framebuffer access".
That way you can control framebuffer effects more easily in the gpu
in-game menu. Otherwise the new option works exactly like the old
game fixes, use the framebuffer access only if it's needed (Xenogears,
for example), and turn it off if it causes problems (FF9 will crash, for
example)

- By removing the "framebuffer reads" and "dma chain" special game
fixes I've now some free slots for new fixes, ehehe. I decided to add
two fixes in that release: one for FF9 polygon mdecs (it seems that
the 1.62 mask bit handling can cause slight problems, so you can now
turn the special handling on/off with the new game fix), and the other
game fix is only for the bad polygons in ChronoCross Fort Dragonia
(thanx to Nave for a save state).

- Last but not least I've changed my texture handling in the DX7 D3D
plugin. It should now work fine with cards which needed the DX6
plugin in the past. So please: if you used the DX6 plugin, try the
new DX7 one, and mail me if it works correctly on your system.
If I don't get negative feedback for a month or so, I will stop the DX6
plugin, since it isn't needed anymore :)


"The maidens of beauty
and swains so forlorn
that carelessly wander
away from their home
I am off by the moonlight
and break of the morning
I'll be found in the mountains
of Dark Iniseoghain"
- "Dark Iniseoghain" by Dhalia/traditional

--------------------------------------------------------------------------

29. May, 2002 Version 1.62

- Most fixes and improvements in this version were only possible
because of nice feedback and save states from active psx
emu lovers. Thanx to all of you :)

- Black areas in Bloody Roar 2 are fixed (well, that means you
don't have to turn off Offscreen Drawing anymore to play
that game).

- The radar in Ace Combat 3 is now visible. You will need the
'mask bit' option for it, though.

- In the Chrono Cross battle menu the small dots will blink again
(I screwed that somewhen in version 1.5x). Since the dots are
very small I'd never noticed the bug :)

- A new special game fix called "Ignore DMAchain '0'". The
dmachain address checks I've introduced in 1.60 worked
well with all of my games, but I got a big feedback from
"Persona2" lovers (sadly I don't have that game), because it
stopped to work with the new funcs.
So V1.62 is doing the same checks as the versions before V1.60
(that means that Persona 2 will work without any special option),
but if you want to get the "Ranma 1/2" menu screen right, you
have to enable the new game fix.

- When I played (and finished) FF9 with ePSXe one year ago,
I noticed that polygons which were drawn on top of mdecs looked
upsidedown. I always thought that it's prolly a main emu bug
(sending the polys in the wrong order to the gpu), but now
I've investigated the issue more closely, and actually found a
solution for it. Everything should look fine in V1.62, you simply have
to enable the 'mask bit' option to correct the problem.

- I've improved my Offscreen Drawing detections, many annoying
flickering effects (like in Rebel Assault 2, DW7, Jumping Flash)
are fixed by it (and I hope that speed isn't going down much).

- Speaking of Jumping Flash: that game was always really slow in my
plugins since it uses a (imho) stupid offscreen rendering technique
with lotsa repeated textures (aka texture windows). V1.62 is now
using my newest soft plugin functions (the same I've added to the
P.E.Op.S. soft plugin V1.6), giving a nice speed up in that game :)

- Last but not least: some new eye candy (if you like special screen
filtering effectst). "grahf" from the ngemu message boards suggested
to try a new filtering mode,and first I didn't like the idea (because I
usually see new problems arise with any filtering). But after I've
looked what the suggested "Monitor dot matrix" mode is exactly
doing (the Kawaks emu is offering such a mode, for example), I
didn't find it very hard to add it to my existing scanline functions.
So now you can enable it by turning on scanlines and setting the
scanline blending to "-1".
The best results you will get with 2D games, I think, but of course
it's just a matter of taste :)
Btw, I've checked the filter only with my GF3 card, hopefully other
cards will not screw the texel alignment (otherwise the filter will look
kinda distorted).


"Where do we go from here
There must be something near
Changing you, changing me forever"
- "Never Satisfied" by Judas Priest

--------------------------------------------------------------------------

28. April, 2002 Version 1.61

- I didn't had a lot of time for emu coding in the last weeks,
so V1.61 has just a few changes... nevertheless I think the
new code is worth an update, so try it and give me some
feedback.
Speaking about feedback: _don't_ try to send me emails with
attachments... I will not even see them. The latest email worms
were very annoying, so I use a filter right now, deleting every
mail with attached files. If you want to give me save states,
pictures or whatever, please send me a pure text mail first, asking
if I need the files, and I will reply how to proceed.

- The first change is the least important, imho, added on request
of some users: while the gpus are running they will prevent
the activation of screen savers. Seems to be needed when you are
using USB pads and an activated screen saver, since the pad
actions will not count as user input, and therefore the saver will
kick in after a while. I am using a different approach as syo's code
in the P.E.Op.S. soft gpu, we will see how it will work (I've checked
it on my Win98 and WinXP systems, and it's ok here).

- Re-coded some of my C texture caching funcs in pure asm. That
will squeeze out a few more frames per second, at least in games
using lotsa textures. Mmm... funny... I needed most of the time
for this new functions, but now I dunno what else to write about it :)

- The nicest feature in 1.61: I was able to remove the "Adjust extreme
coords" special game fix, replacing it with a much better detection
of weird running wild polygons (btw, big thanx to calb).
The new detection is enabled by default, you can turn it off by
activating the "Disable coord check" game fix if you are having troubles
(missing polygons, for example). But I checked a lot of games, and the
results were very good: no more big poly glitches in Metal Gear Solid,
Deathtrap Dungeon, Colony Wars, Timecrisis, Rally Championship,
Fighting Force 2, Lucky Luke, to name a few...
Well, there are still a few games with problems (like the big polys in one
level of Chrono Cross), but there has to be some work left for the next
versions, eh? :)


"Spark in the nothingness
Heat of creation
Make the ice start to melt
Life wake up in the void."
- "Ginnungagap" by Therion

--------------------------------------------------------------------------

31. March, 2002 Version 1.60

- Yeah, the easter release :) It contains mainly small fixes, correcting
all kind of gfx glitches with certain games (luckily no new config
options were needed for the fixes) and speed will also be more or
less the same.
A small config bug in the ogl plugin has been repaired (a wrong text
did show up when pushing the 'nice'/'fast' button in the gpu
config), and this time the linux archive _really_ contains the right
plugin version, thanx to everybody reporting that issues.
Ok, let us have a look at the fixed glitches:

- Support for "textured lines" (that means 1 psx-pixel wide textured
triangles). "Doom" will now look perfectly, and the water effect
in one stage of "Sould Edge" is now fine as well. Thanx to Lewpy
for infos and calb for the save states :)

- Improved dmachain checking. That will make the start menu of
"Ranma 1/2 Battle Renaissance" visible (thanx to tatunoko for the
save state), but I've noticed that now Tekken2 will need the "short
dma chain" special game fix (otherwise you will have to wait a long time
until the game starts up). Ah, and no, Tekken2 is not playable right
now (streched polys), but that's a confirmed main emu bug, the gpu
plugin can't repair it.

- Interesting internal adjust of Texture Window coords. That's needed
for some "Tales of Destiny 2" graphics, thanx to E}I{ for very helpful
infos and save states :)

- Improved sprite texture coord wrapping. That will fix garbage glitches
with "Tales of Destiny 2" as well, and the clouds in a special level
of "Wild Arms" are now fine, too.

- Faster sign checks, that will prolly not give a noticable speed up in
my hw/accel gpus, but it's looking nicer in my source code, ehe :)
Thanx again to E}I{ for suggestions.

- The "moon" symbol in "Devilsummoner Soul Hackers" (wow... what
a name...) is now displayed correctly, thanx to gunshinn for a save
state :)


"It's just the same as imaginary snow in summertime -
Never able to make winter come."
- "Isn't it?" by Wild Silk

--------------------------------------------------------------------------

23. March, 2002 Version 1.59

- First of all: the FF7 battle swirls are now working (they should have
been working in 1.58 already, but a last minute fix disabled them).
You have to enable the FF7 special text border fix, use the highest
Offscreen Drawing setting, enable the "gfx card" frame buffer textures
and the "Framebuffer read on move" game fix is also needed (oh my).
The performance of the effects will (as always) depend how good
your card is supporting framebuffer accessing. But it's fine on my
GF3 ;)

- The Lunar1 special game fix is now available in the hw/accel. plugins
as well. That will repair the black screens when entering a house or
a menu in the same way as in the P.E.Op.S. soft plugin.
Ah, and talking about special game fixes: I've decided to combine
the nVidia FSAA fix with the ATI subtract blending fix in the OGL
plugin. Since both issues are bugs in the drivers, (hopefully) fixed
somewhen with one of the next driver releases, I didn't want to waste
too much of my (up to 32) possible game fixes ;)

- A few games were showing wrong MDEC colors due to some lines of
code I've included for doing screen centering. None of my games had
shown that glitch, so I can't be 100% sure that this issue is completely
fixed, but there is hope ;)

- A new texture option, called "Faster palettized texture windows".
Well, texture windows (mostly used in psx games for text box background
gfx, or in some racing games) are having a separate cache in my hw/accel.
plugins, and that one is working fine for most games... I have seen only
one game (Ghost In A Shell) which is stressing the cache so much that
the game crawled at 40-50 fps on my system (quite unusual). The only
solution I've found for that game was using pal textures, causing a fine
speedup (2 - 3 times faster). So, if your card can handle pal textures
(like GeForce cards with newer drivers), you can safely enable the
new option, otherwise (TNT cards for example) you cannot use it at all
(a filled Smiley sign in my gpu menu will show you if the option is
working).

- Biggest change: improved "texture garbage collection" option. When I
introduced that option in 1.58, I just did an easy approach to reorder
the internally used texture space, to check out if the function is working
okay. Well, the new version does a much more complicated job to
optimize the texture usage, we will see how that code will work on less
powerful cpus/gfx cards (it's very fine on my Athlon 1.2/GF3 system).
Still: the cleanup will only kick in, if it is really needed, most games
will not activate it anyway. Games needing the garbage collection
_may_ stall the game for a short time (while doing all the texture
optimizations), depending on your system's power.


"Schäume nur mein wildes Herz, in des Zornes Wehen
Bin aus leichtem Stoff gemacht, muss wie Luft vergehen
Ohne Schiffer treibt mein Kahn, auf des Meeres Spiegel
Niemals fesselt mich ein Band, riegelt mich ein Riegel
Suchte meinesgleichen, fand nur Sünder ohne Zügel"
- "Lebensbeichte" by In Extremo

--------------------------------------------------------------------------

16. February, 2002 Version 1.58

- Damn, since the release of 1.57 I couldn't stop gpu coding...
so it took only two weeks for a new release this time.
Well, enjoy :)

- To help gfx cards with slow texture uploading speed and/or
a very limited vram size, I've coded additional functions which
will optimize the texture usage even more. Of course that will
mean a little bit more work for the cpu, but hey, somebody has
to do the job...
Ok, so, if you have encountered irritating slowdowns in your
game (caused by the gpu, NOT by cdrom accessing ;), you
should give the new "Smart texture garbage collection" option
a try... even my GF3 does like it in some games (well... it
doesn't matter much for me if a game runs with 100 or with
300 fps, but if it does help my system, it should help slower ones
even more).
Oh, and one more hint about the texture caching: some users
reported a big speed up by selecting "64" Mbytes vram on their 8
MB cards...

- Hurray, hurray... one "special game fix" has been removed:
The "no sprite transparency" one for the Oddworld games.
Those formerly "special fixed" glitches are now confirmed main emu
bugs, so the option will be useless with the next epsxe release
anyway.
And since that fix did cost a lotta additional testing in the
soft funcs, I've decided to remove it as soon as possible... and
that's now :)

- Hurray, hurrraaarrrggg: Oddworld fix is gone, and a new fix
has taken its place instead (in the OGL plugin).
nVidia is well-known for their good and fast OGL ICDs, but there
is a stupid bug (at least) in the W9X 23.51 drivers: if you are using
FSAA with OGL, the driver will reset the alpha testing state each
frame, causing black areas and other glitches in my OGL plugin.
Well, the 21.xx WinXP driver is doing FSAA fine, as far as I could
see, but if you want to use FSAA in W9x you should enable the
new special game fix... or pray to nVidia to release drivers without
that bug.

- Improved psx vram moves, that will fix glitches with a few special
effects in FF9 and BOF4 (seen in certain magic effects during
battles). Mmm... and most times "full vram prims" and/or a certain
framebuffer setting is needed to get such effects right.

- Wrapped sprites will work perfectly again (they were broken
in 1.57), so the glitches in (for example) Tales of Destiny 2 are gone
(thanx to expert464 for the save state).

- Oh my... some optimization I've done in version 1.20 (or so) of the
OGL plugin caused missing tires in "Driver", screwed hair in
"Blaze&Blade" and prolly it was responsible for some more screwed
textured polys. That issue is fixed as well.

- Improved the Offscreen-Drawing detections. Much cleaner now,
and as far as I remember the FF8 "distant hill flickering" will be
fixed by that... mmm... and the FF7 swirls should be visible
with hw/accel. FB textures, using the highest OD settings.

- And finally: screen smoothing. This new option will blur the
whole screen, so especially 2D games will look less pixelated.
It will need a good gfx card, though (something in the Geforce
class should do the job), and the higher the used resolution, the
bigger the slowdown with screen smoothing.
Activated smoothing will cost around 1.5 - 3 MByte vram (no big issue
with my 64 MB GF3, ehehe), and your gfx card must be able to use
textures bigger than 256x256 pixels (well, that means for example
no smoothing with 3dfx V2/V3 cards).
Anyway, if the option does work fast enuff on your system, and you
like the smoothed look, use it... if I did everything right, there will be
no emulation compatibility issues at all.
Oh, a small hint: of course you can combine the old texture filtering
with the new screen smoothing, the results are really nice most
times.
Oh, and another remark: yes, motion blur would be also possible.
But, no, I will not include it in my gpu plugins. I will leave that
effect to NickK's NextGL/Next3D plugins, his gpus are getting
better and better with every release, so go and check them out :)


"Those are the pictures
of what was
of what is
of what is to come

We are the people
the rolling people
the why people
the waiting people
the wanting people..."
- "Altamont" by Aphrodite's Child

--------------------------------------------------------------------------

04. February, 2002 Version 1.57

- Let's start with the biggest change: I did a big cleanup in
my texture caching code. Now you can't select between different
caching modes anymore, the plugin will work with a slightly
optimized "dynamic" caching method.

Still there is an option in the gpu plugin config window, which
is controlling the behaviour of texture caching:
"Gfx card vram size [MBytes]". Here you can select "Autodetection",
which will work without problems on nVidia cards, or enter the
size of your gfx card's ram manually (needed for example on 3dfx
cards in OpenGL mode, but prolly it's safer with other vendors
as well).

A wrong big value can cause heavy vram <> system memory swapping,
you will notice that when the game speed is slowing down without
a reason, and a much too small value can cause an heavier cpu
usage and constant texture uploading, so it's up to you... :)

Well, some examples:

- with D3D, all cards should be reporting the correct vram size,
so you can set it to "Auto" as long as you don't want to
make some experiments ;)
- with OGL, nVidia cards will report the correct vram size as well
(at least they did the last time I've checked it =), so you
can use "Auto", too
- Other vendors may need some tweaking in OGL:
Gfx cards with 64 MByte (or more) will always be fine, you can
set the vram size to "64", enable FSAA or whatever, and be happy.
With gfx cards less than 64 MBytes you should be more careful,
try first to enter your real gfx card vram size (for example 16),
and if you notice slowdowns you can try to lower the size (15,
14, 13...) to get better speed. Ah yes, and if you have an
onboard gfx card you can try to set a much bigger value to get
the best speed.

- OK, so the different caching modes are gone... no need to get sad,
though. With just one mode left, I was able to improve my texture
alignment further: now FSAA will work better, and some of the
filtered textures will not look as blocky as before (yes, there are
tile edges in the filtered modes, yes, I know, no, I can't do nothing
about it, sorry). Still some adjustments have to be done with textured
windows, ah, but that's for another day and release.

- Improved some dma chain checking, now certain games which were
showing black screens before will be running without problems
(for example The Mummy or T'ai Fu).

- Changed (again) my MMX palette code, finally it seems to be working
without any problems. For example the battle menus in FF4 are
ok, maybe even the red/yellow cards in Winning11 will be visible
again? We will see :)

- A new special game fix has been done as well, this time it's a goodie
for all Capcom 2D fighter fans: you can enlarge the screen area at
the right side of the display, and see all the background gfx without
any cut-off (well, glitches can happen, too, you are warned :)

- And some more small changes :)


"I've been searching everywhere
Looking for the final freedom
Where there are no boundaries
When you never need a reason
Well, it has been taking me some time
'Till I've got it what I've tried to find"
- "Welcome to the other side" by RAGE

--------------------------------------------------------------------------

06. January, 2002 Version 1.56b

- OGL/D3D plugins: the fullscreen/window toggle blending fix
screwed sometimes the transparency mode on startup.
Therefore version 1.56b fixes the fix :)

--------------------------------------------------------------------------

05. January, 2002 Version 1.56

- OGL/D3D plugins: New special game fix: "Adjust extreme coords".
It's the same fix I've included in the P.E.Op.S. soft gpu 1.3, it helps a
few games showing weird polygons running wild across the
screen. So, try to enable it if a game is having polygon troubles,
but don't use it as default setting (because games which doesn't
need that option might get screwed). And, no, it doesn't fix
Tekken 2.

- OGL/D3D plugins: I've also included all new soft funcs (for Offscreen
Drawing) which I've changed in the P.E.Op.S. soft gpu 1.3. Not a big
deal, though.

- OGL/D3D plugins: my texture caching on 15 bit psx textures had
a small bug, it wasn't caching the transparency bit. Thanx to
Matesic Darko for telling me about the problem.

- OGL/D3D plugins: smashed a sprite Offscreen Drawing bug which
has been crept in with version 1.54. The Medievil 1 gravestone menu
is now fine again.

- OGL/D3D plugins: repaired a small texture window sprite overlapping
issue. The Guardian's Crusade in-game menu is correct now.

- OGL/D3D plugins: improved my MMX color lookup table code. Some
color rotation effects (Vagrant Stories, Blaze&Blade water) are finally
working perfectly.

- OGL/D3D plugins: sometimes blending was screwed after toggling between
window and fullscreen mode. Thanx to JNS for kicking my ass until
I've fixed that ;)


"On the day of the night things were always well
But on the night of the light all night things fell"
- "Mystical End" by Iced Earth

--------------------------------------------------------------------------

02. December, 2001 Version 1.55

- The SOFT gpu has gone Open Source and is not part of
the archive anymore. You can find newer versions of the
soft gpu (renamed to P.E.Op.S soft gpu) at:
http://sourceforge.net/projects/peops

- OGL plugin: the "Framebuffer read" and "Framebuffer read
on move" special game fixes were giving a yellowish
display some times. That's fixed. Still my old advise:
activate the FB options only if you really need them, some
games (FF9 for example) will not work if the options are
turned on.

- OGL/D3D plugins: repaired a small scissoring issue and
coded a new special game fix... this time it's an option
called "Lazy upload detection", and it can be used with
Dragon Warrior 7, to repair the flickering effects with
text boxes in that game. It's not a 100% fix, since the text
boxes will not get semi-transparent if the fix is enabled,
and the bkg graphics will not be animated anymore, but
at least the flickering is gone... well, you can also turn off
the fix and turn on "Full vram primitives", if you have a
powerfull cpu, that will emulate the text boxes more
accurate, but the bkg gfx will get ugly low-res... well, it's up
to you :)
I only had a save state, not the full game, so I can't tell you
if there are more issues with DW7... but if the rest of the
game is coded like the text boxes (using a third display
buffer for uploads, bah), I am sure there will be more problems ;)
Oh, and the text boxes are using the psx mask bit as well
(sure... simple pseudo triple-buffering would be too easy ;)
So if you don't see any text boxes at all, try to turn off the
"mask bit" gpu option... that will help gfx cards which don't
like my mask bit emulation.

- OGL/D3D plugins: tadaaaa... two additional filtering modes...
most of you will know the problem with filtering pre-rendered
background graphics (the gfx will have a tiled look if filtering
is enabled).
Well, my advise in the past: use "filtering without sprites",
since most games are using sprites for the bkg scenes, and
personally I think it's better to have a pixelated display than
staring at annoying box edges.
My new advise: use "filtering with smoothed sprites" :)
Sprite smoothing will work fine with many games (yes, yes,
including FF9), and I hope it will not cost too much speed
on an average system.
Of course it will not help games which aren't using sprites
at all (for example Wild Arms), and it will produce glitches
with other games (like Legend of Dragoons or FF7). Still
it's a good choice for many sprite-based games and rpgs.


"Since we've reached the point of no return
We pray for starlight, we wait for the moon
The sky is empty
Alone in the unknown
We're getting nowhere"
- "And then there was silence" by Blind Guardian

--------------------------------------------------------------------------

04. November, 2001 Version 1.54

- All plugins: finally I have added psx polyline support
to the "WriteData" interface funcs. Polylines were
only supported in dma chains before, and, to be honest,
I haven't seen any game using them outside of dma chains.
Well, Matesic Darko's great GPU Test Windows application
is using polylines without dma chains, so I have used that
one to check if all is working fine.
Btw, you can get the GPU Test app at: http://mrdario.tripod.com
in the "Tools" section.

- OGL/D3D plugins: Xenogears... yup... well, that game is using
a hard to emulate framebuffer texture/framebuffer move
combination in cutscenes and transition screens, which only
could emulated properly by using "Full Vram primitives"
in my hw/accel. plugins before.
FVP tends to need a lot of cpu power, so I've looked if I could
do an option to let the gfx card do most of the work...
and there it is: a new special game fix called "framebuffer read
on move". Unfortunately reading the gfx card framebuffer is
also slow with most nowadays gfx cards, so I dunno how it will
perform on average systems. Speed is fine on my GF3 in OGL,
and kinda slow in D3D. So, my advise: use the new option only
in Xenogears, or if you want to try to remove similar glitches
in other games.
Btw, XG needs the new FBOM option with activated "gfx card"
framebuffer textures and don't use the highest Offscreen
drawing setting!
Oh, and I removed the special game fix for Tomb Raider 3... that
one only was needed in the old PSEmu Pro emu to repair some of
the GTE bugs, but since all newer emus can play the game
without the fix, I don't think that it is needed anymore.

- All plugins: the biggest change in 1.54: all software drawing
funcs have been redone (lotta work), and the new soft gpu is now
up to 20% faster than before. Therefore also the Offscreen drawing
and FVP options of the hw/accel. gpus have gained more speed.
Another nice thing with the new soft funcs: g-shaded quads are
now rendered in the real psx way, check out the quad polygon in
the first Sony BIOS screen (hi Galtor :)
On the other hand there is a very small chance that little g-shaded
textured quads get slightly distorted... during my tests I didn't
notice anything bad, but if you encounter some new glitches, drop
me a mail.

- OGL plugin: while adding the new soft funcs in the OGL plugin,
I've noticed that the D3D plugins had a bigger security psx vram
area, preventing nasty crashs. OK, now the OGL one has it, too.

- Announcement: 1.54 was the last release of "Pete's Soft GPU"!
Why? Well, I have done all I wanted to do with the soft gpu plugin,
and I think the time is right to go Open Source :)

So, in a few days the Windows & Linux sources of the soft gpu plugin
will be released, but what does that mean exactly to the users of the
soft plugin?

1.) the name of the plugin will change... not a big deal, I think, but
I don't want to label a plugin with "Pete's whatever" when (hopefully)
a lotta more people beside me are working on it.
2.) improvements in games I don't own myself... I can't investigate
some issues if I don't have the game, but now the chances will be
higher that another coder is able to fix the problem.
3.) more features I never cared about... maybe a smarter frame skipping?
or a native FPSE interface? some special gfx modes? Dunno :)
4.) the plugin will not get bundled in my "gpupete" archive anymore.
We will have to wait and see how often a new release of the OS soft
gpu is happening...

And what does it mean to the psx emu/gpu plugin coders out there?
There will be much informations in the source, for example the proper
usage of the gpu interface, fps handling and, of course, the soft drawing
funcs themselves. OK, so:

1.) the license will be GPL
2.) still I don't want to force any freeware coder to go Open Source
himself, if he is using parts of the soft gpu source in his work.
So, I will allow the usage of the soft gpu funcs in closed source
projects, too, if
a) the project is freeware
b) credits are given
c) any improvements in the open source funcs are reported back
to the Open Source project.

I hope that way everybody will be happy :) And if the OS way is
working well, chances are high that my hw/accel. plugins will go
Open Source, too :)


"Pissing in a river, watching it rise
Tattoo fingers shy away from me
Voices voices mesmerize
Voices voices beckoning sea
Come come come come back come back
Come back come back come back
...
Should I pursue a path so twisted ?
Should I crawl defeated and gifted ?
Should I go the length of a river,
(The royal, the throne, the cry me a river)
What about it, what about it, what about it ?
Oh, I'm pissing in a river."
- "Pissing in a river" by Patti Smith

--------------------------------------------------------------------------

07. October, 2001 Version 1.53

- All plugins: the 1.52 fps limitation bug fix for special chipsets
seems to work fine (thanx to all users reporting it), so
I've added the fix also to the displayed fps rate, and to the
'Use PC fps calculation' option.

- All plugins: added a "copy settings to clipboard" button
to the gpu config dialogs. A simple mouse click will now transfer
your current gpu settings to the clipboard, you can paste them
into bug reporting mails or forum messages.
Unlike Lewpy's similar func I don't include your cpu speed, OS, etc...
only the pure settings and the name of your gfx card.

- OGL/D3D plugins: again small adjustments in the screen upload
detection, for example the GT1 main menu will be fine now, the
Soul Reaver (demo) menu will get displayed and the Aeronauts
(demo) language selection is shown.
As always the advise: if you are missing some menus or screens,
play with the Offscreen Drawing settings. If there is garbage in
the screen border areas, play with the Offscreen Drawing settings. If
you are feeling bored, play with the Offscreen Drawing settings ;)

- All plugins: fixed a small scissor problem which could happen on
very rare occasitions (if the game was using strange screen
centering values). The text boxes in Star Ocean 2 will now pop up
fine with the D3D/OGL plugins.

- All plugins: I've improved all triangle soft drawing funcs, you will
get a small speed increase with the Soft gpu in games using lotsa
triangles. Since the hw/accel. gpus are using the same funcs for
offscreen drawing and full vram primitives, a small speed increase
can happen with them, too.
Thanx to Lewpy for suggestions :)

- OGL/D3D plugins: if you are using the "gfx card buffer" frame
buffer textures option, you prolly will have noticed shaking screens
effects in some games (for example sometimes in ChonoCross battle
screens, in Alundra2 underwater levels/cutscenes, in Megaman
Legend 2 water/desert stages, in some AITD4 effects... yawn).
Well, what to say? It's fixed :)


"And what have started long ago
Is heading towards the end
There's no easy way out

There's blood on my hands
But I am sure in the end
I will prove I was right

Runes of a long forgotten time
Ancient spells in endless rhymes
Soon the other world appears

Roam to the ghostly river Rhine
Leave the misty shades behind
I can feel I'm getting near"
- "Blood On My Hands" by Demons & Wizards

--------------------------------------------------------------------------

26. August, 2001 Version 1.52

- All plugins: I've added some code to list all available desktop
resolutions of your gfx card. That way you have a bigger choice
for the gpu fullscreen modes (and I don't have to add more and
more resolutions in every gpu release ;)

- OGL plugin: changed the "InitFullScreen"func. I hope it will
now work better with certain cards, and with the W2K OS.
Please note: toggling between the window/fullscreen mode
(ALT+ENTER) is still unstable, if your desktop color depth is
not the same as the desired fullscreen mode.

- All plugins: Lewpy told me about a bug with high performance
counters. Our plugins are using such counters to calculate the
framerate and to do the fps limitation. The bug will show up only
on certain chipsets under heavy PCI bus load, and it can cause
weird speed behaviour with our gpu plugins.
I've tried to make a workaround for that issue, let us see if it helps
(no problems on my system, so it's hard to check by myself...).
If you want to know what MS is saying about that bug, or check
out if your chipset is known as buggy, look at:
http://support.microsoft.com/support/kb/articles/Q274/3/23.ASP?LN=EN-US&SD=g

- All plugins: my new system (Athlon 1.2C, GF3) is very fast... that's
fine, of course, but it also brought me some troubles: usually I
play psx games at the 'auto-detected' speed (50 or 60 fps), and if
some (boring) scene happens, or if I have to do some (uneventfull)
walks in the game, I just turn off the fps limitation in the gpu menu.
On my old system (P3-550, GF1) speed usually doubled, so I had a
kind of 'fast forward' function, until I enabled the fps limit again.
Well, on my new system the 'fast forward' tends to be a 'hyperspeed
forward', making walking around nearly impossible... so I've now
enhanced the old "limit on/off" switch in the gpu menu into "limit off",
"limit manual setting" and "limit autodetect". that way I can toggle
between "auto" and "manual" (I set the manual value to 120 fps),
and now I am happy again ;)

- All plugins: if you are running a game at a "manual" limited
framerate, you can change the manual value in the game using the
gpu menu: set the menu arrow to the FL option, and press
SHIFT + HOME or SHIFT + END. On each keypress the manual
value will in/decrease by 1 FPS, so you can try to adjust the manual
value within the game to a framerate which suits you.

- SOFT plugin: oh no... a glitch! In my 'oh-so-compatible' soft plugin!
While checking out a few game demos I've noticed a wild shaking
screen in the Pandemonium2 demo. After a little debugging I've
pinpointed the problem to wrongly called psx vsync signals from
ePSXe. So I've double-checked the demo with FPSE, and to my surprise
the vsync calls were even worse (in ePSXe the vsync comes at
a wrong time with that game, in FPSE the vsync comes at a wrong time
AND far too often...)
Ah, well, to get around the bug I made a 'special game fix' for P2.
It's called "Lazy screen updates", and if you want you can try
the option also with other games, they may become faster if it is
activated. Of course it can also cause unwanted side-effects (missing
parts of the screen, for example), so use it with care.
Btw, in the hw/accel. gpus Pandemonium2 needs also an (already
available) option, the "Swap front/back detection" special game fix.
Btw, part 2: the psx vsync is very important to get the 'right' FPS
limitation, so don't be surprised if some games are running at a wrong
speed in FPSE... the only way to get around that problem (beside
a fix in the main emu core, of course) is to set a manual FPS limit until
the game 'feels' right (the new in-game "manual FPS limit adjust" as
described above can help you with that).

- OGL plugin: and another special game fix... pfff... well, it's not really
a game fix, it's more a 'bad OpenGL ICD' fix... in version 1.51 I've
introduced a perfect "subtractive blending" mode, if the gfx card driver
is reporting it can do it.
Well, I should have guessed that some vendors will report they can do
the feature, but in reality they just screw it (did I say S2000? no, I didn't ;)
You can now force the gpu plugin to ignore the OGL extension for
subtractive blending by the new game fix.

- OGL plugin: "keep psx aspect ratio" option. In version 1.50 I did that
option for the soft plugin, now it is available in the OGL plugin as
well... it does a 'ratio correct' stretch in x/y, causing lotsa screen borders,
of course. Use it, if you like it, or turn it off (like I do ;) I am not sure
if I should code that option in the D3D gpus as well (it's really lot of work).

- OGL/D3D plugins: in december 2000 (version 1.42) I made the
black scanlines option, promising that all requests for 25% or 50%
scanlines will get ignored :) While looking for new ways to improve
the image quality, I stumbled again over the scanline func, and played
a bit with it... the result: you can now set the scanline brightness in a
range between 0 and 255. 0 is like it worked before (black scanlines, dark
display), higher values will make the scanlines brighter (blended over the
image, not just simple lines in one color)...
I suggest to try a value of 200 to get a nice smoothed display, of course
it also depends of the used resolution and your personal taste :)

- OGL/D3D plugins: some small changes in compatibility: when you
play FF7, using the special game fix for the text box borders, the battle
hand cursor will also be fine now.
Also I've tried to remove some screen garbage which showed up
occasionally in some games (usually between splash screens), if your
OD mode is 3 (enhanced) or smaller.


"It's not the end
Not the kingdom come
It is the journey that matters, the distant wanderer
Call of the wild
In me forever and ever and ever forever
Wanderlust"
- "The Wanderlust" by Nightwish

--------------------------------------------------------------------------

06. July, 2001 Version 1.51

- All plugins: _Demo_ suggested to use a 59.94 fps
NTSC timing (instead of the old 60 fps one), if auto-
detected fps limitation is enabled. Well, done... (don't
ask me if that will improve anything... most of my
games are PAL ones anyway :)

- D3D plugins: I wanted to add a few more fullscreen modes
to the D3D plugins in version 1.50, but somehow I've forgotten
to add the 320x240 and 320x200 D3D modes, tsts. Oki,
fixed.

- All plugins: it is now possible to redefine the gpu hotkeys
in the gpu config windows (look for a small "..." button).

- OGL/D3D: added some mmx asm to squeeze out a few more
frames per second. The optimizations were done in my texture
caching funcs, the speed increase will be in the range of 0 - 10
more fps (depends, as always, on the game and your pc specs).
No mmx was added to the soft gpu (main reason: most time in
the soft gpu is used up in the per-pixel blending funcs, and that
ones are very mmx-unfriendly right now... well, I've checked out
some other optimizations in the soft gpu, giving me around 2
additional fps, but the gpu dll size was doubled and the code was
a really big mess, so I've dropped that again).

- OGL plugin: the best is yet to come: 100% perfect subtractive
blending!
Well, one of the psx blending modes is hard to emulate in hw/accel.
gpus, because that kind of blending was not supported on older
pc gfx hardware.
But lately I've found an OGL extension to get that mode right,
and luckily my GeForce1 DDR card can do it without problems.
Version 1.51 of the OGL plugin will check your card's opengl
capabilities, and enable that special blending mode, if it is
available. Prolly all GeForce cards can do it, I don't know if it is
supported on other cards as well, though. The gpu ingame-menu
will show a little 'moon' symbol, if the extension can be used.
Of course the gpu plugin will fall back to the old blending func, if
it's not possible to use it. Quite easy, no special option needed :)
You will notice the new blending mostly with correctly faded menu
backgrounds in FF9, or with darker shadows and lighting in CC.
Oki, and now let me answer some new FAQs _before_ they
have a chance to get FAQs ;)
1. Q: Is it possible to do the new mode in the DX6/DX7 D3D plugins?
A: No
2. Q: Would it be possible in a DX8 D3D plugin?
A: Yes
3. Q: Will you code a DX8 D3D plugin?
A: No... at least not in the near future :) Ask Lewpy to do one... :):):)

- All plugins: there is _no_ new option for the wrong mdec colors with
fpse 0.9! I did think alot about it, if I should do a 'special fpse game fix'
or something like that, but in the end I've decided against it. Why?
Well, the wrong colors are caused by fpse, not by the gpu plugins,
and I think in terms of compatibility it was a bad decision by the fpse
team. And if I would do a special fix, hey, maybe the fpse team would
never correct the colors... and maybe the next emu team would decide
to display the mdecs up-side-down, and I would have to add another
bunch of useless convert funcs... nonono ;)
And one fpse member already told me that they want to fix the mdec
issue themselves, so hey, don't worry :)


"There was a man found hanging in a jail cell
And they said it was suicide
A man was found hanging in his jail cell
And they told me it was suicide
Now you can blame the social system
But I still say it was his necktie"
- "Necktie" by Michelle Shocked

--------------------------------------------------------------------------

24. May, 2001 Version 1.50

- D3D plugins: sometimes there were disturbing lines in
unfiltered mdecs on Matrox cards. Fixed.

- OGL plugin: because of PSEmu Pro I always had to do a
delayed gpu init (otherwise the screen would stay black
in this emu). Well, I've noticed a problem (crash, boom,
bang) with one demo because of that delay, so I do now
some more 'init' checks.

- SOFT plugin: a new stretch option: "scale to window, keep
aspect ratio". That one will keep the original psx
screen proportions, of course you will get black screen
borders, if the aspect ratio doesn't match your window
size. That option is much harder to do on the OGL/D3D
gpus (because many of my funcs are relying on a fully
rendered window), but maybe I will do that in a later
version... we will see :)

- OGL/D3D: a new special game fix for FF9: "G4 polygon
cache". If it is activated, the yellow character selection
rect in battle mode will be displayed. All cudos are going
to Lewpy, who has developed that fix :)
Btw, enable it ONLY with FF9. No other game will need
it, and it can cause glitches!

- OGL/D3D: a workaround for horizontal wrapping
display positions. Now my XPloder demo cd is working,
maybe it will help with some more 'black-screen-only'
games, too.

- OGL/D3D: Thanx to Gabi, who did send me her original
RRT4 game cd, I could investigate (and fix) some more
glitches:
* disabled screens are now handled more correct. That
means: less garbage with some games (like the garbage
in RRT4 before/after mdecs).
* clipping areas with a width/height of 0 are now fine...
It seems that sometimes I do too much checks ;)
The disturbing bottom menu boxes in the RRT4 menus
are gone.
* Changed my line offset code a little bit. Result: less
disturbing dots/lines in RRT4 (most times while
driving below bridges).

- OGL/D3D: fixed a wrong clipping area which was caused
by toggling between fullscreen/window mode. Because
of that bug sometimes only a part of the screen got updated
after switching to fullscreen mode.

- All plugins: I've changed the gpu config dialogs,
so now there is a better description for most options.
Don't get shocked when you are opening the config
window for the first time :)
In the D3D/Soft plugin you will also find some more
fullscreen resolutions (added by user requests).

- All plugins: Well, if you have visited www.psxemu.com,
you will already know about the new "save state pic"
feature. Of course the main emu has to support it, and right
now there is no released emu with that ability yet, but hey,
we are prepared :)
You can still check out that feature, though: when you hit
the "INSERT" key, and no fps menu is displayed, you will
see a nice pic with the gpu version number. If the fps menu
is enabled, a description text of the selected option will
be shown instead... kind of an online help :)

- OGL/D3D: I've hidden an easteregg... yup... a very slow
one, though... try to find it... I will tell no more, all requests
to reveal it will be ignored :)
Oki, just one thing: somewhere I've placed an _obvious_
hint how to activate it...


"Master of the lightnings, rider on the storm, wearer of a crown of swords, spinner-out of fate. Who
thinks he turns the Wheel of Time, may learn the truth too late. (From a fragmentary translation of
_The Prophecies of the Dragon_, attributed to Lord Mangore Kiramin, Sword-bard of Aramaelle
and Warder to Caraighan Maconar, into what was then called the vulgar tongue (circa 300 AB))"
- "The Wheel of Time" by Robert Jordan

--------------------------------------------------------------------------

28. April, 2001 Version 1.49

- OGL/D3D: improved my screen clearing detection, so some
garbage borders (like the ones in Legend of Mana) are now
history. RIP :)

- D3D plugins: while doing the above mentioned improvement,
I've noticed a wrong clipping on block fills in the D3D plugins.
The OGL plugin was fine, though

- All plugins: Lewpy suggested to do some more coord
checks like the ones needed for the silent hill maps... well,
it's done, and it doesn't seem to hurt, so we give it a try, eh? :)

- OGL plugin: fixed a stupid bug which caused the gpu to crash
after a race in GT2 when offscreen drawing was enabled.
The D3D plugins only worked because of some strange kind
of luck ;)

- OGL plugin: a wrong ZBuffer init caused troubles with some
games, if the mask bit detection was enabled (for example:
wrong shadows and missing texts in GT2). Conclusion: never
forget to remove debugging code... tststs

- OGL/D3D: I've tried to get more game menus/splash screens
to work. Currently the screen detection is a real mess... but
always when I've started to recode the funcs, I've ended up
with the same zillions checks. So I decided to leave the funcs
in the current state, and just to add a few more or less clever
lines of code if the "Offscreen Drawing" mode is set to
"4: extended".
The new code works not too bad in games like Spyro (intro
screens), Spiderman demo (intro screens), Batman demo
(special kind of mdec at the beginning of the demo)... still,
the extended OD can also act too eager, producing additional
garbage and/or flickering. My advice: use it only, if you are
missing something important in your game.
Oh, and btw: some changes in the OD code is causing wrong lines
in the FF8 intro screens... Lewpy fixed the lines in his 1.32 glide
plugin, well, I've fixed it in an earlier version of my gpus, too...
now it's magically back, and honestly: I don't care :)

- OGL/D3D: a new 'special game fix' called 'Framebuffer read'.
What's that? Well, some games are reading back the currently
displayed frame to the psx main memory, changing it, and upload
the changed frame data again to the gpu.
Such effects could only emulated in the past by activating the
(slow) "full vram primitives" option (FVP is drawing everything in
the emulated gpu memory, so the "read back" is possible).
The new 'framebuffer read' (FBR) option can be used as a FVP
replacement in most games: it tries to detect, if the game is reading
screen data, and if yes, it will convert the needed screen part of
the OGL/D3D display into the psx format, giving that data to the
emulated cpu.
Advantage compared to FVP: it only has to jump in if the game is
really trying a read back (my FVP has always to be activated to
do its job right, causing a slowdown _all_ the time). Disadvantage
compared to FVP: a) the FBR "read back detection" can guess wrong,
causing either glitches or also unwanted slowdowns. b) the gfx
card driver has to support the screen reading I am doing (it's not
as complex as the "gfx card framebuffer textures" option, so I think
most cards can do it).
The interaction between FVP, FBR and FBT (framebuffer textures)
is a bit tricky, so lemme try to explain the best combinations:
1. if you have a very fast cpu, you can enable FVP, set FBT to
"emulated vram" and disable the new FBR.
2. if enabled FVP is too slow on your system, turn it off and use the
new FBR option. FBT has to be set to "emulated vram" or sometimes
"gfx card buffer".
3. Many games will run best, if you simply set the FBT to "gfx card
buffer" and disable FVP/FBR. Maybe you will miss some
(unimportant) bkg gfx or battle transitions, but that's all. And if you
are looking for speed only, disable FVP/FBR and set FBT to "Black"...
speeds up most transitions (they will be black, of course).
I've checked the new combination #2 (using FBR) with a couple of
games, and it worked fine on Spyro 1 (bkg gfx in the option menu),
Tomb Raider TLR (bkg gfx while pausing), ChronoCross (bkg gfx while
pausing/item menu), Star Ocean 2 (battle transition), Blaze&Blade (bkg
gfx and transition), Legend of Mana (entering town transition). Prolly
more games will also show up additional stuff which you have missed
before if you haven't used FVP.
Another thing: all framebuffer read effects will look 'low res'... if you
have read the above text carefully, you can guess why.
A final note on the new FBR option (wow, that description is getting
far too long): DON'T USE IT WITH FF9!!!
FF9 is also reading back data after a battle... and if the new FBR option is
enabled, ePSXe will crash with an unkown opcode. Don't ask me why...
maybe FF9 doesn't like what I am giving back (copy protection? bug in
my code? mmm... have to do more investigations). Still: complains
about problems in FF9 with activated FBR will go to my personal
NULL device :)


"Little do I know - little do I care
Little would it help if I knew and was aware.
Aim beyond the stars, catch a glimpse of gold
A planetary chart where the stories are untold.
There's a piece of truth for everyone..."
- "Lunar Sanctum" by Kamelot

--------------------------------------------------------------------------

07. April, 2001 Version 1.48

- OGL plugin: fixed a small bug in the "filtering without
sprites" modes. In some games (using textured windows)
the sprite filtering was not turned off. The D3D plugins
were doing it fine, though.

- OGL/D3D: improved the mask bit detection, should be
now handled exactly like the SoftGPU.

- All plugins: added code to get negative display positions
to work. That bug could have caused crashings in the
SoftGPU and black screens in the OGL/D3D ones. Of course
not much games are using it (I've seen it just with "Tobal
No.1")

- All plugins: I've tried to make mdecs less skippy if frame
limitation and frame skipping are turned on at the same time.
But if your cdrom is a bit slow reading psx cds, the skipping
will be still there (well, frame skipping can cause all kinds of
problems, so I don't recommend it anyway).

- All plugins: faster "MoveImage" func... yup... but I don't
think that you will notice it much.

- All plugins: the Silent Hill maps will now be displayed. Maybe
some splash screens/background gfx in other games will
appear as well.

- All plugins: faster "Line offset" func. I like the new func,
it's a very easy (but still accurate) approach. I had to
do a lot of thinking until everything worked as planned,
so I am kinda proud of it, ehehe ;)

- All plugins: you can now use the "HOME" key to step
down the available option modes in the in-game gpu menu.
It's like the "END" key, just in the other direction... of course
it's only helpfull, if an option is offering more than two modes
(like the filtering option, or the new offscreen drawing one).

- OGL/D3D: there are now 5 OD option modes: 0 (none), 1
(minimum), 2 (standard), 3 (enhanced), 4 (extended).
A short overview:
OD is used to detect drawings which are outside the
front/backbuffer, doing such stuff in software (or by tweaking
polygon coords).
0 (none): fastest mode, glitches in splash screens/game gfx can happen
1 (minimum): takes care of most splash screens
2 (standard): does an easy check, if software drawing/coord tweaking is needed
3 (enhanced): does a more complicated check for soft drawing/coords
4 (extended): does the "enhanced" check, and adds some additional buffer
swaps (can cause flickering with some games)
Usually the "standard" mode is enuff to get everything to work, with FF8
you should use the "enhanced" mode to get all character stats in battles.


"Hear my song. People won't you listen now? Sing along.
You don't know what you're missing now.
Any little song that you know
Everything that's small has to grow.
And it has to grow!"
- "The Song Remains The Same" by Led Zeppelin

--------------------------------------------------------------------------

17. March, 2001 Version 1.47

- All plugins: a small bug krept in my 1.46 versions in
the fps limit autodetection. If you did stop and continue
a game, the auto detected limit value was lost, and the
manual one was activated. That's fixed.

- All plugins: Improved the screen centering funcs...
not much to say about it :)

- OGL/D3D: fixed the smeared background in Castlevania
by doing a more lazy "clear on next swap" detection...
Thanks to R. Belmont for giving me a chance to investigate
the issue :)

- OGL plugin: removed the anti aliasing option... yup...
most users didn't understand that the option did activate
line a-a, not FSAA, causing big slowdowns with most
gfx cards (yeah, I wrote in my ogl readme that the line a-a
is NOT supported by most cards, but of course that didn't
help much... there are always some 'wise' ppl knowing it better).
Well, the a-a option is dead and buried... use FSAA, if your
card is supporting it.
To fill the missing space in the config window, I've added
the old funny "Lines only" mode again, because I've got
some nice mails asking for it... be happy :)

- All plugins: the biggest improvement... new mask bit
detection. Lewpy's and my plugins already had a mask bit
option in the previous versions... but "Silent Hill", one of
the few games which is using mask bits, was still screwed...
Well, we decided it's a main emu bug (ehehe), but now I've
tried my luck again... and I think I've finally solved the riddle :)
At least Silent Hill is now working fine, I don't know
how many games are also using mask bits, though.
Some hint: activating the option eats away valuable texture
vram, so only turn it on, if you really need it.

- And now... I am off to play Gothic :)


"They made a living by growing Swampweed.
Its smoke was highly praised, because
it gave sweet dreams to all human beings..."
- translated from the manual of "Gothic" by Piranha Bytes

--------------------------------------------------------------------------

25. February, 2001 Version 1.46

- SOFT plugin: the soft plugin supports now cards
which are using a 5-5-5 16 bit desktop color. So, if you
had troubles in the past (green/yellow lines or something
like that), it should finally work without problems.

- All plugins: some games seem to have problems with
the main emu vsync timing, causing strange speedups/
slowdowns even if the FPS is shown as 60/60 (or 50/50)...
Well, now you can activate Lewpy's old FPS calculation
again, which is based on the PC framerate, not the PSX one.
It's a special game fix, mostly for some soccer games, I
don't suggest to use it generally, though (it will cause
a wrong MDEC timing, and sound can be out of sync).
Please note: the PC fps rate is most times just half of
the PSX one (30/30 or 25/25), so don't worry, if the fps
display is showing less fps by activating the fix.

- All plugins: yeah, it's possible to transfer image data
in the dmachain... pfff... I always thought it's a main emu
bug :) My plugins should now handle such transfers
without problems... check out "Tombi" :)
All credits and a big "thank you" to Kazzuya and especially Taka...
really great job! I hope "Dragon Quest 7" will work fine
for you :)


"Before anything further is written, it must be noted that the following
section is included only as a matter of historical documentation. The
use of magic has long been proven to be unreliable and the suspected
cause of mental deterioration. The author takes no responsibility for
anyone who may attempt to practice magic based upon the information
contained herein."
- taken from the manual of "Ultima 7" by Origin

--------------------------------------------------------------------------

09. February, 2001 Version 1.45

- SOFT plugin: a new option called "unstretched display".
The display will be shown in the original psx resolution,
centered into the plugin window.

- OGL/D3D: the old "Texture alignment" option has been
removed... the plugin will now correct the texture alignment
automatically, without any option. The new func works
similar to the "Texture correction" option in Lewpy's
Glide plugin :)

- OGL/D3D: new "special game fix" for Legend of Dragoon.
That game needs an incredible high pixel accuracy, only
my soft plugin can display it without blue pixel trash...
Well, the new fix will turn the blue glitches into (much
harder to see) black ones :)

- OGL/D3D: and another new special game fix, called "short
DMAChain check". You can use it to repair the pause
in Tekken3 after a fight, but you should disable that fix
in other games. It works like Lewpy's "short dmachain"
option.

- All plugins: biggest change in version 1.45: a new optimized
dmachain handler... it was a lotta work, and there will
be not much speed increase (if any), but I like the new
function... and it will handle corrupt dma chains even
better.


"Red sun rising in the sky
Sleeping village, cockerels cry
Soft breeze blowing in the trees
Peace of mind, feel at ease"
- "Sleeping Village", by Black Sabbath

--------------------------------------------------------------------------

21. January, 2001 Version 1.44

- SOFT plugin: fixed a small issue with the FF9 'pause'
screen. It is working without problems in version 1.44

- All plugins: new ODDLINE bit handling. More games
(like XMen) should be working (fingers crossed :)

- OGL/D3D: if you are using a filtering mode w/o sprites,
the new version will not only ignore sprites, but also
textured windows (most times used as background pattern
in text boxes). Less glitches will happen in such text boxes...
try it with FF9 :)

- OGL/D3D: you have noticed a small vertical line in the
right area of MDEC movies? Well, that's fixed, too...
Unfiltered MDECs should be fine now in OGL, nVidia
cards will still show some small line with unfiltered MDECs
in D3D, though (because of the stupid 'auto-blurring'
nVidia is doing on stretched blits in D3D).

- OGL/D3D: biggest improvement: a speed boost in games
which are using textured windows as main texture type
(like Spiderman). Enjoy :)


"In diz lant hat er gesprochen
einen angeslichen tac.
da diu witwe wirt gerochen
und der weise klagen mac
und der arme den gewalt
der da wirt an ime gestalt.
wol im dort, der hie vergalt!"
- "Palästinalied" by Walter von der Vogelweide

--------------------------------------------------------------------------

06. January, 2001 Version 1.43

- SOFT plugin: fixed a small bug with wrapped sprites coords.
MediEvil intro and Bust-A-Move are fine now.

- All plugins: if you are doing a screenshot (F8 key with
most psx emus), there will be created an additional
info text file in the sub-directory "snap". The info file
contains all the current plugin configuration settings,
so you don't need to write them down anymore, if
you want to post/mail your settings.

- OGL/D3D: lotsa small fixes, should give you a better
speed (in some games) and less garbage glitches...
As always: I only can hope the new stuff don't screw your
favourite game ;)

- OGL/D3D: added three more menu items in the gpu menu:
Dithering (DI), Special game fixes (GF) and Framebuffer
textures (FB). The first two just toggles the option on/off,
while FB is a new feature...

- OGL/D3D: Framebuffer textures, yeah... my personal
nightmare ;) Some special effects (mostly before entering
a new screen), or things like motion blurring, are hard to emulate
using hw/acceleration. But, hey, nothing is impossible! :)
Ok, there is a new option in the gpu config called "Framebuffer
textures". Three settings are available:
* "Emulated vram" : you can use this setting in combination with
activated offscreen drawing and full vram primitives... it will show
you most special effects/blurring, but of course you will need a
very fast cpu (1 Ghz...) to get a reasonable speed.
* "Black (fastest)" : that's a setting which turns the special effects
black... it's the same as the special game fix "Black framebuffer texture"
in version 1.42, you can use it if you don't care about the effects,
or if the effects are slowing your game down.
* "Gfx card buffer" : that's the new one... it will give you the effects
in nice looking hi-res, with good speed... IF your gfx card/driver can
handle it.
Here is some technical info concerning the "Gfx card buffer":
1. if you are owning a GeForce, you are lucky :) Use at least the
Detonator drivers 6.31, though, to get a good speed.
2. TNT cards... pfff... well, I did some tests on my girlfriends P2-400
with a TNT1... with 5.xx drivers the effects crawled... 6.xx was
faster, but there were big glitches in the D3D plugins.
3. 3DFX cards... well, try it... my V2 can do it using the DX6 plugin...
slow, but hey! At least the speed should be better than using
full vram primitives ;) ATI, Matrox, whatever cards... dunno :)
4. Resolution/color depth : the higher the resolution/color depth, the
slower the effects. Using OpenGL, resolutions up to 640x480 will
take away 1 MB of your cards vram. Higher resolutions will cost
you up to 4 MB vram! Using D3D, the effects will always take
256 KByte of vram, no matter what the window/fullscreen resolution,
but speed will also go down on high resolutions. Well, you have to
play with different window/fullscreen settings, if speed gets too slow.
5. Yeah, OGL is a bit slower using the "Gfx card buffer" option, but it
will give you an even better image quality than the D3D solution. Keep
in mind: if you are using scanlines and/or dithering, or the gpu menu
is displayed, while a whirl/blur effect is happening, strange things can
happen... it's fun to see the menu sucked into a whirl, though ;)
6. Known games working with "Gfx card buffer": Crash3, BOF4, FF9, MGS,
Vagrant Stories, Wild Arms1 (extended OD needed)... some games
(like Blaze&Blade), will not work, though...

- OGL/D3D: I've improved the "dynamic" caching mode, if a game is using
procedural textures... Well, here is a small caching mode overview:
* "Standard" : usually the slowest mode, causing a lotta texture uploads
* "Heavy" : will store up to 10 palettes per texture... not a bad one for some
games, at least faster than "Standard"
* "Dynamic" : best mode for most games. It optimizes the used textures and
stores as much palette stuff as possible in your gfx card vram. It even
tweaks the textures for a better filtering/alignment... wow :)
* "Palettized" : most times slower than the "Dynamic" mode, but some games
are doing big blinking/color rotating effects, which are stressing the "dynamic"
one... such games can run smoother in "palettized".
TNT owners can't use it (neither in OGL nor in D3D), GeForce cards can use
it with OGL, 3DFX cards with D3D... depends on the driver (maybe nVidia
will fix the D3D bug with GeForce cards somewhen, fingers crossed).


"Ugly is bad
And bad is wrong
And wrong is sinful
And sin leads to eternal damnation
An' hot burning fire
... I'm so cute!"
- "I'M SO CUTE" by Frank Zappa

--------------------------------------------------------------------------

25. December, 2000 Version 1.42

- Merry christmas... dunno if that's a bug or a feature,
though :)

- The Windows gpu plugins are now delivered in one
zip archive... that way I have to write only one version info,
giving me time to do more useful things :)

- Scanline option in all gpus... well, I've got many mails
concerning scanlines, and I finally decided to satisfy
your hearts desire ;)
Not much to say about that option, turn it on, if you like
it, turn it off otherwise. Scanlines will NOT give you more
speed, but if you are lucky, it will not get slower, too.
The soft gpu contains two different scanline modes, enable
the second mode only, if you are getting a very blured
display (nVidia cards mostly).
Oh, btw, any mails begging for a 25% or 50% scanline
option will be ignored :)

- OGL plugin: the snapshot function (F8 key) is
fixed with mdecs (older versions didn't capture mdec
frames).

- SOFT plugin: fixed a bug which caused flicker
sprites on the left side of the screen (mainly with
scrolling background graphics, thanx to GreenImp
for tests). Also a small issue with the Analog/Mouse
display in the soft gpu menu has been repaired.

- OGL/D3D: Small changes in the dynamic caching mode.
I don't pull in coords of filtered textures in that
caching mode anymore, giving you a less blocky
display with filtering (NOT a perfect filtered display!).
Still gaps/garbage can happen if you are enabling
filtering (it seems that OGL is a little bit better with
that, though).

- OGL/D3D: I've added a new "special game fix" called
"Black framebuffer texture". If you activate the option,
garbage in games like BOF4 (before entering a battle)
or Vagrant Stories (motion blur) will disappear. That
doesn't mean, that the special psx effect will be repaired
and shown perfectly...
if you really want to see such framebuffer tricks, you
still have to use "extended offscreen drawing" and
"full vram primitives"(very slow), and you have to
deactivate the new "black framebuffer texture" option.
Well, but the new option gives you a fast alternative to get
rid off disturbing glitches without using the slow
"full vram primitives", making certain games more playable :)

- Ah, and like in Lewpy's 1.23 Glide plugin, there is a great
new surprise hidden within all plugins... but you
will have to wait, it's not up to me to tell you more
about it :)


"Maybe all I need
besides my pills
and the surgery
is a new metaphor for reality."
- "DIS CON NEC TED" by Queensryche

--------------------------------------------------------------------------
--------------------------------------------------------------------------
--------------------------------------------------------------------------

--------------------------------------------------------------------------
- OLD OPENGL VERSION INFOS
--------------------------------------------------------------------------

09. December, 2000 Version 1.41

- ALT-ENTER... toggle between window/fullscreen mode.
Beware: there are small troubles with some gfx card drivers
(at least with my GeForce and detonator 6.49 drivers), if you
try to change from a 16 bit window (desktop) mode to a 32 bit
fullscreen mode (or from a 32 bit window mode into a 16 bit
fullscreen mode). No known problems if your desktop has the
same color depth as your chosen fullscreen mode.

- I've changed the Offscre en Drawing/Frontbuffer rendering
detection again. The new function will finally work fine
with FF8 battlemenus/world map, if you select "Standard"
offscreen drawing.
Some small manual about Offscreen Drawing:
* "no" OD will be the fastest mode, but some splash screens
and special effects (like Crashs shadow in Crash3 or menus)
will not appear.
* "Standard" OD will show most splash screens, and most of
the battle menus/special stuff
* "Extended" OD is like the "Standard" setting, but it also forces
the plugin to update the screen more often if the game is
drawing into the psx frontbuffer area. That will show some
stupid coded "pause" menus, for example. It can cause
flickering displays, though.
* "Extended" OD + "Full vram primitives". That one will finally
show most special psx framebuffer effects (typically used for
motion blur or those nifty level entry efftecs). Of course that
way the gpu has to do twice the work (acting like a soft gpu and
doing the hardware drawing), and you will need a fast cpu to
use it.

- New rgb24 (mdec) upload detection, that one will be faster
with some mdecs, and produce less garbage on mdec top/bottom
(see the FF7 mdecs)

- Improved the "texture alignment" option. The new TA will give
better results with "Warriors of Fate", for example. So, if
you are seeing vertical garbage lines in your game, try enabling TA.

- I could kill some shift/and operations with each drawing
primitive... it will not give you lotta more speed, but hey ;)

- Last but not least: a new way to handle polygon coordinates.
It will fix games like Tony Hawk 1+2, Spiderman, Apocalypse,
Driver 1+2 and so on :)
Thanx go to Galtor & Calb from epsxe for their suggestions,
tests and chats ("it's a GPU bug" - "no, it's a CPU bug" -
"no, must be a GTE bug" - "Nope, gpu can fix it" - "aaarggg")
Well, I've tested the new funcs with many games and demos
and it seems to be pretty compatible, but still, if you are
seeing big flashing polygons with 1.41 in your favourite
game, try disabling the new funcs in the "special game
fixes" option.


"And the tower bells chime, 'ding dong' they chime
They're singing, 'Jesus died for somebody's sins but not mine.'"
- "Gloria" by Van Morrison

--------------------------------------------------------------------------

23. November, 2000 Version 1.40

- Fixed an issue with ePSXe which was causing a crash
if you stopped a game by hitting ESC and continued it
again.

- Small speed improvement with unfiltered MDECs, also
fixed a small bug with uploading screens, if a game is
using the screen centering bits

- New info in the in-game menu: if the main emu is telling
the gpu that the pad emulation is running in analog mode,
a small 'A' will appear... no 'A' means digital pad mode

- Biggest change with the version 1.40 gpu core:
New way to calculate the FPS.
Previous versions were only calculating the really
drawn frames, so games were running 'right' at
different FPS speeds (mostly 50 or 25 FPS in PAL mode
or 60/30 FPS in NTSC). Version 1.40 is just using the
vsync signal for doing the calculations, so if a game
is running at 50 (PAL) or 60 (NTSC) FPS, you have
reached full speed... ah, very easy, isn't it?
Well, on my P3 550/GeForce DDR system nearly all
games are working fine, and the new FPS detection
helps to limit even the MDEC speed propery, sono
disturbing noise is happening while playing the XA
sound anymore (fingers crossed ;)
Of course there is also one drawback with the new
functions: you can't compare the new FPS values
with the ones of my previous versions or with the plugins
of Lewpy, Segu or Kazz...


"If I could
I'd slow the whole world down
I'd bring it to it's knees
I'd stop it spinning round
But as it is
I'm climbing up an endless wall

No time at all
No time this time"
- "No Time This Time", The Police

--------------------------------------------------------------------------

29. October, 2000 Version 1.39

- The new 1.39 core is my first try to emulate the
screen centering bits. Usually this register values
are used to fine adjust the game display on the TV
screen, but sometimes games are using it to make
big position offsets or to clip the display output.
Well, I've tried to do a careful approach, because I
didn't want to cause bigger black borders around
the game screen, I hope I've been successful :)
Yeah, Raiden 1, Raiden 2 and the Alundra2 movie
sequences will work better now.

- A special new game fix for 'Speed Freaks' can be
enabled in the 'game fix' config options.

- Found and removed a bug which caused flickering
effects in 'Horned Owl'.

- Polylines are now supported in the offscreen drawing
functions, I've noticed a demo using them.
The same demo did a stupid way to update the screen,
it's also fixed (sigh).

- Changed the BlockFill function a little bit, it 'feels'
better now (I didn't see any differences in my games,
though)

- Ah, yeah, I've also squashed a small bug in my offscreen
drawing funcs, the drawing area wasn't always detected
properly.


"Down by the seashore, where the waters foam white,
Hang you head over; Hear the wind's flight.
The east wind loves sunshine,
And the west wind loves night.
The north blows alone, dear,
And I fear the light."
- "The Order War", by L.E. Modesitt, Jr.


--------------------------------------------------------------------------

08. October, 2000 Version 1.38

- It's a small update this time, just killing some bugs
I've detected while doing a new kind of psx gpu plugin :)
The fixes are all clipping-related, so you will not
get better speed, just less glitches with a few games
(see for example Dead or Alive with version 1.37, urgh)

- The offscreen drawing funcs have been cleaned up, too.
All errors I've found with the soft gpu are fixed in the
OD stuff used by hardware accelerated plugins.


"What's the worry, what's the hurry,
Do you hear me, do you fear me ?
You've got the message, you read the story,
You want the power, you need the glory.
...
So you thought you had it made,
Ain't it easy to be afraid,
Feel the pressure, take the bait,
Here it comes again."
-"What's the hurry" by Marianne Faithfull

--------------------------------------------------------------------------

24. September, 2000 Version 1.37

- Some 'primitive position wrap' from the 1.36 core caused
glitches with a few games , so I've changed that to
a safer behavior.

- New 'special game fixes' option. Well, of course my
goal is to to make a nice psx gpu emulation with as
little glitches as possible, but some annoying stuff
will always happen. If I find a way to 'do it right' I
always include it without options in the plugins, but
sometimes the only way seems to be to code some
special workarounds. Those fixes will only work with
certain games, all other games will get worse.
Well, the FF7 menu border fix and the lighting fix
(both gitches are caused by the main emu, imho) were
already available in previous versions by hitting
the 'INSERT' key.
The new option gives you more control to activate
the desired internal gpu patch.
Ah, yes, and a new one, called 'No sprite transparency',
eliminates the 'trails' in the Abe's games.
You still can toggle the special fixes with the
'INSERT' key... but only the ones you have enabled in
the 'special game fixes...' window.

- And finally some small repairs with 4 bit palettized sprites
in the offscreen drawing funcs.

"And you, who want to know me, be aware that all
of your searching and wanting will not help you at all.
You have to know the mistery: if you don't find the
truth you are searching for within yourself, you will
never find it anywhere outside."
- "The Spiral Dance. A Rebirth of the Ancient Religion
of the Great Goddess." by Starhawk

--------------------------------------------------------------------------

17. September, 2000 Version 1.36

- For infos about the 1.36 core please read the 'version.txt'
of the D3D DX7 plugin :)

--------------------------------------------------------------------------

03. September, 2000 Version 1.35

- Yup, I've skipped the 1.34 core from my SoftGPU and
made a new one... so check out my SoftGPU version 1.35,
too :)

- Something unique in my gpus right now: improved
auto-detection of the game's FPS limit. My older versions
did an easy check on the interlace bit, if set: 50/60 FPS,
if not: 25/30 FPS (PAL/NTCS). That checking is easy, but
also bad with many games. So I've done some research,
and my new functions (examining the game's vsync usage)
are working much better in most cases.
So, for example, in Wild Arms (PAL) you will get 50 FPS
in towns and 25 FPS in the battle screens... that's the way
it should be. Well, I know, some ppl will not understand
why they should do FPS limitation at all, but if you want
to have correct game music, the timing is important. And,
of course, in my age I can't handle Spyro at double speed ;)

- I've taken all my new SoftGPU funcs and added them in the
OGL plugin... yup. I've also killed all of my old Offscreen-
Drawing detection stuff and coded some new (hopefully better)
routines. And I made a new option: full vram updates.
All the changes (lotta work, boah) are related, I will try
to explain it in simple words: the real psx gpu is able to draw
polygons and sprites _everywhere_ in the vram. Well, a
hw accelerated gpu plugin usually has to detect if the game
is drawing into the next visible part of the vram and do that
drawings with the 3D API (OGL, D3D, Glide) it is using.
By doing that things will be faster and looking much better,
but (because the primitives are not painted in the vram),
some special gfx effects are not right with some games.
My 'standard' OD is checking, if the psx is painting
outside the visible area, and if that happens it will use the
soft gpu funcs to update that part of the vram correctly.
The 'Extended' OD does even a bit more: it detects if painting
is going on in the actually displayed area of the vram (something
I call frontbuffer drawing, some popular games are doing that
for displaying battle screens) and adjust it to get it (nearly) right.
And what's new 'full vram update' option? Well, if combined
with an OD mode, it will paint _any_ polygon in the psx vram,
keeping the vram content as fine as possible. That's an hell of
a job to do (because the gpu has to act as a soft gpu AND
to handle the 3D accelerator as well), so you will need a most
powerful cpu to use it. But on the good side: you will get nearly
all funky effects (like whirling screens and motion blurrs) if you
are using full vram updates and extended offscreen drawing.
Hint: usually I am using 'extended' OD without 'full vram', but if a
game is flickering (yup, that can happen), I just use 'standard'
OD. Only a few games (like Vagrant Stories) will need 'full vram'
to play without glitches.

- Some smaller changes were done to some psx state bits and
interlaced screen uploads. Oh yes, I also wanted to speed up
MDECs, but I've learned (again), that the fastest way to paint
2D screens with OGL is to use textures, so I removed the new
(slower) code and did a new option instead: 'Unfiltered
framebuffer updates' will be a little bit faster with mdecs (not
using texture filtering).
Oh well, and some older options like 'texture windows' simply
vanished (all those options are now fire proofed, no need to
turn them off).

- My version 1.35 D3D gpus (for all non-nVidia users) will be
ready in a couple of days, I hope (I just need some time,
sigh).


"I think therefore I am, familar to most?
How long did we eat the seed planted by our host?
4 billion years between our ears,
still hatred brings as many tears.
Still we judge each other...
why when we're only looking for the same high?"
- "spOOL" by Queensryche

--------------------------------------------------------------------------

30. May, 2000 Version 1.33

- Attention: I've renamed the gpu to "Pete's OpenGL Driver"
(gpuPeteOpenGL.dll), because that name fits better than
the old "Pete's TNT Driver" one.
Reason A) It's not for TNT cards only (for example I use the
plugin with my GeForce)
Reason B) It uses the OpenGL API... yup, surprise ;)
Reason C)
But keep in mind that you have to reconfigure PSEmu Pro to
use the new file, just copying will _not_ work this time
(of course you could rename the file to "gpupetetnt.dll" again
and copy it over the old version, but hey :)

- This is my first gpu version with sprite mirroring enabled.
I thought that the standard psx gpu is not capable of
sprite mirroring (and when I coded that feature I noticed
glitches with some games), but of course it was just a little
bug in my code which caused the bad behavior. Well,
one game using mirroring is the "GD010" shoot-em-up
demo, that one plays fine now.

- I've rewritten the whole code for detecting screen uploads
(you know, for game titles and loading screens and such), I was not
happy with my old code (it was not bad, but a real mess...).
The new code is leaner and does its job even better (in my opinion),
some screens will still be missing, but not many, I think (if you are enabling
offscreen-drawing, though). Because of the new functions it can
happen that even "too much" will be displayed causing some garbage
when the screen should be black.

- Last thingie: my email address has changed: if you have suggestions or
problems or whatever, mail to: BlackDove@addcom.de


"An Aes Sedai never lies
but the truth she speaks
may not be the truth you think you hear"
- Saying concerning sisters of the White Tower, by Robert Jordan

"The Wizard's Fifth Rule: Mind what people do,
not only what they say, for deeds will betray a lie."
- The Sword of Truth, by Terry Goodkind

"Honestly, I feel that we have a great
product in the market and that the vast
majority of users are happy with bleem!"
- Sean Kauppinen, Communications Director of bleem! Inc.

"Hehehe"
- Pete

--------------------------------------------------------------------------

01. May, 2000 Version 1.32

- I've done a lotta testing if the V1.31 dma handler could
cause any troubles before I did the release...
and all looked fine. Well, some games I didn't check
(there is a point in every man's/woman's life when
he/she can't stand another fighting game), so I just
did a short check on Tekken3... and of course that
game was the reason for the 'emergency break'.
Sigh... this version repairs things again with a better
dma handling, so T3 _and_ the demos will work.

- Added some code for games/demos which are using
the MoveImage command for erasing the framebuffer.
The 'Space Lemmings' demo is working fine.

- Support for flat and smooth shaded 2-point lines in
offscreen drawing. It's needed in the 'Bad Funk Stripe'
demo, but that demo is hard to emulate with a 3D API
gpu, so it still doesn't work right.
Have to think about that issue first :)

"Long ago ran the sun on a folk who had a dream
And the heart and the will and the power
They moved earth; they carved stone; moulded hill and channeled stream
That we, the Stones, might stand on the wide plains of Wiltshire."

Lyrics by Gwenllian Gwalch'gaeaf , "Stones"

--------------------------------------------------------------------------

30. April, 2000 Version 1.31

- Removed an 'emergency break' from the dma handler.
That one caused troubles with many psx demos. Thanx to
the pcsx crew for putting the demos on their page.
Check out 'http://pcsx.emuforce.com/' for getting infos
about this new promising psx emulator :)

"Ain't getting old, ain't getting younger though
Just getting used to the lay of the land
I ain't tongue-tied, just don't got nothin' to say
...
Got people here down on their knees and prayin'
Hawks and doves are circlin' in the rain
Got rock and roll, got country music playin'
If you hate us, you just don't know what you're sayin'"

by Neil Young, "Hawks & Doves"

--------------------------------------------------------------------------

22. March, 2000 Version 1.30

- And again a small update. This version is emulating
the PSX ability to mask out special polygons, so they
will not be overdrawn by following primitives. Well, there
exists just one game (Silent Hill) which is using that feature
as far as I know, but I think it will not hurt to try the new
'Enable mask bit detection' option in the gpu config dialog
window with any game you own. Maybe some other
games will be fixed by it, too, eh? If you find some other
game which is using mask bits, let me know, just send a
mail to psswitch@online.de
BTW, I don't have Silent Hill, so I couldn't do much tests,
thanx to Lewpy for testing :) And yes, I know that Silent
Hill still doesn't work perfectly with PSEmu, you don't have
to report that issue ;)
Just one more note: If you enable mask bits, the '3D glasses'
option will also activated, that's simply because my mask
bit emulation also is doing the ZBuffer trick.

"I know where the stars glow
And the sky's unclouded
Sweet the water runs my friends
But Noldor
Blood is on your hands
Tears unnumbered
You will shet and dwell in pain"
- Blind Guardian, Noldor

--------------------------------------------------------------------------

19. Feb, 2000 Version 1.29

- At the moment I don't do much changes on my PSEmu
OpenGL plugin (I am busy with some other project) but
I've added a small new option and I want to release that
version even if it contains no big surprises.
Ok, so what is new? Two more filtering options: you can
now configure filtering to leave sprites unsmoothed.
That will look nice on some games: all 3D stuff will be
smooth, while text and health bars will be looking sharp.
Of course some games are having strange graphics with
that mixed mode, but hey, that's the reason why options
exist: turn em off if you like it, turn em off if you hate it.
Small suggestion: use my PSSwitch configuration utiliy,
so you can make different PSEmu settings for your different
games :)
Thanx to Q'tro for the idea to filter everything but sprites.
Oh, one last word: the in-game menu toggles now between
all five filtering modes in the following order: none, standard,
extended, standard without sprites, extended without sprites.

"Encumbered forever by desire and ambition
There's a hunger still unsatisfied
Our weary eyes still stray to the horizon
Though down this road we've been so may times"
- Pink Floyd

--------------------------------------------------------------------------

28. Jan, 2000 Version 1.28

- I've tried it again: out of order drawing to minimize texture
and shading state changes. And again: no speed gained. Sigh.
Maybe I have to play a bit more with that funcs, right now
all the o-o-o-d stuff is disabled (there are still some small
glitches and offscreen drawing isn't done in the new funcs yet, so
I've decided they are not ready for public eyes :)
But another option, related to o-o-o-d, can be activated in the
gpu config dialog: support for 3D VR glasses. I don't have some
for testing, so I can only hope it will work. Please note that most
3D glasses are working with D3D only, but I think the Asus
glasses come with tweaked nVidia OpenGL drivers, so they
should be working... try it and send me an email...

- While re-writing my gpu for o-o-o-d (nearly all gpu funcs had
to be changed, sigh) I've detected a small bug with smooth
shaded polylines. That one is fixed.

- Optimized some of my asm texture uploading code. Faster that
way.

- The GeForce is handling texture sow/tow coords slightly different
than TNT or 3DFX cards. All caching types beside the dynamic
mode produced small gaps between textures on some occasions
with the current GeForce Detonator drivers.
Well, I didn't want to wait until nVidia is willing to fix that
glitch (if ever...) and luckily I could finally tweak my texture
matrix so it should be fine with all cards.
I've tested it on my GeForce and Voodoo2 card, I hope that TNT(2)
cards will be fine, too. If you have a TNT based card and you are
detecting some small thin lines with version 1.28, please send me a
mail... in that case I will do some config option, so everyone will
be happy :)

"The elves and gnomes have to hide
when the moon is showing its face
and raging orcs will set their traps
and all forests will burn
they hate green trees
and love the dark
they don't understand
that they're caught and left alone
they feel the magic in the wind
they just fear the old man's song"
- Blind Guardian

--------------------------------------------------------------------------

09. Jan, 2000 Version 1.27

- Optimized 'Dynamic caching'. It will be slightly faster
(less cache thrashing).

- Support for sprite wrapping. Very interesting psx ability.
I've seen that just once in one game (yeah, again in BOF3, that
game seems to use nearly _every_ feature of the psx gpu).
Maybe some other games will also be repaired :)

--------------------------------------------------------------------------

28. Dec, 1999 Version 1.26

- Yeah, christmas time... and because I was such a nice guy the last
year, Santa Claus brought me a GeForce256 DDR :)
Well, compared to my old TNT1 it's slightly faster... hey, just
kidding, it's really fast... as a matter of fact I think it's the best
consumer OpenGL card right now.
My PSEmu OGL plugin don't use the GeForce T&L features (not much
transformation and lighting stuff are needed emulating the PSX gpu),
but goodies like very fast vram data uploading mean a lot.
And don't worry if you have an older video card like the TNT1: I won't
lean back and think 'hey, why should I work on optimizations anymore,
the game runs just fine on my GeForce'. Of course I will try to
to get even better speed in the future, hey, the main issue of this
release _is_ about speed :)

- So, what's new? Generally just one new texture caching type... I call
it 'Dynamic caching', and it was in my mind for some months now. It has
some benefits compared to the 'heavy cachig' mode:

a) It will use your video cards vram to the fullest. It will try to
detect how much free vram could be used for textures on game startup,
so all textures used will be vram resident... no more texture swapping!
b) It will sort psx texture parts by their usage, so less texture state
changes will occurr.
c) Psx games using lotta palettes will work better because now _all_
different palettized texture parts will be cached (if your card
has enuff vram, of course). 'Heavy caching' just keeps up to 10
different palettized copies of the same texture area, for example.
d) Some 'security' border will be generated on every texture part. That
means bilinear filtering will be looking slightly better, because I
don't have to pull the texture sow/tow coords as much as in the other
texture caching modes. It also 'repairs' the problem I've seen with
the detonator drivers uploading 1 texel wide texture parts.

Hey, sounds good... but, as always in life there are some drawbacks
(nothing is ever easy):

a) Full vram usage for textures: if you like to play at high resolutions
or you like to use 32 bit textures and/or 32 bit desktop resolution, be
aware that it will cost you valuable vram that can't be used for
texture caching. And I hope that most OpenGL drivers tell me the truth
about how many textures could be resident in vram... the 3dfx drivers
for my V2 (8 MB texture vram) are reporting enuff texture ram for
32 MByte, tststs. Well, if a driver is telling lies, most likely the game
will be getting slower as longer as you play it.
b) Sorting: well, of course it takes more cpu time to do that. So some
games (like Tekken3) will loose some frames compared to heavy caching.
c) Palette caching: game depending... if just up to 10 different pals are
used on the same texture part, heavy caching will be working fine...
else 'Dynamic' will be more efficient
d) Security border: well, that one is taking also some cpu and uploading
time, of course.

Conclusion: well, sometimes it runs fast like hell (try Spyro, for example),
sometimes it's slower (Tekken3) and sometimes it makes no difference
at all (all other games, hehehe, just joking ;)
And maybe I can speed the 'Dynamic' mode further up in the future, we will
see...

- Back to my new baby, the GeForce... :) It's true, the GeForce supports
palettized textures, even in OpenGL. So my 'Palettized texture mode' from
version 1.23 really worked :) But because of the V2 hack I had to do
(uploading the palette data on every primitive) it was slow. I've
changed that, so the V2 has now some troubles in that mode. But, to be
honest: I don't care! 3dfx should fix their drivers, the OpenGL
specifications can be found at www.opengl.org ;)
But it seems also nVidia has some troubles with pal textures: the 3.62
drivers contain a bug, making pal textures useless. So, if you want
to try em, you have to go for the 3.53 detonator version.
But most time the 'pal texture' mode is slower than my new 'Dynamic'
mode on the GeForce, just a few games (like Blaze&Blade) will be smoother.

- Well, and some more 'GeForce inside' infos: be sure to use the 'Block
transfer' buffer flipping mode in the GeForce OpenGL display properties.
If you use 'page flip' or 'auto select', sometimes bad flickering can
occurr (and I've noticed no differences in speed, so I really suggest
using the block transfer)!
And another hint: if you enabling 'Anti-aliasing' in my GPU config, the
GeForce falls back to software rendering (_very_ slow)... tststs

OK, that's all this time. I wish you luck trying the new mode whatever
card and game you are owning. Oh well, and if a game is slow, you can
do an easy quick test, if it's because of the gpu or the PSEmu core:
just activate frameskipping. If speed doesn't get significant better
(for example just 1 or 2 FPS), than it points to the core and no gpu
option will be able to fix it.

--------------------------------------------------------------------------

21. Nov, 1999 Version 1.25

- Tststs... my MS compiler screwed it... that's what you call
'optimizations', Bill? Well, the ChangeDisplaySettings() func worked
much faster in version 1.24... of course, because it didn't change
any desktop settings at all.
Yeah, I didn't notice that bug (I don't use the 'change desktop settings'
option very often, and because I didn't touch a line of code in that
function, I never thought to test it).
Well, thanks to all who reported me that issue, it's fixed.

--------------------------------------------------------------------------

19. Nov, 1999 Version 1.24

- Where to start? Well, filtering is much better now... no more wrong
blended stuff, and less alignment problems. You can choose between
two filtering modes: Standard and Extended. Standard is slightly faster,
but some small black borders can appear and sometimes text is hard to
read. Much better in Extended mode :)
You can toggle between all three modes in the in-game menu in the
following order: no filtering, standard, extended.

- Fixed a small thingie that could cause even smaller glitches.
Noticed in BOFIII with a special monster type (some wizard guy)...
Oh well, you need good eyes to see the difference :)
Some good news: after one year playing BOFIII (I have to admit I did
more coding than playing ;) I've finished the game using PSEmuPro :)

- Improved extended color check: previous versions missed some color
cycling effects (I've noticed wrong Blaze&Blade wave effects, and
a choppy BOFIII combat selection). Well, fixed....

- Baddie in version 1.23: the tennis game with the unspeakable name
(Anna Hsgfnxbhsb tennis) was screwed up... no player animations anymore.
Well, I've looked hard and detected that version 1.23 did it right and
all previous versions just worked by accident :) Well, V1.24 does it
even more right (right-ier? hehehe), so all is looking fine again (and
it is even faster than before :)

- Offscreen drawing: now there is a 'Standard' and 'Extended' mode. If you
activate 'Extended', you will see some additional stuff with some games
(mostly splash screens). Sometimes a slight flickering can occur with
the extended mode... you can't have it all :( Like the filtering you
can toggle between no OD, standard OD and extended OD using the in-game
menu.

- Anti-aliasing option... mmm, it makes no difference on my TNT card and it
is causing some glitches with my V2. Try it and tell me if it works...

- FF7... oh my... missing battle screens... well, first I want to say: if you
really want to play FF7 (or FF8) on the pc, go and buy the pc version.
I agree fully with Kazz, no game running on a psx emu can beat a proper
pc version of the same game. Yeah, some nice games are psx-only (like
BOFIII, Wild Arms or Spyro) and I really like it to play them with PSEmu,
but if you have a choice... take the pc version, it's less frustrating.
Mmmm... back to business... oh yes... FF7 battle screens are now working :)
You have to activate the standard offscreen drawing to get them (flickering
will occur using the extended OD).
And activate my special 'PSEmu Core Fixer' mode by hitting the 'INSERT' key,
if you want to play FF7... magically all text window borders will look fine
(and some flashing hand cursor in the battle menu will be fixed, too).

- Last issue: I've noticed that the Detonator drivers (both 2.08 and 3.53)
sometimes have troubles to upload texture parts using width or height of
1 texel (biggest surprise: the 3DFX OGL drivers do it right... tststs).
So I've decided to do a small fix if you activate 'Texture Alignment': I
will always upload at least 2 texels, if it is turned on. That fix helps
to display the 'Tarzan' demo right on TNT cards, for example.

Talking about Detonator drivers: I switched back to the 2.08 reference drivers
for my TNT card. Why? Well, because they are faster with OGL... I don't see
a reason to use newer drivers (3.53), if I get a better performance using the
old ones (2.08). But, of course, that's only true for my Elsa TNT card, you have
to try it by yourself...


--------------------------------------------------------------------------

16. Oct, 1999 Version 1.23

- Speed :) Well, I've done _many_ optimizations, so you will get
1..20 additional FPS with this version. Enjoy :)

- Palettized texture support is back! TNT/TNT2 cards don't support
that texture type, so I had to do the tests on my Voodoo2 card.
The newest 3DFX OpenGL drivers can do palettized textures with
alpha values, but I have to upload the palette data with every
primitive (oh well, 3DFX and OpenGL... two different worlds),
so this mode is not very fast by now. Main reason I wanted to do
pal tex support: the new nVidia GeForce256 should support it :)

- I've changed the color of my in-game menu to black... why? Well,
I love happy, friendly colors... and there is nothing better than
a happy, friendly BLACK :)

Have fun!

--------------------------------------------------------------------------

17. Sept, 1999 Version 1.22

- I've noticed that the texture window mode wasn't turned off in
the RC Stuntcopter demo causing a strange display. Fixed!

- Speedup in my texture cache management. Well, if you have a PII
(or better) you won't notice the improvement, but on the other
hand it couldn't hurt ;)

- A small bug caused transparent pixels in movies or menu screens in
rare occasions. Fixed, so the menu of Aeronauts (demo) is fine now.
The demo is still unplayable slow, of course...

- If you are using a 16 bit texture quality mode (4-4-4-4 or 5-5-5-1),
and your OGL driver supports packed pixel formats, you will see
a small speedup in MDECs or uploaded screens (well, 1-3 FPS).

- Improved tile offscreen drawing. Repairs some baddies I've seen in
several demos.

- This version is using Lewpy's optimized func for reading/writing GPU
data. Seems to be stable at last :)

Mmm, this update did take nearly a month... why? Well, main reason is
that I am running out of baddies that I can fix :) Well, I know there
_are_ still things to do (yeah, FF7 battle menus, I know...) but I need
a game/demo showing the effect to fix it, because the remaining baddies
are mostly caused by weird PSX front buffer drawing stuff and I _really_
have to take a very close look what's going on.

--------------------------------------------------------------------------

18. August, 1999 Version 1.21

- A bug crept in with version 1.20 causing a hard crash with some games :(
Yeah, lesson learned: optimizations are _not_ always good... maybe I
should do no optimizations anymore ;)

- Small goodie: the old Gradius (1995/96) game now works. Turn on 'Offscreen
drawing'...

--------------------------------------------------------------------------

14. August, 1999 Version 1.20

- Fixed a problem with Windows 2000. Now PSE (and my GPU) runs fine with W2K.
Well, I've tested W2K RC1 with some beta nVidia W2K TNT drivers, speed is
same as Win98 on my PC. But I am not using the new MS-OS very often with
PSEmu because I have no W2K drivers for my sound card :(

- Changed my window mode drawing code... maybe it helps some non-nVidea
OGL drivers...

- And even more non-nVidia compatibility: Now the 3DFX OGL beta2.1 can handle
the PSE devkit mode (no more crashs), maybe it helps some other non-nVidea
drivers as well (kinda deja-vu?)

- Not very important, but hey! I've removed all MFC stuff from this
version... so my file size increased... strange, he? Removing stuff
means increasing file size... try to figure that out ;)

- Some loop optimizations... will not result in much speed increase, but...
such changes do never hurt :)

--------------------------------------------------------------------------

01. August, 1999 Version 1.19

- For all Voodoo users:
I've got the newest Win98 reference drivers for my Voodoo2 card (well, they
are not really new, I haven't updated my V2 for awhile ;), but they come with
a new OpenGL ICD! After installing the drivers, copy the file '3DFXVGL.DLL'
into your PSE main directory (NOT into the plugin dir) and rename it to
'OPENGL32.DLL'.
The ICD is not bad, of course slower than the TNT driver, but all in all...
They now support the 'desktop changing' very nicely (no more problems
noticed). To get a better speed select 'Don't care' as Texture quality,
the more compact modes (R4B4G4A4 or R5B5G5A1) should be faster, but it
seems that those modes are not optimized with the new OGL driver... oh, well...
To get a better quality you should enable 'Dithering' and it's better to
disable 'Advanced blending' else things will be slow again...
As a small gooddie I could track the reason why my GPU was crashing on PSE
exit with the 3DFX drivers (not a bad crash, but hey!) and I've found a way
around that :) Wasn't my fault, of course...

- I've noticed that the new Voodoo OGL drivers doesn't work with my 'Paletted
textures' mode anymore. Nobody did report that his Matrox/ATI/S3/... card
could use that mode so I decided to do a major cleanup: there are no
selectable texture modes at all in this version of my GPU. Should be less
confusing and it _really_ makes coding this GPU a bit easier :)
When you go to the config dialog, you will see a new 'Extended color
check' option... that's the replacement for the old 'SubTextureUpdate (best)'.
If you disable it, you will get the old 'SubTextureUpdate (good)'. Yup,
two modes survived the cleanup...

- New option: 'Texture priorities'. What's that? Don't know... hehe, just kidding :)
Mmm, easy explanation (hope so): OpenGL drivers are trying to establish
a working set of textures in your cards VRAM. When the option is activated
the GPU will help them to decide which textures are more important than others.
Well, best to use this option with the 'Heavy caching' option, it will
_really_ help... Without 'Heavy caching' the texture prios should be more
or less useless, at least on video cards with 16 MByte VRam, it can even make
things worse because of more internal calculations. If you have a card with
less Ram, you can give it it try, of course...
But (yeah, repeating myself, just to be sure), best thing to do:
check 'Heavy caching' and 'Texture prio' in union...

- Not very important, nevertheless fixed: if you are using the PSE devkit mode,
you can leave a game with ESC and re-enter it by hitting the 'Run' button
again. Some users seem to use that to change cheat codes while playing.
Mmmm, if you are using the fullscreen mode it can happen that the screen
stays black (at least with the nVidia drivers). Just quit and enter again
until the display is fine.

--------------------------------------------------------------------------

23. July, 1999 Version 1.18

- Even more special handlers for FrontBuffer drawing... small help for OpenGL
drivers which can't do drawing to the front buffers (normally such drawing
is really stupid, even on the PSX... got it, PSX game developers?).
Thanks to SEGU for the hints :) But, sorry, it doesn't help with FF7 battle
menus yet, I really need the game to fix that :(
And don't forget to activate 'OffScreen drawing'...

- Small changes to my polyline function. Now the text in the S.C.A.R.S demo
will be OK, but the polyline code still doesn't 'feel' right... oh my,
at least I haven't noticed any bad side-effects.

- Corrected tile offscreen drawing: try Anna Kournikova's Smash Court Tennis...
the demo version works fine :)

- Fixed: the Tekken 3 flashing polygon bug. All the honor goes to Lewpy, he
found a way to get around that problem. Hail to the King (or God save the
Queen, or something like that... ;)

- The internal pixel format color depth now depends on your selection in
the GPU config. In the previous versions the 'Color Depth' option
(16 or 32 Bit) was only used for the 'Change desktop settings', to switch
the desktop in the wanted color mode. Now the GPU tries to set the selected
color depth even if you don't want (or simply can't) change the desktop.
Maybe that one will help some OpenGL drivers for more speed/compatibility/quality,
but it makes no difference for nVidia TNT drivers.

Oh, well, if you have a TNT/TNT2 card, try nVidias new reference drivers 2.0.8.
Working fine here :)

--------------------------------------------------------------------------

19. June, 1999 Version 1.17

- more speed: I could use a little trick in my SubTexture update modes,
so some games will be faster. Gran Turismo now jumps from 12 FPS to
20-25 FPS :)

- faster and more compatible: complete rewrite of my on-screen detection...
causes a speed-up even if Offscreen-Drawing is enabled and more thingies
will be displayed.
If you were seeing some missing stuff in your game (hehehe, it's hard to
see if something's missing ;), try to turn on offscreen-drawing.
If that option is enabled I try some nasty FrontBuffer rendering...
if your OGL driver can handle this correctly! (no problems with
the nVidia 1.88 drivers and the new Q3 OGL drivers for voodoo cards,
no chance with the 3DFX OGL beta 2.1)
So the menu from Soul Reaver is now displayed and I've noticed some splash
screens appearing. It doesn't help with the battlemenu in FF7, though :(

- Some hidden gooddie... my Tomb Raider 3 demo plays fine, but some stuff
is too black, so you can't see Lara's face or the inventory. I've found a
way around that (no other GPU I've tested can handle TR3). What do you have
to do if you want to take a look at Lara? Hit the key... yup :)
Hit it again when you can't stand Laras face anymore ;)
Well, it is a special fix, I don't know if there is a general PSX rule for
it, but turning on that hidden option can cause wrong looking polygons
within other games. So you have to do it manually... if something is
looking wrong it is _your_ fault ;)
Well, and I don't know if the full game is running with PSEMU...

--------------------------------------------------------------------------

12. June, 1999 Version 1.16

- nVidia released the new detonator drivers (version 1.88)! They give an
overall speed improvement with my GPU on TNT cards (sometimes up to 10 FPS)
and are including new OpenGL extensions.
So I could improve my blending func :)
If you look into the GPU config dialog you'll notice that 'Slow blending'
has changed its name into 'Advanced blending' again. That's because the
new nVidia OGL drivers (and the newest ATI drivers, so I've been told) can
do PSX-like blending in one pass. As a result turning on this option will
not cause such a big slowdown anymore, and things will look nicer
(no more wrong double-blended, intersecting stuff).
The GPU will auto-detect if the OpenGL extension is available in your OGL
driver and use it with activated 'Advanced blending'. You can see if it
works, in the GPU menu a small shining sun should appear...
No sun, no fun... 'Slow blending' instead... :(
Oh, well, try 'Spyro' with the new blending...
For easy testing: my GPU in-game menu now also has the option 'AB', so you
can turn it on/off and look if this game is looking better...

- Complete re-write of my texture window funcs. Includes stretching for
non-power-2 texture windows, I don't think TWs could be done better
with OpenGL. The new funcs repairs most of the wrong looking stuff with
Ridge Race Type 4 (I hope some things with FF7 will be repaired, too.
Hey, Per, send me a mail about it :)

- Done, but not included in 'official' release... very special debugging
funcs that (hopefully) will reveal still missing stuff in my GPU. Testing
the various games/demos will take some time, but I have really high hopes
to find the last oddities... wish me luck...

Some notes to my 'Heavy caching' option: 'Heavy' means 'Heavy'... so if your
video card has less than 16MByte RAM, it will be most of the time a 'Heavy
swapping memory slowing things terrible down' option... you are warned...


--------------------------------------------------------------------------

05. June Version 1.15

- Window mode: If you want to play and type your homework at the same
time ;) The window size can only be changed in the GPU config, it's
more stable that way. Window size can be from 100x100 up to
16384x16384...

- Improved (hope so) polyline funcs. Should cure some baddies, at least
Wild Arms will run much better!

- At last I've found a way around those flashing black rects I've seen
in the Tekken3 demo fighting against Lei. I call it my 'fuzzy adjustment'.
Well, that's done internally, so there is no need for any config option :)

- And here it comes... speed... a new GPU option for the SubTexture update modes...
I've got Blaze&Blade yesterday and it runs fine with PSEmu.
But... my GPU could only run it with 6 FPS on my TNT card :(
B&B works fine on my V2 (Lewpys GPU) with >20 FPS, so it isn't the PSE core...
kinda challenge... I've looked _very_ hard what's going on and found out
(again) that it's very bad for PSX emulation if you have a card without
paletted texture support. But then I stopped crying and typed until my
fingers bled ;) I've created a whole new set of caching funcs, available
for the SubTexture update modes, you can activate them in the GPU config,
the option is called 'Heavy caching'. Why 'Heavy'? Because it will need
some system resources... 16MB additional system Ram and _really_ more
texture memory as without this cache. So if your machine hasn't the
requirements, turn the option off :(

What will you gain? Depends on the game... sometimes nothing, sometimes
you may even loose some speed, but sometimes... the black dove flies...

Here some FPS (PAL demos/games):
Blaze & Blade: 6 -> 25 FPS
Treasures of the Deep: 9 -> 20 FPS
G-Darius: 20 -> 40 FPS
Spyro: 25 -> 30 FPS

Nice, isn't it?

Last hint for Blaze & Blade players: You can also try the 'RGBA texture' mode!
B&B is one of the few games which will run very fast with it (30 FPS). We all
can be glad that I've tested this mode _after_ I've written the 'Heavy caching'
option else it wouldn't exist ;)

--------------------------------------------------------------------------

30. May, 1999 Version 1.14

- Added more (higher) screen resolutions. Highest resolution I can run on
my TNT card is 1600x1200 with 16 Bit colors. Note: don't use a higher
resolution if your monitor doesn't stand it...
Also wanted to do a Window mode, but it did freeze occasionally with my
card, so it's disabled until I'll find a safer and better way (I hope it
is not a bug in the nVidia TNT drivers).

- Also changed (again) the 'Change Desktop settings' option, maybe it will
work better with non-TNT cards... I'll keep on trying...

- If you are wondering if your card is running OpenGL in Software only
(without any hardware acceleration), hit the key to display my
GPU menu. If there is a sad smiley (I wonder if you can call that one
smiley at all...) at the end of the menu line, you can be sure it IS
the Microsoft OpenGL Software mode... bad luck. Try to get the newest
OpenGL drivers for your video card and install them properly, else things
will be very slow.

- Added two buttons in my GPU config dialog to choose quickly a 'nice', good
looking setting or a 'fast' one. The buttons will help all the newbies
which were a bit lost with all the settings the GPU is offering. So you
don't have to send me mails, asking for the 'best' settings for your
hardware ;) Of course you still should try turning on/off different options,
if it's fast/nice for me it doesn't have to be the same for you...

- The usual internal optimizations, things can only get faster with them :)

Next:
Well, my optimizations are not finished yet, it's very tiresome to try to speed
up a func, doing benchmarks and searching new bugs or strange effects with my
testing games. So the next versions will not be released as fast as the previous
ones :(
But there is also some good news: nVidia wants to include new OpenGL extensions
in their next driver release (the newest ATI ICD's already have them...), so
I hope I can speed up my blending modes in one of the next versions of the GPU.
I can't wait to get the new nVidia reference drivers :)

--------------------------------------------------------------------------

??. May, 1999 Version 1.13

Missing that version in your wonderful GPU collection? Hehehe...
There's no (officially released) Version 1.13.
No, I aint superstitious, but I am always skipping that number in my
progs (kind of tradition), if you want to sell software to make a living
you have to be sensitive about the feelings of your customers :)

My OpenGL GPU does a heavy flickering in all of your games?
Here's a note I posted to some messageboards just in case you've missed it:

>If you are seeing rapid flickering within all of your PSX games using
>a TNT card with the nVidia Detonator drivers, be sure to check the following:
>
>If in your Windows registry the following key is set:
>
>\\HKEY_LOCAL_MACHINE\Software\NVIDIA Corporation\RIVA TNT\NV4Tweak\PowerUser=1
>
>you will be able to change more settings in the Windows display properties.
>
>Look for a tab named "OpenGL" in your TNT display properties.
>
>There will be an option called "Enable buffer flipping for full screen applications".
>You have to TURN IT OFF. That's the default setting and that's the way things will
>be working fine without any flashing...


--------------------------------------------------------------------------

20. May, 1999 Version 1.12

- Biggest change: improved Bilinear Filtering.
Sometimes only a few words are needed to set your mind on the right track...
Thanks to Lewpy, always nice talking to you on IRC :)
Yeah, now it's done: BF without those annoying black lines. Don't hesitate
to try this feature, some racing, fighting or jump'n'run games will
be looking really nice :)
But keep in mind: the PSX doesn't support BF :( so all a GPU can do is
trying to minimize the side effects which creep in with filtering. If you
are seeing _new_ glitches while using BF, bad luck...
Known BF effects with some games:
* gaps between textures, or textures seem not to fit smoothly together
* some blending modes are too bright
* blurr effects
* unreadable texts
Maybe I do some BF fine tuning in the future, but for now... just go on and
try it, many games will look great :)

- For all users who were reporting some "blinking" displays: I've changed
my screen clearing code a bit, maybe it will work better with your games.
That blinking stuff is hard to fix, because I haven't found a
game/demo showing that effect. And I can only hope the new changes don't
make things worse in other games :(

- Another chapter of the book "1001 stupid things PSX game developers can do":
using Gouraud shaded primitives without wanting to shade at all.
It was detected with the 'Asterix' demo (causing wild flickering colors)
and it's fixed with this version.

- Ooops, the next one was from the book "1001 stupid things GPU coders can do" ;)
Just 'forgotten' to set some color infos with Gouraud shaded lines. Now those
important health bars within some games (Tomb Raider II demo) will look right.

- Improved screen uploading after disabled PSX displays (thanks to Lewpy), so
more startup/loading/title screens will be shown

- Slightly speeding up some funcs. As always it depends how a game is coded...
Well, I spent much time testing if out-of-order drawing using Z-buffering could
speed things up with OpenGL. Sad but true: speed wasn't really higher and I didn't
even try to implement correct blendings :(
Waste of time for the GPU, increased experience for my person :)

Next version: There are still some glitches I am hunting, biggest problem seems to
be that killing one means often to create two new ones in other games :(
Still to be done: speeding up the offscreen drawing funcs. Strange, every time I am
looking on that part of my code I find something more important to do ;)
But you can always turn OD off for better speed...

--------------------------------------------------------------------------

13. May, 1999 Version 1.11

- Added frame skipping. You can turn it on in the configuration dialog
or in the in-game menu (FS). If speed is falling below the FPS limit
a frame will be skipped. So the FPS limit value will be used by both, the
FPS limitation and the frame skipping option.
The GPU will just skip one frame in a row, so you will get twice the
speed max. More skipping would really be looking ugly...
You can also try to turn on both, Frame skipping and Frame limitiation,
skipping will speed things up while limitation tries to smooth things.

- More speed even without FS :) if you are using SubTexture update modes
(best with TNT cards). Done by some optimizations and a smarter
Texture invalidation func. That one will give best results with games
which are using frequently data to vram uploading for animations
(mostly 2D games).

Well, got some new demos yesterday, so perhaps I can increase compatibility
with the next version. Wait and see...
But what I want to do most is to speed up things further, so I will try
to do some more complicated stuff. Maybe it kicks the GPU to a higher level,
maybe it's just a waste of time... Either way it will be a lot of work :(

On the heights, all paths are paved with daggers.
- Old Seanchan saying (R.J.)

--------------------------------------------------------------------------

07. May, 1999 Version 1.10

- Got 'Wild Arms' (thanks to Rene), so I could improve Texture Windows,
window borders will be displayed correctly now.

- Do you use 'SubTexture (good color table)' as texture mode and some
glitches or wrong color cycling occurs in your game?
Try the new 'SubTexture (best color table)' mode. Oh, well, this mode
has to make more color table checks and (depending on the game) more
texture uploading, so don't expect it to be faster...
I've tried to speed up my 'SubTexture' cache a bit, but I think in most
games you don't see any difference.

- Fixed small prob with switching dithering (DI) in the in-game menu

- New way to set the original desktop resolution when leaving PSE (the
old one caused problems on some cards). Don't know, if it will help...

- Func for drawing rects and fading screens didn't work well in
Version 1.9 :( so I've changed it back to normal...

- drawing a box beneath the in-game menu for fixing unreadable FPS results
with some games.

Next on my to-do list:

Frame skipping... seems to be the most wanted option... don't know why ;)

--------------------------------------------------------------------------

01. May, 1999 Version 1.9

A whole lotta changes...let's start with the minor ones:

- Fixed bug that causes a GPU crash in very special cases (I've never
heard of a PSX TextureMode No 3, seems some games are coded a bit sloppy)

- Improved 'Texture alignment' option. That's for all Breath of Fire III fans.

- Added caching of texture windows. Will speed up certain games, still
not perfect :(

- Added more Offscreen Drawing functions. Hope that more missing stuff will
show up. Nevertheless most of the funcs are done 'blind folded', meaning
I couldn't test it because I haven't found a game using them. Also
'Offscreen drawing' will be a bit slower yet, I will try to speed it up
with one of the next versions. If your game doesn't need OD, turn it off.

- Now the more important things: added better frame rate display and a small
option switching menu. It will work with all OpenGL drivers (even with
3DFX OpenGL) and no more flickering at all. But... small loss of speed
while it is dislayed, so turn it off if you don't need it.
How it works: Hit and the Framerate und the menu will appear. It
looks like: 'FPS XXXX.X FL< OD AM TA FI DI TW *'

What does it all mean? Here's the legend:

FPS XXXX.X: frames per second, higher means better :)
FL : Frame rate limiter
OD : Offscreen drawing
AM : Alpha multipass
TA : Texture alignment
FI : Filtering
DI : Dithering
TW : Texture window
* : Smiley (read next section)
< : Arrow for selecting

Below every option there is a small box, if the box is filled the option
is active, empty box means inactive.
You can move a small arrow with the or keys to an
option you want to toggle.
Just hit the key to switch the selected option on or off. Changes will
be done immediatly, you can see how the framerate is affected if an option
is on or off.
If you have found a setting that suits your game just hide the menu by
pressing again. Nice, eh?
I don't store changed options permanently, you have to do that still in the
main configuration dialog.

- But what's that smiley in the menu? When is it shown and why? That's related
to the second major change within this release: Texture quality, a new
option in the config dialog, and if you have a non-3DFX card I think you
should check it... You can choose the following texture qualities in all
non-paletted Texture modes : 'don't care', 'R4 G4 B4 A4', 'R5 G5 B5 A1'
and 'R8 G8 B8 A8'.

* 'don't care' is how the previous versions of my GPU were working, so
selecting it means no gain and no loss... just to be sure
* 'R4 G4 B4 A4': Every color info has 4 bits, so texture colors are not as
fine, but... if you are having a newer video card (TNT), I can use a
special trick causing less memory transfer to the video card which speeds
things up :) If your card can do that special trick, I will show that
smiley mentioned above. So if you see it, be happy :)
But don't expect to much... we are talking about 2-5 FPS, depending how
a game is coded.
* 'R5 G5 B5 A1': texture colors are getting better, but the 'Alpha Multipass'
mode can't be done with just one alpha bit. Many games don't need AM
(Spyro, Tekken) so you can select this mode for better colors. This mode
is as fast as R4G4B4A4, because (depending on your card) I can do the
special trick again, the smiley will tell you if it works.
* 'R8 G8 B8 A8': Best colors your PC can offer, at the cost of speed. If game
speed is OK within that mode on your PC, use it! No smiley will appear,
though.

Why did I mention 3DFX cards above? Because the 3DFX OpenGL (Beta2.1) ignores
all quality requests, you will ever get 'R4G4B4A4' and I can't do my special
smiley trick with them (if you want to see the smiley with 3DFX, change to the
'paletted texture' mode, I've rewarded that OpenGL extension, too). Or go and
use Lewpy's GPU, than the smiley will be your own face...
Maybe some cards can change the texture quality but doesn't allow my smiley
trick (no smiley shown in frame rate display), bad luck, no speed gained.
But all TNT cards should have the ability and I believe the newer ATIs and maybe
the newer Matrox cards can also handle it.
Last tip for TNT users: don't select 'don't care' quality, go for 'R4...' at
least. Texture colors are the same in both quality modes, but speed is
higher with smiley. If you have 'Spyro' or 'Tekken3' disable OD and AM and
select 'R5...' quality for best speed.

So far so good (so what?)

--------------------------------------------------------------------------

25. April, 1999 'last but not least' ;) Version 1.8

- The gooddie of version 1.7 (see below) was messing up my framerate
limitation... fixed! I swear, I will do more testing before the next
release!
- But, no pain no gain, now I've found a way to display the FPS rate
without loosing much speed... it's flickering alot, but who cares?
It's readable... Just press to show it and again to hide it!
Oh... and it will not work with 3DFX OpenGL... :(

--------------------------------------------------------------------------

25. April, 1999 (again) Version 1.7

- Ooops, forgotten to remove some debug code in 'SubTexture update' modes
with version 1.6, sorry... fixed now
- A small gooddie: found a save way to show up some of the missing startup
screens of some games (Spyro, BOFIII), hey, even Lewpy's GPU doesn't
display Spyro's startup screen (yet).

--------------------------------------------------------------------------

25. April, 1999 Version 1.6
Added:
- Alpha MultiPass option. My personal nightmare... I knew the PSX
ability to draw opaque texture areas within transparent blended texture
parts when I started to code this GPU, but I couldn't find a way to do
it with OpenGL without losing a lot of speed. Until now... :)
If you have seen transparent looking stuff in your games where it was
supposed to be solid (for example: Apples in Crash III, status display in
MediEvil, some objects in BOF III), turn Alpha MultiPass on, all will
be fine. OK, maybe you'll loose some speed, but it could be much worse.
Your OpenGL driver has to support Alpha bits to do it right, but I've
seen no problems with TNT or 3DFX OpenGL drivers. If you see black
rectangles around objects, bad luck, you have to turn off this option.
- Some loop optimizations done... not much speed gained, I fear, but hey!
(I am hoping no new bugs crept in)
- Fixed bug in the 'SubTexture update (good color table)' mode, now
it should be nearly as good looking as the "RGBA Texture" mode. Most of
the reported glitches in that mode should be vanished :)
Also fixed a bug in the 'paletted texture' modes.
- Screenshots. Press and a nice looking bitmap will be generated in
the 'Snap' sub-directory of PSEmu Pro. Please: don't mail me any unwanted
screenshots if you are seeing some glitches in your games, first ask if
I want to take a look at the bitmaps. But feel free to mail them to the
compatibility page :)

What I am doing next:
- Caching of textured windows. Speeds up games like Ridge Racer 4 and
Deathtrap Dungeon. To be honest: I wanted to include that within version
1.6 but I have seen unwanted effects, so I disabled it again by now.
If I have the choice to do something right or to do it fast I will ever
take the 'right' way (as far as I can see what is 'right'), sorry...
- some research on clearing the screen (flickering) and maybe a new
texture handling mode (I have some ideas, we'll see).

--------------------------------------------------------------------------

19. April, 1999 Version 1.5

Added:
- Fix for nasty non-shaded textures bug: no more color flickering with
Ridge Racer 4 and LBA (reported by panos).
- Slight improvement of texture colors

I hope that some more flickering will stop because of this fix...

--------------------------------------------------------------------------

18. April, 1999 Version 1.4

Added:
- Real Textured Windows support. Tested with BOFIII, Ridge Racer 4 (demo),
Deathtrap Dungeon (demo), Treasure Of The Deep (demo). Works fine as
far as I can see, so turn the config option "Textured Windows" on :)
- Off-Screen Drawing (Lewpy TM). It 'repairs' some wrong looking stuff.
If you don't see any graphical mistakes (but who doesn't?), disable this
option for a bit more speed.
- Some internal bug fixes

Things to come:
- Cleaning up the GPU source (as always), find more speed (as always),
searching for bugs (oh yeah)

--------------------------------------------------------------------------

11. April, 1999 Version 1.3

Added:
- Some transparent areas were displayed black. Should be fixed.
- Fixed cache in "SubTexture update" modes. That bug caused wrong colored
textures in certain games.
- Added some inline assembler functions to speed things up (but I believe
the cache fix mentioned above will consume most of the speed gained).
- Most important: improved the standard blending mode. If you were using
"Advanced blending" to get right looking blendings, you wont need it any
more (in most games), turn it off!
I have renamed the "Advanced blending" option into "Slow blending", it is
still there if you want to use it (some texture colors could be a bit
brighter), but that option slows down the GPU heavily.

What's next:
- Offscreen drawing. Lewpy explained me what that feature is doing in his GPU,
and I am hoping to include it in my next version. If you are still seeing
wrong colored textures with version 1.3 in your game, stay tuned, that
option will repair things. It's a lot of work, please be patient.

--------------------------------------------------------------------------

7. April, 1999 Version 1.2

Added:

- RGB24 frame uploading, most MDECs should work
- fix for clearing screen
- enhanced clipping tests, could speed things up in certain games
- fix for color function, so Tekken3 displays shouldn't be black anymore
- automatic filtering on screen uploading, looks fine
- handling of "PSX Display disabled" mode

--------------------------------------------------------------------------

5. April, 1999 Version 1.1

Added:

- desktop resolution & color depth can be changed within the GPU
- "Advanced blending", better but slower alpha blending (and still not
100% right)
- Framerate limiter
- Frame uploading, so intros and MDEC will appear (there are still
some modes I am not supporting, sorry)
- fixed offset & clipping function, should be OK now

To be done:
- ... (oh my)

--------------------------------------------------------------------------

1. April, 1999 Version 1.0

To be done:

- real textured windows support
- MDEC (but because PSE doesn't support it right, its not on high prio)
- Alpha blending modes are not 100% correct... some of them are just some
fast hacks... hope I could fix that in the next release
- as always... find more speed... but I want also to include a frame rate
limiter for games that are running to fast...
- maybe some hotkeys, there are none at the moment, so please leave your
keyboard at peace...
- Change desktop resolution & color depth as configured in the GPU config
- and surely a lot more not mentioned here...

--------------------------------------------------------------------------
--------------------------------------------------------------------------
--------------------------------------------------------------------------

--------------------------------------------------------------------------
- OLD D3D DX7 VERSION INFOS
--------------------------------------------------------------------------

09. December, 2000 Version 1.41

- Support for the gpu snapshot function... if the
main emu is supporting making snapshots, you
usually can press the "F8" key, and a bitmap in
the emus "SNAP" directory will be done
(some big sized 24 bit RGB bitmap :)
It will not work with the first release of ePSXe!

The following list is taken from the OpenGL readme,
you can skip that, if you have read it already :)

- ALT-ENTER... toggle between window/fullscreen mode.
Beware: there are small troubles with some gfx card drivers
(at least with my GeForce and detonator 6.49 drivers), if you
try to change from a 16 bit window (desktop) mode to a 32 bit
fullscreen mode (or from a 32 bit window mode into a 16 bit
fullscreen mode). No known problems if your desktop has the
same color depth as your chosen fullscreen mode.

- I've changed the Offscreen Drawing/Frontbuffer rendering
detection again. The new function will finally work fine
with FF8 battlemenus/world map, if you select "Standard"
offscreen drawing.
Some small manual about Offscreen Drawing:
* "no" OD will be the fastest mode, but some splash screens
and special effects (like Crashs shadow in Crash3 or menus)
will not appear.
* "Standard" OD will show most splash screens, and most of
the battle menus/special stuff
* "Extended" OD is like the "Standard" setting, but it also forces
the plugin to update the screen more often if the game is
drawing into the psx frontbuffer area. That will show some
stupid coded "pause" menus, for example. It can cause
flickering displays, though.
* "Extended" OD + "Full vram primitives". That one will finally
show most special psx framebuffer effects (typically used for
motion blur or those nifty level entry efftecs). Of course that
way the gpu has to do twice the work (acting like a soft gpu and
doing the hardware drawing), and you will need a fast cpu to
use it.

- New rgb24 (mdec) upload detection, that one will be faster
with some mdecs, and produce less garbage on mdec top/bottom
(see the FF7 mdecs)

- Improved the "texture alignment" option. The new TA will give
better results with "Warriors of Fate", for example. So, if
you are seeing vertical garbage lines in your game, try enabling TA.

- I could kill some shift/and operations with each drawing
primitive... it will not give you lotta more speed, but hey ;)

- Last but not least: a new way to handle polygon coordinates.
It will fix games like Tony Hawk 1+2, Spiderman, Apocalypse,
Driver 1+2 and so on :)
Thanx go to Galtor & Calb from epsxe for their suggestions,
tests and chats ("it's a GPU bug" - "no, it's a CPU bug" -
"no, must be a GTE bug" - "Nope, gpu can fix it" - "aaarggg")
Well, I've tested the new funcs with many games and demos
and it seems to be pretty compatible, but still, if you are
seeing big flashing polygons with 1.41 in your favourite
game, try disabling the new funcs in the "special game
fixes" option.


"I'm singing this note 'cause it fits in well
With the chords I'm playing
I can't pretend there's any meaning here
Or in the things I'm saying"
- "Gettin' In Tune" - The Who

--------------------------------------------------------------------------

23. November, 2000 Version 1.40

- You can change the brightness (gamma value) in
fullscreen modes, using the scrollbar in the 'Select
device' window.
Full credits are going to David Walters, he even did send
me his D3D code, because he wanted the gamma control
so badly :)

- New info sign in the gpu in-game menu: 'A'... stands
for 'Anarchy', eh, 'Analog pad mode', yup...
That's an information given by the main emu core,
of course, the gpu plugin doesn't care about the pad
emulation :)

- Small optimization with unfiltered MDECs, that one is giving
you a few more frames per second in 16 bit color modes.
Also fixed a small bug with unfiltered MDECs, which could
cause garbage rows on the bottom of the screen.

- Tweaked the texture coords a little bit, the results are now
nearly as fine as the OpenGL plugin, less pixel flickering
will happen in some games.

- Talking about FPS: the FPS calculation is done completely
different with the 1.40 versions, if you are having 50 FPS
(PAL) or 60 FPS (NTSC) now, the game is running at
full speed. Of course you can't compare the FPS results
with my previous plugins anymore, or the ones done by
Lewpy, Segu or Kazz.
But now the frame limitation will be much better with some
games and mdecs :)


"There are of course many problems connected with life, of
which some of the most popular are
'Why are people born?'
'Why do they die?'
'Why do they spend so much of the intervening time
wearing digital watches?'"
- "The Hitchhikers Guide To The Galaxy" by Douglas Adams

--------------------------------------------------------------------------

29. October, 2000 Version 1.39

- Well, all the new features of the OpenGL plugin
can also be found in the D3D ones (screen centering,
'Speed Freak' fix, 'Horned Owl' fix, offscreen drawing
polylines and drawing area).

- I've also did a small trick to avoid problems with
fullscreen modes in the same resolution as the
desktop.

- Thanx to anyone reporting that the 'Frame skipping'
option wasn't stored in the registry. Now it will
be saved, of course.

- A new fullscreen mode (400x300) has been added,
because of a nice request. Well, I don't use it, but
maybe users with less powerful gfx cards want to
give that mode a try.

- Ah, yeah, I've installed my old 3DFX V2 card again
to do some checks... well, using the latest V2 drivers
I've found that the V2 doesn't need the 'fullscreen
flipping' mode anymore... so I suggest to all users
to deactivate that option in my gpu config, without
it the game compatibility will be improved.


"Never shall darkness nor light prevail, for one must
balance the other; yet many of light will seek to
banish darkness, and a multitude shall seek to cloak
the light; but the balance will destroy all who seek
the full ends of darkness and light."
-"The Death Of Chaos", by L.E. Modesitt, Jr.


--------------------------------------------------------------------------

08. October, 2000 Version 1.38

- And again, same as the OpenGL port... kind of
'maintenance' update.

- Well, and I am in a 'faithfull' mood today :)


"Shall I see tonight sister, bathed in magic greet
Shall we meet on the hilltop where the two roads meet.
We will form the circle, hold our hands and chant,
Let the great one know what it is we want.

Danger is great joy, dark is bright as fire,
Happy is our family, lonely is the ward."
- "Witches' Song" by Marianne Faithfull

--------------------------------------------------------------------------

24. September, 2000 Version 1.37

- Same as the OpenGL plugin: fixed a position wrap glitch,
improved offscreen drawing with 4 bit palettized sprites,
and my new option 'special game fixes'.
Look at the OpenGL 'version.txt' for further details.

- Oh yeah, and some good news for all 3dfx V2 users:
you can use my D3D plugins again (I screwed the support
with V1.35)...
Just enable the 'Fullscreen blitting' option in the 'Select
device' window. Well, using the blitting _could_ cause
flickering with some games, so only enable it if my
gpu will not work without.
Thanx to Fredrik Staaf for doing the V2 tests (and check
out if you like some honest
guitar tunes :)


--------------------------------------------------------------------------

17. September, 2000 Version 1.36

- For infos about the 1.36 core please look at the 'version.txt'
of the D3D DX6 plugin :):)

--------------------------------------------------------------------------

11. September, 2000 Version 1.35

- Mmm... should I do some copy, cut and paste from the
OpenGL readme? Basically all new features from the opengl plugin
V1.35 are now available in the d3d ones, too.
The new features include: improved auto-detection of the game's FPS
limit, new Offscreen drawing funcs and the full vram update option.
For more details check out the OpenGL version text 1.35

- The configuration dialog is now a little bit easier to use,
I've removed some (now always activated) options. Some difference
compared to the OpenGL port: the 'unfiltered framebuffer' option
will give you a bigger speed gain in d3d as in opengl, because
I can access the buffer in a more direct way with DirectX... though,
it can happen that not all cards are able to use the new 'unfiltered'
option. I've tested it on nVidia and 3dfx cards, Matrox and ATI
cards should also work, but if you are having troubles, simply
turn this option off.

- as always: if this dx7 plugin doesn't work, try the dx6 plugin :)

"The line it is drawn
The curse it is cast
The slow one now
Will later be fast
As the present now
Will later be past
The order is
Rapidly fadin'.
And the first one now
Will later be last
For the times they are a-changin'"
- "The times they are a-changin'" - Bob Dylan


--------------------------------------------------------------------------

12. June, 2000 Version 1.33

- Yup, finally I've decided to do a D3D psx gpu as well.
Please read also the included 'readme' file, even if you
are familar with my opengl plugin, the readme contains
important infos about the plugin configuration.

- Well, the version number is 1.33, even if it's the first release.
That's because this plugin is at the same level as my opengl 1.33
plugin, which means: all 'basic' functions are the same, even the
texture caching and all other options are doing the same job as
the opengl version (well, there are some differences, see below).
Using this plugin, you can easily check out how good (or bad)
your gfx card opengl drivers are working: I've tried to replace the
OpenGL calls with the D3D ones as close as possible, so both
plugins should run at nearly the same speed... if the d3d version
is much faster, flame your card vendor for the bad opengl support,
if the opengl version is much faster, do the same about the d3d
support :)

- I have tested the plugin on my GeForce and Voodoo3 card.
Generally I can say:
a) D3D is slightly slower on nVidia cards than OpenGL
b) D3D is a lotta faster on 3dfx cards compared to their OpenGL stuff
Of course I am hoping that D3D will also help all ATI, Matrox,
S3 and Intel gfx card users... mail your experiences with this
plugin to: BlackDove@addcom.de
Oh, and yes: more vram will help... you should have at least an
8 MB card... I don't think that less vram will work.

- You need DirectX 7. Without it the plugin will not be listed in the
emu plugin selection dialog.

- Differences between the OpenGL and D3D plugin:
* With D3D you can select the gfx device if you have more than one
gfx card installed. That's not possible with OpenGL.
* I have removed some options from the d3d plugin: Wireframes,
anti-aliasing and the 3d glasses option are not available
with d3d. All three options are not important, though.
Modern cards let you enable anti-aliasing within the d3d display
properties, and the 3d glasses support will be automatically
enabled with the "Enable Mask bit detection' option.
* The 'extended' offscreen drawing is working different. I couldn't
find a way to do it exactly as with opengl, so I coded an
alternative... 'extended' OD is trying to display those nasty
frontbuffer stuff a game coder can do with a real psx, it's
sometimes used for in-game menus. Well, the d3d version
will not work as fine as the ogl one, but it's better than
nothing.
* Something I really like with D3D: when you select 5-5-5-1 textures,
there will be no black areas when you enable the "Alpha multipass
(opaque stuff)" option. That's because I can use color keys
with D3D (hi Rasky :) for doing transparency effects.
So the best choice for 3dfx cards (up to v3) is the "5-5-5-1"
texture mode, because such cards can't do 32 bit (8-8-8-8) textures.
* The 'extended' filtering modes are just working perfectly with
the 'Dynamic' caching mode. See also the readme file.
* I have noticed flickering splashscreens sometimes using d3d... maybe
that's a vsync issue (I have disabled vsync in my display
properties). Have to do more checks to be sure, though.
* The 'palettized texure' mode is just a hack, it will not work fine.
Well, I am still waiting for nVidia GeForce D3D drivers which can do
pal textures, so I can do better tests what's wrong with my code
(there are some flickering texture effects on my v3 with pal textures).
* There are three "Advanced blending" settings with D3D. Some cards
can't do that modulation in hardware (3dfx), you will get no
textures when you select "Hardware" blending with them. You can
activate the (slower) "Software" blending, though. Or turn it off,
of course ;)


"I been writing a song
We all been singing along
It's like a wild schizophrenia
wondering where we belong!
Sling it all out the window
Start all over again..."
- Psychomodo, Steve Harley and the Cockney Rebels

--------------------------------------------------------------------------
--------------------------------------------------------------------------
--------------------------------------------------------------------------

--------------------------------------------------------------------------
- OLD D3D DX6 VERSION INFOS
--------------------------------------------------------------------------

09. December, 2000 Version 1.41

- I think you know where you can find the release notes :)

--------------------------------------------------------------------------

23. November, 2000 Version 1.40

- Please check out the DX7 plugin release notes for
version details... pfff... tell me, why am I still doing this
version.txt file? Tststs

--------------------------------------------------------------------------

29. October, 2000 Version 1.39

- Please check out the DX7 plugin release notes for
version details.

--------------------------------------------------------------------------

08. October, 2000 Version 1.38

- Yeah, no notes here (check out the other plugins readme files
for infos), just more quotes to test your faith ;)


"Well, I know that you're tired of living this way,
We've been trying to get high without having to pay.
The walls are all empty, it's not a permanent state,
Just let me tell you that it's not too late.
You're a brain drain, you go on and on like a blood stain."
- "Brain Drain" by Marianne Faithfull

--------------------------------------------------------------------------

24. September, 2000 Version 1.37

Oki, just a small copy and paste from the dx7 plugin (mmm,
I think I am getting to the point where I have to pack all
gpu plugins together, so I have to do just one readme) :

- Same as the OpenGL plugin: fixed a position wrap glitch,
improved offscreen drawing with 4 bit palettized sprites,
and my new option 'special game fixes'.
Look at the OpenGL 'version.txt' for further details.

- Oh yeah, and some good news for all 3dfx V2 users:
you can use my D3D plugins again (I screwed the support
with V1.35)...
Just enable the 'Fullscreen blitting' option in the 'Select
device' window. Well, using the blitting _could_ cause
flickering with some games, so only enable it if my
gpu will not work without.
Thanx to Fredrik Staaf for doing the V2 tests (and check
out if you like some honest
guitar tunes :)

--------------------------------------------------------------------------

17. September, 2000 Version 1.36

- For infos about the 1.36 core please read the 'version.txt'
of the Soft GPU plugin :):):)

--------------------------------------------------------------------------

11. September, 2000 Version 1.35

- oh my, not another version file containing the same notes
as the opengl and dx7 plugin ;) Check this files out for
infos...

- for all user which already have got a private version 1.35 dx6
plugin... use it.
For versions sake I've crippled this public release a little
bit, so it is exactly behaving like the 1.35 opengl/soft/dx7
plugins. There will be a version 1.36 of all plugins in awhile,
of course :)

'There must be some way out of here', said the joker to the thief
'There's too much confusion, I can't get no relief.
Businessmen, they drink my wine, plowmen dig my earth,
None of them along the line know what any of it is worth.'
'No reason to get excited', the thief, he kindly spoke,
'There are many here among us who feel that life is but a joke.
But you and I, we've been trough that, and this is not our fate,
So let us not talk falsely now, the hour is getting late.'
- "All along the watchtower", Bob Dylan

--------------------------------------------------------------------------

19. July, 2000 Version 1.33

- This version is a special port of my d3d (dx7) plugin... it uses
the dx6 d3d interface and has a slightly different texture handling.
If you don't have any problems with the dx7 plugin, you don't need
this one. But some none-nVidia/3dfx gfx cards (like the Matrox
g200/g400 ones) will work better with this dll, so try it if
you are having troubles.

- No readme file this time. Just look into the d3d dx7 readme file
for further informations how to configure and use this plugin.

- Well, this version is still using my 1.33 core... but the 1.34 core
is on its way :) The next gpu plugin release is not far away, I
think and it's no OpenGL, DX7 D3D or DX6 D3D gpu... and no GLide
one, too :P


"Well, I hit the rowdy road and many kinds I met there,
many stories told me of the way to get there, ooh.
So on and on I go, the seconds tick the time out,
there's so much left to know, and I am on the road to find out, ooh.
Well, in the end I'll know, but on the way I wonder
Through descending snow, and through the frost and thunder
I listen to the wind come howl, telling me I have to hurry.
I listen to the robin's song saying not to worry, ooh.
So on and on I go, the seconds tick the time out..."
Cat Stevens - On The Road To Find Out

--------------------------------------------------------------------------
--------------------------------------------------------------------------
--------------------------------------------------------------------------

--------------------------------------------------------------------------
- OLD SOFT GPU VERSION INFOS
--------------------------------------------------------------------------

09. December, 2000 Version 1.41

- ALT-ENTER... toggle between window/fullscreen mode
(see the D3D version.txt)

- New way to handle polygon coordinates.
It will fix games like Tony Hawk 1+2, Spiderman, Apocalypse,
Driver 1+2 and so on :)
(see the D3D version.txt)

--------------------------------------------------------------------------

23. November, 2000 Version 1.40

- Gamma (brightness) control in fullscreen modes
(see the D3D version.txt)

- Analog pad display
(see the D3D version.txt)

- New way to do FPS calculation/limitation/skipping
(see the D3D version.txt)


Cool quote... see D3D version.txt... ah, no... :)

"A Discordian is Prohibited of Believing What he Reads."
- "Principia Discordia", Fifth Commandment of the Pentabarf

--------------------------------------------------------------------------

29. October, 2000 Version 1.39

- The screen positioning is emulated like
in the hw accelerated plugins.

- Fullscreen issues are solved like in the D3D
plugins, the 'frame skipping' option will
also be stored now. The special 'Speed Freak'
fix is not available, because the soft gpu already
works fine with that game :)

- Tests on my V2 with the latest 3dfx drivers
were successful :)

- Bug fix for sprites wrapping the texture coords
(well, I've supported such wraps a long time on
my hw accelerated plugins, I've just forgotten
to code that with the soft gpu, too)


"Justen took a large chunk of the warm bread.
' I suppose I should try to find out what else is
happening in the world. Not that I expect things
to have changed very much.'
'They never do,' said Murina. 'But enjoy the bread.
Warm bread is better than cold gossip.'"
- "The Order War", by L.E. Modesitt, Jr.

--------------------------------------------------------------------------

08. October, 2000 Version 1.38

- Fixed a clipping bug with poly4 primitives, causing
black areas with Crash3.

- And a big improvement: no annoying "FRONTBUFFER"
activities anymore... all the games which are using
stupid frontbuffer tricks should be working without
troubles, the 'Delayed fontbuffer update' option
has therefore vanished from the gpu config
window :)
Well, the FPS display behavior changed a little bit
by doing the necessary fixes... I hope the fps limit
option is not too much screwed by it (I was fighting
hard to get it working again). Activating "Frame
skipping" can (and will) cause bad effects, though.

- Started to improve the "Horizontal/Vertical Display range"
command. It's not perfect right now (such commands are
usually used to center the screen on your tv set), but
the loading screen of Alundra2 is much nicer now :)


"As soon as you're born they make you feel small
By giving you no time instead of it all
Till the pain is so big you feel nothing at all.
A working class hero is something to be,
A working class hero is something to be.

They hurt you at home and they hit you at school,
They hate you if you're clever and they despise a fool
Till you're so fucking crazy you can't follow their rules.
A working class hero is something to be,
A working class hero is something to be."
- "Working Class Hero" by Marianne Faithfull

--------------------------------------------------------------------------

24. September, 2000 Version 1.37

- Yeah, the SoftGPU contains the new 'special game
fixes' option, too. Check out the OpenGL version.txt for
details.

- A small bug with 4 bit palettized sprites caused disturbing
effects (most times with 2D scrolling games). You can all
say a big 'thank you' to GreenImp for doing nice reports :)

--------------------------------------------------------------------------

17. September, 2000 Version 1.36

- For infos about the 1.36 core please read the 'version.txt'
of the OpenGL plugin :):):):)... naaa... joking :)

My holidays are over, so today is a big plugin release...
The new gpu core contains a lotta fixes for several
games... some intro screens are now working better, certain
games will not crash if something stupid is happening with
the dma chain, some primitive position-wrappings are handled
right. Mmm... I just can hope I screwed none of the already
perfectly working games with this new core ;)

- All of the gpus are having a few new dll interface functions,
for getting higher speed at data reading/writing. If
you are coding a psx emu and want some details about the new
funcs, just sent me a mail :)

- Ah, yes, I've also applied the latest cpu patch on my MSVC6
before compiling the plugin dlls.
Let us pray... :)


"I was spending my time in the doldrums
I was caught in the cauldron of hate
I felt persecuted and paralysed
I thought that everything else would just wait

While you are wasting your time on your enemies
Engulfed in a fever of spite
Beyond your tunnel vision reality fades
Like shadows into the night

To martyr yourself to caution
Is not going to help at all
Because there'll be no safety in numbers
When the Right One walks out of the door

Can you see your days blighted by darkness?
Is it true you beat your fists on the floor?
Stuck in a world of isolation
While the ivy grows over the door

So I open my door to my enemies
And I ask could we wipe the slate clean
But they tell me to please go fuck myself
You know you just can't win"
- "LOST FOR WORDS" by Pink Floyd


--------------------------------------------------------------------------

03. September, 2000 Version 1.35

- Added the new auto-detect FPS limitation functions, should
be working better. See my OpenGL plugin for details.

- Fixed a issue with the fullscreen modes if the main psx emu
is having menus, window borders, etc. There was no problem
with PSEmu Pro, though.

- Some psx gpu register bits are handled more exact (I think)

- Workaround for a strange bug in my dma function causing a crash.
Mmm... I am still thinking its a bug in the main emu ;)

"Some people fly...
and some of us worry
of touching the sun with wings.
I know, if I try I'll get where I'm going
keeping my eyes on the sky."
- "Some people fly" by Queensryche

--------------------------------------------------------------------------

06. August, 2000 Version 1.34

- Yup, a psx SoftGPU. Yup, version 1.34.
It's designed to be very compatible with the real psx gpu
(hope so at least)...
Well, the Kazz SoftGPU is somewhat faster than this one,
but on the good side this gpu has all the psx features
which the Kazz gpu doesn't support (like texture windows,
polylines, sprite mirroring, mask bits and all the Offscreen
and Frontbuffer drawings).
So you will see every splash screen, stupid coded battlemenus
and everything else what is hard to emulated with nowadays
3D APIs like OpenGL or D3D.

- Why version 1.34? Because the next versions of my
accelerated gpu plugins (currently version 1.33) will
use some parts of this SoftGPU to get better compatibilty
and even more speed. Yeah... stay tuned :)

- Please also take some time and look at the readme file.
All the plugin options and the in-game plugin menu are
explained in this readme.

- Special thanx to Lewpy for ideas, support, tests and
anything else... the world is waiting for the next version
of your Glide plugin :)


"The Road goes ever on and on
Down from the door where it began.
Now far ahead the Road has gone,
And I must follow, if I can.
Pursuing it with weary feet,
Until it joins some larger way,
Where many paths and errands meet.
And wither then? I cannot say."
- JRR Tolkien, hobbit rhyming


Wyszukiwarka

Podobne podstrony:
pete ogl?d version 1w
pete ogl2 version 2
Haiducii Dragostea Din Tei Italian Version
version1 (2)
Age of Numenor PBEM version 0 2 Credits
version history (2)
function zend version
Renault Clip Version 103
Szpieg Logger Free Version Przeczytaj!
l 1u
function fdf set version

więcej podobnych podstron