Escolar Documentos
Profissional Documentos
Cultura Documentos
- 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
--------------------------------------------------------------------------
- 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
--------------------------------------------------------------------------
--------------------------------------------------------------------------
- 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.
- 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.
- 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.
--------------------------------------------------------------------------
"cought in neverland
in the place of many eyes
make it be
what they are allowed to realize"
- "neverland" by avantasia
--------------------------------------------------------------------------
- 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.
--------------------------------------------------------------------------
- the 'old skipping' game fix from version 1.69 ignored the
frame limimation setting. that should be fixed.
- 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 :)
--------------------------------------------------------------------------
- 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:
* 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.
--------------------------------------------------------------------------
- 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).
* 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).
ah, and of course the golden rule: if you don't need frame skipping
with your system and game, don't enable it!
"magic potion
crystal clear
it's too late
open lips and
open heart
tristan's fate"
- "tristan's fate" by grave digger
--------------------------------------------------------------------------
- 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:
--------------------------------------------------------------------------
- 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.
--------------------------------------------------------------------------
- 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
--------------------------------------------------------------------------
- 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 :)
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.
--------------------------------------------------------------------------
- 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.
- 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)
- 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 :)
- 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 :)
- 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.
- 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).
--------------------------------------------------------------------------
- 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 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? :)
- 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.
--------------------------------------------------------------------------
- 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 ;)
--------------------------------------------------------------------------
- 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.
- 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.
- 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 :)
--------------------------------------------------------------------------
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... :)
- 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).
- 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 :)
--------------------------------------------------------------------------
--------------------------------------------------------------------------
- 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.
--------------------------------------------------------------------------
- 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: 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.
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.
--------------------------------------------------------------------------
- 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: 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 :)
--------------------------------------------------------------------------
- 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 ;)
- 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 ;)
- 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).
--------------------------------------------------------------------------
- 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 :)
--------------------------------------------------------------------------
--------------------------------------------------------------------------
- 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 ;)
--------------------------------------------------------------------------
- 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).
--------------------------------------------------------------------------
--------------------------------------------------------------------------
--------------------------------------------------------------------------
--------------------------------------------------------------------------
"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
--------------------------------------------------------------------------
--------------------------------------------------------------------------
--------------------------------------------------------------------------
--------------------------------------------------------------------------
--------------------------------------------------------------------------
- old opengl version infos
--------------------------------------------------------------------------
--------------------------------------------------------------------------
"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
--------------------------------------------------------------------------
--------------------------------------------------------------------------
--------------------------------------------------------------------------
--------------------------------------------------------------------------
- for infos about the 1.36 core please read the 'version.txt'
of the d3d dx7 plugin :)
--------------------------------------------------------------------------
- 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).
--------------------------------------------------------------------------
"hehehe"
- pete
--------------------------------------------------------------------------
--------------------------------------------------------------------------
--------------------------------------------------------------------------
--------------------------------------------------------------------------
--------------------------------------------------------------------------
- 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.
--------------------------------------------------------------------------
--------------------------------------------------------------------------
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.
--------------------------------------------------------------------------
--------------------------------------------------------------------------
- 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 :)
- 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...
--------------------------------------------------------------------------
have fun!
--------------------------------------------------------------------------
- i've noticed that the texture window mode wasn't turned off in
the rc stuntcopter demo causing a strange display. fixed!
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.
--------------------------------------------------------------------------
- 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'...
--------------------------------------------------------------------------
- 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 :(
- 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 :)
--------------------------------------------------------------------------
- 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.
--------------------------------------------------------------------------
- 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 :)
--------------------------------------------------------------------------
- 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 <insert> 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...
--------------------------------------------------------------------------
- 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...
--------------------------------------------------------------------------
- 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...
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 ;)
--------------------------------------------------------------------------
- also changed (again) the 'change desktop settings' option, maybe it will
work better with non-tnt cards... i'll keep on trying...
- 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 :)
--------------------------------------------------------------------------
>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...
--------------------------------------------------------------------------
- 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.
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...
--------------------------------------------------------------------------
- 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 :(
--------------------------------------------------------------------------
- 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.
--------------------------------------------------------------------------
- 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 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 <del> and the framerate und the menu will appear. it
looks like: 'fps xxxx.x fl< od am ta fi di tw *'
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 <page up> or <page down> keys to an
option you want to toggle.
just hit the <end> 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 <del> 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'.
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.
--------------------------------------------------------------------------
--------------------------------------------------------------------------
--------------------------------------------------------------------------
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...
--------------------------------------------------------------------------
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)
--------------------------------------------------------------------------
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.
--------------------------------------------------------------------------
added:
--------------------------------------------------------------------------
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)
--------------------------------------------------------------------------
to be done:
--------------------------------------------------------------------------
--------------------------------------------------------------------------
--------------------------------------------------------------------------
--------------------------------------------------------------------------
- old d3d dx7 version infos
--------------------------------------------------------------------------
--------------------------------------------------------------------------
- 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.
--------------------------------------------------------------------------
--------------------------------------------------------------------------
--------------------------------------------------------------------------
--------------------------------------------------------------------------
- for infos about the 1.36 core please look at the 'version.txt'
of the d3d dx6 plugin :):)
--------------------------------------------------------------------------
- as always: if this dx7 plugin doesn't work, try the dx6 plugin :)
--------------------------------------------------------------------------
- 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 :)
- you need directx 7. without it the plugin will not be listed in the
emu plugin selection dialog.
--------------------------------------------------------------------------
--------------------------------------------------------------------------
--------------------------------------------------------------------------
--------------------------------------------------------------------------
- old d3d dx6 version infos
--------------------------------------------------------------------------
- i think you know where you can find the release notes :)
--------------------------------------------------------------------------
--------------------------------------------------------------------------
--------------------------------------------------------------------------
- yeah, no notes here (check out the other plugins readme files
for infos), just more quotes to test your faith ;)
--------------------------------------------------------------------------
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) :
--------------------------------------------------------------------------
- for infos about the 1.36 core please read the 'version.txt'
of the soft gpu plugin :):):)
--------------------------------------------------------------------------
- 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
--------------------------------------------------------------------------
- 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
--------------------------------------------------------------------------
--------------------------------------------------------------------------
--------------------------------------------------------------------------
--------------------------------------------------------------------------
--------------------------------------------------------------------------
- for infos about the 1.36 core please read the 'version.txt'
of the opengl plugin :):):):)... naaa... joking :)
- 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... :)
--------------------------------------------------------------------------
- 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)
--------------------------------------------------------------------------
- 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.