GithubHelp home page GithubHelp logo

jpd002 / play- Goto Github PK

View Code? Open in Web Editor NEW
2.0K 2.0K 247.0 21.81 MB

Play! - PlayStation2 Emulator

Home Page: http://purei.org

License: Other

HTML 0.30% C++ 87.97% C 5.45% Shell 0.07% NSIS 0.39% Java 1.99% Objective-C 0.31% Objective-C++ 1.33% CMake 1.54% Batchfile 0.03% JavaScript 0.04% TypeScript 0.52% CSS 0.05%
cpp emulation emulator playstation-2

play-'s People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

play-'s Issues

Why is there no Linux port?

Hey, I was wondering why there is not a Linux port of this emulator. Hell, I'll happily cease production of my emulator if you get yours working fully on Linux.

Error parsing 'SYSTEM.CNF' for a BOOT2 value.

So I tried loading Hot Shots Golf Fore! on my device with KitKat, and I'm getting an error message that says "Error parsing 'SYSTEM.CNF' for a BOOT2 value." I realize some developers may not have the game to reproduce, but I was thinking it was possible to check and see why this error may be given with this game?

Like, in the code of Play to see what would trigger such an error and what it means? Here's a screenshot:

screenshot_2015-05-29-17-27-57

I made sure the .ISO is fine and tried with PCSX2 and the game starts/works, and the checksum is fine too.

Detected backdoor in Play!

Is this a false positive?

Backdoor.Bifrose is what it is detected as to be exact.

Running latest weekly build from the site.

Maintain a set of hardware tests

I've found hardware tests to be the most efficient and effective method of improving compatibility. I've used them almost religiously for the vast majority of PPSSPP's HLE that I've worked on, and for a lot of the jit and etc.

For an example, the vmax SIMD function on a PSP (custom SIMD unit) considers -NAN to be less than -INF. It turns out that proper NAN/INF handling was important for a few games. This would've been pretty hard to guess without hardware tests (although it makes sense when you think about it.)

Such tests can also be used as regression tests, which is also hugely useful.

So, I think hardware tests would be very useful. Specifically:

  • ELF files or otherwise that can be directly run by the emulator, tooling on real hardware, or even other emulators (which can be useful for reference and also for those other emulators.)
  • Versioned results / expectations (we just compare and save stdout in pspautotests.)
  • Specific and organized by feature (so it's easier to pinpoint failures and they don't cascade as much.)

Presumably ps2link could be used to execute things on the PS2.

I don't know how to run homebrew yet on my PS2, there seems to be lots of methods that seem tricky online...

-[Unknown]

Unable to boot any games on OSX

  1. Open Play! on OSX 10.10.2
  2. File -> Boot Disk Image...
  3. Select a rom (ISO format)

Get an error: Load ELF error
image

Am I doing something wrong?

Any new builds/updates of Play! soon?

I checked the website and the latest build of Play! is from 2011, which is almost 4 years from now and is when this project was only Windows focused. Now there's WIP with Android, and OS X is right up to par, no?

I was just generally wondering if there will be official builds updated anytime soon, whether on the site or here on GitHub. I see there's an Android branch, so maybe someone can work on an Alpha test build with the GS handler or something? And since OS X is back up to speed, maybe a build of that can be made to test?

Would be interesting to know if you plan on doing this and updating your site and such with info/screenshots.

Libretro port

Unlike other PS2 emulators, Play! is much more portable. Have you thought about a port to Libretro? It would give much more attention to the project, and would allow it to be ported to a wide variety of platforms.

libretro.com

PS2 Hardware Documentation

I know it wouldn't be a trivial amount of work but could you @jpd002 consider writing a PS2 hardware documentation like the ones available for the PS1, GBA and DS? Perhaps in collaboration with the PCSX2 devs? Presently not many people understand PS2 hardware thus both Play and PCSX2 lack contributors.
I am talking about something like this
https://github.com/simias/psx-guide/blob/master/guide.tex
https://svkt.org/~simias/guide.pdf
http://problemkaputt.de/psx-spx.htm
http://problemkaputt.de/gbatek.htm

Ratchet & Clank 3 doesn't boot

Game doesn't boot because of those so far:

  • PLZCW that uses an unsupported variation of the LZC opcode in CodeGen for x86.
  • IOP SysMem module memory allocation problem.

error 64 bit build

to open the program this error message appears: "Could not locate the entry point of the procedure, CreateFile2 in DLL (dynamic-link library) Kernel32.dll"...

Build instructions?

How to build for android? I try to run \build_android\build_release.sh.But missing android.bat.
default

Pluggable VPU implementation

Hi JP, I thought I would post this here rather than emailing. It's great to see the project gaining traction - I'm still very busy with real life, but watching with interest from the sidelines.
I've been tinkering with some very high level emulation for BGDA - basically I want to hook the VPU and GS implementations. So, when a game is loaded, I look to see what the ID is and if there are any specialised VPU / GS handlers available. If so, install those rather than the default ones.
This is pretty easy to do with the GS Handler but things are more tricky for the VPU. The EE currently binds the VIF and VPU constructors at compile time, so they cannot easily be hot swapped later.

I can of course hack something in my branch to do what I want but before doing that was wondering if you had a plan to do this already. I'm trying to keep my branch as close to yours to give myself an easy life when merging :)

Debugger should be free and enabled in release builds

I remember when PPSSPP was just like Play! - it had Debug, DebugFast (no debugger iirc), Release, etc.

In fact, I think the very first change I made to PPSSPP's jit was adding breakpoints. By now, conditional breakpoints, memory breakpoints, etc. are all implemented this way in jit.

I was trying to debug the crash in #37 and noticed that 20-30% of time was spent in MipsExecutor::MustBreak(), which could probably be nearly free using compiled-in breakpoints.

I definitely think Play! should use the same method - essentially free breakpoints are great. There's nothing like debugging a game at full speed.

-[Unknown]

Jak X : Loadable with f/s

Game doesn't boot in Play!, showing 60 f/s.

This game also proved rather tricky for PCSX2 to run. requiring .pnach before even showing any of the intro scenes and still has issues.

Use system memory mapping to resemble PS2 memory

Currently, at least in debug, easily 66% of time is spent in CMemoryMap. Even if this is better in release, memory access is something that's definitely critical to performance. And doing it well can also lead to a lot of simplicity.

I realize the ps2 has an MMU and can remap addresses, but as long as the host can do so in 4KB chunks, this task can be delegated (except for special memory ranges) to the CPU.

Both PPSSPP and Dolphin use memory mapping in this way. PPSSPP doesn't have to deal with special access or remapping, but Dolphin does - I think they backpatch loads and stores in the jit when they first segfault. PPSSPP has historically just used a few ifs (except in "fast memory" mode, where it just crashes PPSSPP if it accesses bad addresses.)

Baking in checks for ranges of memory and accessing memory with a direct MOV/LDR/etc. (when in a proper range) would probably help a lot. AFAICT, it currently does not only a func call but also iterates a vector for each (!) lw etc. Maybe I'm wrong.

Of course, baking it into jit means clearing blocks when the pages change. Could be a performance problem if there's a game that changes them a lot... not impossible. Could jump to a custom ABI jit function that would get rebuilt on page change.

-[Unknown]

commandos 2 blackscreen

Ive tried to play my commandos 2 iso and im getting a black screen. Is there a specific place to put it

OSX port enhancements

Just opening an issue here for features that would be interesting to add in the OSX port. Here's a list of things I'm planning on adding:

  • FPS counter
  • Control configuration
  • Proper about box

Don't hesitate to add your own!

FPS or DC/F on Android?

Since @gambrio tested and more games continue to be playable, I think it would be a great improvement to have a simple option to tick FPS on or off just for benchmarking purposes. I think that such a feature is good because it's not very hard to implement and it makes a big difference for testing purposes between games and hardware (e.g., Xiaomi Mipad, Nexus 9, NVIDIA Shield K1, ARM32/64 and even upcoming X1 ARM devices too).

@SeannyM could probably manage something like this since it's not too extreme, and it can be a feature that's not as hard to implement for those who aren't as competent yet to make core changes/etc.

Additionally, @MoochMcGee could probably help with this since he's helped Play! before too.

Such a feature was mentioned on OS X too, so it'll be great to see an option like this sometime in the future.

error 64 bit build

to open the program this error message appears: "Could not locate the entry point of the procedure, CreateFile2 in DLL (dynamic-link library) Kernel32.dll"...

Final Fantasy X-2 doesn't get past intro

I tried on the latest build and FFX and FFXII both work somewhat but FFX-2 doesn't even start. I read the compatibility list and it says "Loadable with FPS" but it doesn't specify the build/date and I was wondering why it doesn't even boot since all other Final Fantasy games on Play! seem to at least show the intro screen.

Also, compatibility list shows that the X-2 International version works so it's strange (to me) that other doesn't.

Play! doesn't work on 32-bit Windows XP

That error message shows no matter what. I have the right runtimes as noted on the site, libraries, etc. I downloaded the latest build from your site for Windows. No matter what, it says it's not a valid Win32 application. How do you get it working correctly?

Memory cards not working for some games.

Dragon Quest VIII [SLUS-21207] will make a save file when you start a new game (and it does write to mc0), but it doesn't find any save data in-game.

Kingdom Hearts 2: Final Mix [SLPM-66675] also doesn't seem to load saves, I exported saves from PCSX2 (using mymc) and imported them into Play!, but it doesn't show any save data in-game.
Tried this with a few other games with imported saves and they worked fine.

And Final Fantasy XII [SLUS-20963] crashes when selecting load game, but it's marked as unstable, so it may be unrelated.

Android port

When will their be an android build, even a beta or alpha build would be nice :)
I have the nvidia shield portable so it might run even if it will be very slow.

PLEASE CONTACT ME!!!

I could not find another way to leave a comment any where so I am using this posting to get oyur attention. Please contact me I am very interested in helping your cause here as the new tablets and phones can push a PS2 emulator now due to apps you can download to dedicate ram and CPU to boost the over all performance of what ever app you apply the settings too which would be this emulator. I help with planning and development of some other hard to find systems Bios (M.A.M.E.) and would love to speak to you my email is [email protected] it goes straight to my phone so please contact me any time. I will supply my knowledge and my time to help get this built and working.

Kingdom Hearts 2 lag

Hey, I started testing your PS2 emulator the other day. I tried playing Kingdom Hearts 2 and noticed it lags a lot before reaching the title screen. I am using the Nvidia Shield Tablet if that helps. Btw, thank you for making PS2 emulation possible on android devices. I am looking forward to your future releases.

Gregory Horror Show crashes Play! instantly

This game has been proven to be quite the challenge to emulate, with PCSX2 still being unable to boot it or show anything for over six years since originally addressed. Would be impressive if someone could debug it in Play! and see the gist of why it won't work, and see if it could show anything eventually.

I think (not sure) it makes use of hardware quirks and the TLB, and PCSX2 as a LLE still has no hopes of running it in any way, patches or hacks or otherwise. It's sort of a cult-based title.

I plan on debugging it myself soon, but thought I'd point this out to assure PCSX2's issues of booting some games due to problems long baked into the emulator can be avoided in Play! by identifying the bugs with the small section of games that PCSX2 can't run at all or needs heavy hacks/patches to do so.

I am in no way capable of fixing the issue of it crashing myself! But I can help with debugging at least, and I plan on attempting to do so soon (seeing as the only debugger is available on Windows).

Name

"Play!" is basically an impossible to search for term. Search engines ignore punctuation, so "play" and "PS2" brings up a thousand unrelated videos and information.

Please change the program's name back to Purei, which is more unique.

Incompatibility with .bin/.cue files

I store PS2 CD titles in .bin/.cue, as ImgBurn is not able to accurately store them in .iso files

The files show up in the file selector, but complains about not being able to find "SYSTEM.CNF" when run.

android port

i am sorry to write in this section,but i have some mistake to create a pull request, after all my question is this: can this emulator port to arm and after to android. sorry my english i'm italien.

Does this program work only on Windows right now?

I have to say that I am a bit confused. Looking at this whole project and the code generator/utilities ones as well, it seems to have a lot of directories and configurations for OS X, Android and iOS. Could anyone clarify what that means? Does this work only on Windows, or are there only compiled Windows binaries to test so far? Does that mean that the Mac/Android/iOS versions are going to be compiled soon or something and Windows is not the only platform this is compatible for? This project seems to have multi-OS/platform portability stuff too.

I see the Android stuff seems to be for testing and it uses data from the main project, no? Does that mean that the other versions are all built off of the Windows one and/or share the same resources to run games?

I'm not really very good at computer programming, especially something crazy complex like this project.

I'd appreciate it if someone could clear some of this up and explain all the other stuff for other OSes.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.