Releases: emu-russia/pureikyubu
DolwinPlayground for Ubuntu (0.132)
DolwinPlayground for Ubuntu (0.132)
This is the first attempt at porting Dolwin to Linux-like operating systems.
Let me remind you that Playground is a "smaller" version of Dolwin, without a graphical interface and with Null backends (that is, no graphics, sound, etc.). All that is visible to the user is the emulator debug messages.
Porting was done in WSL2 environment on Windows, Ubuntu version 18.04.
Launch
Command line example:
./DolwinPlayground ./pong.dol
Example output:
Build
Those who have been building projects in Linux for a long time should not encounter any problems:
cd ~
git clone https://github.com/ogamespec/dolwin.git
cd dolwin
cmake ./
cmake --build ./
After that, you can copy the resulting executable file DolwinPlayground
from the folder SRC/UI/Playground/Scripts
to the folder ~/dolwin
where the folder Data
is located, which is needed for the emulator to work.
Why there are so many .so files
There was a problem while building with static c++ classes that are used from different libraries. For some reason these classes ended up in each of the libraries and the static singleton constructor provoked Segfault.
Who knows how to properly link static libraries with static c++ classes (singletons) - please write in Discord.
Thanks
I would like to express special gratitude to edgbla
for the valuable tips in porting the code and for the friendly chat.
Dolwin 0.131
Dolwin 0.131 Release Notes
Intermediate release related to source code refactoring. It was decided to make the emulator cross-platform.
Now the whole core is in a separate executable module (for Windows it is DolwinEmu.dll), and the user interface and debugger in the main executable file.
From the user side no special improvements are noticeable, games still show only splash screens at best :-)
There may be various bugs in the interface after refactoring, they will be fixed over time.
For developers
The source tree has changed a bit:
- The whole debug console interface went to the UI folder
- Backends folder formed
For more details, you can read the Readme for the specified folders.
If you have any questions, visit official Discord channel: https://discord.gg/Ehz8PYA
DolwinPlayground 0.131
DolwinPlayground
First release of Dolwin transition as a cross-platform project.
Situation with rebranding
Public is interested in the possibility of launching and porting Dolwin in other OSes.
Therefore, a small rebranding was made, now Dolwin stands for "Nintendo GameCube Emulator not only for Windows". Lol.
As soon as the opportunity arises, all Win32 dependencies will be cleaned up and the portable code will be encapsulated as much as possible.
Essentially the emulator is purely algorithmic code, with the exception of the user interface and audio/video/controllers interactions. Therefore, I don't see any problems here.
What is DolwinPlayground
This is the most portable version of the Dolwin build.
The emulation is loaded and started via the command line (argv[1]
is path to the file that you want to run).
Debug messages (Debug::Report
) are printed using printf
.
The emulator core uses Null
backends (AudioNull, VideoNull, GraphicsNull, PadNull).
You can use this code as a reference example to create your own Dolwin UI implementation.
GUI version
The build of the major version (Dolwin.sln) is not yet available. Use DolwinPlayground.sln.
Dolwin 0.130
Dolwin 0.130 Release Notes
The release with unlucky number 13 was split into two releases: 0.130 and 0.131. These superstitious programmers..
What's new:
- MMU support
- Support cache emulation
- Dynamic recompiler (JITC)
- Improved emulation of graphics FIFO
- Many other minor improvements
All these things were added experimentally and at the moment the cache and recompiler are temporarily disabled. If you are a developer, you can rebuild Dolwin with the cache and recompiler turned on.
The cache is enabled with the command CacheDebugDisable 0
.
The recompiler is turned on in SRC\Core\Gekko.cpp, line 20 (but the interpreter must be disabled).
Between 0.130 and 0.131, I will try to fix all incomprehensible bugs with cache and recompiler so that they are included in the next release.
Requirements
- Dolwin makes heavy use of multicore multithreading. Therefore, it is desirable that your processor contains 4 or more cores.
- The memory requirements are not so strict, a few gigabytes should be enough
- Emulation requires DSP IROM / DROM dumps
- A BIOS image dump is not required, but if you want to experiment with it, you can also add it in the settings. The BIOS is launched through the menu File -> Run Bootrom. Then you need to wait a bit and open the drive cover (File -> Swap Disk -> Open Cover). After that, IPL Menu will start :p
What happens
Overall, the GameCube emulation has made significant progress. Games such as Ikaruga, 18 Wheeler, Super Monkey Ball, and for example Ed, Edd and Eddy are launched.
However, not all of them reach Ingame, contain graphic bugs and suffer from lags.
Most games still do not start due to insufficiently accurate emulation of the DSP or GPU.
The next release (0.131) is aimed precisely at eliminating all the shortcomings of DSP emulation, so that at last you can launch such top games as Legend of Zelda.
SamplingProfiler 1.0
SamplingProfiler
Utility application for analyzing data collected using the Sampling Profiler (StartProfiler
and StopProfiler
commands).
Example profiling of smp-onetri demo with map:
Controls
Input data:
- Json with collected samples (sampleData)
- GameCube main memory dump (can be obtained using the
ramsave
command). It should be kept in mind that if the program loaded overlay during the collection of samples, then the code that was sampled before may differs to the sampled addresses. I have not yet figured out how it is more convenient to make support for overlays (DolphinSDK REL files) - Symbolic information (Map). Supports CodeWarrior and Dolwin RAW map formats.
More information can be found in Docs\EMU folder.
You also need Dolwin Data folder.
Dolwin 0.12
Dolwin 0.12 Release Notes
This release is an intermediate (WIP).
It was decided to slightly move the original plans for adding a recompiler and transfer them to 0.13.
This is due to the fact that the planned sound support, as it turned out, requires significant redesign of two Flipper components: DI and AI.
- Redesigned interface for interaction with the DVD subsystem. It has become closer to the real interface of the connector. (#62)
- Added support for DVD Audio and ADPCM decoder (#63)
- Supports AI DMA (#20)
- Sound output using DirectSound (#20)
Problems with sound synchronization still remain, but they are associated with some architectural limitations and how to fix them is also clear.
This release does not include traditional documentation (the Docs folder), but I’ll add a couple of documents that were created during the development process.
I hope that they are useful to someone else :=)
Be healthy)
Dolwin 0.11
Dolwin 0.11 Release Notes
This release is still in WIP status.
What's new compared to 0.10
Fuh, it’s hard to tell in a nutshell, but I’ll try.
Firstly, the development has been restarted since 2004. Can you imagine what fossils you had to work with. Major changes:
- Multithreading: the emulator engine is prepared for multitask execution of all components. Now the interface, processor emulation, DSP and non-invasive debugger can simultaneously work on the background. All this can be stopped and run separately at any time.
- Basic emulation of GameCube DSP. It’s enough that the games do not hang at the very beginning. In future releases, support will be improved for sound output.
- The new JDI infrastructure has been added to the debugger (more details can be found here: https://github.com/ogamespec/dolwin/blob/master/Docs/EMU/JsonDebugInterface.md)
- The interface is translated to Unicode, the settings are now stored in Json. The settings themselves are greatly simplified.
- The source code is cleaned and divided into sub-projects
Plans for the next releases can be viewed on GitHub: https://github.com/ogamespec/dolwin/milestones
PS. This is not an April's joke, by the way Dolwin 0.10 was also released on April 1 :P
Prerequisites
To run it requires DSP ROM dumps (known as dsp_irom.bin and dsp_coef.bin) and preferably GameCube IPL BIOS dumps (original 2 MByte encrypted dumps). Altered versions of IPL.bin are not supported.
Generally speaking, the launch of something is not guaranteed, as mentioned above, the emulator is still in the WIP stage :P
Contacts
GitHub: https://github.com/ogamespec/dolwin
Discord: https://discord.gg/Ehz8PYA
Russian IRC channel: #emu-russia (NewNet)