English Amiga Board

English Amiga Board (https://eab.abime.net/index.php)
-   support.WinUAE (https://eab.abime.net/forumdisplay.php?f=5)
-   -   How compile WinUAE... (https://eab.abime.net/showthread.php?t=65064)

WCoder 13 July 2012 18:47

How compile WinUAE...
 
Since 1 week, i try to compile WinUAE...

I try VC2008, VC2010, rename some c file to c++, try to find missing header zlib 7z ... try to find missing file across the net... the result is :banghead

Where can i found the complete source ?
or
Where can i found a tutorial to find\download ans assemble different lib and source code to have a complete source ?

What tool(s) is\are able to compile and link the result : MSVC and\or nams and\or MinGW...

or a good address for a hamer to :guru

This emulator seens to be the best amiga emulator but is compilation is a nightmare, i already compile Arnold, Caprice, Mame, Final burn and Winfellow but this one is :crazy.


Please help :help

WCoder

Toni Wilen 13 July 2012 20:15

Compile zlib and others manually or use this: http://www.winuae.net/files/b/winuaeinclibs.zip

msvc2010 required, correct project file is in winuae_msvc10.

WCoder 16 July 2012 11:38

Thanks,

So i re-start from scratch but it's not better, is it possible to have your winuae dev directory on a zip ?

What i try :
I download source from : WinUAE sources (http://www.winuae.net/frames/download.html)
I download libs from : http://www.winuae.net/files/b/winuaeinclibs.zip

I unpack 2 archives in the same directory now include from 2 archive are mix and lib directory was added to root.

I open od-win32\winuae_msvc10\winuae_msvc.vcxproj with VC10 pro (I have a licence with my job)

I wait until intellisence finish parsing.

Build -> Rebuild solution

I save sln file in the same folder of project ...

Compilation start and failed :

1>------ Rebuild All started: Project: winuae, Configuration: Debug Win32 ------
1>C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppBuild.targets(301,6): error MSB3191: Unable to create directory "d:\amiga\". The device is not ready.
1>C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppBuild.targets(301,6): error MSB3191:
========== Rebuild All: 0 succeeded, 1 failed, 0 skipped ==========

I don't have d disk so i create an amiga directory on C and change Output Directory to c:\amiga\


Build -> Rebuild solution

Compilation start with a lot of error...

Close an save solution to ensure pdb release ...
Build -> Rebuild solution
Compilation start with a lot of error...
change Working directory on project by c:\amiga\
Remove edit and continue
delete debug output directory
Remove multi-processor compilation
Clean
rebuild

=> Pdb error remove but a lot of error persiste :

1>------ Build started: Project: winuae, Configuration: Debug Win32 ------
1> pfile.cpp
1>c:\Program Files\Microsoft Visual Studio 10.0\VC\include\iosfwd(19): error C2146: syntax error : missing ';' before identifier 'streamoff'
1>c:\Program Files\Microsoft Visual Studio 10.0\VC\include\iosfwd(19): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>c:\Program Files\Microsoft Visual Studio 10.0\VC\include\iosfwd(19): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>c:\Program Files\Microsoft Visual Studio 10.0\VC\include\iosfwd(28): error C2143: syntax error : missing ';' before 'const'
1>c:\Program Files\Microsoft Visual Studio 10.0\VC\include\iosfwd(28): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>c:\Program Files\Microsoft Visual Studio 10.0\VC\include\iosfwd(28): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>c:\Program Files\Microsoft Visual Studio 10.0\VC\include\iosfwd(28): error C2146: syntax error : missing ';' before identifier '_BADOFF'
1>c:\Program Files\Microsoft Visual Studio 10.0\VC\include\iosfwd(28): error C2373: 'std::streamoff' : redefinition; different type modifiers
1> c:\Program Files\Microsoft Visual Studio 10.0\VC\include\iosfwd(19) : see declaration of 'std::streamoff'
1>c:\Program Files\Microsoft Visual Studio 10.0\VC\include\iosfwd(28): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>c:\Program Files\Microsoft Visual Studio 10.0\VC\include\iosfwd(38): error C2061: syntax error : identifier 'streamoff'
1> c:\Program Files\Microsoft Visual Studio 10.0\VC\include\iosfwd(117) : see reference to class template instantiation 'std::fpos<_Statetype>' being compiled
1>c:\Program Files\Microsoft Visual Studio 10.0\VC\include\iosfwd(63): error C2833: 'operator streamoff' is not a recognized operator or type
1>c:\Program Files\Microsoft Visual Studio 10.0\VC\include\iosfwd(63): error C2059: syntax error : 'newline'
1>c:\Program Files\Microsoft Visual Studio 10.0\VC\include\iosfwd(64): error C2334: unexpected token(s) preceding '{'; skipping apparent function body
1>c:\Program Files\Microsoft Visual Studio 10.0\VC\include\iosfwd(68): error C2143: syntax error : missing ';' before '-'
1>c:\Program Files\Microsoft Visual Studio 10.0\VC\include\iosfwd(68): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>c:\Program Files\Microsoft Visual Studio 10.0\VC\include\iosfwd(69): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>c:\Program Files\Microsoft Visual Studio 10.0\VC\include\iosfwd(73): error C2061: syntax error : identifier 'streamoff'
1>c:\Program Files\Microsoft Visual Studio 10.0\VC\include\iosfwd(74): error C2805: binary 'operator +=' has too few parameters
1>c:\Program Files\Microsoft Visual Studio 10.0\VC\include\iosfwd(74): error C2333: 'std::fpos<_Statetype>::operator +=' : error in function declaration; skipping function body
1>c:\Program Files\Microsoft Visual Studio 10.0\VC\include\iosfwd(79): error C2061: syntax error : identifier 'streamoff'
1>c:\Program Files\Microsoft Visual Studio 10.0\VC\include\iosfwd(80): error C2805: binary 'operator -=' has too few parameters
1>c:\Program Files\Microsoft Visual Studio 10.0\VC\include\iosfwd(80): error C2333: 'std::fpos<_Statetype>::operator -=' : error in function declaration; skipping function body
1>c:\Program Files\Microsoft Visual Studio 10.0\VC\include\iosfwd(85): error C2061: syntax error : identifier 'streamoff'
1>c:\Program Files\Microsoft Visual Studio 10.0\VC\include\iosfwd(91): error C2061: syntax error : identifier 'streamoff'
1>c:\Program Files\Microsoft Visual Studio 10.0\VC\include\iosfwd(102): error C2061: syntax error : identifier 'streamoff'
1>c:\Program Files\Microsoft Visual Studio 10.0\VC\include\iosfwd(103): error C2805: binary 'operator ==' has too few parameters
1>c:\Program Files\Microsoft Visual Studio 10.0\VC\include\iosfwd(103): error C2333: 'std::fpos<_Statetype>::operator ==' : error in function declaration; skipping function body
1>c:\Program Files\Microsoft Visual Studio 10.0\VC\include\iosfwd(114): error C2146: syntax error : missing ';' before identifier '_Myoff'
1>c:\Program Files\Microsoft Visual Studio 10.0\VC\include\iosfwd(114): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>c:\Program Files\Microsoft Visual Studio 10.0\VC\include\iosfwd(114): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>c:\Program Files\Microsoft Visual Studio 10.0\VC\include\iosfwd(140): error C2146: syntax error : missing ';' before identifier 'off_type'
1> c:\Program Files\Microsoft Visual Studio 10.0\VC\include\iosfwd(253) : see reference to class template instantiation 'std::_Char_traits<_Elem,_Int_type>' being compiled
1>c:\Program Files\Microsoft Visual Studio 10.0\VC\include\iosfwd(140): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>c:\Program Files\Microsoft Visual Studio 10.0\VC\include\iosfwd(140): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>c:\Program Files\Microsoft Visual Studio 10.0\VC\include\iosfwd(144): error C2061: syntax error : identifier '_In_count_'
1>c:\Program Files\Microsoft Visual Studio 10.0\VC\include\iosfwd(145): error C2059: syntax error : ')'
1>c:\Program Files\Microsoft Visual Studio 10.0\VC\include\iosfwd(146): error C2143: syntax error : missing ')' before '{'
1>c:\Program Files\Microsoft Visual Studio 10.0\VC\include\iosfwd(153): error C2061: syntax error : identifier '_In_z_'
1>c:\Program Files\Microsoft Visual Studio 10.0\VC\include\iosfwd(162): error C2061: syntax error : identifier '_Out_cap_'
1>c:\Program Files\Microsoft Visual Studio 10.0\VC\include\iosfwd(163): error C2059: syntax error : ')'
1>c:\Program Files\Microsoft Visual Studio 10.0\VC\include\iosfwd(164): error C2143: syntax error : missing ')' before '{'
1>c:\Program Files\Microsoft Visual Studio 10.0\VC\include\iosfwd(172): error C2061: syntax error : identifier '_Out_cap_'
1>c:\Program Files\Microsoft Visual Studio 10.0\VC\include\iosfwd(173): error C2059: syntax error : ')'
1>c:\Program Files\Microsoft Visual Studio 10.0\VC\include\iosfwd(174): error C2143: syntax error : missing ')' before '{'
1>c:\Program Files\Microsoft Visual Studio 10.0\VC\include\iosfwd(180): error C2061: syntax error : identifier '_In_count_'
1>c:\Program Files\Microsoft Visual Studio 10.0\VC\include\iosfwd(181): error C2059: syntax error : ')'
1>c:\Program Files\Microsoft Visual Studio 10.0\VC\include\iosfwd(182): error C2143: syntax error : missing ')' before '{'
1>c:\Program Files\Microsoft Visual Studio 10.0\VC\include\iosfwd(190): error C2061: syntax error : identifier '_Out_cap_'
1>c:\Program Files\Microsoft Visual Studio 10.0\VC\include\iosfwd(191): error C2059: syntax error : ')'
1>c:\Program Files\Microsoft Visual Studio 10.0\VC\include\iosfwd(192): error C2143: syntax error : missing ')' before '{'
1>c:\Program Files\Microsoft Visual Studio 10.0\VC\include\iosfwd(204): error C2061: syntax error : identifier '_Out_cap_'
1>c:\Program Files\Microsoft Visual Studio 10.0\VC\include\iosfwd(205): error C2059: syntax error : ')'
1>c:\Program Files\Microsoft Visual Studio 10.0\VC\include\iosfwd(206): error C2143: syntax error : missing ')' before '{'
1>c:\Program Files\Microsoft Visual Studio 10.0\VC\include\iosfwd(286): error C2146: syntax error : missing ';' before identifier 'off_type'
1>c:\Program Files\Microsoft Visual Studio 10.0\VC\include\iosfwd(286): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>c:\Program Files\Microsoft Visual Studio 10.0\VC\include\iosfwd(286): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>c:\Program Files\Microsoft Visual Studio 10.0\VC\include\iosfwd(307): error C2061: syntax error : identifier '_Out_cap_'
1>c:\Program Files\Microsoft Visual Studio 10.0\VC\include\iosfwd(308): error C2059: syntax error : ')'
1>c:\Program Files\Microsoft Visual Studio 10.0\VC\include\iosfwd(309): error C2143: syntax error : missing ')' before '{'
1>c:\Program Files\Microsoft Visual Studio 10.0\VC\include\iosfwd(292): error C2065: '_CSTD' : undeclared identifier
1>c:\Program Files\Microsoft Visual Studio 10.0\VC\include\iosfwd(292): error C2146: syntax error : missing ')' before identifier 'wmemcmp'
1>c:\Program Files\Microsoft Visual Studio 10.0\VC\include\iosfwd(292): error C2059: syntax error : ')'
1>c:\Program Files\Microsoft Visual Studio 10.0\VC\include\iosfwd(297): error C2065: '_CSTD' : undeclared identifier
1>c:\Program Files\Microsoft Visual Studio 10.0\VC\include\iosfwd(297): error C2146: syntax error : missing ')' before identifier 'wcslen'
1>c:\Program Files\Microsoft Visual Studio 10.0\VC\include\iosfwd(297): error C2059: syntax error : ')'
1>c:\Program Files\Microsoft Visual Studio 10.0\VC\include\iosfwd(303): error C2065: '_CSTD' : undeclared identifier
1>c:\Program Files\Microsoft Visual Studio 10.0\VC\include\iosfwd(303): error C2146: syntax error : missing ')' before identifier 'wmemcpy'
1>c:\Program Files\Microsoft Visual Studio 10.0\VC\include\iosfwd(303): error C2059: syntax error : ')'
1>c:\Program Files\Microsoft Visual Studio 10.0\VC\include\iosfwd(310): error C2065: '_First1' : undeclared identifier
1>c:\Program Files\Microsoft Visual Studio 10.0\VC\include\iosfwd(310): error C2065: '_Size_in_words' : undeclared identifier
1>c:\Program Files\Microsoft Visual Studio 10.0\VC\include\iosfwd(310): error C2065: '_First2' : undeclared identifier
1>c:\Program Files\Microsoft Visual Studio 10.0\VC\include\iosfwd(310): error C2065: '_Count' : undeclared identifier
1>c:\Program Files\Microsoft Visual Studio 10.0\VC\include\iosfwd(310): error C3861: '_CRT_SECURE_WMEMCPY': identifier not found
1>c:\Program Files\Microsoft Visual Studio 10.0\VC\include\iosfwd(311): error C2065: '_First1' : undeclared identifier
1>c:\Program Files\Microsoft Visual Studio 10.0\VC\include\iosfwd(317): error C2065: '_CSTD' : undeclared identifier
1>c:\Program Files\Microsoft Visual Studio 10.0\VC\include\iosfwd(317): error C2146: syntax error : missing ')' before identifier 'wmemchr'
1>c:\Program Files\Microsoft Visual Studio 10.0\VC\include\iosfwd(317): error C2059: syntax error : ')'
.....

Toni Wilen 16 July 2012 12:49

Quote:

Originally Posted by WCoder (Post 829218)
=> Pdb error remove but a lot of error persiste :

I think this is caused by conflicting header file directories in VS, for example SDK that comes with VS and updated separately installed SDK somewhere else and both are configured in compiler's include file paths.

WCoder 16 July 2012 13:42

I try with base vc2010 includes and with my standard dev env (user for other emulator ) see bellow:

Witch one is really need and what the right order ?

I use x86 version of :
* SDK (Windows® Software Development Kit (SDK) for Windows 7 and .NET Framework 3.5 Service Pack 1)
* DDK (7600.16385.1)
* Dx it's the last one

My includes directories :
C:\Sdk\DirectX\Include
C:\Sdk\Win32\Samples\multimedia\directshow\baseclasses
C:\Sdk\Win32\Include
C:\Sdk\Win32\Include\gl
C:\Sdk\DDK\inc
C:\Sdk\DDK\inc\api
C:\Sdk\DDK\inc\crt
C:\Sdk\DDK\inc\ddk
C:\Sdk\OpenCV_2.3.1\build\include
C:\Sdk\OpenCv\include
C:\Sdk\OpenCv\include\opencv
$(VCInstallDir)include
$(VCInstallDir)atlmfc\include
$(WindowsSdkDir)include
$(FrameworkSDKDir)\include

Toni Wilen 16 July 2012 13:52

Other emulators probably don't need as many DDK files as winuae which hides this problem.

I only have:

- DX SDK (June 2010)
- external includes (files that come with winuaeinclibs)

Plus default MSVC includes:
$(VCInstallDir)include
$(VCInstallDir)atlmfc\include
$(WindowsSdkDir)include
$(FrameworkSDKDir)\include

DDK is not required, winuaeinclibs already contains required files (copied from DDK)

I think your DDK paths are wrong, only include/api should be set. (I am quite sure include/crt will conflict with Windows SDK files)

WCoder 16 July 2012 14:05

For my specific include it working for Xp to Seven OS :
- I can compile my project who include
- Dx (9, 9Ex)
- MFC
- GDi++
- STL
- ATL
- Some Kernel driver.
- Some Direct Show filter \ Media Fondation \ DXVA 1 & 2 \ EVR custom filter
- Some Service (with COM part)
- Some Com\ActiveX

Do you use the pro or the express version of VC ?

WZ

WCoder 16 July 2012 15:11

Hi finally i found it a problem with STL70 i downgrade to STL60 and i have only one error :

1> cpuemu_21.cpp
1>c1xx : fatal error C1083: Cannot open source file: '..\..\cpuemu_21.cpp': No such file or directory

Can some one have this file for the package : winuaesrc2410 ?

Note : There's an option on VC10 that log all included file when compiling it's very usefull :bowdown

WZ

WCoder 16 July 2012 15:57

Hi finally i found the compile problem it a problem with STL70 i downgrade to STL60 and it reduce error, but some file are missing :
* blit.h <- include from blitter.cpp
* Blitfunc.cpp
* blittable.cpp
* cpudefs.cpp
* cpuemu_0.cpp
* cpuemu_11.cpp
* cpuemu_12.cpp
* cpuemu_20.cpp
* cpuemu_21.cpp
* cpuemu_31.cpp
* linetoscr.cpp <- include from drawing.cpp
* prowizard.lib <- link problem

Where can i found these file ?

for hqxxxx.obj file : execute VS2010 Cmd shell with nasm on path and run asm

for resource compile bug see (on the bottom comment ) : http://msdn.microsoft.com/en-us/libr...=vs.90%29.aspx

Note : There's an option on VC10 that log all included file when compiling it's very usefull :bowdown

WZ

Toni Wilen 16 July 2012 16:05

Quote:

Originally Posted by WCoder (Post 829283)
Hi finally i found the compile problem it a problem with STL70 i downgrade to STL60 and it reduce error

Weird. It would be nice to find the file(s) that cause this problem..

Quote:

but some file are missing
Compile and run projects:
- build68k
- gencpu
- genblitter
- gencomp
- genlinetoscr

This creates all "missing" files.

WCoder 16 July 2012 17:20

Still missing lib :
* freetype.lib
* prowizard.lib

I compile successfully :
* build68k_msvc
* genblitter_msvc
* genlinetoscr_msvc
* gencomp_msvc
* gencpu_msvc

need to copy c file to cpp
* cpudefs.cpp
* Blitfunc.cpp
* blittable.cpp

need to rename libpng15.lib to libpng.lib

Need to call manually exe to dump file contant
* linetoscr.cpp

Toni Wilen 16 July 2012 19:06

png library was updated in 2.4.1. Do you have latest source?

Did you build "gen" projects using 32-bit release mode?

freetype isn't needed and prowizard is separate project that creates the lib.

WCoder 17 July 2012 08:53

Sorry i use debug... with release it's better...

Because i use VC2008 every day at work, i correct the VC2008 project (debug only for the moment)

For prowizard source is missing so i extract it from https://github.com/tonioni/WinUAE/

NoisePacker3.c is missing i get it from : http://www.koders.com/c/fidBB33E54DC...mas+Neumann%22

GameMusicCreator.c is missing i get it from : http://www.koders.com/c/fidACE922698...mas+Neumann%22

change c:\dev\lib\prowizard.lib to ..\..\lib\prowizard.lib

Now the compilation is ok, i only have a link error with prowizard_search so i comment call on moduleripper and associated header...

An now i can play to superfrog with my compiled version.

I need to found how solve the link error and i can send you the winuae project (vcproj only) correct (remove dead file, add missing i made a dif with the vc2010 project)

Thanks for your help Toni :great

Wizard

Toni Wilen 20 July 2012 18:48

I can include fixed 2008 project file but it probably will get out of sync quickly :)

copse 27 October 2012 12:23

I've followed the above instructions, and gotten to the point where the sole remaining problem is:
Code:

1>------ Build started: Project: winuae, Configuration: Release Win32 ------
1>  aros.rom.cpp
1>c1xx : fatal error C1083: Cannot open source file: '..\..\aros.rom.cpp': No such file or directory
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

Any pointer for the correct way to resolve this?

If I google for this file and just use a version from wherever, it compiles but.. then I get:
Code:

9>LINK : fatal error LNK1181: cannot open input file '..\hq2x16.obj'
Is there a correct solution for this?

Cheers!

FrodeSolheim 27 October 2012 12:35

Quote:

Originally Posted by copse (Post 847360)
I've followed the above instructions, and gotten to the point where the sole remaining problem is:
Code:

1>------ Build started: Project: winuae, Configuration: Release Win32 ------
1>  aros.rom.cpp
1>c1xx : fatal error C1083: Cannot open source file: '..\..\aros.rom.cpp': No such file or directory
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

Any pointer for the correct way to resolve this?

Cheers!

Hi, I don't think aros.rom.cpp is included in WinUAE's git repository, but it is included in the source zip files, so try downloading the latest one and copy over the file.
(aros.rom.cpp contains the AROS kickstart replacement, and is not really source code, but rather a binary encoded as a C source file for inclusion into the final executable).

Toni Wilen 27 October 2012 13:08

Quote:

Originally Posted by copse (Post 847360)
Code:

9>LINK : fatal error LNK1181: cannot open input file '..\hq2x16.obj'

hq filter files are not assembled automatically, you need nasm (free software) to compile them.

EDIT: just delete those references from project and delete code that now causes compilation errors. You must likely won't need either :)

copse 28 October 2012 00:41

Quote:

Originally Posted by Toni Wilen (Post 847364)
hq filter files are not assembled automatically, you need nasm (free software) to compile them.

EDIT: just delete those references from project and delete code that now causes compilation errors. You must likely won't need either :)

Alrighty, that's excellent. Thanks guys!

Here's my complete list of steps to get from nothing to WinUAE:
  1. git clone https://github.com/tonioni/WinUAE.git
  2. Open WinUAE\od-win32\winuae_msvc10\winuae_msvc.sln, and select Release mode.
  3. Download and extract http://www.winuae.net/files/b/winuaeinclibs.zip
  4. Open the Property Manager pane.
  5. Select all the projects and add a new project property sheet.
  6. Select the new shared property sheet and add winuaeinclibs\include as an include path.
  7. Select the new shared property sheet and add winuaeinclibs\lib as an lib path.
  8. Edit winuae.rc and replace '#include "afxres.h"' with '#include "windows.h"', and also add a define for "#define IDC_STATIC -1".
  9. Build each of build68k, gencpu, genblitter, gencomp, genlinetoscr repeatedly until they all build.
  10. If the build process complains about "hq2" related objects, remove them and define out the code that references functions from them.
This is a walk in the park compared to what it used to be like before you made the includes and libs archive available Toni. Great stuff.

WCoder 29 December 2012 10:00

Frame rate Synchonisation question...
 
Code:

Hi, I have an other question...
 
  I don't understand the synchronization between graph & audio and generally the mechanism used to fixes frame rate....
 
  I replace audio renderer by a ring\circular buffer with a read and write cursor...
 
  I want to use the sound playing buffer like a clock to regulate frame rate...
  I want to use the amount of available data to regulate 64K opcode execution.
                                                                                     
  Slowdow execution  ---------<====>++++++  Speedup execution
 
  If amount of data symbolize by ‘v’ is on ‘=’ I don’t do anything, if it’s on ‘-‘ I need to reduce CPU speed if it’s on ‘+’ I need to speed up execution….
 
  I already remove “docorrection“ that seems to speed up or slow down the sound not my goal (maybe an error ?)….
 
  I already reduce WinUAE source code to 4.35 Mo with 95 files (fix option to 32 bits graph with 16 bits audio), restrict to CPU A500 (keep AGA for the moment (superfrog seems to need it (not sure)), remove platform specific code like ASM, DirectX, WinUAE, DDK... except: Timer\event\wait and the strange thread used on trap, I don't understand this part too ... for the moment ^_^...
 
  I made test with Turrican 2, ProjectX and Superfrog, and except that sound oscillate between good & noisy, graph speed is ok…
 
  If I understand WinUAE read start time using figure_processor_speed and store it on syncbase…
 
  During execution, it read current time with read_processor_time and call sleep_millis2 : two version on who really sleep an other that sleep but add sleep time to a cumulative var ????
 
  All this mechanism seems to be done using this var :
  syncbase,  curr_time, vsyncwaittime, vsynctimebase, vsyncmaxtime, m68k_speed, m68k_speed_throttle, cpu_clock_multiplier, cycles_mult, cpucycleunit
 
  and this function:
  framewait, read_processor_time, figure_processor_speed, sleep_millis2
 
  Can you help me to understand this code design it's high coding level and i haven't all card to understand it ?
 
  Thanks,
 
  WCoder
 
  Ps: Sorry for my bad English level ^_o


Toni Wilen 29 December 2012 10:19

sound_setadjust() already does what you explained, it changes whole emulation timing to speed it up or down it (vsynctimebase).

DirectSound uses circular buffer, others use ping-pong buffers. It is complex because every "mode" has slightly different requirements (vsync modes are very tricky)

Just changing CPU speed wouldn't help.


All times are GMT +2. The time now is 16:49.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.

Page generated in 0.05334 seconds with 11 queries