Next Generation Emulation banner
1 - 20 of 41 Posts

· Registered
Joined
·
59 Posts
Discussion Starter · #1 · (Edited)
>> post bug report and your suggestions in this thread <<


VBA smooth v6.4

feature added:
- add an entry forceRenderMethod=1 in vba.ini to force using DirectDraw driver (thanks awi's suggestion)
- force to stop emulation before switching sound emulation on/off
- add an entry saveMoreCPU=1 in vba.ini for slow computer to save more CPU power

bug fix:

[mikoxc] when sound is disable, vba load a game then crashed
- fix a bug in PCM interpolation module

[mikoxc] VBA run a game with sound disable, after load a real-time save file, VBA crashed
- fix another bug in PCM interpolation module

[bohdy] 6.3 still runs at half framerate in automatic mode, just like if frameskip 1 was selected.
- fix a bug in automatic frame rate control

[Squaresoft74] On the top and left sides of the screen i get blue lines that weren't there with previous builds.
- not crop a pixel around the border of output image

source code and compiled binary can download from:
http://vbasmooth.emulation64.com/


Post bug report and your suggestions in this thread, your participate will make VBA smooth better in every release.
 

· Waaa :(
Joined
·
98 Posts
suanyuan said:
I change my frame control code a little bit; try to keep running at 60 FPS smoothly.

(1) When CPU core speed less than 95% I drop frames, and when CPU core speed more than 105% I increase frames to render.

(2) At the end of frame rendering, I sleep a short period of time if the emulator is running too fast.

The result is quite acceptable, no matter use hq2x filter or no filter, the emulator can adjust to keep almost 100% CPU speeds to run.

I attached screen captures of setting ui, run fzero with no filter, run fzero win hq2x filter. I also attached compiled binary and changed source codes for anyone who is interested.

:emb:
uhh.. I didn't really follow what you said but I always have 98%-100% speed... if you always have 100% it's not a big difference.
for the 60 fps I dropped frame skip to 0 and that's it. o.o
 

· Registered
Joined
·
59 Posts
Discussion Starter · #3 · (Edited)
imp0ster said:
uhh.. I didn't really follow what you said but I always have 98%-100% speed... if you always have 100% it's not a big difference.
for the 60 fps I dropped frame skip to 0 and that's it. o.o
First I want to thank you for your feedback. After hundreds of people have viewed and downloaded the program, finally I got one feedback. :wub:

Second I am glad to hear that the modification didn't slow down VBA, since you don't feel the difference. :lol:

Last if you are still interested to find out what the difference is, try to run F-Zero with official VBA 1.72 using options of a) show FPS, b) skip = 0, c) no throttle, d) no filter. Then compare with the result with my version of same options + smooth 60 fps option.

Again run F-zero with official VBA 1.72 using options of a) Show FPS, b) skip = 0, c) no throttle, d) hq2x filter. Then compare with the result with my version of same options + smooth 60 fps option.

Then you will find out the differences. :agree:
 

· VBA 2 developer
Joined
·
404 Posts
Oh, nice that you made some changes to the frame skipping. Would it be possible to add this to the "Automatic frame skipping" option instead of making a new one?

Sorry, didn't tried it for now.
 

· Registered
Joined
·
59 Posts
Discussion Starter · #5 · (Edited)
Spacy said:
Oh, nice that you made some changes to the frame skipping. Would it be possible to add this to the "Automatic frame skipping" option instead of making a new one?

Sorry, didn't tried it for now.
Spacy,
I think your suggestion is right. I will try to rewrite my code. In the mean time, since I have opened the source code of my modification. Anyone who wants to do this change is more than welcome.
 

· Registered
Joined
·
59 Posts
Discussion Starter · #6 · (Edited)
Spacy said:
Oh, nice that you made some changes to the frame skipping. Would it be possible to add this to the "Automatic frame skipping" option instead of making a new one?

Sorry, didn't tried it for now.
According to Spacy's suggestion, I have rewrite smooth 60 FPS frame control code.

The changes:
- using "Automatic frame skipping" option instead of making a new one.
- move frame control code inside "systemDrawScreen" function intead "IDisplay::render".
- adjust frame skipping every 10 frames instead every 60 frames
- change the format of cheat list file to VBA 1.8 format
(now can share cheat list between VBA 1.8 and this version)
 

· Registered
Joined
·
59 Posts
Discussion Starter · #8 · (Edited)
VBA172_smooth_V4 + kega fusion filter plugin

I add Kega Fusion plugin system to my derived VBA172, now my computer of P4-2.53 G can run F-ZERO using hq2x filter with 115% CPU speed (no throttle, skip 0, win size x 3, hq2x). Give it a try, and give me some feedback.

The changes:
- when select DirectDraw render method, force desktop to switch to 16-bit color depth
- remove GDI, OpenGL display driver
- add Kega Funsion filter plugin system
 

· Registered
Joined
·
59 Posts
Discussion Starter · #9 ·
I think my code has broken the sound and video synchronization, because I force to turn off "emulator synchronize" option when "auto skip frame" turn on to squeeze CPU emulation speed.

The music sounds much better when "emulator synchronize" option turn on.

Does anyone have any suggestion to fix this problem?
 

· Registered
Joined
·
59 Posts
Discussion Starter · #10 · (Edited)
VBA172_smooth_V5

Thanks for Forgotten's suggestion, I restore "synchronize" option's behavor.

Now "auto skip frame" option has no relation with "synchronize" option. If you want VBA sounds better, you should turn on "synchronize". If you want VBA runs game faster you can turn off "synchronize".

Now when "auto frame skip" option turn off, VBA172_smooth_V5 behaves just like official VBA172.


the changes for VBA172_smooth_V5:

- restore "synchronize" option's behavor
- rewrite part of Direct3DDiplay class rendering code
- rewrite plugin system to support hq3x, hq4x, lq3x, lq4x, Scale3x, Scale4x filter plugin
- change frame adjust code, to stable FPS
- output notify message on screen when "auto skip frame" on/off
In my computer of P4 2.53 G, VBA172_smooth_V5 can run F-ZERO with hq3x filter almos 95% CPU speed with both "synchronize" and "auto skip frame" turn on. Alough I can't tell the differences between outputs of hq2x and hq3x.
 
Joined
·
1,853 Posts
hope next official version be faster this way oO
 

· Registered
Joined
·
59 Posts
Discussion Starter · #12 · (Edited)
VBA smooth v6 - audio synchronized with multi-thread

Hi, I come back with a new version of VBA smooth v6.

This version I try to keep track audio synchronization with another thread, and let VBA core speed a little bit slow than 100% to get a better audio.

Now VBA smooth v6 can run almost 98% cpu speed with synchronize option on. And the problem when enter a cafe CPU speed drop to 75% for GBC "Lufia - The Legend Returns (U) [C][!]" is also fixed. Try "Castlevania - Circle of the Moon" to find out the improvement.


VBA smooth v6

- use another thread to keep sound synchronization
- use VS.NET 2003 and ICC 9.0 to compile VBA

This version doesn't run well for computers without hyper-thread hardware support.
 

· Registered
Joined
·
59 Posts
Discussion Starter · #13 ·
I found the VBA smooth v6 has the problem of unstable frame rate in a p4-253 computer without hyper-thread hardware.

Without hardware multi-thread support the FPS become sometimes too fast above 110% that's why the music stutters.

Thanks for people reported this bug to me, sorry for my slow response and I will try to find some way to fix this bug. :heh:
 

· VBA 2 developer
Joined
·
404 Posts
Hi!

Nice progress :thumb: . Seems like you can handle VBA better than I do. May you please post or send me the changed source files?

I'll have a look what I want to add into my release ^_^
Knowing how to write programs is just great in this world :D
 

· Registered
Joined
·
59 Posts
Discussion Starter · #16 ·
Spacy said:
Hi!

Nice progress :thumb: . Seems like you can handle VBA better than I do. May you please post or send me the changed source files?

I'll have a look what I want to add into my release ^_^
Knowing how to write programs is just great in this world :D
I have post the source code of VBA smooth v6. Any corrections or suggestions are more than welcome. :yawn:
 

· Registered
Joined
·
4 Posts
suanyuan said:
VBA smooth v6.1

- fixed the bug that make none hyper-thread PCs frame rate not stable

Can't open Rom Select window since v6.0
btw, can Sound sync with video buffer like MD emu Gens (instead of video synced to sound) ?
this way we don't have turn on Syncronization option which cause hiccup or stuttering during scrollong....
In official build ,without Syncronization option, scrolling is smooth as baby's butt..but you will get distorted sound time to time....

another option is Sound Buffer option which we can specify sound buffer size/delay for VBa to reduce sound distortion without Syncronization option turned on...

thanks
 

· Registered
Joined
·
59 Posts
Discussion Starter · #19 ·
sjyune said:
Can't open Rom Select window since v6.0
btw, can Sound sync with video buffer like MD emu Gens (instead of video synced to sound) ?
this way we don't have turn on Syncronization option which cause hiccup or stuttering during scrollong....
In official build ,without Syncronization option, scrolling is smooth as baby's butt..but you will get distorted sound time to time....

another option is Sound Buffer option which we can specify sound buffer size/delay for VBa to reduce sound distortion without Syncronization option turned on...

thanks
(1) It's my bad to pack vba.ini into the zip file. Please setup the rom directory before you open the select rom dialog. Or you can just delete the VBA.ini then configure your own settings.

(2) The whole idea to use multi-thread for audio synchronization is avoid the problem you described. I think the sound distortion problem has gone.

(3) in VBA, both sound and video is synchronized with CPU core. The sound buffer is actually small and the sound updates is quite frequently. Enlarge the sound buffer is a good idea to to reduce sound distortion.

Please give me some feedback after you can load GBA rom, give me some suggestions about this release.
 

· Registered
Joined
·
4 Posts
sorry..but still can't load rom windows since 6.0.....older ones works fine...
I'm using WinME...

*Updated* I just tested with AutoRomLoad (recent) but *on my computer* ,sound distortion is still there (actually worse)...I think buffer size option would be nice option...


*on my computer*
WinME
P-4 3g
512 Ram
SoundBlaster128 PCI

EDIT:

O.K. now with Sycronization option, that hiccup/stuttering during scrolling is gone...but am' getting constant minor static sound...before it was quite noisy but not constant...

btw, still can't open rom/save windows box.....
also I'm using AIM:sjyune104
and my email: [email protected]
but my MSN out of date..as it caused crash...
 
1 - 20 of 41 Posts
This is an older thread, you may not receive a response, and could be reviving an old thread. Please consider creating a new thread.
Top