Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RPCS3 0.0.0.9 (caution: LLVM recompiler removed) #1521

Merged
merged 19 commits into from Apr 16, 2016

Conversation

Nekotekina
Copy link
Member

@Nekotekina Nekotekina commented Feb 26, 2016

Trivial and typo fixes are likely not mentioned there.

  • Refactoring and cleanup
  • Added yaml-cpp submodule
  • Configuration system rewritten (Utilities/Config.h)
  • Configuration is now saved in config.yml
  • Incremental config loading from ELF_PATH + .yml
  • Loader and process initialization
    • ELF loaders rewritten and unified
    • Executable loaders improved (both PS3 and PSV)
    • PRX loader improved, basic VNID linkage (PS3)
    • HLE variable support (both PS3 and PSV)
  • Gui
    • Disassembler modified to use 32-bit addresses
    • LLE module manager moved to Settings
    • VFS, VHDD, SaveData managers, Elf Compiler hidden
    • Log context menu now has Log Level and TTY settings
    • Gui settings are now saved in config_gui.yml
    • PAD settings are now saved in config_kbpad.yml
  • Modules
    • cellVideoOutGetScreenSize restricted
    • cellNetCtl restricted (in favour of fixed cfg values)
    • cellResc implementation removed (use libresc.sprx as a workaround)
    • cellRtc implementation removed (use librtc.sprx as a workaround)
    • cellSysutilAvc2IsCameraAttached restricted
    • cellVideoOut rewritten
    • sys_spu_image_close implemented
    • sys_initialize_tls implemented
    • cellAudio simplified
    • ppu_error_code type added (lightweight return type for HLE functions, reports errors)
  • Cell
    • New ppu_decoder template implemented
    • ppu_decoder_cache_t removed completely (ppu_decoder is fast enough)
    • CPUDecoder and its descendants removed completely
    • Old PPUInterpreter removed completely
    • PPULLVMRecompiler removed completely (TODO)
  • Utilities
    • Atomic.h rewritten and improved
    • BitField.h improved (bitfield concatenation implemented)
    • Log.h simplified (constexpr channels, single listener, thread-local prefix getter)
    • Expects and Ensures redefined using ASSERT
    • _u8, _u16, _u32, _u64 string literal operators implemented
    • narrow function implemented (similar to gsl::narrow, allows custom message)
    • fmt::narrow with formatting
    • File.cpp refactoring and basic support for virtual FS devices
    • GNU.h -> Platform.h
    • rPlatform.h, rTime.h, rTime.cpp removed
    • sleep_queue_entry_t -> sleep_entry template refactoring (for sleep_queue, alias for std::deque)
    • StrFmt cleanup
    • Thread.h simplified (fixed name for named thread, removed std::future dependency)
    • Added mset<>: bitset which uses enum class monotonic values as the bit identifiers
    • Added void_t: equal to std::void_t from C++17
    • simple_t<> added (the "least common divisor" for simple type wrappers like atomic_t, be_t, bf_t etc)

According to git diff --stat -M HEAD~19, it has:
677 files changed, 41923 insertions(+), 70445 deletions(-)

@mention-bot
Copy link

By analyzing the blame information on this pull request, we identified @DHrpcs3, @O1L and @vlj to be potential reviewers

@Ale100000
Copy link

psvita?

@tambry
Copy link
Contributor

tambry commented Feb 26, 2016

@elfogames What about it? Ah the tag. He changed some ARMv7 core stuff, so I added it for good measure.

@Ekaseo
Copy link

Ekaseo commented Feb 26, 2016

you cant change the settings for each game with this PR and also some games, i know this probably isnt finished yet, but just letting you know

@AniLeo
Copy link
Member

AniLeo commented Feb 26, 2016

Woah, this is a big one. The Travis build failed for some reason though.
@Ekaseo yeah, but the general config per game wasn't that big of a deal imo (I didn't even use it at all). I believe something like LLE modules enabled per game would be more useful than the general config per game.

@Nekotekina
Copy link
Member Author

I'll try to make per-game configs more flexible, including LLE module set as a part of cfg. It's broken yet.

@Ekaseo
Copy link

Ekaseo commented Feb 26, 2016

@MyaniPT you might think that per game settings are unnecessary, but if you have 100+ games for testing and all of them use specific settings to run (like for example some games can run with DX12 and some cannot, some need write color buffers turned on, and some games dont work well with PPU interpreter 2 or LLVM recompiler. Its not easy to remember what game works in which settings... so its an issue for me

@AniLeo
Copy link
Member

AniLeo commented Feb 26, 2016

@Ekaseo Yeah I have over 100 games but I'm lazy enough to use the general configuration and change it every time I change game, I didn't get around to use per-game config yet. That is probably an issue for testers, yeah, you're right.

@AniLeo
Copy link
Member

AniLeo commented Feb 26, 2016

LLEing of modules isn't working at all. Tested with the AppVeyor build.
If I open the window, select the modules, close the window and reopen it again, there are no modules selected.

@vlj
Copy link
Contributor

vlj commented Feb 29, 2016

The RSX part looks good to me.

@Nekotekina Nekotekina force-pushed the master branch 5 times, most recently from 0b83d9e to 4cc18c0 Compare March 6, 2016 13:30
@AniLeo
Copy link
Member

AniLeo commented Apr 15, 2016

It doesn't really matter, I was just curious to know why did you went with 0.0.0.6 -> 0.0.0.9
As soon as it's fully ready I'll start testing a few games on it

@Nekotekina
Copy link
Member Author

@AniLeo I guess you can try it just now, because I'm not planning to add anything to this PR anymore, at most very small fixes.

I have no idea why it didn't compile.
Also recreated without UTF-16 BOM.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

10 participants