Jump to content


Photo

Get It Running Efficiently!


  • Please log in to reply
374 replies to this topic

#151 LESTAT

LESTAT

    X-S Freak

  • XS-BANNED
  • PipPipPipPipPip
  • 1,552 posts
  • Location:Definately not where you are
  • Xbox Version:v1.1
  • 360 version:v1 (xenon)

Posted 12 December 2004 - 11:29 PM

yup embedded dont care about your bios, thats why i mentioned using it ages ago.

but finding those skilled in programming and setting up embedded installations and also knowledge of xbox's can create a bit of a challenge.

i think i might give my buddy a ring on the phone in a little bit, see if he is up for the challenge.

#152 Shadow7789

Shadow7789

    X-S Young Member

  • Members
  • Pip
  • 34 posts

Posted 13 December 2004 - 03:38 AM

Wait, isn't this project trying to get a standard Windows running, like 98/ME? XPe is Bios independent, but dosen't that mean it's point is so you can run it on a Non PC device? BIOS coding would not even be nessary, it ciuld just be booted as an XBE, like what they did with WinCE.

I would rather see Win ME running on my xbox, then XPe.

#153 Flame2k

Flame2k

    X-S X-perience

  • Members
  • PipPip
  • 360 posts
  • Location:UK :D
  • Xbox Version:v1.4

Posted 13 December 2004 - 06:00 PM

yeah, 'proper windows' is what were aiming for here. not xpe

#154 Flame2k

Flame2k

    X-S X-perience

  • Members
  • PipPip
  • 360 posts
  • Location:UK :D
  • Xbox Version:v1.4

Posted 13 December 2004 - 06:24 PM

and, why isnt this damn thread pinned yet?????????

#155 expert01

expert01

    X-S Member

  • Members
  • Pip
  • 67 posts

Posted 13 December 2004 - 08:28 PM

I agree, it should be pinned since it is pretty much the only feasible project for Windows on XBox.

#156 betaluva

betaluva

    X-S Member

  • Members
  • Pip
  • 65 posts

Posted 13 December 2004 - 11:46 PM

i cant the forum mods name,if i could i would ask them to pin this topic, HELLO MODS,CAN YOU PIN THIS TOPIC PLEASE.

#157 GvG

GvG

    X-S Enthusiast

  • Members
  • 8 posts
  • Xbox Version:v1.3

Posted 14 December 2004 - 01:08 AM

Since ReactOS was mentioned a few times in this thread, let me share some of my notes with you. I'm a ReactOS developer and have been working on getting ReactOS to run on the Xbox. Please let me clarify some misconceptions about ReactOS I read on this thread: ReactOS is NOT based on a Linux kernel. We've written our own kernel, compatible with Windows NT/2000/XP, from the ground up. So we are also NOT emulating Windows, we're trying to be Windows. I think some of you might be confusing ReactOS with Wine (Wine is a project to let you run Win32 apps on Linux). We do plan to have DirectX support in the future, but at the moment this is not implemented yet. One thing is correct however: ReactOS is still in early alpha, some apps work but most don't. However, ReactOS does kind of run on the Xbox, it's just that you can't use a mouse or keyboard yet sad.gif

From reading the thread, I've been unable to determine what your target is, Win9x or WinNT/2000/XP. If the target is Win9x (or Embedded), I can't give you any advice, I know next to nothing about those. The following is specific for the NT family (which includes NT4, 2000, XP and 2k3).

There's basically two sets of problems to solve: how to get Windows loaded and how to run it. The sequence of events on a normal PC is: the BIOS loads the Master Boot Record. The MBR determines which partition is active and loads the boot sector for that partition. The boot sector then loads NTLDR which will do the bulk of getting Windows loaded. It does so with the help of the BIOS. For example, to read a sector from the harddisk it will generate a (real mode!) INT13. It will also call upon a lot of other services of the BIOS, most of which are invoked by issuing a real mode INT. Note that a normal PC BIOS is very different from a Xbox BIOS, about the only thing which is the same is the name BIOS. The Xbox BIOS mostly runs in protected mode and is incapable of providing the real mode services which NTLDR needs. So, if you want to use NTLDR you have no choice but to develop a PC BIOS implementation for the Xbox. This is a pretty huge undertaking.

NTLDR will load NTOSKRNL.EXE (the Windows kernel), HAL.DLL (Hardware Abstraction Layer), SYSTEM registry hive, boot device drivers indicated in the system registry hive and some NLS files. It has built-in filesystem support for FAT and NTFS and those will be the only filesystems it will understand. Furthermore, NTLDR will do device detection and build a basic list of devices present in the system. Oh, and by the way, NTLDR expects to be started in real mode. It will switch the CPU to protected mode. Finally NTLDR will transfer control to the kernel.

For ReactOS we developed our own bootloader named FreeLdr. Most of the initial work was done by Brian Palmer. Our FreeLdr handles the same tasks as NTLDR. FreeLdr already runs on the Xbox. Unfortunately, I don't think it can be used to launch Windows. When passing control to the kernel, the boot loader passes a block of parameters. The NTLDR parameter block is not compatible with the FreeLdr parameter block.

When the Windows kernel starts, it will not call the BIOS anymore (with small exceptions, see later). It will enumerate the PCI bus itself, using INP and OUTP instructions. As you know, this process will freeze the Xbox.
Another problem is the video driver. I don't have to tell you that the GPU is very much like the Geforce 3. However, it does have a different PCI id. This means that the standard Nvidia driver will not recognize it. So, Windows will fall back on its default drivers. For older Windows versions, that's a VGA driver. Alas, that driver expects a standard VGA card to be present, with video memory at 0xa0000 and I/O ports. It simply will not work on the Xbox. Newer Windows versions can use VBE based drivers, which depend on the presence of a VGA BIOS (this is the exception I was talking about earlier). So that's another BIOS to write....

For ReactOS, we circumvented the PCI enumeration by writing a customized HAL (Hardware Abstraction Layer), which is the component which actually issues the INP and OUTP instructions. The customized HAL simply refuses to do I/O to some "blacklisted" PCI slot numbers (0:0:1 and 0:0:2 to be exact). The rest of the OS interprets the results as "nothing to see there, let's move on". The video driver issue was solved by writing a video driver for the Xbox.

The biggest challenge for me when porting ReactOS to the Xbox was the boot loader. The OS itself was actually pretty easy. I think the same is true for getting Windows to run: if you get NTLDR to do it's job you're almost there.

I've probably left out lots of details, if you have questions please feel free to ask, I'll drop by every now and then (or you can email me: gvg@reactos.com). The source code for ReactOS is freely available, just remember that it's under the GPL, which means that if you use any part of it you must also publish your source code.


#158 jimmsta

jimmsta

    X-S Senior Member

  • Members
  • PipPip
  • 234 posts
  • Location:NJ
  • Interests:meh. Xbox 360 hacking... and other such things.
  • Xbox Version:v1.6
  • 360 version:v1 (xenon)

Posted 14 December 2004 - 03:24 AM

wow.... so reactOS is possibly another alternative... or at least using FreeLdr is...

#159 h8raid

h8raid

    X-S Senior Member

  • XS-BANNED
  • PipPip
  • 220 posts
  • Location:Columbus, Oh
  • Xbox Version:unk

Posted 14 December 2004 - 06:33 AM

Very well put GvG, this has been known amongst those involved in the project, but has not yet been voiced in the thread. Thank you for the post, it will definately be a help to those interested in the project. Our primary focus right now is Windows 98, the thought is that once we have a bios that will allow you to run one version, it won't be an overly huge task to make it compatible with other versions. Scan-C is taking on the project as a single developer for now as I have not heard anything back from anybody I have contacted about the project. People do not take it seriously because of all the effortless attempts to get Windows running. I am very interested in the project you have going on, perhaps you could start a thread about it as well and we can work together and help eachother along the way. Anyways, thank you again.
H8raid

#160 total_ass

total_ass

    X-S Hacker

  • Members
  • PipPipPipPipPipPip
  • 3,000 posts
  • Location:England
  • Xbox Version:v1.4

Posted 14 December 2004 - 11:54 AM

GvG, can you join pretty please smile.gif

or get ReactOS running really really good. i wouldn't mind using ReactOS, it looks good and will have an easy interface.

#161 GvG

GvG

    X-S Enthusiast

  • Members
  • 8 posts
  • Xbox Version:v1.3

Posted 14 December 2004 - 07:04 PM

jimmsta: FreeLdr won't work for Win9x. It will probably also not work for WinNT since the parameters passed to the kernel are different between ReactOS and Windows.

h8raid: Sorry, didn't want to imply that this wasn't known, at least by the "inner crowd". It's just that I hadn't seen a list of items to be done.

total_ass: You guys have a nice challenging project going here. I love a good challenge but ReactOS is already providing that for me.

#162 total_ass

total_ass

    X-S Hacker

  • Members
  • PipPipPipPipPipPip
  • 3,000 posts
  • Location:England
  • Xbox Version:v1.4

Posted 14 December 2004 - 07:58 PM

GvG how active is the xbox development for ReactOS?

I would really love to be able to use it on my xbox. biggrin.gif

#163 GvG

GvG

    X-S Enthusiast

  • Members
  • 8 posts
  • Xbox Version:v1.3

Posted 14 December 2004 - 10:28 PM

I don't want to hijack this thread, so I'll answer here

#164 Xbox2005

Xbox2005

    X-S Member

  • Members
  • Pip
  • 78 posts
  • Interests:Xbox Mod : UXE + Nkpatcher 10<br />Xbox Dashboard : UnleashX and XBMC<br />Xbox region: NTSC/J
  • Xbox Version:v1.6
  • 360 version:unknown

Posted 15 December 2004 - 06:05 AM

Good luck! laugh.gif

I hope that finally people will be able to run windows 98 especially on the xbox gaming console smile.gif

#165 Flame2k

Flame2k

    X-S X-perience

  • Members
  • PipPip
  • 360 posts
  • Location:UK :D
  • Xbox Version:v1.4

Posted 15 December 2004 - 05:23 PM

hmm were abit in react os's shadow at the moment lol - u all seen the main page?




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users