Makaron Test 9/1 - 模擬器
By Ina
at 2008-01-01T11:41
at 2008-01-01T11:41
Table of Contents
31st-Dec-2007
http://pics.livejournal.com/dknute/pic/00068b7e/g73
http://pics.livejournal.com/dknute/pic/00069fh1/g73
First I'd like to dedicate these two picture to people who claim
that so-called 2D games should run better and require less resources
to emulate than 3D ones. This is Bangai-O:
As you can see, if there is a 3D hardware then 2D games will use it.
Why? Because it's faster to have another processor (GPU in that case)
rasterize things for you - with alpha blending and transparency, and
even filtering if needed. This is full-blown 3D, just that the third
dimension is used for composing multiple layers, including background
and text messages. Many such games not only use 3D - they abuse it.
Use thousands of small triangles with most of those having individual,
unique textures (which are probably not only palletized, but also
compressed in some way). And change that a lot every frame - that is
50/60 times per second. Now try to keep up with that!
This is not an 8-bit console calculating and writing every pixel to
VRAM (although it does happen, true 2D is still used from time to
time; SEGA logo is one example). I may not need to keep things
cycle-correct here, but I've my own problems handling graphics.
Okay, now some more fog (you'll find it's used in quite many places
actually):
http://pics.livejournal.com/dknute/pic/0006arxq/
http://pics.livejournal.com/dknute/pic/0006bqd9/
http://pics.livejournal.com/dknute/pic/0006ckg2/
http://pics.livejournal.com/dknute/pic/0006ddhz/
http://pics.livejournal.com/dknute/pic/0006e2z1/
http://pics.livejournal.com/dknute/pic/0006fps3/
http://pics.livejournal.com/dknute/pic/0006gpkt/
Ah, but that's not all. Here are some more interesting uses of fogging:
Case 1 - fog used as a special effect to light up parts of objects
that are being hit by player. And yes, that could've been
done in several other (easier?) ways...
http://pics.livejournal.com/dknute/pic/0006h978/
http://pics.livejournal.com/dknute/pic/0006k4p8/
Case 2 - now this is grand, Bangai-O uses fogging to show selected
buttons :)
http://pics.livejournal.com/dknute/pic/0006p004/
There's a special today - a frontend to Makaron donated by slrhui -
you can get it here. Please contact the author about it should you
need any changes done. And be sure to thank him if you find it usefull.
Here's Makaron Test 9/1. The main purpose of this release it to fix
some issues T9 had, but there are other changes as well.
Firstly there's the new AEG code in AICA - not entierly correct mind
you, but it will get better in time. I belive I've explained it enough
before but just to be sure: It makes AICA module somewhat slower.
Nothing is free you know. It should be offset by ARM7 code being
recompiled this time.Second major change is the addition of fog
processing. You will need at least Pixel Shader 2.0 for this to work,
and it better be fast (worst case scenario, that is palletized &
filtered texture with fog and color clamping, is 9 textures lookups
+ some 50 other instructions per pixel).This also causes Makaron to
lag a bit at startup now, as it has to recreate some 200 PS programs
to cover all possible cases.
I tried not to touch SH4 code much, but I did change how HOLLY handles
DMA transfers. This might break quite a number of things but was
necessary to fix couple of games. Mostly CAPCOM ones, go figure.
Some people out there should really learn how to use DMA... There are
games that start the DMA and assume it's going to finish before the
program advances to the point where it has to use the transferred data
- without actually checking that. The easiest way around this problem
is to complete the transfers the moment they are started - but of
course there are other games that get confused by immediate
end-of-transfer interrupt, or miss it, and hang. Yet other games
require that the transfer at least advances a bit once started, or
the unchaged counter will make them think it's already done. All
this is also very timing-related, might work or not depending how fast
the emulator goes and when the interrupts actually arrive. Not funny.
I solved this by forcing DMA transfers to take time to finish - just
like on the real hardware. The difference is a DMA in progress will
slow SH4 (because it's blocking memory bus or HOLLY) and Makaron
doesn't account for that. Not to mention I can't exactly check for
interrupts every instruction, like SH4, as this would kill performance.
I came up with timings that should work well on both slow and fast
systems - but it might still need some tweaking.
As a side effect you now get to experience loading times. Just like
on your good old Dreamcast. Yay! :) So be patient when staring at
blank or "Please wait" / "Now loading" screens. I know this feature
will not get good press but I like it. So it stays :)
By the way, fixes to DMA engine (although not timing-related) made
"Soul Calibur" and "Dead or Alive 2" dialogs re-appear.
Emulation speed/statistics information is no longer displayed. If you
want it, re-enable it in F12 menu.
On a special request from Yuki I've looked into MakaronPAD plugin. It
is now possible to assign normal digital buttons to POV directional
pad. The plugin version has been bumped up - not a big deal, but it
won't work in T8/T9 unless you hex-edit it. You shouldn't be using
those anymore :)
Enough Makaron for this year. Silmeria still needs to be rescued and
I want some strong monsters to test out triple Nibelung Valesti combo
(Hrist->Lenneth->Alicia) :]
______________________________________________________________________________
下載:http://rapidshare.com/files/80312569/Makaron_T9_1.7z.html
官方:http://dknute.livejournal.com/
--
新年快樂 ( ̄▽ ̄ )
--
http://pics.livejournal.com/dknute/pic/00068b7e/g73
http://pics.livejournal.com/dknute/pic/00069fh1/g73
First I'd like to dedicate these two picture to people who claim
that so-called 2D games should run better and require less resources
to emulate than 3D ones. This is Bangai-O:
As you can see, if there is a 3D hardware then 2D games will use it.
Why? Because it's faster to have another processor (GPU in that case)
rasterize things for you - with alpha blending and transparency, and
even filtering if needed. This is full-blown 3D, just that the third
dimension is used for composing multiple layers, including background
and text messages. Many such games not only use 3D - they abuse it.
Use thousands of small triangles with most of those having individual,
unique textures (which are probably not only palletized, but also
compressed in some way). And change that a lot every frame - that is
50/60 times per second. Now try to keep up with that!
This is not an 8-bit console calculating and writing every pixel to
VRAM (although it does happen, true 2D is still used from time to
time; SEGA logo is one example). I may not need to keep things
cycle-correct here, but I've my own problems handling graphics.
Okay, now some more fog (you'll find it's used in quite many places
actually):
http://pics.livejournal.com/dknute/pic/0006arxq/
http://pics.livejournal.com/dknute/pic/0006bqd9/
http://pics.livejournal.com/dknute/pic/0006ckg2/
http://pics.livejournal.com/dknute/pic/0006ddhz/
http://pics.livejournal.com/dknute/pic/0006e2z1/
http://pics.livejournal.com/dknute/pic/0006fps3/
http://pics.livejournal.com/dknute/pic/0006gpkt/
Ah, but that's not all. Here are some more interesting uses of fogging:
Case 1 - fog used as a special effect to light up parts of objects
that are being hit by player. And yes, that could've been
done in several other (easier?) ways...
http://pics.livejournal.com/dknute/pic/0006h978/
http://pics.livejournal.com/dknute/pic/0006k4p8/
Case 2 - now this is grand, Bangai-O uses fogging to show selected
buttons :)
http://pics.livejournal.com/dknute/pic/0006p004/
There's a special today - a frontend to Makaron donated by slrhui -
you can get it here. Please contact the author about it should you
need any changes done. And be sure to thank him if you find it usefull.
Here's Makaron Test 9/1. The main purpose of this release it to fix
some issues T9 had, but there are other changes as well.
Firstly there's the new AEG code in AICA - not entierly correct mind
you, but it will get better in time. I belive I've explained it enough
before but just to be sure: It makes AICA module somewhat slower.
Nothing is free you know. It should be offset by ARM7 code being
recompiled this time.Second major change is the addition of fog
processing. You will need at least Pixel Shader 2.0 for this to work,
and it better be fast (worst case scenario, that is palletized &
filtered texture with fog and color clamping, is 9 textures lookups
+ some 50 other instructions per pixel).This also causes Makaron to
lag a bit at startup now, as it has to recreate some 200 PS programs
to cover all possible cases.
I tried not to touch SH4 code much, but I did change how HOLLY handles
DMA transfers. This might break quite a number of things but was
necessary to fix couple of games. Mostly CAPCOM ones, go figure.
Some people out there should really learn how to use DMA... There are
games that start the DMA and assume it's going to finish before the
program advances to the point where it has to use the transferred data
- without actually checking that. The easiest way around this problem
is to complete the transfers the moment they are started - but of
course there are other games that get confused by immediate
end-of-transfer interrupt, or miss it, and hang. Yet other games
require that the transfer at least advances a bit once started, or
the unchaged counter will make them think it's already done. All
this is also very timing-related, might work or not depending how fast
the emulator goes and when the interrupts actually arrive. Not funny.
I solved this by forcing DMA transfers to take time to finish - just
like on the real hardware. The difference is a DMA in progress will
slow SH4 (because it's blocking memory bus or HOLLY) and Makaron
doesn't account for that. Not to mention I can't exactly check for
interrupts every instruction, like SH4, as this would kill performance.
I came up with timings that should work well on both slow and fast
systems - but it might still need some tweaking.
As a side effect you now get to experience loading times. Just like
on your good old Dreamcast. Yay! :) So be patient when staring at
blank or "Please wait" / "Now loading" screens. I know this feature
will not get good press but I like it. So it stays :)
By the way, fixes to DMA engine (although not timing-related) made
"Soul Calibur" and "Dead or Alive 2" dialogs re-appear.
Emulation speed/statistics information is no longer displayed. If you
want it, re-enable it in F12 menu.
On a special request from Yuki I've looked into MakaronPAD plugin. It
is now possible to assign normal digital buttons to POV directional
pad. The plugin version has been bumped up - not a big deal, but it
won't work in T8/T9 unless you hex-edit it. You shouldn't be using
those anymore :)
Enough Makaron for this year. Silmeria still needs to be rescued and
I want some strong monsters to test out triple Nibelung Valesti combo
(Hrist->Lenneth->Alicia) :]
______________________________________________________________________________
下載:http://rapidshare.com/files/80312569/Makaron_T9_1.7z.html
官方:http://dknute.livejournal.com/
--
新年快樂 ( ̄▽ ̄ )
--
Tags:
模擬器
All Comments
Related Posts
Kawaks v1.59
By Cara
at 2008-01-01T11:26
at 2008-01-01T11:26
打暴力電玩 腦力會變差
By Belly
at 2008-01-01T02:37
at 2008-01-01T02:37
MESS v0.122
By Gary
at 2007-12-31T22:08
at 2007-12-31T22:08
PS2: SPU2ghz public beta 1.5
By Jack
at 2007-12-31T22:05
at 2007-12-31T22:05
ePSXe 1.60如何在遊戲中加快遊戲速度?
By Isla
at 2007-12-31T21:17
at 2007-12-31T21:17