xboxscene.org forums

Pages: 1 ... 7 8 [9] 10 11 ... 25

Author Topic: Get It Running Efficiently!  (Read 2043 times)

Flame2k

  • Archived User
  • Full Member
  • *
  • Posts: 152
Get It Running Efficiently!
« Reply #120 on: November 26, 2004, 01:12:00 PM »

hm, so this bios, do we know how its gonna work? will it boot up from a chip and then look for a windows xbe or something? or will it be loaded pheonix bios loader style from the dash and then look for windows automatically and execute it or something?
Logged

Scan-C

  • Archived User
  • Hero Member
  • *
  • Posts: 616
Get It Running Efficiently!
« Reply #121 on: November 28, 2004, 07:23:00 AM »

it will be loaded from the chip. maybe when it's running i'll think over a bfm version but for now it's easier this way.
once loaded it will search for a configuration file which holds the place of the windows directory.
but this is all far from working. atm i'm happy when i get to see my test message the first time telling me the gpu is initialized.
Logged

Flame2k

  • Archived User
  • Full Member
  • *
  • Posts: 152
Get It Running Efficiently!
« Reply #122 on: November 28, 2004, 07:26:00 AM »

smile.gif keep up the good work man
Logged

total_ass

  • Archived User
  • Hero Member
  • *
  • Posts: 1201
Get It Running Efficiently!
« Reply #123 on: November 28, 2004, 10:40:00 AM »

wink.gif

though if this is acheived it will be kick ass.
Logged

Shadow7789

  • Archived User
  • Newbie
  • *
  • Posts: 26
Get It Running Efficiently!
« Reply #124 on: November 28, 2004, 07:40:00 PM »

Why not just use the code from an nForce IGP motherboard?  Is this BIOS going to be OS independent, because if it is, I'm sure you can get some people from the Xbox Linux project to help, after all, they already have Xbox BIOS coding experience.
Logged

Flame2k

  • Archived User
  • Full Member
  • *
  • Posts: 152
Get It Running Efficiently!
« Reply #125 on: December 01, 2004, 11:06:00 AM »

they might be able 2 help, il drop into irc sometime and ask them
Logged

expert01

  • Archived User
  • Newbie
  • *
  • Posts: 24
Get It Running Efficiently!
« Reply #126 on: December 02, 2004, 10:51:00 PM »

Okay, I haven't really been able to find a good topic on this except for this one (there should be a damn sticky), so I figured I would help you guys out somewhat. From what I get,  there are a few problems running Windows 9X.

One I've heard about is Windows writing over protected areas of memory. Well, why not make a memory manager, like there used to be in DOS?

Then alot of people said that there would be problems with Windows not recognizing FatX partitions and wanting to format them... well, that's why you can put a new HDD in your box.

Then there is the PCI Bus scan. Here is the information I've found about the 98 boot process:

QUOTE


1. The computer loads and executes the IO.SYS file (basically DOS). The initialization code initializes the base system device drivers, determines equipment states, resets the disk system, resets and initializes attached devices, and sets the system dafault parameters.

2. The file system is activated, and control is returned to the IO.sys initialization code.

3.The "Starting Windows" message is displayed for <n> seconds, or until you press a Windows function key. The amount of time the message is displayed is determined by the BootDelay=<n> line in the MSDOS.sys file; the default is 2 seconds.

4. The IO.sys initialization code reads the MSDOS.sys configuration file. If you have multiple hardware profiles, you receive the following message and must choose a hardware configuration to use: <b>Windows cannot determine what configuration your computer is on.</b>

5. The LOGO.sys file is loaded and displays a startup image on the screen.

6. If the DRVSPACE.INI or DBLSPACE.INI files exist, they are loaded into memory. IO.SYS also automatically loads HIMEM.SYS (a memory manager), IFSHLP.SYS (a minimal file system), and SETVER.EXE (if config.sys doesn't exist).

7. The IO.SYS file checks the system Registry files (SYSTEM.DAT and USER.DAT) for valid data.

8. IO.SYS opens the SYSTEM.DAT file. If the SYSTEM.DAT file is not found, the SYSTEM.DA0 file is used for startup. If Windows 9x starts successfully, the SYSTEM.DA0 file is copied to the SYSTEM.DAT file.

9. The DBLBUFF.SYS file is loaded if the DoubleBuffer=1 is used in the MSDOS.SYS file or if double buffering is enabled under the following registry key: HKLM\SYSTEM\CURRENTCONTROLSET\CONTROL\WINBOOT\DOUBLEBUFFER

(Windows 9x Setup automatically enables double buffering if it detects that it is required)

10. If you have multiple hardware profiles, the hardware profile you chose is loaded from the registry.

11. In Windows 9x, the system looks in the Registry's HKLM\SYSTEM\CURRENTCONTROLSET key to load the device drivers and other parameters specified there before executing the CONFIG.SYS file.

12. WIN.COM (Windows' protected mode loader) is loaded and run.

13. WIN.COM accesses the VMM32.VXD file (real-mode virtual device driver library). If there is enough available RAM, the VMM32.VXD file loads into memory. Otherwise, it is accessed from the hard disk.

14. The real-mode virtual device driver loader (VMM32.VXD) checks for duplicate virtual device drivers (VxDs) in the WINDOWS\SYSTEM\VMM32 folder and the VMM32.VXD file. If a VxD exists in both the WINDOWS\SYSTEM\VMM32 folder and the VMM32.VXD file, the duplicate VXD is "marked" in the VMM32.VXD file so that it is not loaded.

15. VxDs that are not already loaded by the VMM32.VXD file are loaded from the [386 Enh] section of the WINDOWS\SYSTEM.INI file.

Required VXDs: BIOSXLAT, CONFIGMG, DYNAPAGE, DOSMGR, EBIOS, IFSMGR, INT13, IOS, PAGESWAP, SHELL, V86MMGR, VCD, VCACHE, VCOMM, VCOND, VDD, VDMAC, VFAT, VKD, VMCPD, VPICD, VTD, VTDAPI, VWIN32, VXDLDR. (I suppose this is where you might put in FATX and NTFS drivers)

16. The real-mode virtual device driver loader checks that all required VXDs loaded successfully. If not, it attempts to load the drivers again.

17. Once the real-mode virtual device driver loading is logged, driver initialization occurs. If any VXDs require real-mode initialization, they begin their process in real mode.

18. VMM32 switches the computers processor from real mode to protected mode.

19. A three-phase VXD initialization process occurs in which the drivers are loaded according to their InitDevice instead of the order in which they are loaded into memory.

20. After all the VXDs are loaded, the KRNL32.DLL, GDI.EXE, USER.EXE, and EXPLORER.EXE (the default Windows 9X GUI shell) files are loaded.


So, it appears to me that if we use a hacked or from-scratch IO.SYS, then we can get Windows to skip scanning the PCI bus. Or, make a boot loader that overwrites the boot sector and loads a program that will emulate the PCI bus, then loads Windows98. Additionally, it might be prudent to have a BIOS that gives out IRQs, I/O ports, and DMA channels instead of letting Windows do plug and play.

Also, it might be possible to modify the boot sectors for Win98SE so that it can read FatX, although it would be a bad idea since you can only have names 44 letters long. Maybe create a device driver to do it... I might have a DDK lying around here somewhere.

One thing I'm not too sure about is how exactly the PCI bus works. Is the PCI bus included in a chip or in the BIOS? Because a BIOS only bus you could modify to report there are no devices, but a hardware bus might need an extra chip that the BIOS can refer to.


NOTE: I have realised that it should be possible to make a version of DOS (or use one that exists) that boots up on XBox, then runs WIN.COM, bypassing checks on the PCI Bus. But I don't know if 98SE checks at any other places.


Anyways, if Windows 98 SE isn't plausible, has anyone considered OS/2 Warp 4?



(Useful sites)
http://home.att.net/~rayknights/pc_boot/w98bboot.htm <---Windows98se Boot Sector Info
http://216.239.63.104/search?q=cache:jThskoKK2ZwJ:www.geocities.com/thestarman3/asm/mbr/MSWIN41.htm+&hl=en




I've got some experience making websites (I just made my personal website a few weeks ago and only really started working on it the last few days. http://brent.freelinuxhost.com/), and might be able to help there. Also, WinXBE is good for a group name, but how about Win9Xbox for the actual release if we get 9X working, and Windows XbP or something if we get XP running?



[P.S. - Seems like we need more information on what we're dealing with -- IBM-PC compatible BIOS, PCI Bus,  etc.]
Logged

h8raid

  • Archived User
  • Jr. Member
  • *
  • Posts: 89
Get It Running Efficiently!
« Reply #127 on: December 03, 2004, 12:07:00 PM »

@expert01, nice presentation of your thoughts and ideas, thank you for your information.  I want to see what Scan-C thinks about the ideas presented here because he is our programmer, so what do you think Scan?
Logged

dj screwSUC

  • Archived User
  • Newbie
  • *
  • Posts: 5
Get It Running Efficiently!
« Reply #128 on: December 04, 2004, 06:22:00 PM »

come on guys, dont let this die... i cant do much.. but i would be glad to help test
Logged

Scan-C

  • Archived User
  • Hero Member
  • *
  • Posts: 616
Get It Running Efficiently!
« Reply #129 on: December 05, 2004, 05:36:00 AM »

rewriting io.sys shouldn't be any harder than the current tasks but there's still the problem loading it in the first place. for now the xbox isn't able to use any kind of boot sector be it on cd or hdd. the bios i'm developing will use the mbr (first 512 bytes on the hdd) and should give us the possibility to load io.sys. when the bios is finally running i'll think over it. atm i have some difficulties but i hope to get them sorted soon. using io.sys could be easier than developing a tool that remaps memory locations and fakes pci data.
if someone could get information if win 98 scans only in io.sys that would be really helpful in the future.
Logged

expert01

  • Archived User
  • Newbie
  • *
  • Posts: 24
Get It Running Efficiently!
« Reply #130 on: December 05, 2004, 01:29:00 PM »

I suppose I could try deleting IO.SYS, installing a free version of DOS, and try running Windows from there... I'll get back to you.
Logged

Xbox2005

  • Archived User
  • Newbie
  • *
  • Posts: 18
Get It Running Efficiently!
« Reply #131 on: December 06, 2004, 12:47:00 AM »







                                     Good Luck



                               rolleyes.gif It will be cool to install windows on an xbox
Logged

Shadow7789

  • Archived User
  • Newbie
  • *
  • Posts: 26
Get It Running Efficiently!
« Reply #132 on: December 06, 2004, 04:01:00 PM »

Just make sure that it supports Windows Server.  With only 64 mb of ram, with a max of 128 ram, it is basically useless for all games that are Direct 8.1 and higher (when running windows).  I see my Xbox setup as a windows FTP server and VNC server.  Maybe a web server too!
Logged

expert01

  • Archived User
  • Newbie
  • *
  • Posts: 24
Get It Running Efficiently!
« Reply #133 on: December 06, 2004, 10:07:00 PM »

QUOTE (Shadow7789 @ Dec 7 2004, 01:04 AM)
Just make sure that it supports Windows Server.  With only 64 mb of ram, with a max of 128 ram, it is basically useless for all games that are Direct 8.1 and higher (when running windows).  I see my Xbox setup as a windows FTP server and VNC server.  Maybe a web server too!

Well, I hope you don't mean any NT version of Windows... those would be much more complex to do. Although I suppose you could always just install free servers, like Apache (etc.).
Logged

Shadow7789

  • Archived User
  • Newbie
  • *
  • Posts: 26
Get It Running Efficiently!
« Reply #134 on: December 07, 2004, 10:01:00 AM »

I meant windows server 200, but i forgot that it is a NT based server (I think).  But, I think I'll be fine running a server on WinME.  Is this project intending to support Win2K?
Logged
Pages: 1 ... 7 8 [9] 10 11 ... 25