Code Monkey home page Code Monkey logo

xboxdev's Introduction

XboxDev

XboxDev is the place for all original Xbox projects to come together.

XboxDev is an effort to provide tools and documentation for the original Microsoft Xbox and Xbox-based SEGA Chihiro. We not only care about technical details about those platforms, but also how to develop homebrew and emulate them.

We are not interested in documenting the Xbox 360, Xbox One or any other console at this point.

You can create an issue to contact XboxDev maintainers.

Ecosystem

We currently provide the following services:

Want to help? Contact us!

Please come chat with us:

and for closely related projects:

You'll also get the details for XboxDevWiki account creation on any of these channels.

Coding style

The usual rule is: follow the existing code / commit style of whatever you are working on. If the previous commits use prefix style: use prefix style. If the surrounding code respects 80 column limit: respect it. If the surrounding code uses an unusual C style: mimic it.

Disclaimer

XboxDev is not affiliated with, endorsed by, or sponsored by Microsoft Corporation, Nvidia Corporation, licensed Xbox developers, publishers, manufacturers or any of their affiliates or subsidiaries. All product and company names are trademarks™ or registered® trademarks of their respective holders. Use of them does not imply any affiliation with or endorsement by them.

Reverse engineering of the original software and hardware is done to achieve interoperability with other computing platforms. In the process, excerpts of the reverse engineered source code will be shown for educational purposes.

No copyright infringement is intended at any stage during creation of XboxDev software, hardware or documentation.

xboxdev's People

Contributors

chrisderwahre avatar jayfoxrox avatar teufelchen1 avatar

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

Watchers

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

xboxdev's Issues

Register #xboxdev and #xboxdev-offtopic on freenode IRC

We still have to do https://freenode.net/groupreg .
That is because channels starting with a single # are reserved on freenode. Whereas channels with ## are public. We want official status though, so we need to groupreg.

I had originally planned to do this already, but I'm very busy maintaining a handful of projects (in Xbox ecosystem and otherwise). I also have regressions in XQEMU to fix.

So I'd be grateful if someone else of @XboxDev could do this.

When this is complete, we need a new issue about bridging XboxDev IRC and XboxDev Discord (unless done immediately).

Merge OpenXDK organization into XboxDev

@OpenXDK only has 2 public repositories:

@OpenXDK only has 1 public member:

The goals of both organizations seem to align nicely [1]. Getting rid of the OpenXDK organization would help to focus and direct traffic to XboxDev. XboxDev has more momentum right now.

I'd love to hear what the @OpenXDK members (and also @XboxDev members) think about this.

[1] Except that we wouldn't use the Xbox shield logo by Microsoft; to avoid possible legal issues in the future.

Self-Assigned roles

This issue is about the XboxDev Discord

I wonder if the Discord server should have roles for expertise.. like GPU, APU, PCB, Python, QEMU, .. so we can always highlight those people who are important (as all members of a role can be highlighted using @role).

Ideally people could add themselves to these list using a bot or something - so you could basically subscripe to topics.

Just so if something important happens, they get a highlight, such as with the logo decision - we could have said: "new XQEMU logo in the works, please vote @xqemu", so even people who don't always read #xqemu, see those important issues.

We could also have a role for people interested in helping with beginner tasks (for all projects currently listed on XboxDev discord; because beginners often suck at finding them on github on their own).
So whenever a new task is available, we could highlight them with @easy.
Also when people ask "what can I work on?!" we'd just direct them to search for @easy in the Discord search - and they'd find all past tasks immediately (or the bot could list them, so IRC bridgers can also see them).

I thought of this when I needed people with python expertise because I know a handful of people with python skills but I'm unable to highlight them easily.

Thoughts?

Discord channel rules

We get a lot of off-topic talks in Discord channels.

With 300 users, and many end-users (instead of developers) joining we are slowly running into trouble keeping discussions organized.

I think we should add pinned messages to every channel which explain the rules.
Each channel description could just say "Read Pinned messages before posting!"

In particular:

  • We currently have XQEMU discussions on all channels which are not clearly marked as being XQEMU (contextless questions like: "Did you try game XYZ?").
  • #user-support is often used to share experiences, not to request support. So when a user actually needs help we might miss it because we are desensitized. This actually happened on Citra Discord in the past and lead to users leaving without response after half an hour, later bad-mouthing Citra on 4chan etc. Ideally we should move user-support to project specific forums.
  • Research is being discussed in emulation channels.
  • nxdk development is included in #development despite having its own channel.

XboxDev role

This issue is about XboxDev Discord

We should probably have a role for @XboxDev on Discord so users can reach maintainers quickly, as those maintainers have the ability to decide if a repo should be moved under the XboxDev GitHub org, or review Wiki articles.

In contrast to roles listed in #1 , this role should probably be closed, so users can't pretend to be someone they are not.
Also as the overall topic is "XboxDev" anyway, there is no point in highlighting @XboxDev unless you want a maintainer (which is also the highlight for XboxDev maintainers on GitHub)

Split emulation projects from XboxDev

nxdk was originally an idea to attract CTF players to XQEMU; hence it was hosted on XQEMU.
XQEMU developers then started XboxDevWiki to be able to work closer with Cxbx-Reloaded developers (maintain and develop the shared ecosystem together).
So eventually nxdk moved to XboxDev to split responsibility.
The Wiki also quickly attracted new projects and people almost entirely unrelated to emulation (Xbox-Linux, people working on XID hardware, people who just like to document Xbox history, ..).

As a result, XboxDev grew and has become more independent (> 350 Discord users).

However, at this point emulation is getting more popular.
Especially XQEMU infrastructure (developer IRC) is still linked to XboxDev Discord through #xqemu. There's also #user-support which is for both projects (although it's primarily based for XQEMU, as Cxbx-R has their own infrastructure, hence #cxbx-r is slow).
The few mentions of XQEMU and Cxbx-R on the Wiki and GitHub are not as problematic.

These emulation channels draw in end-users (non-developers) who distract from actual goals.

I think we are approaching the point where we should split XQEMU and Cxbx-R from XboxDev.

Nothing would really change, except that we wouldn't be highlighting them from XboxDev projects anymore. Each project would use their own communication infrastructure, but use XboxDev communication infrastructure for XboxDev projects.

The major benefit is that we can focus on attracting developers, improve response times for user-support and we can avoid treating non-XQEMU projects "unfairly" (as XQEMU is omnipresent in all XboxDev channels, possibly driving others away; also slightly related #12 ).

XboxDev would still recommend developers to test their tools in XQEMU (and possibly Cxbx-R if HLE works for it) so these projects would also still benefit directly.

Document the standard conventions for maintaining git repos for newcomers

Hi,

I think it would be nice to have a CONTRIBUTING.md in order to welcome newcomers and introducing them to the git/community standards.

Related:
@JayFoxRox wrote:

Please adopt the repos standard convention for commit titles (sentence starting with uppercase letter, that describes the change with a verb).
Ideally split independent changes (pipfile / code improvements / readme changes) into separate commits.

Create DXT which removes signature checking on debug kernels

Some of our users might be using an official Debug Xbox (XDK) with a Microsoft kernel. Those kernels will still do XBE checks which prevents running retail games or unsigned homebrew binaries.

We should have an open-source tool like nkpatcher for debug kernels, which removes signature checks so users can load unsigned binaries. We can use a DXT to inject these changes on an unmodified debug Xbox.

Some checks which have to be removed / modified (list is probably incomplete):

Kernel

  • RSA signature check
  • Region check
  • Media check
  • Flip bits for entry-point and kernel thunk

Game

  • DVD-2X check (Hook NtDeviceIoControlFile, or remove X2 media flag)

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.