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

TODO: HLE Database v2 Progress #723

Closed
19 of 35 tasks
RadWolfie opened this issue Sep 9, 2017 · 15 comments
Closed
19 of 35 tasks

TODO: HLE Database v2 Progress #723

RadWolfie opened this issue Sep 9, 2017 · 15 comments
Assignees
Labels
enhancement general improvement of the emu help wanted other devs should help HLE High Level Emulation OOVPA Optimized Offset Value Pair Array

Comments

@RadWolfie
Copy link
Member

RadWolfie commented Sep 9, 2017

The following list of OOVPA database we need work on to finish moving into HLE database v2 table.

  • XAPILIB
    • Copy all OOVPA list into v2 table.
    • Fix all OOVPAs to match with same address found in v1 table.
    • Fix OOVPA's XDK revision to lowest known match.
    • Add missing OOVPAs if any has occured.
  • D3D8
    • Copy all OOVPA list into v2 table.
    • Fix all OOVPAs to match with same address found in v1 table.
    • Fix OOVPA's XDK revision to lowest known match.
    • Add missing OOVPAs if any has occured.
  • DSOUND
    • Copy all OOVPA list into v2 table.
    • Fix all OOVPAs to match with same address found in v1 table.
    • Fix OOVPA's XDK revision to lowest known match.
    • Add missing OOVPAs if any has occured.
  • XGRAPHC
    • Copy all OOVPA list into v2 table.
    • Fix all OOVPAs to match with same address found in v1 table.
    • Fix OOVPA's XDK revision to lowest known match.
    • Add missing OOVPAs if any has occured.
  • XNET (Is found with XNET, XNETS, and XONLINES library header)
    • Copy all OOVPA list into v2 table.
    • Fix all OOVPAs to match with same address found in v1 table.
    • Fix OOVPA's XDK revision to lowest known match.
    • Add missing OOVPAs if any has occured.
  • XONLINE (Is found with XONLINE and XONLINES library header)
    • Copy all OOVPA list into v2 table.
    • Fix all OOVPAs to match with same address found in v1 table.
    • Fix OOVPA's XDK revision to lowest known match.
    • Add missing OOVPAs if any has occured.
  • XACTENG
    • Copy all OOVPA list into v2 table.
    • Fix all OOVPAs to match with same address found in v1 table.
    • Fix OOVPA's XDK revision to lowest known match. (Last known revision found is 4928)
    • Add missing OOVPAs if any has occured.
@RadWolfie RadWolfie added enhancement general improvement of the emu help wanted other devs should help HLE High Level Emulation OOVPA Optimized Offset Value Pair Array labels Sep 9, 2017
@LukeUsher
Copy link
Member

I would not merge XNET and XONLINE, simply because they are unrelated APIs.

XNET implements network functionality, communication, sockets, that kind of thing.
XONLINE implements Xbox Live specific functionality, authentication, matchmaking, etc.

XONLINE Depends on XNET, but XNET is a completely separate library

@RadWolfie
Copy link
Member Author

RadWolfie commented Sep 9, 2017

Strange, my research doesn't show XNET library headers if title is using XONLINES library header. Titles with XONLINES library do contain XNET and XONLINE section headers together excluding XNET library header.

How would you purpose to separate the two in v2 database method?

Actually I do have another idea which will help to keep both separately. And everyone should be happy with it.

//{ Lib_XONLINES,{ Sec_XONLINE }, XONLINE_OOVPAV2, XONLINE_OOVPA_SIZEV2 },

//{ Lib_XONLINES,{ Sec_XNET }, XNET_OOVPAV2, XNET_OOVPA_SIZEV2 },

@RadWolfie
Copy link
Member Author

RadWolfie commented Sep 9, 2017

Or...

//{ { Lib_XONLINES , LIB_XONLINE }, Sec_XONLINE, XONLINE_OOVPAV2, XONLINE_OOVPA_SIZEV2 },

//{ { Lib_XONLINES, LIB_XNETS, LIB_XNET }, Sec_XNET, XNET_OOVPAV2, XNET_OOVPA_SIZEV2 },

Edit: I think this option is better.

@jarupxx
Copy link
Contributor

jarupxx commented Sep 16, 2017

As far as I know, XACTENG completed by PR #733 that fix OOVPA's XDK revision to lowest known match.
Please note. I was not tested less than version 4928. Because not found a test case.

@RadWolfie
Copy link
Member Author

Updated OP to state title with lowest XACTENG we have available is 4928.

@RadWolfie
Copy link
Member Author

Side note: Fix OOVPA's XDK revision to lowest known match. is somewhat low priority. Though, Add missing OOVPAs if any has occured. is a must if something is missing. (Just a reminder for myself and others plan to work on it.)

For now, DSound has the highest priority for the paragraph above which I am still working on for 3911 and 4039 revisions. Hopefully D3D's OOVPAs doesn't need to go down this path.

@jarupxx
Copy link
Contributor

jarupxx commented Oct 1, 2017

D3D8 OOVPA database has progressed to step 2. For now, D3D8 4039 revision is missing some OOVPAs.

@RadWolfie
Copy link
Member Author

RadWolfie commented Oct 11, 2017

I notice LukeUsher and PatrickvL are mixing of HLE and LLE support. If we have partial LLE support, we should not use UNPATCHED. To knowledge for ourselves what's not necessary to patch when partial LLE is supported, we need to use something like LLE_ENABLE? UNPATCHED should be used only for we can allow native function to process since the callers are either patched, included support by kernel function, or not a requirement to patch.

Does it make sense to you guys? We can change it once WIP_HLEDB_v2 branch is rebased from master branch. Then merge into master.

P.S. I am currently working on DSound's 4134 revision to be fully support. Once this is done, regression should reduce from 40% to 10% chance. Then WIP_HLEDB_v2 should be ready to finalize for merge into master branch. It does not mean HLE DB v2 are 100% done, btw.

@PatrickvL
Copy link
Member

PatrickvL commented Oct 11, 2017 via email

@RadWolfie
Copy link
Member Author

HLE v2 XACT library is having a problem with [5233] Red Faction II. See issue Cxbx-Reloaded/game-compatibility/issues/410

This is for record purpose, currently not sure if the fault is from HLE v2 XACT library is incomplete or process to implement all HLE functions are incomplete.

@jarupxx
Copy link
Contributor

jarupxx commented Oct 23, 2017

Currently, HLE v2 XACT library does not to work well...
How about temporarily use UNPATCHED, until we work on XACTENG?

@LukeUsher
Copy link
Member

@jarupxx I have no problem with this, it's causing more regressions than it's solving so unpatching is a viable option

@jarupxx
Copy link
Contributor

jarupxx commented Nov 18, 2017

Hi, Report current status

XAPILIB, D3D8, DSOUND, XGRAPHC, XONLINE library was Fix OOVPA's XDK revision to lowest known match task completed by PR #797

Although XNET library is theoretically completed, However, it has not been tested with real titles.
It may have been replaced by XONLINE since XDK 4361.

@PatrickvL
Copy link
Member

Thank you very much. I've updated the checkboxes in this issue description above.

What's left to do now, according to you?

@RadWolfie
Copy link
Member Author

Since there are only very minor few detection missing. We can safely close this issue as we are moving HLE Database v2 into separate project. Any remaining tasks will be created in separate repo.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement general improvement of the emu help wanted other devs should help HLE High Level Emulation OOVPA Optimized Offset Value Pair Array
Projects
None yet
Development

No branches or pull requests

4 participants