Fixed spelling errors

PatrickvL 2017-08-02 09:55:44 +02:00
parent e38a10c1dd
commit b37c38f8d8
1 changed files with 25 additions and 25 deletions

@ -5,51 +5,51 @@
We believe Cxbx-Reloaded has a right to exist as a Hybrid emulator, covering the middle-ground We believe Cxbx-Reloaded has a right to exist as a Hybrid emulator, covering the middle-ground
between the LLE based emulators and the completely HLE based old Cxbx, which offered one remarkable between the LLE based emulators and the completely HLE based old Cxbx, which offered one remarkable
feature : faster-than-original emulation speed. We intent to keep that speed (mainly contributed feature : faster-than-original emulation speed. We intent to keep that speed (mainly contributed
by the fact we run code on the native CPU) and improve compatability by using Hybrid emulation of by the fact we run code on the native CPU) and improve compatibility by using Hybrid emulation of
various XBox hardware components. various Xbox hardware components.
# Glossary of terms used in this project: # Glossary of terms used in this project:
## LLE ## LLE
Low Level Emulation, a technique in which an emulated piece of software is executed by way of Low Level Emulation, a technique in which an emulated piece of software is executed by way of
emulating the original hardware. This is done by a piece of code that replicates as close as possible emulating the original hardware. This is done by a piece of code that replicates as close as possible
the behaviour and state of the emulated hardware. the behavior and state of the emulated hardware.
## HLE ## HLE
High Level Emulation, a technique in which an emulated piece of software is executed without High Level Emulation, a technique in which an emulated piece of software is executed without
emulating the original hardware. This can done when the emulated system and the host use comparable emulating the original hardware. This can done when the emulated system and the host use comparable
hardware. In the case of Cxbx, the CPU code is executed as-is most of the time, and hardware acceses hardware. In the case of Cxbx, the CPU code is executed as-is most of the time, and hardware accesses
to the video, audio and input/output devices is bypassed using Patches over the original Functions. to the video, audio and input/output devices is bypassed using Patches over the original Functions.
## Hybrid emulation ## Hybrid emulation
A mix of HLE and LLE, in which some parts are HLE'ed, while other parts are LLE'ed. A mix of HLE and LLE, in which some parts are HLE'ed, while other parts are LLE'ed.
In the case of Cxbx, we're underway to emulate the graphics and sound hardware using a form of LLE. In the case of Cxbx, we're underway to emulate the graphics and sound hardware using a form of LLE.
It won't be complete LLE, as we're planning to interpret hardware accesses and replate their It won't be complete LLE, as we're planning to interpret hardware accesses and replace their
behaviour using native hardware using OpenGL for graphics (and possibly something like OpenAL for behavior using native hardware using OpenGL for graphics (and possibly something like OpenAL for
audio and OpenIO for input/output). audio and OpenIO for input/output).
## XBox emulation ## Xbox emulation
Emulation of the Microsoft XBox console platform. In contrast with many other platforms, Emulation of the Microsoft Xbox console platform. In contrast with many other platforms,
there are not many succesfull XBox emulators. The first one was made by Microsoft themselves, there are not many successful Xbox emulators. The first one was made by Microsoft themselves,
for the XBox 360. Others are xqemu and the XBox/Chihiro driver in MAME, which are both quite for the Xbox 360. Others are xqemu and the Xbox/Chihiro driver in MAME, which are both quite
complete, since they both use LLE, but as a result both are also quite slow. complete, since they both use LLE, but as a result both are also quite slow.
## XBox hardware ## Xbox hardware
The main XBox hardware components are: a 733MHz Pentium 3 CPU, a NV2A GPU, and an MCPX APU. The main Xbox hardware components are: a 733MHz Pentium 3 CPU, a NV2A GPU, and an MCPX APU.
## XBox Kernel (BIOS) ## Xbox Kernel (BIOS)
Normally present in the BIOS of the XBox, the kernel offers more than 360 basic system functions. Normally present in the BIOS of the Xbox, the kernel offers more than 360 basic system functions.
These functions deal with memory reservation, manage kernel objects (like hardware timers, These functions deal with memory reservation, manage kernel objects (like hardware timers,
mutexes, semaphores, storage devices, symbolic links, files, etc.) and accesses to hardware mutexes, semaphores, storage devices, symbolic links, files, etc.) and accesses to hardware
(like PCI, EEPROM, etc.). Cxbx contains it's own implementation of the Kernel, as we need our (like PCI, EEPROM, etc.). Cxbx contains it's own implementation of the Kernel, as we need our
emulator to create it's own 'sandbox' enviroment, so it's native code execution doesn't escape emulator to create it's own 'sandbox' environment, so it's native code execution doesn't escape
the sandbox and overloads, or otherwise wreaks havoc on the native system. the sandbox and overloads, or otherwise wreaks havoc on the native system.
## XBox Development Kit (XDK) ## Xbox Development Kit (XDK)
A package full of resouces (documentation, tools, source code, etc.) as once distributed by Microsoft to XBox developers. A package full of resources (documentation, tools, source code, etc.) as once distributed by Microsoft to Xbox developers.
## XBox Executable (XBE) ## Xbox Executable (XBE)
A binary file containing all code for a piece of software that can be run on the XBox. A binary file containing all code for a piece of software that can be run on the Xbox.
An XBE file is generated using a compiler toolchain of either a XDK or an Open Source alternative (like OpenXDK). An XBE file is generated using a compiler toolchain of either a XDK or an Open Source alternative (like OpenXDK).
## Library ## Library
@ -58,7 +58,7 @@
Later XDK's used only one Version for all it's contained Libraries. Later XDK's used only one Version for all it's contained Libraries.
## Version ## Version
A four-digit number, indicating the release number of a Library (thus, also of all Symbols orginating from it) A four-digit number, indicating the release number of a Library (thus, also of all Symbols originating from it)
## Location ## Location
A unique memory address with contents of an XBE loaded into memory, ready for execution or read/write access A unique memory address with contents of an XBE loaded into memory, ready for execution or read/write access
@ -67,10 +67,10 @@
A unique label, indicating either a Global or a Function. A unique label, indicating either a Global or a Function.
## Global ## Global
A piece of data, uniquely indentified by a Symbol (thus, Globals are a subset of all Symbols) A piece of data, uniquely identified by a Symbol (thus, Globals are a subset of all Symbols)
## Function ## Function
A piece of code, uniquely indentified by a Symbol (thus, Functions are a subset of all Symbols) A piece of code, uniquely identified by a Symbol (thus, Functions are a subset of all Symbols)
## XRef ## XRef
A cross-referenced Symbol Location from within a Function A cross-referenced Symbol Location from within a Function
@ -86,11 +86,11 @@
This original Function is found using an OOVPA, resulting in the Location of both Functions This original Function is found using an OOVPA, resulting in the Location of both Functions
and in some cases also XRef-erenced Symbols (thus: either Functions or Globals). and in some cases also XRef-erenced Symbols (thus: either Functions or Globals).
Patch are written over the found Function Locations, so a wrongly detected Location Patch are written over the found Function Locations, so a wrongly detected Location
will result in incorrecly placed Patches, resulting in incorrect emulation behaviour and will result in incorrectly placed Patches, resulting in incorrect emulation behavior and
potential crashes. Also, the implementation of a Patch greatly influences the level of potential crashes. Also, the implementation of a Patch greatly influences the level of
accurateness of emulation. Some Patches don't do anything, whilst others try to mimic the accurateness of emulation. Some Patches don't do anything, whilst others try to mimic the
behaviour of the original Function as closely as possible. The end result is sometimes behavior of the original Function as closely as possible. The end result is sometimes
very noticable (beeps & pops, graphics artifacts, etc) and sometimes you can't tell very noticeable (beeps & pops, graphics artifacts, etc) and sometimes you can't tell
the difference. the difference.
## AliasOovpa ## AliasOovpa