Comments (10)
There is now a native serial port driver for Windows. It's buggy, uses up 100% of a CPU core and tends to lock up very easily, but sometimes WinDbg connects succesfully for a brief moment and figures out that it is connected to an Xbox, like this:
Sometimes it goes even further and tries to load symbols for xboxkrnl.exe
, but fails because they obviously are not available.
from strikebox.
OpenXBOX can now detect and respond to fatal errors and bug checks. It will also detect the running kernel version and log it.
from strikebox.
With #10 solved, StrikeBox can now boot into games.
from strikebox.
The new implementation is now ported to OpenXBOX. With some additional fixes, we can debug the virtual Xbox kernel! With it, I noticed that some IRQs are incorrect, which is likely due to an incomplete implementation of certain devices.
Here's the kernel debugger in action:
from strikebox.
Cxbx-Reloaded has an architecture we could use. See here.
from strikebox.
I ported over Cxbx-Reloaded's implementation of many devices, with the exception of NV2A for now. It seems that we're hanging at some point during initialization. The system clock should probably attached to PCI bus and remain disabled until the appropriate command is sent. But there's probably more stuff that needs to be done until we get past the system initialization code and go through the boot animation -- NV2A being an obvious missing component.
from strikebox.
Super I/O has been bumped up in priority since it will help debug some issues. I think the kernel is bug checking and the kernel debugger is trying to enable the serial port to tell us what is happening.
from strikebox.
Super I/O is implemented and seems to be working, but now we need to attach it to a serial port on the system and hopefully it will let WinDbg connect to the Xbox kernel debugger.
from strikebox.
I wrote a new implementation of the serial character driver for Windows that uses two threads: one for receiving data and processing events, and another for transmitting data. It can handle continuous streams of 115200 bps transfers both ways simultaneously without a problem.
I'll bring this over to OpenXBOX soon, and hopefully this will let WinDbg attach to the Xbox kernel without a problem.
from strikebox.
The kernel debugger sometimes prints the following message: ReadVirtual() failed in GetXStateConfiguration() first read attempt (error == 997.
. This clearly means we need to emulate other hardware (in this case, XID / USB devices) before continuing.
from strikebox.
Related Issues (20)
- Emulate IDE devices HOT 7
- Detect BIOS and MCPX ROM version and type HOT 1
- Detect appropriate hardware revision based on provided MCPX and BIOS ROMs HOT 1
- Emulate MCPX ROM overlay correctly
- Emulate the CMOS HOT 1
- Improve hard disk and DVD image handling
- RDTSC scaling
- Add support for HAXM on Mac HOT 1
- Mention in readme this is a fork of mborgerson's OpenXBOX? HOT 2
- Replace CPU virtualization modules with virt86 HOT 3
- Add a LICENSE HOT 1
- Find a new name for the emulator HOT 6
- Add XQEMU adapter for Xbox hardware
- Fix timing accuracy HOT 1
- Add NV2A emulation HOT 4
- Add MCPX APU/ACI emulation
- Implement the Temperature Sensor HOT 1
- Load and store EEPROM in a file
- Add NVNet emulation
- Add USB emulation HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from strikebox.