Opened 12 years ago

Closed 11 years ago

Last modified 12 months ago

#8654 closed patch

Preliminary xbox port patch

Reported by: SF/carcharius Owned by:
Priority: normal Component: Ports
Keywords: Cc:
Game:

Description

This is a patch that adds a backend and project files for an xbox (official xdk) port.

As it stands it's not quite finished - i.e. it doesn't quite follow ScummVM coding standards and I'm not totally happy with some aspects of it at the moment.

However it should be good enough for the purposes of determining whether the xbox code can be held as part of the main tree.

The backend is a subclass of the SDL backend, it includes a basic on-screen keyboard (derived from the one in the CE backend).

Other than the backend code there are very few changes in other areas of ScummVM. Mostly these are related to preprocessor defines or tweaks to fix compile errors (the small change in flac.cpp is an example of the latter).

Ticket imported from: #1713314. Ticket imported from: patches/759.

Attachments (2)

scummvm_xbox.zip (34.2 KB ) - added by SF/carcharius 12 years ago.
xbox patch
xbox_wip.patch (42.4 KB ) - added by bluegr 11 years ago.
WIP and untested XBOX port patch, based on the current trunk

Download all attachments as: .zip

Change History (26)

by SF/carcharius, 12 years ago

Attachment: scummvm_xbox.zip added

xbox patch

comment:1 by sev-, 12 years ago

My remarks:

o Please, rename all files to lowercase. I.e. Undocumented.h, OSKeyboard.cpp, OSKeyboard.h
o Patch do not comply with our coding standards (all files)
o No license clauses in most files. Undocumented.h, is it GPL-compatible

non-backend changes are clean and there are just few of them. The port is SDL-based. That's very good that README.XBOX with basic usage information is added.

I personally waited for such patch for a long time.

What is situation with XBOX SDK? Does this port use it? Or is there OpenSDK?

comment:2 by SF/carcharius, 12 years ago

Thanks for the comments.

I'm aware that it doesn't meet the coding standards at the moment. If it is deemed that the xbox port can exist as part of the main project then I will refine things and make sure that everything is as it should be.

The same applies to the license clauses - I didn't know exactly what should be included. Again I'll rectify this if the xbox port becomes accepted.

This port is for use with the XBOX XDK, so is only usable by people with access to that. At this time the OpenXDK project isn't mature enough to be used for this port. That might change in the future however and, if so, it should be fairly trivial to re-target the port.

comment:3 by sev-, 12 years ago

Owner: set to fingolfin

comment:4 by sev-, 12 years ago

Assigning this to Fingolfin to know his opinion. I don't see this as a problem. We just will not be able to distribute binaries of this port.

comment:5 by fingolfin, 12 years ago

I see no fundamental problem. If the coding standards are met, we can check this in.

comment:6 by fingolfin, 12 years ago

What is the status of this item?

comment:7 by SF/carcharius, 12 years ago

Apologies,

I am still working on the patch, resolving the coding standards issues etc.
Unfortunately I've not had much free time lately to devote to working on it.

Once I've got things sorted and updated to work with the latest code from svn I'll re-post the patch.

Carcharius

comment:8 by fingolfin, 12 years ago

Any news on this?

comment:9 by SF/carcharius, 12 years ago

Again my apologies,

the status has moved on a little but as always real life work and stuff has gotten in the way.

I do have some time off coming up though so will hopefully be able to devote some time to it then.

Carcharius

comment:10 by fingolfin, 12 years ago

What is the status of this item?

comment:11 by SF/carcharius, 12 years ago

I have been keeping the port up to date with changes from the svn, but I've not had time for much more than that until recently.

The current focus is to add some read caching for when files are being read from dvd/cd (similar to the ps2 port). Without it the likes of COMI aren't very playable (when running from a disc - running from hdd is fine).

comment:12 by sev-, 12 years ago

Carcharius, will you be able to finish this patch and join our team in order to make it official before our next release, which is scheduled for middle of January?

comment:13 by sev-, 11 years ago

What is the status of this item?

comment:14 by fingolfin, 11 years ago

So now this patch missed both 0.11.x and 0.12.0 -- is it dead? Or is there hope that it might get into 0.13 ?

Pending response by submitter.

comment:15 by fingolfin, 11 years ago

Status: newpending

comment:16 by SF/carcharius, 11 years ago

Apologies,

In theory it could make it into 0.13 (or another future version). Unfortunately I've been suffering from some health and personal issues which have stopped me being able to do any work on this or anything else.

I do intend to re-visit it at some point, when I am well again. I don't know what sort of changes have been made since I last worked on it but I imagine I'll have a bit of re-porting to do.

I'm afraid that at this moment I can't give a time scale for anything though.

Carcharius

comment:17 by SF/carcharius, 11 years ago

Status: pendingnew

by bluegr, 11 years ago

Attachment: xbox_wip.patch added

WIP and untested XBOX port patch, based on the current trunk

comment:18 by bluegr, 11 years ago

I've processed this patch a bit, and created a new one, based on the current SVN. Notes:
- I've tried to change the code to adhere a bit more to out coding standards
- I DO NOT HAVE an XBOX, neither the SDK to try and build this port, so I don't know if this even works or compiles properly
- A lot of things seemed to be similar to a regular Windows build, so I substituted the now outdated XBOX filesystem backend with the Windows one. Also, some defines that are for the Windows version are reused. I tried to make all this in a similar fashion as it's done in the Windows CE port, but as I said a lot of things have slipped out (e.g. I don't know if Windows MIDI is supported under XBOX) and I'm not sure what works under XBOX, so some statements have to be changed from #if defined(_WIN32) to #if defined(_WIN32) && !defined(_XBOX)
- I've reused the same MSVC files as the ones in the trunk, as the ones in the patch were outdated, and seemed to be the same as the ones in the trunk anyway
- There are a lot of things which need to be changed, i.e. the direct use of SDL rectangles instead of our own ones
- I'm not sure if a custom OSystem needs to be used for XBOX, it seems that it's similar to the general one we got, but I haven't checked it out further
- As mentioned, a lot of things are common between the Windows port and the XBOX port, a better approach would be to try and merge them, like the Windows CE port does
- I have not included undocumented.h. You can get the latest version from XBMC:
http://xbmc.svn.sourceforge.net/viewvc/xbmc/trunk/XBMC/xbmc/xbox/Undocumented.h?view=log
File Added: xbox_wip.patch

comment:19 by fingolfin, 11 years ago

Owner: fingolfin removed

comment:20 by fingolfin, 11 years ago

Status: newpending

comment:21 by fingolfin, 11 years ago

What is the status of this item?

comment:22 by SF/sf-robot, 11 years ago

This Tracker item was closed automatically by the system. It was
previously set to a Pending status, and the original submitter
did not respond within 14 days (the time period specified by
the administrator of this Tracker).

comment:23 by SF/sf-robot, 11 years ago

Status: pendingclosed

comment:24 by digitall, 12 months ago

Component: Ports
Note: See TracTickets for help on using tickets.