{"id":16842559,"url":"https://github.com/rofl0r/unipcemu","last_synced_at":"2025-07-07T06:39:06.487Z","repository":{"id":138312018,"uuid":"310973949","full_name":"rofl0r/uniPCemu","owner":"rofl0r","description":"personal clone of unipcemu, formerly known as x86emu, for github code search","archived":false,"fork":false,"pushed_at":"2020-11-08T03:05:45.000Z","size":25938,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"default","last_synced_at":"2025-03-18T05:44:06.041Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://bitbucket.org/superfury/unipcemu","language":"C","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rofl0r.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-11-08T02:57:23.000Z","updated_at":"2024-07-06T09:54:57.000Z","dependencies_parsed_at":null,"dependency_job_id":"6f639f32-a649-4eb0-a8a0-6b63511a1fa8","html_url":"https://github.com/rofl0r/uniPCemu","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rofl0r/uniPCemu","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rofl0r%2FuniPCemu","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rofl0r%2FuniPCemu/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rofl0r%2FuniPCemu/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rofl0r%2FuniPCemu/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rofl0r","download_url":"https://codeload.github.com/rofl0r/uniPCemu/tar.gz/refs/heads/default","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rofl0r%2FuniPCemu/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264029887,"owners_count":23546564,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-13T12:46:43.698Z","updated_at":"2025-07-07T06:39:06.472Z","avatar_url":"https://github.com/rofl0r.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# README #\n\nThis README would normally document whatever steps are necessary to get your application up and running.\n\n### What is this repository for? ###\n\n* Quick summary\n\t- The UniPCemu x86 emulator project.\n* Version\n\t- Currently unused. Releases are the commit date in format *YYYYMMDD_HHMM*.\n\n### How do I get set up? ###\n\n* Summary of set up\n- This repository goes into a folder named UniPCemu.\n- Pull the submodules as well for it's required Makefiles and source code files for compilation.\n- Install Minimalist PSPSDK devkit(PSP, up to version 0.10.0 is compiling UniPCemu(although with lots of sprintf warnings). Newer versions currently fail linking.) or Visual C++, MinGW(Windows)/MSYS2(See **MSYS2.txt**) or GNU C++ toolchain(Linux).\n- Install SDL packages for the devkit, in C:\\SDL for Windows(copy SDL2-2.* folder contents to C:\\SDL\\SDL2 (and the SDL2_net folder to C:\\SDL\\SDL2_net), to use SDL 1.2.*, copy the folder contents to C:\\SDL\\SDL1.2.15(and the SDL_net folder to C:\\SDL\\SDL_net-1.2.8)), installers for MinPSPW and /mingw(SDL or SDL2).\n- Install SDL(2) with or without SDL(2)_net for network support on your machine on Linux, according to the official build steps from libsdl.org.\n- For Linux:\n\t- Run autogen.sh if the configure script doesn't run correctly.\n\t- Run the configure script to configure and build the Makefile required for the project.\n\t- Run make linux [re]build [SDL2] [SDL[2]_net] [x64], with the optional parts being between brackets(SDL2+, SDL(2)_net for network support, x64 for 64-bit compilation is required. All others depend on the libraries to use).\n\t- Run (with sudo for installation rights) the above command, replacing [re]build with install to install the application for usage.\n- For Visual C++:\n\t- Open the projects within the VisualC subfolders(the solution file) and compile SDL2 and SDL2main. Also compile the SDL2_net project when used(after compiling SDL2 itself).\n\t\t- Don't forget to add the paths **C:\\SDL\\SDL2\\include** to both Win32 and x64 target include directories, as well as **C:\\SDL\\SDL2\\VisualC\\$(Platform)\\$(Configuration)** to both Win32 and x64 target library directories.\n\t\t- Don't forget to change the Output directory to **$(SolutionDir)$(Platform)\\$(Configuration)\\ ** and the Intermediate directory to **$(Platform)\\$(Configuration)\\ ** for SDL 1.2 itself and SDLmain.\n\t\t- Don't forget to add the paths **C:\\SDL\\SDL-1.2.15\\include** to the include directories and **C:\\SDL\\SDL-1.2.15\\VisualC\\$(Platform)\\$(Configuration)** to both Win32 and x64 target platform directories for SDL_net.\n\t\t- Don't forget to set the output and intermediate directories for SDL_net to **$(Platform)\\$(Configuration)\\ **.\n\t\t- Don't forget to set the output file within the tab linker\\general to **$(OutputPath)SDL.dll** for SDL and **$(OutputPath)SDL_net.dll** for SDL_net.\n\t- Set the Visual C++ Local Windows Debugger for the project to use **$(TargetDir)** for it's working directory, to comply with the other paths set in the project.\n\n* Configuration\n\t- Make sure there is a compile directory parallel to the project directory(projects_build\\unipcemu) with a duplicate directory tree of the project repository(automatically createn by remake.bat on Windows and by Windows/Linux when building using the Makefile).\n* Dependencies\n\t- See set up.\n* Adding the Android SDL2 build to the Android project(directories relative to the SDL2 root directory, e.g. SDL2-2.X.X)\n\t- Download the latest source code version of SDL2 from the project homepage. \n\t- Copy the **android-project\\src\\org** (**android-project\\app\\src\\main\\java\\org** for SDL2.0.8+) directory to **android-project/src**.\n\t- Copy the **include** and **src** directories, as well as the **Android.mk** file to the **android-project/jni/SDL2** folder.\n\t- For SDL 2.0.9 and below: Edit **android-project/jni/SDL2/src/video/android/SDL_androidevents.c**, replace \"#define SDL_ANDROID_BLOCK_ON_PAUSE  1\" with \"#define SDL_ANDROID_BLOCK_ON_PAUSE  0\" (both unquoted).\n* Adding Android SDL2_net to the Android project\n\t- Download the latest version of SDL2_net from the project homepage.\n\t- Copy all **SDLnet*.c/h**, **SDL_net.h** and **Android.mk** files to a newly created directory **android-project\\jni\\SDL2_net** folder.\n\t- Edit **android-project\\src\\org\\libsdl\\app\\SDLActivity.java**, removing **//** before **// \"SDL2_net\",**.\n* Adding required Android Studio symbolic links to the Android project\n\t- Execute android-studio\\app\\src\\main\\generatelinks.bat from an elevated command prompt to generate the symbolic links in the folder.\n* How to run tests\n\t- Run the **remake.bat** file in the project directory(Requires tools repository) and use a PSP emulator to test(like JPCSP, which is supported by the batch file). On Windows, open the Visual C++ project, build and run.\n* Deployment instructions\n\t- Simply build using the devkit(Makefile command **make psp/win/linux [re]build [SDL2[-static]]**(to (re)build SDL2 with(out) static linking)\" (alternatives to [re]build exist, like [re]profile and analyze[2]. SDL[2]_net adds network support using said libraries) or Visual C++, copy the executable (x86EMU_x[arch].exe for windows or EBOOT.PBP for the PSP) to the executable directory, add SDL libraries when needed(automatically done when using MSys/MinGW and most Makefiles), add disk images to use according to the documentation and run the executable. Setting up is integrated into the executable, and it will automatically open the Settings menu for setting up during first execution. The settings are saved into a SETTINGS.INI text file.\n\t- Add the mingw32/mingw64 parameter to the above command when using MSys/MinGW compilers.\n\t- To make the Android NDK use the SDL2_net library and compile with internet support, add \" useSDL2_net=1\" to the usual ndk-build command line or equivalent. A more simple version is using the build.bat to compile(which will automatically use the correct build with(out) SDL2_net). Otherwise, it isn't enabled/used. It's also an automatic process with Android Studio.\n\n### Extra files ###\n\n* Dial-up server\n\t- UniPCemu/modemconnect.slip.scp is a Windows 95 SLIP connect script to connect to the server using the SLIP protocol.\n\t- UniPCemu/modemconnect.ppp.scp is a Windows 95 PPP connect script to connect to the server using the PPP protocol. \n\n### Contribution guidelines ###\n\n* Writing tests\n\t- Undocumented\n* Code review\n\t- Add an issue to the issue tracker and report the change.\n* Other guidelines\n\n### Who do I talk to? ###\n\n* Repo owner or admin\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frofl0r%2Funipcemu","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frofl0r%2Funipcemu","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frofl0r%2Funipcemu/lists"}