mirror of
https://github.com/dingusdev/dingusppc.git
synced 2025-02-22 13:29:49 +00:00
Spelling.
This commit is contained in:
parent
cf4ce01ddd
commit
8baf722343
@ -8,7 +8,7 @@ Be warned the program is highly unfinished and could use a lot of testing. Any f
|
|||||||
|
|
||||||
While many other PowerPC emus exist (PearPC, Sheepshaver), none of them currently attempt emulation of PowerPC Macs accurately (except for QEMU).
|
While many other PowerPC emus exist (PearPC, Sheepshaver), none of them currently attempt emulation of PowerPC Macs accurately (except for QEMU).
|
||||||
|
|
||||||
This program aims to not only improve upon what Sheepshaver, PearPC, and other PowerPC Mac emulators have done, but also to provide a better debugging environment. This currently is designed to work best with PowerPC Old World ROMs, including those of the PowerMac 6100, 7200, and G3 Beige.
|
This program aims to not only improve upon what Sheepshaver, PearPC, and other PowerPC Mac emulators have done, but also to provide a better debugging environment. This currently is designed to work best with PowerPC Old World ROMs, including those of the Power Mac 6100, 7200, and G3 Beige.
|
||||||
|
|
||||||
## Implemented Features
|
## Implemented Features
|
||||||
|
|
||||||
|
@ -58,7 +58,7 @@ bool AdbKeyboard::get_register_0() {
|
|||||||
|
|
||||||
uint8_t AdbKeyboard::consume_pending_event() {
|
uint8_t AdbKeyboard::consume_pending_event() {
|
||||||
if (this->pending_events.empty()) {
|
if (this->pending_events.empty()) {
|
||||||
// In most cases we have only on pending event when the host polls us,
|
// In most cases we have only one pending event when the host polls us,
|
||||||
// but we need to fill two entries of the output buffer. We need to set
|
// but we need to fill two entries of the output buffer. We need to set
|
||||||
// the key status bit to 1 (released), and the key to a non-existent
|
// the key status bit to 1 (released), and the key to a non-existent
|
||||||
// one (0x7F). Otherwise if we leave it empty, the host will think that
|
// one (0x7F). Otherwise if we leave it empty, the host will think that
|
||||||
|
@ -31,7 +31,7 @@ along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@file Contains definitions for PowerMacintosh machine ID registers.
|
@file Contains definitions for Power Macintosh machine ID registers.
|
||||||
|
|
||||||
The machine ID register is a memory-based register containing hardcoded
|
The machine ID register is a memory-based register containing hardcoded
|
||||||
values the system software can read to identify machine/board it's running on.
|
values the system software can read to identify machine/board it's running on.
|
||||||
@ -43,7 +43,7 @@ along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|||||||
Machine ID register for Nubus Power Macs.
|
Machine ID register for Nubus Power Macs.
|
||||||
It's located at physical address 0x5FFFFFFC and contains four bytes:
|
It's located at physical address 0x5FFFFFFC and contains four bytes:
|
||||||
+0 uint16_t signature = 0xA55A
|
+0 uint16_t signature = 0xA55A
|
||||||
+1 uint8_t machine_type (3 - PowerMac)
|
+1 uint8_t machine_type (3 - Power Mac)
|
||||||
+2 uint8_t model (0x10 = PDM, 0x12 = Carl Sagan, 0x13 = Cold Fusion)
|
+2 uint8_t model (0x10 = PDM, 0x12 = Carl Sagan, 0x13 = Cold Fusion)
|
||||||
*/
|
*/
|
||||||
class NubusMacID : public MMIODevice {
|
class NubusMacID : public MMIODevice {
|
||||||
|
@ -44,7 +44,7 @@ namespace Hammerhead {
|
|||||||
#define EXTENDED_ID 0x1 // examine some other registers to get full ID
|
#define EXTENDED_ID 0x1 // examine some other registers to get full ID
|
||||||
#define HH_CPU_ID_TNT ((RISC_MACHINE << 4) | (EXTENDED_ID << 3) | MACH_TYPE_TNT)
|
#define HH_CPU_ID_TNT ((RISC_MACHINE << 4) | (EXTENDED_ID << 3) | MACH_TYPE_TNT)
|
||||||
|
|
||||||
// contants for the MBID field of the MOTHERBOARD_ID register
|
// constants for the MBID field of the MOTHERBOARD_ID register
|
||||||
enum {
|
enum {
|
||||||
MBID_VCI0_PRESENT = 4,
|
MBID_VCI0_PRESENT = 4,
|
||||||
MBID_PCI2_PRESENT = 2,
|
MBID_PCI2_PRESENT = 2,
|
||||||
|
@ -25,7 +25,7 @@ along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|||||||
|
|
||||||
Highspeed Memory Controller (HMC) is a custom memory
|
Highspeed Memory Controller (HMC) is a custom memory
|
||||||
and L2 cache controller designed especially for the
|
and L2 cache controller designed especially for the
|
||||||
first generation of the PowerMacintosh computer.
|
first generation of the Power Macintosh computer.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef HMC_H
|
#ifndef HMC_H
|
||||||
|
@ -25,7 +25,7 @@ along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|||||||
It's the central device in the Gossamer architecture.
|
It's the central device in the Gossamer architecture.
|
||||||
Manual: https://www.nxp.com/docs/en/reference-manual/MPC106UM.pdf
|
Manual: https://www.nxp.com/docs/en/reference-manual/MPC106UM.pdf
|
||||||
|
|
||||||
This code emulates as much functionality as needed to run PowerMac Beige G3.
|
This code emulates as much functionality as needed to run Power Mac Beige G3.
|
||||||
This implies that
|
This implies that
|
||||||
- we only support address map B
|
- we only support address map B
|
||||||
- our virtual device reports revision 4.0 as expected by machine firmware
|
- our virtual device reports revision 4.0 as expected by machine firmware
|
||||||
|
@ -65,7 +65,7 @@ static const map<uint32_t, std::tuple<string, const char*>> rom_identity = {
|
|||||||
{0x50425820, {"pb-preg3", "PowerBook Pre-G3"}},
|
{0x50425820, {"pb-preg3", "PowerBook Pre-G3"}},
|
||||||
{0x50444D20, {"pm6100", "Nubus Power Mac"}}, // Piltdown Man (6100/7100/8100)
|
{0x50444D20, {"pm6100", "Nubus Power Mac"}}, // Piltdown Man (6100/7100/8100)
|
||||||
{0x50697020, {"pippin", "Bandai Pippin"}}, // Pippin
|
{0x50697020, {"pippin", "Bandai Pippin"}}, // Pippin
|
||||||
//{"Powe", "Generic Power Mac"}, // PowerMac?
|
//{"Powe", "Generic Power Mac"}, // Power Mac?
|
||||||
{0x544E5420, {"pm7200", "Power Mac 7xxxx/8xxx series"}}, // Trinitrotoluene :-)
|
{0x544E5420, {"pm7200", "Power Mac 7xxxx/8xxx series"}}, // Trinitrotoluene :-)
|
||||||
{0x5A616E7A, {"pm4400", "Power Mac 4400/7220"}}, // Zanzibar
|
{0x5A616E7A, {"pm4400", "Power Mac 4400/7220"}}, // Zanzibar
|
||||||
};
|
};
|
||||||
|
@ -19,7 +19,7 @@ You should have received a copy of the GNU General Public License
|
|||||||
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/** @file Construct a PDM-style PowerMacintosh machine.
|
/** @file Construct a PDM-style Power Macintosh machine.
|
||||||
|
|
||||||
Author: Max Poliakovski
|
Author: Max Poliakovski
|
||||||
*/
|
*/
|
||||||
|
@ -5,7 +5,7 @@ MPC601 implements its own format for BAT registers that differs from the PowerPC
|
|||||||
|
|
||||||
MPC601-specific lower BAT registers has the "V" bit. If it's cleared, the corresponding BAT pair
|
MPC601-specific lower BAT registers has the "V" bit. If it's cleared, the corresponding BAT pair
|
||||||
is invalid and won't be used for address translation. To invalidate BATs on MPC601, it's enough
|
is invalid and won't be used for address translation. To invalidate BATs on MPC601, it's enough
|
||||||
to write NULL to lower BAT registers. That's exactly what PowerMac 6100 ROM does:
|
to write NULL to lower BAT registers. That's exactly what Power Mac 6100 ROM does:
|
||||||
```
|
```
|
||||||
li r0, 0
|
li r0, 0
|
||||||
mtspr ibat0l, r0
|
mtspr ibat0l, r0
|
||||||
|
@ -2,7 +2,7 @@ get-inherited-property and map-in notes
|
|||||||
by joevt
|
by joevt
|
||||||
|
|
||||||
==========================================================================================
|
==========================================================================================
|
||||||
PowerMac 8600
|
Power Mac 8600
|
||||||
|
|
||||||
|
|
||||||
rom notes:
|
rom notes:
|
||||||
@ -216,13 +216,13 @@ The method that the Radeon 7000 uses (the "AAPL,cpu-id" check) to decide whether
|
|||||||
|
|
||||||
|
|
||||||
==========================================================================================
|
==========================================================================================
|
||||||
PowerMac G3 233 (beige) Open Firmware 2.0f1:
|
Power Mac G3 233 (beige) Open Firmware 2.0f1:
|
||||||
|
|
||||||
- The PCI bridge in the G3 does not implement the add-range method which signifies that get-inherited-property returns the correct number of parameters
|
- The PCI bridge in the G3 does not implement the add-range method which signifies that get-inherited-property returns the correct number of parameters
|
||||||
- get-inherited-property is implemented the same as Open Firmware 2.4 (see below)
|
- get-inherited-property is implemented the same as Open Firmware 2.4 (see below)
|
||||||
|
|
||||||
==========================================================================================
|
==========================================================================================
|
||||||
PowerMac G3 300 (beige) Open Firmware 2.4:
|
Power Mac G3 300 (beige) Open Firmware 2.4:
|
||||||
|
|
||||||
- this version of Open Firmware is the best Old World Mac Open Firmware to work with since it has names for almost everything.
|
- this version of Open Firmware is the best Old World Mac Open Firmware to work with since it has names for almost everything.
|
||||||
|
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
[Open Firmware](https://en.wikipedia.org/wiki/Open_Firmware) is a platform-independent
|
[Open Firmware](https://en.wikipedia.org/wiki/Open_Firmware) is a platform-independent
|
||||||
boot firmware architecture covered by an IEEE standard.
|
boot firmware architecture covered by an IEEE standard.
|
||||||
|
|
||||||
All PowerMacintosh computers run Open Firmware except the very first generation
|
All Power Macintosh computers run Open Firmware except the very first generation
|
||||||
that uses [Nubus](https://en.wikipedia.org/wiki/NuBus) instead of
|
that uses [Nubus](https://en.wikipedia.org/wiki/NuBus) instead of
|
||||||
[PCI](https://en.wikipedia.org/wiki/Peripheral_Component_Interconnect).
|
[PCI](https://en.wikipedia.org/wiki/Peripheral_Component_Interconnect).
|
||||||
|
|
||||||
@ -22,7 +22,7 @@ controlling the boot enviroment as by developers for developing and debugging de
|
|||||||
drivers.
|
drivers.
|
||||||
|
|
||||||
This document focuses on various aspects of Apple's Open Firmware implementation
|
This document focuses on various aspects of Apple's Open Firmware implementation
|
||||||
as found in various PowerMacintosh models.
|
as found in various Power Macintosh models.
|
||||||
|
|
||||||
## Open Firmware Versions
|
## Open Firmware Versions
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user