joevt
78696aa822
chario: Use "this" for class fields.
2024-12-06 07:25:14 -07:00
joevt
1f8a76e534
escc: Remove unused variable.
2024-12-06 07:22:04 -07:00
dingusdev
d22f926a8a
Tweak s*u(x) and l*u(x) instructions for 601
...
These are what the instructions are supposed to do according the 601 manual.
2024-12-06 07:07:36 -07:00
dingusdev
1c95619aa4
Assign ESCC B RCV DMA
2024-12-06 05:47:06 -07:00
dingusdev
81ebc40158
Add ESCC B RCV DMA
...
Diagnosing issues in booting up Mac OS 9.0.4 for Beige G3
2024-12-04 21:11:47 -07:00
joevt
1bf4073fa7
macio: Range check scc compatible register index.
...
Also, non-compatible registers don't begin until 0x60 for SCC compatible addressing.
2024-12-04 21:03:09 -07:00
joevt
ab59a34604
bandit: Modify address ranges.
...
- Increase I/O space from 22 bits (4 MB) to 23 bits (8 MB).
- Add Special Cycles and Interrupt Acknowledge Cycles at 14 MB offset.
- Pass Through range at 16 MB offset is 16 MB size. VGA and 24 bit physical addresses can go here.
- Bandit is 32 MB except for pci1 which has GrandCentral at Bandit's 16 MB offset.
2024-12-04 20:47:22 -07:00
dingusdev
31323e7bf1
Fix compiling errors for MON_ID_SENSE (platinum)
2024-12-04 07:48:38 -07:00
joevt
05658ad5c5
platinum: Fix MON_ID_SENSE read/write.
2024-12-04 07:38:53 -07:00
joevt
a593a4a73e
platinum: Implement VRAM_REFRESH read.
2024-12-04 07:36:59 -07:00
joevt
99972307dc
platinum: Implement FB_TEST read/write.
2024-12-04 07:36:48 -07:00
joevt
d7fb49166f
platinum: Add comments and enums for registers.
2024-12-04 07:16:47 -07:00
joevt
0bca7bc743
platinum: Make some FB_CONFIG_1 bits read only.
2024-12-04 07:16:45 -07:00
dingusdev
10a3fa5984
Tweak logging for main branch
2024-12-04 07:11:43 -07:00
joevt
d98929f24c
platinum: Registers affect display immediately.
2024-12-04 07:11:07 -07:00
joevt
2ab6a94795
Ignore zero sized DIMM.
2024-12-04 07:10:40 -07:00
joevt
818f982c75
swim3: Create separate reset method.
...
And set defaults for some class fields.
2024-12-03 18:20:13 -07:00
joevt
e72b571069
swim3: Add enums and use them.
2024-12-03 18:19:23 -07:00
dingusdev
2a92ce78f5
Removed unneeded test code
...
Was trying to see what was causing Mac OS X's menu bar to sag 96 pixels
2024-12-03 07:46:13 -07:00
joevt
b512702fbb
ppcopcodes: Fix indent in ppc_mtsr.
2024-12-03 06:52:20 -07:00
joevt
47fca9f4ff
ppcexec: Fix absolute address comment.
2024-12-03 06:52:09 -07:00
joevt
ee8c912397
poweropcodes: Fix clcs for MPC601.
...
These output values will pass the current set of risu tests which tests all 32 input values multiple times.
2024-12-03 06:51:56 -07:00
joevt
3fd422008e
ppcfpopcodes: Use enums instead of literals.
2024-12-03 06:51:15 -07:00
joevt
bce4c98475
ppcfpopcodes: Fix fdiv for MPC601.
2024-12-03 06:50:57 -07:00
joevt
b45b0a8df4
ppcopcodes: Fix divw for MPC601.
2024-12-03 06:50:17 -07:00
joevt
b8af8d387c
ppcopcodes: Fix divu for MPC601.
2024-12-03 06:50:08 -07:00
joevt
84075c5988
ppcopcodes: Fix lswx for MPC601.
2024-12-03 06:49:53 -07:00
dingusdev
35919802f3
Tweak fsel
...
Inspired by a similar fix toxieainc committed for Supermodel
2024-12-03 06:49:08 -07:00
Maxim Poliakovski
6b3a399015
Merge pull request #129 from mihaip/upstream-sdl-revert
...
Revert unintentional change to imgfile_sdl.cpp
2024-12-03 13:59:26 +01:00
joevt
80b763ecc3
ppcexec: Fix OP59d.
...
Some of these accept a 4th register "C" so they exist in the opcode table 32 times.
Some of these don't accept a 4th register "C" so they exist in the opcode table once.
2024-12-03 12:12:56 +01:00
Maxim Poliakovski
85d5b10f61
sc53c94: switch to the new DMA API.
2024-12-03 11:37:18 +01:00
Maxim Poliakovski
5057792d4d
dbdma: implement xfer_to_device method.
2024-12-03 11:37:18 +01:00
Mihai Parparita
a1d945a61f
Revert unintentional change to imgfile_sdl.cpp
...
Did not mean to include this in #127
2024-12-02 22:50:03 -08:00
dingusdev
46425faaa9
Merge pull request #128 from mihaip/upstream-using-namespace
...
Remove `using namespace std` from remaining header files
2024-12-01 07:01:05 -07:00
Mihai Parparita
4479387580
Remove using namespace std
from remaining header files
...
It's somewhat of an anti-pattern, and can lead to conflicts with
other symbols (e.g. the Windows build failure in https://github.com/dingusdev/dingusppc/actions/runs/11762906342/job/32766290288 ,
I removed `using namespace std` from timermanager.h to fix that one).
2024-11-30 20:01:09 -08:00
dingusdev
f355fb0dfe
Merge pull request #127 from mihaip/upstream-opcode-dispatcher
...
ppc: Use a unified opcode lookup table
2024-11-30 12:51:08 -07:00
Mihai Parparita
b759f25d87
ppc: Use a unified opcode lookup table
...
Instead of a primary opcode lookup table with 64 entries and a few
smaller tables with 4-2048 entries, use a single 64 * 2048 (128K)
entry table to dispatch opcodes.
Helps with performance, since we avoid the function call overhead for
some frequently-used instructions (e.g. branch, integer, floating point).
Saves ~2 seconds from the time to Welcome to Macintosh (same measurement
methodology as #125 )
Secondarily also makes opcode registration/decoding a bit more uniform,
and scannable, since it's now all in initialize_ppc_opcode_table.
2024-11-30 20:37:26 +01:00
Maxim Poliakovski
f1e56cd353
Make the debugger a global object.
2024-11-30 12:12:32 +01:00
Maxim Poliakovski
04899d6528
dbdma: prevent STOP from updating xferStatus.
2024-11-30 12:12:32 +01:00
Maxim Poliakovski
bd7c424989
dmacore: add xfer_to method.
2024-11-30 11:55:16 +01:00
Maxim Poliakovski
aa17bf06de
ppcmmu: implement mem_write_dbg method.
2024-11-30 11:55:16 +01:00
Maxim Poliakovski
6d2872a07f
superdrive: add missing break.
2024-11-30 11:55:16 +01:00
Maxim Poliakovski
c12561074c
Merge pull request #126 from mihaip/upstream-named-constant
...
debugger: Use a named constant when we don't have a current instruction
2024-11-29 18:47:25 +01:00
Mihai Parparita
bf92b04d6c
debugger: Use a named constant when we don't have a current instruction
2024-11-29 18:33:22 +01:00
Maxim Poliakovski
7e93d2d169
scsihd: add missing phase switch to write().
2024-11-29 17:47:29 +01:00
Rairii
2bb35dc613
pcihost: Add machine check exception.
...
A machine check exception happens when attempting to read from an unmapped I/O address.
2024-11-29 07:41:57 -07:00
dingusdev
26aa452c57
Fix benchmark compiling, again
2024-11-29 07:41:45 -07:00
joevt
7a55a81186
pcihost: Fix pci_unregister_device.
...
Remove the device from the hosts dev_map.
Remove the device from the Machine object.
2024-11-29 07:31:23 -07:00
joevt
c9359592d7
pcihost: Modify name of attached PCI devices.
...
In case multiple PCI devices of the same type are added, make sure each has a different name for logging.
2024-11-29 07:31:16 -07:00
dingusdev
bf55aa50ce
Merge pull request #125 from mihaip/upstream-curr-instruction
...
ppc: Remove ppc_cur_instruction global variable
2024-11-28 15:59:32 -07:00