What's new

VBA 1.72 with Kega Fusion plugin system

OP
S

suanyuan

New member
In VBA172_smooth_V5 version, 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.
 
Last edited:
OP
S

suanyuan

New member
VBA smooth v6 - audio synchronized with multi-thread

Base on VBA smooth v5, I continue to enhance audio synchronizaion.

This version I try to keep track audio synchronization with multi-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.


This version can't run well at computers without hyper-thread hardware support.
I am trying to fix this problem.
 
Last edited:

bohdy

New member
Hi suanyuan, I have tried your latest version with Circe of the Moon (US), and the synchronisation seems worse if anything. Sound stutters and core speeds up too fast every now and again.

Btw, I like what you are doing, but I wish you would move your changes to the latest 1.8 version as there are many timing fixes that certain games need to run smoothly in that one.
 
OP
S

suanyuan

New member
bohdy said:
Hi suanyuan, I have tried your latest version with Circe of the Moon (US), and the synchronisation seems worse if anything. Sound stutters and core speeds up too fast every now and again.

Btw, I like what you are doing, but I wish you would move your changes to the latest 1.8 version as there are many timing fixes that certain games need to run smoothly in that one.


(1) Have you turned on the "auto frame skip" option?

When turn on "auto frame skip", throttle option will change to "no throttle", frame skip option will change to "skip 0", and synchronize option will turn on automatically.

The VBA speed shuld be 96% - 98% a little bit slow than 100% for this setting.



(2) VBA official coder PokemonHacker is working on ARM CPU core for more acculate timing and more speed boost. Before he finished his modifcation of ARM core, it's difficult for VBA 1.8b2 to get 60 FPS with sound synchronization and high level filter like hq2x, hq3x.
 
Last edited:

bohdy

New member
suanyuan said:
(1) Have you turned on the "auto frame skip" option?

Of course. That is where the main work of your version is, no? In comparison, one of your previous versions (first with new plugin system I believe) synchronises better with less sound stutter. Also, in your build with no throttle and no auto frame skip the emulator goes as fast at it can, while it stays at 60 with the original 1.8b2. Is it meant to?
suanyuan said:
(2) VBA official coder PokemonHacker is working on ARM CPU core for more acculate timing and more speed boost. Before he finished his modifcation of ARM core, it's difficult for VBA 1.8b2 to get 60 FPS with sound synchronization and high level filter like hq2x, hq3x.

I see, so you will integrate updated core when it is finished. Btw I should mention that the noticeable timing fixes (that get rid of slowdown whenever there are too many moving sprites in a few games) are not implemented in the original 1.8 as I had assumed, but they are in kode54's build. See here.
 
OP
S

suanyuan

New member
bohdy said:
Of course. That is where the main work of your version is, no? In comparison, one of your previous versions (first with new plugin system I believe) synchronises better with less sound stutter. Also, in your build with no throttle and no auto frame skip the emulator goes as fast at it can, while it stays at 60 with the original 1.8b2. Is it meant to?


I see, so you will integrate updated core when it is finished. Btw I should mention that the noticeable timing fixes (that get rid of slowdown whenever there are too many moving sprites in a few games) are not implemented in the original 1.8 as I had assumed, but they are in kode54's build. See here.

I found the problem you said in a computer of P4-253 without hyper threading hardware. And the frame rate is not stable in this computer.

Thank you for informing me the bug this version introduced, and I will try to find some way to fix this bug.:p
 
OP
S

suanyuan

New member
suanyuan said:
I found the problem you said in a computer of P4-253 without hyper threading hardware. And the frame rate is not stable in this computer.

Thank you for informing me the bug this version introduced, and I will try to find some way to fix this bug.:p

Here is VBA smooth v6.1, and I fixed the bug that made none hyper-thread PCs frame rate not stable.
 
Last edited:

bohdy

New member
It is better now, with no random speedups and less sound crackling, but still not as good as your previous (v5, I think) version. Compare the music during the Circle of the Moon title screen: It still crackles a little in v6.1, but not in v5.
 

UltimaClaud

New member
As the GBC Lufia is quite tough,suanyuan make a special fix for it in v6.
Maybe fix brings some other bugs.That's pity... >_<
 
OP
S

suanyuan

New member
bohdy said:
It is better now, with no random speedups and less sound crackling, but still not as good as your previous (v5, I think) version. Compare the music during the Circle of the Moon title screen: It still crackles a little in v6.1, but not in v5.

When VBA wants to update sound buffer but the update position is same as the current position DirectSound is playing, then crackles happens.

There still some space to enhane the sound playback, but right now I don't have a better idea. Maybe fix this problem in later version of VBA smooth.

For computer with less power or want to play GBC with normal speed, I think v6.1 is a better choice. on the other hand v5 behaves more like official VBA.
 
OP
S

suanyuan

New member
VBA smooth v6.2 release

VBA smooth v6.2

new features:
- add Kode54's PCM interpolation module

bug fix:
[DarkDancer] Suggest me to reference Gens when playing music synchronized based on audio playback speed to avoid sound crackling.
[neoragex2002] Suggests me to reference Aaron Giles's new timer system design to handle audio synchronization problem.
- remove multi-thread audio synchronization mechanism (new mechanism not implement yet ;-) )

[sjyune] Can't open Rom Select window since v6.0
[Drain] when try to change a "all gameboy advance" to "gameboy advance" in filetypes emu crashes
- fix bug in open gba file dialog that make some computers crashed.

[Kirby] once you do delete the file and create a new one, VBA Smooth only runs in 16 bit color mode now (which means refreshing the desktop and whatnots)
- adjust settings for VBA.ini of other version of VBA
- use Direct3D, filter plugin, scale2x as default settings
- remove VBA.ini from replease zip file

[many people] when run VBA smooth v6.1, OS report lack of mfc71.dll, msvcp71.dll, msvcr71.dll
- use static link with MFC intead of dynamic link

[many people] can't run VBA smooth v6 in non-intel CPU computers.
- change the optimization option of ICC 9.0 for non-intel CPUs


For more information you can find at VBA official forum:

http://vbasmooth.emulation64.com/

Bug report or suggestions please post here:

http://www.ngemu.com/forums/showthread.php?t=63952

Download from:

http://vbasmooth.emulation64.com/
 
Last edited:

bohdy

New member
It sounds good, suanyuan, but I find that it runs at only 30FPS (even though it reports 60fps) compared to V5 which always stays at 60.

Also, you forgot to update the version in the title bar ;)
 

Top