Commit Graph

1372 Commits

Author SHA1 Message Date
joevt
cd097232cb ppcmmu: Shorten tlb_flush_entry.
Don't need a weird short loop.
2024-03-02 07:56:17 -07:00
joevt
b7b783b6be ppcmmu: Shorten ppc_mmu_init.
Also, initialize all the fields.
2024-03-02 07:50:02 -07:00
joevt
968f503d80 debugger: Improve my_sprintf for short strings.
Don't need to repeat snprintf with memory allocation if the string is short.
2024-03-02 07:24:17 -07:00
joevt
7fc92e236b Fix extract_bits and insert_bits.
(1 << len) is actually 1 when len is (sizeof(T)*8) so we need to special case that. len is usually constant so the compare won't be compiled.
2024-03-02 06:54:58 -07:00
joevt
3062a29b78 Add clear_bit and set_bit. 2024-03-02 06:54:45 -07:00
joevt
3bea3ec3d8 ppcmmu: Fix compiler warnings. 2024-03-01 20:12:42 -07:00
joevt
0f66d454c1 ppcmmu: Cleanup the cleanup. 2024-03-01 20:05:10 -07:00
joevt
6738d7472e ppcmmu: Add a function to get phys address.
Since the function is for the debugger during stepping or disassembly, don't do extra logging.
2024-03-01 19:48:52 -07:00
joevt
500f38a496 ppcmmu: Add phys address to mmu_translate_imem.
For debugging.
2024-03-01 19:45:09 -07:00
joevt
3a5a70b56d ppcmmu: Allow convert virtual to physical address.
The TLBEntries allow converting virtual guest address to virtual host address but there's no easy way to get a guest physical address for debugging purposes.
Add a phys_tag field to fix that.
2024-03-01 19:42:25 -07:00
joevt
15e132c824 cmake: Add header files in CMakeLists.txt.
So they will appear in Xcode project.

mkdir -p dingusppc/build-xcode
cd       dingusppc/build-xcode
cmake -G Xcode ..
xcodebuild -configuration Release
2024-03-01 19:41:43 -07:00
dingusdev
2b3cf58b8a Continued clean-up 2024-03-01 19:40:46 -07:00
joevt
2998796c2c pci: Fix log message for PCI rom exceptions.
It should log device name, not just "PCIDevice".
2024-03-01 08:02:01 -07:00
joevt
3978d0754d CD-ROM: Add max blocks check.
The code does not support more than 2^32 - 2 blocks because of this expression: static_cast<uint32_t>(this->size_blocks + 1)
2024-03-01 08:01:31 -07:00
joevt
655b9a17e1 psx: Set name of Psx memory controller.
For the logs.
2024-03-01 07:59:33 -07:00
joevt
84a694d4c2 nvram: Output nvram file name in error message.
So that you don't see identical messages "Could not restore NVRAM content from the given file."
Instead, one will mention nvram.bin and the other will mention pram.bin.
2024-03-01 07:59:19 -07:00
dingusdev
ebac8b92ba Clean-up for loading instructions
Expanding the scope of the clean-up from lscbx to other loading/storing instructions.
2024-03-01 07:57:46 -07:00
joevt
6a4326af39 poweropcodes: lscbx cleanup. 2024-03-01 07:46:04 -07:00
joevt
6a51e8a1c9 debugger: regs command needs to reset setfill.
So printenv will fill with spaces after regs.
2024-03-01 07:28:58 -07:00
joevt
006a90f681 debugger: Some commands should not repeat.
Entering a blank command causes the last command to repeat. This doesn't make sense for the following commands:
help, quit, regs, context, printenv, setenv, nvedit, amicint, viaint.
2024-03-01 07:26:34 -07:00
joevt
17983e7fad debugger: Fix setenv command to allow spaces.
To allow setting boot-command to "0 bootr -v debug=0x144" for example.
2024-03-01 07:13:41 -07:00
joevt
a15b1805fb debugger: Fix handling of empty commands.
An empty command should not be reported as an unknown command.
An empty command should not repeat an unknown command.
2024-03-01 07:08:12 -07:00
joevt
11e0bd79b0 debugger: Work around Xcode Terminal.app issue.
If debugging with Xcode using Terminal.app for the console, Terminal.app may send empty lines to the dingusppc debugger while resizing the Terminal.app window and it will do this forever.
As a workaround, use std::cin.clear() to clear the input buffer before getline and loop until the terminal window size is not changing or the input line is not empty.
2024-03-01 06:56:20 -07:00
dingusdev
229509a067 Add help for mregs 2024-02-29 21:48:04 -07:00
joevt
ff5c43e6cb debugger: Add mregs command.
To dump more registers.
2024-02-29 21:46:44 -07:00
joevt
7cd3aae753 debugger: Fix repeated until.
The loop needs to be do while instead of while do.
2024-02-29 18:57:11 -07:00
joevt
fe05b1de12 Fix compiler warnings.
Xcode build has compiler warnings involving loss of precision. Remove them by adding type casts. Check results in some cases for overflow.
2024-02-29 18:49:14 -07:00
joevt
1903c8b557 debugger: Fix reg_op for floating point registers. 2024-02-29 18:48:59 -07:00
joevt
456a96042f debugger: Shorten try catch in reg_op.
Because SPGR0 matches SPR but stoul causes an exception.
2024-02-29 07:55:09 -07:00
joevt
888df0ac53 debugger: Add more register names for reg_op.
So the debugger can output their values.
2024-02-29 07:46:16 -07:00
joevt
18afe91a82 atirage: Use convert frame big-endian methods. 2024-02-26 14:46:31 +01:00
Maxim Poliakovski
b8d0ed39d9 atirage: fix FB pitch calculation. 2024-02-26 14:21:53 +01:00
Maxim Poliakovski
0c3f399de3 poweropcodes: fix compiler warning. 2024-02-24 22:51:05 +01:00
Maxim Poliakovski
45ccabb11d poweropcodes: improve lscbx emulation. 2024-02-24 22:46:54 +01:00
dingusdev
d71a213c4b Continued clean-up, part 3 2024-02-22 19:46:34 -07:00
dingusdev
8e9123bdce Slightly less clumsy check for compiler 2024-02-21 07:14:21 -07:00
dingusdev
2e3e65f3e7 Moving vid_enable_seq
Visual C complains about this being in the wrong place
2024-02-21 07:07:18 -07:00
dingusdev
9db53a4e3f Updating CMakeLists file 2024-02-21 06:32:24 -07:00
joevt
c2e098e535 zdocs: Add Open Firmware $find bug description. 2024-02-20 18:28:59 -07:00
joevt
a6de2c2b44 zdocs: Fix Open Firmware startvec notes.
Fields 488 to 48c are not part of the startvec struct. They are for the fcode file struct used by byte-load-file.
2024-02-20 18:28:51 -07:00
dingusdev
9dad9ea38b Revert Memory exceptions use mmu handler. 2024-02-20 18:22:55 -07:00
dingusdev
1d938c93b6 Mask fixes for sr(*) 2024-02-20 18:15:08 -07:00
joevt
35bc1bcb44 poweropcodes: Fix sriq. 2024-02-20 18:07:38 -07:00
joevt
1438ebc12a poweropcodes: Fix compiler warnings. 2024-02-20 18:07:26 -07:00
joevt
61b29f6fab ppcexceptions: Memory exceptions use mmu handler. 2024-02-20 18:07:04 -07:00
dingusdev
fb9b6886fa Add stdio for Windows serial 2024-02-20 18:05:11 -07:00
joevt
0e3eaf724b ppcfpopcodes: Fix stfs*, attempt #2. 2024-02-20 02:04:02 +01:00
joevt
2a05ccbee1 ppcfpopcodes: Fix fres.
Don't convert to float until the end.
2024-02-20 02:03:41 +01:00
joevt
59bee01c0a ppcfpopcodes: Fix fmsubs inf nan check.
There's probably still an issue with the inf_nan check
using reg_a for the first value instead of reg_a * reg_c.
This will probably need rewriting anyway.
2024-02-20 02:02:58 +01:00
joevt
4e4c8d71be ppcfpopcodes: Fix fadds inf nan check. 2024-02-20 02:01:55 +01:00