Gameboy: Gambatte v0.4.1 - 模擬器

Jacky avatar
By Jacky
at 2009-01-11T23:20

Table of Contents

http://sourceforge.net/projects/gambatte/

Release Name: 0.4.1

Notes:
New release. It contains a few important bug fixes, such as
MBC2 ROMs not getting any SRAM in 0.4.0. It also contains
some major audio/video timing improvements, as well as
improvements and additions to platform-specific audio/video
back-ends (particularly on win32).

Changes:
libgambatte:
- Fix HqXx filter pitch.
- Fix mbc2 not getting a rambank.
- Make sure to reset passed pointers when deleted. Fixes potential crash
when loading ROM during OAM busy.
common:
- Substantially improved rate estimation averaging.
- RateEst: Add a convenient way of filtering measures that extend beyond
a buffer time, and are as such probably invalid.
- RateEst: Allow using a custom timestamp in feed().
- RateEst: Keep a queue of the last ~100 msec worth of samples and
duration, and filter out collective samples that give a pre-estimate
that seems way off.
- Replace "Game Boy / Game Boy Color emulator" with "Game Boy Color
emulator" for now to avoid misleading anyone on the current status.
gambatte_qt:
- Disable BlitterWidget updates (paintEvents) while not paused.
- Allow BlitterWidgets to opt in to get paintEvents while unpaused. Do so
for QGLBlitter since it may need to clear buffers afterwards.
- QGLBlitter: Try to blit right after sync in the case of single buffering.
- Up default audio buffer latency to 100 ms (some common system audio
servers require a lot of buffering to work well).
- Adaptively skip BlitterWidget syncs if audio buffer is low, in a manner
that should minimize wasted skips in sync to vblank situation, and tries
to be non-disturbing. This replaces frame time halving, and blitter
specific rescueing.
- Clear display buffers in DirectDrawBlitter and Direct3DBlitter in
exclusive mode, since blits don′t necessarily cover the entire buffers.
- DirectDrawBlitter: Make sure that a minimum amount of time has passed
between calls to WaitForVerticalBlank, since it can return in the same
vblank period twice on a fast system.
- DirectDrawBlitter: Support vsync for refresh rate ~= 2x frame rate.
- DirectDrawBlitter: Refactor somewhat and get rid of a couple minor
potential bugs.
- DirectDrawBlitter: Some tweaks to get updates closer to sync time in
certain situations.
- DirectDrawBlitter: Some tweaks to better support DONOTWAIT.
- DirectDrawBlitter: Make only updating during vblank while page flipping
optional.
- Direct3DBlitter: Some tweaks to get updates closer to sync time in
certain situations.
- Filter out very short frame times in frame time estimation.
- Don′t adjust frame time during turbo, but rather skip BlitterWidget
syncs to speed up, which avoids vsync limits without disabling vsync.
- DirectDrawBlitter: Add triple buffering option.
- Direct3DBlitter: Use D3DSWAPEFFECT_DISCARD in non-exclusive mode.
- Direct3DBlitter: Allow triple buffering and vblank-only updates in
non-excusive mode.
- Rename "Page flipping" in Direct3D and DirectDraw blitters to
"Exclusive full screen".
- Pause audio on win32 titlebar clicks/drags to avoid looping audio due to
underruns from blocked timerEvents.
- Use wildcards for platform detection to avoid being unnecessarily
compiler/architecture specific. Fixes bug 2377772.
- Rewrite most of DirectSoundEngine, supporting primary buffer option,
making it more robust, correct and hopefully cleaner. Only use part of
the primary buffer if the desired buffer size is lower than the
primary buffer size.
- Direct3DBlitter and DirectDrawBlitter: Force blocking updates when sync
to vblank is enabled. Some updates only block if there′s a prior
unfinished update in progress. This screws up frame time estimation in
turn screwing up vsync. To fix this we do a double update (and extra blit)
if close to a frame time period has passed since the last update when
sync to vblank is enabled. I really should have noticed this earlier as
it pretty much breaks vsync adaption completely.
- Direct3DBlitter: Use the D3DCREATE_FPU_PRESERVE flag when creating
device. Omitting this flag can screw up floating point calculations in
other parts of the code. For instance WASAPI cursor timestamps get
utterly screwed up here.
- Direct3DBlitter: It appears that managed textures are updated before
they are unlocked, which screws up redraws, making things appear choppy
in some situations. Use a default memory texture and a system memory
texture and the UpdateTexure method instead.
- DirectSoundEngine: Make use of the sample period limit feature of
RateEst, rather than duplicating the feature.
- Add polling WASAPI engine with exclusive mode support. Latency and rate
estimation is generally better than DirectSound, and in exclusive mode
there is less blocking as well as exclusive mode being better than
shared mode in the other areas too.
- WasapiEngine: Add device selection.
- WasapiEngine: Add static isUsable() method. Only listed if isUsable().
Default engine if isUsable().
- WasapiEngine: Use default device if there′s only one device available,
since we don′t show the combobox anyway.
- DirectSoundEngine: Provide the integrated read and status get write
method optimization.
- XvBlitter: Set NosystemBackground attribute rather than OpaquePaintEvent.
Reimplement paintEngine to return NULL as suggested by Qt docs.
- X11Blitter: Reimplement paintEngine to return NULL.
- AlsaEngine: Make use of sample period limit feature of RateEst. Don′t
increase estimated sample rate on underrun.
- OssEngine: Make use of sample period limit feature of RateEst. Don′t
increase estimated sample rate on underrun.
- Esc exits fullscreen on macx.
- Drop OpenAL from default macx binary.
- Add some useful but commented build flags for macx to .pro files.


--

All Comments

DOA2 DC模擬器

Annie avatar
By Annie
at 2009-01-11T07:11
這兩天拿到DOA2的ISO黨 也拿到了DC模擬器 可是把模擬器關了之後他都沒有紀錄... 請問是哪個環節出問題了 我有先沒掛ISO開DC模擬器 然後格式化記憶卡 開始完之後遊戲會先說要製造一個紀錄 紀錄也有出現 可是他破關完就是沒有存檔 請問到底開怎麼處理呢? -- 如果化妝可以拯 ...

SFC的遊戲-BB鳥

Caroline avatar
By Caroline
at 2009-01-11T00:26
遊戲平台:SFC 遊戲內容與心得: 這個遊戲我問我有完超任的朋友他們都不知道 所以只好依賴這個版的神人andgt;///andlt; 常常解決我找不到遊戲的痛苦 不過這次真的是大難題了 其實遊戲的主角就是華納的那隻BB鳥 然後有隻大野狼會抓他 背景都是沙 ...

思鄉之風有解嗎?

Joseph avatar
By Joseph
at 2009-01-10T23:59
進入人物選單後必當, 用no$gba模擬器玩, 有神人解決這個問題嗎? 謝謝! - ...

[問題] 用nds模擬器玩小島版,有一些問題想請넠…

Gilbert avatar
By Gilbert
at 2009-01-10T22:51
※ [本文轉錄自 GrassLand 看板] 作者: Gobrady (GoBrady) 看板: GrassLand 標題: [問題] 用nds模擬器玩小島版,有一些問題想請教大家...謝謝 時間: Wed Jan 7 15:36:04 2009 在用google和搜尋找過之後....發現沒人有跟我一 ...

SFC的幽遊白書特別篇

Linda avatar
By Linda
at 2009-01-10T21:03
內容陳述:兩個人對打 四個按鍵都可以用不同招式 有時集了很多氣打對方但卻被對方跳到空中會很氣餒 心得: 很久沒來這裡求檔了(四五年了吧) 剛隨意的求檔被噓 我重新回來啦 感謝用力噓我的鄉民 GOOGLE怎麼找不到幽遊白書 這是我國中還是國小很愛玩的遊戲 記得一開始 只 ...