-
-
Notifications
You must be signed in to change notification settings - Fork 7
Home
Feel free to use it for personal surveys, summarizing survey results, etc.
Issues can be used for specific work or investigations that require cooperation.
Recommended developer environments.
- Visual Studio Code
- go1.24 for windows
- Git bash
- MSYS2 MinGW gcc for CGO
- MSYS2 MinGW
- DirectX SDK Download, avoid S1023 error
- python3 for windows
- Download MSYS2 from https://www.msys2.org/
- Run MSYS2 MINGW and run following commands
pacman -Syupacman -S make mingw-w64-x86_64-gcc mingw-w64-x86_64-ccache mingw-w64-x86_64-cmake mingw-w64-x86_64-lua mingw-w64-x86_64-ninja mingw-w64-x86_64-SDL2 mingw-w64-x86_64-toolchain mingw-w64-x86_64-libcdio- Add
C:\msys64\mingw64\binto PATH
-
git clonethis repository -
make install-toolsto get code-gen tools. - run
makethen bin/gdxsv is generated. (cgo required) - run
./bin/gdxsv initdbthengdxsv.dbis generated. - edit
build_run.shto fix server address. (optional. dont edit port number.) - run
build_run.sh
Update submodule or clone flycast gdxsv-dev branch.
git submodule initgit submodule update -r
- Run Visual Studio 2022 and open flycast directory as a CMake project.
When debugging Flycast (a dynamic recompilation emulator) in CLion, excessive SIGSEGV signals from JIT code generation cause severe performance degradation.
Configure GDB to ignore specific signals with a two-step setup:
Create ~/.gdbinit:
set auto-load local-gdbinit on
add-auto-load-safe-path /Create .gdbinit in project root:
handle SIGSEGV nostop noprint pass
handle SIGILL nostop noprint passKey Point
CLion does not execute project-specific .gdbinit files by default for security reasons. The home directory configuration is required to enable auto-loading of project-level GDB initialization files.
Currently, patchs are required for the game image to rewrite the server address.
Edit dcpatch/patch.go to your local address, and run it to rewrite track03.bin.
Start Flycast and it should connect to your local server.
- Select 「通信対戦」 menu
- Input PILOT NAME and go on to next menu.
- Select 「登録情報変更」
- Fill with dummy user info and hit 「次のページ」 > 「進む」
- Input HN and hit 「登録」
This is not for playing games, but for developing gdxsv. We will need another solution to play the game.
- https://github.com/inada-s/pcsx2/tree/gdxsv-dev
- https://github.com/inada-s/pcsx2/blob/gdxsv-dev/pcsx2/gui/Debugger/GundamDXDebug.cpp
Features:
- Set some pairs of r5900 address and C++ function on pcsx2 source.
- These breakpoints are set after the game startup.
- When the pc reaches a specific address, execution is stopped.
- Call stack (with label) are printed on emuLog.txt
- Then the registered function is called.
- The game is automatically restarted.
In this function, we can read/write memory and registers. This allows us to replace in-game function dynamically.
Note that you may unintentionally resume when using regular breakpoints.
Using CustomBreakPoint, Skip modem recognition and PPP connection, and use winsock to communicate when functions related to Tcp sockets are called.
The implementation is quite unreasonable.
Run pcsx2 customized version. The patch 1187BBDF.pnach will be automatically loaded after game iso launched.
- Select 「通信対戦」 menu
- Input PILOT NAME
- Select 「モデムの認識」menu (A patch enable you to move network menu)
- Select 「登録情報変更」
- 「次のページ」 > 「進む」
- Input HN and hit 「登録」