mirror of
https://github.com/dingusdev/dingusppc.git
synced 2026-04-20 18:17:02 +00:00
Documentation cleanup
This commit is contained in:
@@ -8,17 +8,19 @@ 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).
|
||||
|
||||
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.
|
||||
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 NuBus and Old World ROMs, including those of the Power Mac 6100, 7200, and G3 Beige.
|
||||
|
||||
## Implemented Features
|
||||
|
||||
This emulator has a debugging environment, complete with a disassembler. We also have implemented enough to allow Open Firmware to boot, going so far as to allow audio playback of the boot-up jingles.
|
||||
Several machines have been implemented to varying degrees, like many Old World PowerPC Macs, early New World PowerPC Macs, and the Pippin.
|
||||
|
||||
This emulator has a debugging environment, complete with a disassembler.
|
||||
|
||||
## How to Use
|
||||
|
||||
This program currently uses the command prompt to work.
|
||||
|
||||
There are a few command line arguments one must enter when starting the program.
|
||||
There are a few command line arguments one can enter when starting the program.
|
||||
|
||||
```
|
||||
-r, --realtime
|
||||
@@ -36,21 +38,31 @@ Enter the interactive debugger.
|
||||
-b, --bootrom TEXT:FILE
|
||||
```
|
||||
|
||||
Specifies the Boot ROM path (optional; looks for bootrom.bin by default)
|
||||
Specifies the Boot ROM path. It otherwise looks for bootrom.bin.
|
||||
|
||||
```
|
||||
-m, --machine TEXT
|
||||
```
|
||||
|
||||
Specify machine ID (optional; will attempt to determine machine ID from the boot rom otherwise)
|
||||
Specify machine ID. Otherwise, the emulator will attempt to determine machine ID from the boot rom otherwise.
|
||||
|
||||
As of now, the most complete machines are the Power Mac 6100 (SCSI emulation in progress) and the Power Mac G3 Beige (SCSI + ATA emulation in progress, No ATI Rage acceleration).
|
||||
As of now, the most complete machines are the Power Mac 6100, the Power Mac 7500, and the Power Mac G3 Beige.
|
||||
|
||||
To go into to the debugger regardless of how you started the emulator, press Control and C on the terminal window.
|
||||
|
||||
## How to Compile
|
||||
|
||||
You need to install development tools first.
|
||||
|
||||
At least, a C++20 compliant compiler and [CMake](https://cmake.org) are required.
|
||||
At minimum, a C++20 compliant compiler and [CMake](https://cmake.org) are required.
|
||||
|
||||
Clone the repository using the appropriate command:
|
||||
|
||||
```
|
||||
git clone https://github.com/dingusdev/dingusppc
|
||||
```
|
||||
|
||||
If this is from a mirror, replace the argument with the source you want to use instead.
|
||||
|
||||
You will also have to recursive clone or run
|
||||
```
|
||||
@@ -100,7 +112,3 @@ make testppc
|
||||
- 2 GB of RAM
|
||||
- 2 GB of Hard Disk Space
|
||||
- Graphics Card with a minimum resolution of 800*600
|
||||
|
||||
## Compiler Requirements
|
||||
|
||||
- Any C++20 compatible compiler
|
||||
|
||||
@@ -57,7 +57,7 @@ enum ATA_Reg : int {
|
||||
ALT_STATUS = 0x16, // alt status (read)
|
||||
DEV_CTRL = 0x16, // device control (write)
|
||||
TIME_CONFIG = 0x20, // Apple ASIC specific timing configuration
|
||||
INT_REG = 0x30, // Iterrupt Register (read) 0x40 = int request (KeyLargo only)
|
||||
INT_REG = 0x30, // Interrupt Register (read) 0x40 = int request (KeyLargo only)
|
||||
};
|
||||
|
||||
/** ATAPI specific register offsets. */
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
The AMIC is the I/O controller used in the Power Mac 6100. Physically, it's located at 0x50F00000.
|
||||
The AMIC is the I/O controller used in the Power Mac 6100. Appropriately, it's the abbreviation for Apple Memory Mapped I/O Controller.
|
||||
Physically, it's located at 0x50F00000.
|
||||
|
||||
It also:
|
||||
|
||||
|
||||
@@ -20,7 +20,7 @@ It also has a unique 37-pin connector dubbed the Geekport to allow hobbyists to
|
||||
| CPU 0 Interrupt Mask | 0x7FFFF0F0 | |
|
||||
| CPU 1 Interrupt Mask | 0x7FFFF1F0 | |
|
||||
| Interrupt sources | 0x7FFFF2F0 | |
|
||||
| Cross-proccessor interrupts | 0x7FFFF3F0 | |
|
||||
| Cross-processor interrupts | 0x7FFFF3F0 | |
|
||||
| Proc. resets, other stuff | 0x7FFFF4F0 | |
|
||||
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# ROM
|
||||
# ROMs
|
||||
|
||||
The Old World ROM is always 4 megabytes (MB). The first three MB are reserved for the 68k code, while the last MB is for the PowerPC boot-up code.
|
||||
Old World ROMs are always 4 megabytes (MB). The first three MB are reserved for the 68k code, while the last MB is for the PowerPC boot-up code.
|
||||
|
||||
New World ROMs are 1 MB stubs containing Open Firmware and some basic drivers, but has an additional ROM stored on the Mac's hard disk to provide Toolbox functionality. The ROMs stored on the Mac's hard disk also had updates distributed.
|
||||
|
||||
|
||||
@@ -151,7 +151,7 @@ pci_B1
|
||||
pci_C1
|
||||
```
|
||||
|
||||
Specified what devices are conntected to a particular PCI slot. Not supported on NuBus machines such as the Power Mac 6100.
|
||||
Specified what devices are connected to a particular PCI slot. Not supported on NuBus machines such as the Power Mac 6100.
|
||||
|
||||
```
|
||||
--adb_devices TEXT
|
||||
@@ -214,7 +214,7 @@ Currently, the Power Mac 6100 cannot boot any OS image containing Mac OS 9.0 or
|
||||
|
||||
### ATI Mach Support
|
||||
|
||||
The GUI engine is currently not fully implemented. As such, UI elements might not be rendered when trying to use this video card. To circumenvent this, you may wish to move the ATI Accelerator extension to the Extensions (Disabled) folder.
|
||||
The GUI engine is currently not fully implemented. As such, UI elements might not be rendered when trying to use this video card. To circumvent this, you may wish to move the ATI Accelerator extension to the Extensions (Disabled) folder.
|
||||
|
||||
### Currently Unimplemented Features
|
||||
|
||||
|
||||
Reference in New Issue
Block a user