An experimental emulator
Go to file
dingusdev a57b9c597c
Merge pull request #10 from maximumspatium/master
Machine-specific address maps and generic MMIO devices.

This now allows the start-up chime to play on a PowerMac 6100 setup.
2019-08-07 18:27:30 -07:00
.github/ISSUE_TEMPLATE Update issue templates 2019-07-07 11:27:39 -07:00
.gitignore Add .gitignore to simplify Git workflow. 2019-07-21 03:50:15 +02:00
addressmap.cpp Add AddressMap class for defining physical maps. 2019-08-07 20:26:30 +02:00
addressmap.h Add AddressMap class for defining physical maps. 2019-08-07 20:26:30 +02:00
CMakeLists.txt Add simple command-line debugger. 2019-07-17 17:56:08 +02:00
davbus.cpp Update for July 7, 2019 2019-07-06 23:10:32 -07:00
davbus.h Update for July 7, 2019 2019-07-06 23:10:32 -07:00
debugger.cpp Simplify initialization of ppc_cur_instruction. 2019-07-19 23:34:57 +02:00
debugger.h Add simple command-line debugger. 2019-07-17 17:56:08 +02:00
dingusppc.cbp More fixes, plus a temp icon 2019-07-19 14:24:39 -07:00
dppcicon.ico More fixes, plus a temp icon 2019-07-19 14:24:39 -07:00
icon.rc More fixes, plus a temp icon 2019-07-19 14:24:39 -07:00
LICENSE Initial commit 2019-07-01 19:13:30 -07:00
macioserial.cpp Worked more on Grackle, ESCC, and OpenPIC 2019-07-14 17:05:10 -07:00
macioserial.h Add files via upload 2019-07-01 19:15:33 -07:00
macscsi.cpp Add files via upload 2019-07-01 19:15:33 -07:00
macscsi.h Add files via upload 2019-07-01 19:15:33 -07:00
macswim3.cpp Add files via upload 2019-07-01 19:15:33 -07:00
macswim3.h Add files via upload 2019-07-01 19:15:33 -07:00
main.cpp Define and connect basic PowerMac 6100 hardware. 2019-08-07 20:26:30 +02:00
makefile Define and connect basic PowerMac 6100 hardware. 2019-08-07 20:26:30 +02:00
mmiodevice.h Add base class for memory-mapped I/O devices. 2019-08-07 20:26:30 +02:00
mpc106.cpp Worked more on Grackle, ESCC, and OpenPIC 2019-07-14 17:05:10 -07:00
mpc106.h Worked more on Grackle, ESCC, and OpenPIC 2019-07-14 17:05:10 -07:00
openpic.cpp Near-Midnight Update - July 18, 2019 2019-07-18 23:31:16 -07:00
openpic.h Add files via upload 2019-07-01 19:15:33 -07:00
pmac6100hw.cpp Define and connect basic PowerMac 6100 hardware. 2019-08-07 20:26:30 +02:00
pmac6100hw.h Define and connect basic PowerMac 6100 hardware. 2019-08-07 20:26:30 +02:00
poweropcodes.cpp Fix mask generator for rotate&shift if mb > me. 2019-08-06 01:42:07 +02:00
ppcemumain.h ppcmemory now uses machine's physical address map. 2019-08-07 20:26:30 +02:00
ppcfpopcodes.cpp Fix the warnings for good 2019-08-04 08:43:20 -07:00
ppcgekkoopcodes.cpp Add files via upload 2019-07-01 19:15:33 -07:00
ppcmemory.cpp ppcmemory now uses machine's physical address map. 2019-08-07 20:26:30 +02:00
ppcmemory.h ppcmemory: refactor memory reads/writes. 2019-08-03 02:59:42 +02:00
ppcopcodes.cpp ppcopcodes: switch off a couple of debug messages. 2019-08-07 20:26:29 +02:00
README.md Near-Midnight Update - July 18, 2019 2019-07-18 23:31:16 -07:00
viacuda.cpp Replace '&&' with '&' where bitwise AND is expected. 2019-07-02 14:18:51 +02:00
viacuda.h Add files via upload 2019-07-01 19:15:33 -07:00

DingusPPC by divingkatae

Be warned the program is highly unfinished and could use a lot of testing. Any feedback is welcome.

PHILOSOPHY OF USE

Sheepshaver, while technically impressive, is becoming harder to compile and run. While many other PowerPC emus exist, none of them currently attempt emulation of PPC Macs (except for QEMU).

This program aims to not only improve upon what Sheepshaver has 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 G3 Beige.

HOW TO USE

This program uses the command prompt to work.

There are a few command line arguments one can enter when starting the program.

-fuzzer

Processor fuzzer, very unfinished.

-realtime

Run the emulator in runtime.

-loadelf

Load an ELF file into memory.

-debugger

Enter the interactive debugger.

-stepp

Execute a page of opcodes (256 instructions at a time).

-playground

allows users to enter 32-bit hex opcodes to mess with the PPC processor.

HOW TO COMPILE

Run sudo apt-get install build-essential

From the terminal, run makefile.

Due to the incomplete status of the program at this time, no additional libraries are required.

Future versions will include SDL 2 as a requirement.

Intended Minimum Requirements

  • Windows 7 or newer (64-bit), Linux 4.4 or newer, Mac OS X 10.9 or newer (64-bit)
  • Intel Core 2 Duo or better
  • 2 GB of RAM
  • 2 GB of Hard Disk Space
  • Graphics Card with a minimum resolution of 800*600

Compiler Requirements

  • GCC 4.7 or newer (i.e. CodeBlocks 13.12 or newer)
  • Visual Studio 2013 or newer