Emuforums.com

Go Back   Emuforums.com > Handheld Emulation > Visualboy Advance Discussion
About Us Register FAQ Members List Calendar Mark Forums Read

Reply
 
LinkBack Thread Tools Display Modes
Old June 19th, 2006   #1 (permalink)
Emu author
 
Spacy's Avatar
 
Join Date: Mar 2005
Location: Germany
Posts: 373
[Download] Current build

UPDATE: current build here: [Download] Current build


Since I have the feeling that the current build may finally satisfy some people, here it is, straight from the CVS code.

Changes:

Me:
- I extremely reworked Direct3D to be faster than DirectDraw, but with the disadvantage of not being able to scale the iamge with an aspect ratio, and the iamge is always bilinear scaled, like in DIrectDraw.
- Removed Skin support (from the Visual Studio 2005 build [#define NOSKINS]) to make compilation easier.
- Fixed joypad configuration dialog, it now responds faster to key presses.
- Merged the "open file" code for GB and GBA games.
- Merged the simple copy Image routine between DirectDraw and Direct3D, added a fast C alternative
- Worked over the whole DirectSound interface and found+fixed a minor bug.
- Enabled SSE(1) optimization in compiler

Pokemonhacker: [the one and only ]
Cheats.cpp
- corrected a compatibility problem with other versions.
- fixed a bug for ARV3/4 rom patching codes.
- corrected a bug when you entered a 'unknown' code, and then removed/disabled it.

GBA.cpp / gbainline.h:
- tweaked the bus prefetch a bit.
- changed the save handling a bit.
- added a 'master code' support (so the cheats are executed only when the master code address is reached ; if no master code are entered, cheats will be executed after each frame).
- corrected the mirroring of Vram.
- changed slightly the emulation of gbasavetype.

RTC.cpp:
- vba now ignores rtc command 0x64.

FLash.cpp:
- added a 64k->128k 'auto upgrade' (could correct some of the pokemon games's corrupted/deleted save problem).

Cheats.h:
- corrected a compatibility problem with other versions.
- fixed a bug for ARV3/4 rom patching codes.

bios.cpp:
- added support for swi $d (GetBiosChecksum).
- corrected a bug in registerRamReset.

arm-new.h:
- optimised/simplified a bit the bus prefetch handling.


Some information about a native 64bit build:
I succesfully made the code compile with WIndows XP Professional x64 Edition, but Microsoft's Compiler has the disadvantage, that it does not support inline assembler in 64bit mode, so emulation was quite slow. Because of that and other reasons, I decided to not continue working on that. IMO, since VBA 32bit works very well on 64bit systems (WITH inline assembled code), I see no reason to distribute a 64bit build. But nevertheless, I will always take care, that the current code will be compilable on 64bit systems.


Recently, I tried to add a Windows waveOut interface, but it seems that it needs much more code to "stream" sound without gaps, so I think I will drop that idea. I just did it to learn something about digital sound



Now don't waste any time and get the fresh WIP:
As always, if you are missing the Direct3DX dll, just download it and copy it into the same directory as your VBA.exe.
Attached Files
File Type: 7z VisualBoyAdvance.7z (507.5 KB, 7925 views)
File Type: 7z d3dx9_30.7z (816.2 KB, 5325 views)

Last edited by Spacy; July 31st, 2006 at 15:59.
Spacy is offline   Reply With Quote
Old June 19th, 2006   #2 (permalink)
PS2 PAL[v9]
 
KanedA's Avatar
 
Join Date: Aug 2004
Location: PolanD
Posts: 5,291
please, please port it to PSP, so that it would reach about 90 % of speed
__________________
KanedA is offline   Reply With Quote
Old June 19th, 2006   #3 (permalink)
Emu author
 
Spacy's Avatar
 
Join Date: Mar 2005
Location: Germany
Posts: 373
I don't have one
Spacy is offline   Reply With Quote
Old June 19th, 2006   #4 (permalink)
Emulation to the max!
 
Coolsvilleman's Avatar
 
Join Date: Jan 2004
Location: Canada
Posts: 2,413
Quote:
Originally Posted by KanedA
please, please port it to PSP, so that it would reach about 90 % of speed
you could always fund his psp project... so he can buy a psp.
__________________
Q6600 Core 2 Quad || Soundblaster X-Fi Extreme HD || e-VGA 8800GTX || 4096mb 4-4-4-12-2T Dual-Channel RAM || MSI P6N Diamond || 2x 320GB Hardrive || 5.1 Speakers || Remote control || 8x USB 2.0 || DVD/CD ±RW Drive || 1x IEEE1394

www.coolsvilleman.homedns.org Normally down. E-mail me for a DVD @ coolsvilleman@gmail.com
Coolsvilleman is offline   Reply With Quote
Old June 19th, 2006   #5 (permalink)
Emu author
 
Spacy's Avatar
 
Join Date: Mar 2005
Location: Germany
Posts: 373
Nah, currently I am not sure if I can manage the responsibility, because if I would get a PSP, I would really have to finish the port, but I doubt that I am good enough at programming for that.

Maybe there is someone else who already has experience with PSP dev?
Spacy is offline   Reply With Quote
Old June 19th, 2006   #6 (permalink)
Emulation64's Animal >:D
 
Keith's Avatar
 
Join Date: Apr 2001
Location: United States
Posts: 1,215
Nice work Spacy

I will give a post over at Emu64 and see if I can get some more feedback for you.
__________________




Emulation64.com | EFx2Blogs Forums | EFx2Blogs - Sign Up For Your Own Free EFx2Blog Today!
Keith is offline   Reply With Quote
Old June 19th, 2006   #7 (permalink)
Registered User
 
escargot's Avatar
 
Join Date: Jun 2006
Location: US
Posts: 7
Nice, always look forward to these builds
It seems to run a bit faster, did you implement the "smooth" feature by suanyuan?

the only feature I'd request is the ability to still rewind back, after a save state is loaded
(for when I want to return back before an incorrectly loaded save state)
escargot is offline   Reply With Quote
Old June 20th, 2006   #8 (permalink)
Emu author
 
Spacy's Avatar
 
Join Date: Mar 2005
Location: Germany
Posts: 373
No, I did not implement suanyuan's smooth feature yet.

I have no idea about how those save states and rewind functions work, but I think that your requested feature would increase the size of every save state. Anyone correct me if I'm wrong.
Spacy is offline   Reply With Quote
Old June 20th, 2006   #9 (permalink)
Registered User
 
Join Date: Apr 2006
Location: CHINA
Posts: 8
good jod Spacy !!! Final fantasy 4 is all ok u do, but airship go to town here is speed have are mini promblem and sound have are mini lagging.

tomotachi is offline   Reply With Quote
Old June 20th, 2006   #10 (permalink)
Dark Dragon
 
ShadowFX's Avatar
 
Join Date: Feb 2004
Location: The Netherlands
Posts: 67
Lightbulb

Wouldn't it be an idea to start using version numbers or WIP dates?
__________________
"Change is inevitable; progress is optional"
ShadowFX is offline   Reply With Quote
Old June 20th, 2006   #11 (permalink)
Banned
 
JKKDARK's Avatar
 
Join Date: Feb 2006
Location: Munich, Germany
Posts: 6,349
tomotachi: Post your PC specs (you don't need much). Were you using VBA and another program in the same time? Or maybe, the game is not perfectly playable..
JKKDARK is offline   Reply With Quote
Old June 20th, 2006   #12 (permalink)
Registered User
 
escargot's Avatar
 
Join Date: Jun 2006
Location: US
Posts: 7
Quote:
Originally Posted by Spacy
No, I did not implement suanyuan's smooth feature yet.

I have no idea about how those save states and rewind functions work, but I think that your requested feature would increase the size of every save state. Anyone correct me if I'm wrong.
as far as I know, I think when any save state is loaded the "rewind history" is restarted

taking out that reset trigger when save states are loaded should do it, I think.
escargot is offline   Reply With Quote
Old June 21st, 2006   #13 (permalink)
Emu author
 
Spacy's Avatar
 
Join Date: Mar 2005
Location: Germany
Posts: 373
Ok, I looked in the source code for that, you are right.

In the function "OnFileLoadSlot" residing in the file "MainWndFile.cpp", there are the following lines:

PHP Code:
  systemDrawScreen();

  
theApp.rewindCount 0;
  
theApp.rewindCounter 0;
  
theApp.rewindSaveNeeded false;

  return 
res;

I guess I'll just comment out the three lines in the middle.

Last edited by Spacy; June 29th, 2006 at 11:34.
Spacy is offline   Reply With Quote
Old June 22nd, 2006   #14 (permalink)
Registered User
 
Join Date: Jun 2006
Location: Omaha, NE
Posts: 5
Ports

Can you release the source so we can compile it in the Linux world?

If you'd like to get your feet wet with a port, I'd love to see a QT4 based frontend.

If you release your souces, there are plenty of people over at xbox-scene.com such as XPort, A600 and Nes6502 that would likely do an XBox port. XPort already has an XBox port of VBA, but he ended up rolling back to 1.7 sources. Given how well your sources run, he'd likely update his port to your sources.
enderandrew is offline   Reply With Quote
Old June 29th, 2006   #15 (permalink)
Emu author
 
Spacy's Avatar
 
Join Date: Mar 2005
Location: Germany
Posts: 373
HiHo, I just added some informations to the INSTALL on how to compile VBA with the (free) Express Edition of Visual C++ 2005. I was able to compile the SDL build out of the Visual Studio 2005 solution file.

So if you were not yet able to compile VBA yourself, you should have a look at the following piece of documentation:

Quote:
2. Windows
----------

2.1 Visual C++ 2005 Express Edition
-----------------------------------

If you want to use the free express edition of Visual C++ 2005,
you have to do the following steps prior to the normal setup procedure of Visual C++/Studio 2005:
!!! You will not be able to build the MFC (GUI) version of VBA, only the SDL build will succeed !!!
- First download and install VC++ 2005 Express from http://msdn.microsoft.com/vstudio/ex...C/default.aspx
- Now follow the guide at http://msdn2.microsoft.com/en-us/library/ms235626.aspx
- Now continue with section [2.2]

2.2 Visual C++ 2005
-------------------

Needed software:
- Microsoft Visual C++ 2005 (buy)
> http://msdn.microsoft.com/visualc/
> You do not need the DLL runtimes and the .NET Framework
- Microsoft Platform SDK (free, optional, essential only for express edition)
> http://www.microsoft.com/downloads/d...displaylang=en
- Microsoft DirectX 9.0 SDK (free, essential)
> http://msdn.microsoft.com/directx/sdk/
- Yasm (free, essential)
> http://www.tortall.net/projects/yasm/
> Unpack it anywhere on your pc, rename the exe to "yasm.exe" and add it to
"Tools>Options>Projects and Solutions>VC++ Directories>Executable files"
- AMD CodeAnalyst (optional, AMD CPU required)
> http://developer.amd.com/cawin.aspx?session_id=FB$37649@DJEBIGID
> Free and easy profiling for AMD CPUs (32bit and 64bit), Visual Studio 2005 plugin

Those are all packages for now. The VBA source also includes the
sources of various free libraries for zip, image and skin support.
Those can be accessed through the "dependencies" folder in the main
solution file. The main solution file includes references to all files
for all platforms. At the moment, only MFC and SDL build targets for
32bit Windows are configured. GTK+ and 64bit Windows support may also be possible.
You can now open the project file: "win32/vba_vs2005.sln".
You will receive three neglectable warnings if you use the express edition.
Spacy is offline   Reply With Quote
Old July 17th, 2006   #16 (permalink)
Registered User
 
Join Date: Apr 2006
Location: Berlin
Posts: 35
I guess "automagically appending numbers to screen captures" does not work anymore. At least i could not find an option for this and adding it everytime in the dialog window that pops up is kind of annoying. (Would be nice to have an option for this, so this window would not pop up every time you do a screenshot.)

Edit: Ok, i have to correct myself. Aparently it still does autoname the captures. At least sometimes... Which is then a bug.
I tried it twice now and one time it would increase the numbers and another time is just overwrites the first picture over and over. Look below why. o.o

Detailed report:
When you do a screencapture, the dialog window opens, so you could rename it. If you leave it open long enough, VBA automagically saves a file with appended, increasing number. But if you press enter too fast, you overwrite the unnumbered image (which has the default filename of the rom).
If you press ESC, VBA only saves the auto-increasing numbered image. If you press ESC very fast it does not save any image at all.
It would be nice to have an option to turn that dialog off (as I have stated above) if you want to have auto-increasing filenames.
Also i noted that sometimes it does not autocreate an image with an appended number, even if you wait. You have to press ESC and F12 again so it will create one.

Last edited by Sotho Tal Ker; July 17th, 2006 at 16:15.
Sotho Tal Ker is offline   Reply With Quote
Old July 18th, 2006   #17 (permalink)
Emu author
 
Spacy's Avatar
 
Join Date: Mar 2005
Location: Germany
Posts: 373
I just made a little fix to that. If a screenshot file already exists, VBA now just uses the next free slot. This could be implemented better, but that would need more changes to the source.

This fix will be present in the next binary release.




You just need to add the following code to line 1109 in file MainWnd.cpp (current CVS version):
PHP Code:
  // check if file exists
  
DWORD dwAttr GetFileAttributesbuffer );
  if( 
dwAttr != INVALID_FILE_ATTRIBUTES ) {
      
// screenshot file already exists
      
screenCapture(++captureNumber);
      
// this will recursively use the first non-existent screenshot number
      
return;
  } 

Last edited by Spacy; July 21st, 2006 at 10:40.
Spacy is offline   Reply With Quote
Old July 18th, 2006   #18 (permalink)
Registered User
 
Join Date: Oct 2005
Location: South A
Posts: 12
Is it possible, on a next release, to let you select any resolution available for your video card, and not only 640x480 and above ?
tisurame is offline   Reply With Quote
Old July 19th, 2006   #19 (permalink)
Emu author
 
Spacy's Avatar
 
Join Date: Mar 2005
Location: Germany
Posts: 373
Seems to be a bug, because I can select every resolution that I can also select in other games.

What graphics card and drivers are you using?

Last edited by Spacy; July 21st, 2006 at 10:40.
Spacy is offline   Reply With Quote
Old July 22nd, 2006   #20 (permalink)
Registered User
 
Join Date: Oct 2005
Location: South A
Posts: 12
I tested with 3 different PCs. Looks like there is an intentional limitation to modes greater than or equal to 640x480.

Maybe you need to remove the resolution limit from display mode enumeration (src/win32/VideoMode.cpp).

With older versions, I can use any valid resolutions supported by my system. With other emulators too.

Remember that some games also only let you select 640x480 or above.

Thanks.
tisurame is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


All times are GMT. The time now is 09:02.

© 2006 - 2008 Emu Forums | About Emu Forums | Legal | A member of the Crowdgather Forum Community


Powered by vBulletin® Version 3.7.0 Release Candidate 3
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.2.0 RC5