Commit graph

1883 commits

Author SHA1 Message Date
Bobby Smiles
b104b33fd2 Remove extra semi-colons in asm_defines. 2017-11-28 03:07:16 +01:00
Bobby Smiles
4a081d7c27 Use device header instead of individual parts in debugger. 2017-11-20 20:48:21 +01:00
Bobby Smiles
7fd59d7eb0 Remove unneeded headers. 2017-11-20 20:44:37 +01:00
Bobby Smiles
99f00d78a2 Avoid dependency on rdp_core from fb. 2017-11-20 20:37:31 +01:00
Bobby Smiles
366dd5d03f Extract RDRAM module. 2017-11-20 19:14:00 +01:00
Bobby Smiles
2ff020d1f1 Regroup all rcp submodules inside rcp module. 2017-11-18 17:13:35 +01:00
Bobby Smiles
d8876f91c3 Extract pif module from si module. 2017-11-18 17:13:35 +01:00
Bobby Smiles
e1c1f82cf4 Extract mi from r4300. 2017-11-18 17:13:35 +01:00
Richard Goedeken
8443927fc0
Merge pull request #476 from bsmiles32/predd
Preliminary refactorings
2017-11-14 16:05:22 -08:00
Bobby Smiles
067f45cfc4 Fix compilation on msvc (inline -> osal_inline) 2017-11-12 01:48:59 +01:00
Bobby Smiles
eacc998859 Take into account the write mask. Fix Dr Mario pills. 2017-11-11 21:29:10 +01:00
Bobby Smiles
33b6d83962 Notify gfx plugin after a write, not before.
As per the spec it says:
"This function is called to notify the dll that the
frame buffer has been modified by CPU at the given address."
2017-11-11 20:11:59 +01:00
Bobby Smiles
b208cae25a Clean fb code. 2017-11-11 20:11:59 +01:00
Bobby Smiles
54e4941815 Fix fb dirty page tracking. 2017-11-11 15:53:53 +01:00
Bobby Smiles
261ac3569b Use raise_maskable_interrupt instead of some ad hoc code.
It should be more "accurate" than previous code and seems to greatly
reduce chances of bogus soft-reset.
2017-11-11 02:05:31 +01:00
Bobby Smiles
c3ab4ae15f Rename some memory mapping constants. 2017-11-11 01:31:46 +01:00
Bobby Smiles
b9094a606d Move rdram detection hack test in pi_controller. 2017-11-11 01:22:03 +01:00
Bobby Smiles
4af90354b8 Pass dram pointer to flashram. 2017-11-11 00:45:28 +01:00
Bobby Smiles
630e1fd744 Refactor r4300_check_interrupt function. 2017-11-11 00:41:03 +01:00
Bobby Smiles
9080ad8a56 Add CIC name field and print it at initialization. 2017-11-11 00:36:16 +01:00
bsmiles32
44ecb3b74a
Merge pull request #475 from bsmiles32/fix_dynarec
Fix handlers[i].{read,write}32 comparison in dynarec.
2017-11-10 21:13:03 +01:00
Richard Goedeken
813bfdb417
Merge pull request #460 from bsmiles32/flashram
Add support for different flashram types.
2017-11-09 17:38:52 -08:00
Bobby Smiles
a6482f8656 Fix handlers[i].{read,write}32 comparison in dynarec.
Regressions have been introduced in
commit 82b20c8a1b (wrong offset computation)
and commit 83f594eff1 (using virtual
address instead of the physical address for handler comparison).

NOTE: Implementation assumes that sizeof(mem_handler) is 3*sizeof(void*)
therefore we just need to multiply ((address >> 16) & 0x1fff) by 3 to
get the right offset. Multiplication by 3 can be achieved with
lea dst, [reg + 2*reg] instruction.
2017-11-09 23:53:28 +01:00
bsmiles32
6efa0971a2
Merge pull request #474 from bsmiles32/big_alloc_fallback
Big alloc fallback
2017-11-09 08:07:30 +01:00
bsmiles32
96d5acc4d0
Merge pull request #471 from bsmiles32/fix_swl
Fix LWL, LWR, LDL, LDR, SWL, SWR, SDL, SDR implementations
2017-11-08 20:36:41 +01:00
Bobby Smiles
ae10e22f43 Fix LWL, LWR, LDL, LDR, SWL, SWR, SDL, SDR implementations 2017-11-08 20:09:18 +01:00
Bobby Smiles
bbe9007ac8 Re-add the big malloc mode, use it if possible.
The big 512M allocation is tried first and if it fails, try the smaller
one. We encode the selected mode (full or compressed) using the LSB of
the base_mem pointer.
This should allow systems with enough virtual memory to use the full mem
base mode, while still allowing other systems to use the compressed mem
base mode.
2017-11-07 20:29:13 +01:00
Bobby Smiles
9e4a3fb335 Partial revert of the "Introduce memory base" commit 143cfa7139
We keep a memory base, but much smaller ~73M. It is a concatenation of
RAM, ROM, DD_ROM, RSP_MEM and PIF_MEM. A helper function translate a N64
physical address into a suitable pointer in memory_base.
2017-11-07 19:46:48 +01:00
Francisco Zurita
29c6d1b725 If an invalid controller pak is selected, use NONE instead 2017-11-06 00:21:01 -05:00
Richard Goedeken
8964997255
Merge pull request #459 from bsmiles32/fix_reset
Fix reset
2017-11-01 22:22:27 -07:00
bsmiles32
079dbfaa9e
Merge pull request #465 from Gillou68310/ddr
new_dynarec: Fix Dance Dance revolution
2017-11-01 19:06:02 +01:00
bsmiles32
4ee6eb29d4
Merge pull request #461 from loganmc10/sdl
Get rid of USE_SDL flag
2017-11-01 19:01:53 +01:00
Gillou68310
35efb830b5 new_dynarec: Fix Dance Dance revolution 2017-10-31 18:15:15 +01:00
Bobby Smiles
c9789004c2 Fix pak switching.
- Avoid usage of static variables inside input_plugin_get_input
- The last compatible pak entry must be the NULL/NONE to allow proper
cycling in main_switch_next_pak (as it acts has a sentinel).
- Fix pak switch delay expiration test: (delay > 0) && (--delay == 0)
- Minor edits
2017-10-31 12:16:15 -04:00
Francisco Zurita
c9ddd835b5 Allow switching controller paks using CONTROLS.plugin API
Also, if an invalid pak is selected for a game, it will use "None"
instead of the first available
2017-10-31 12:16:15 -04:00
bsmiles32
57010dd4b5
Merge pull request #464 from loganmc10/patch-4
Increase Delay DP Interrupt time
2017-10-31 01:53:07 +01:00
bsmiles32
43cb1ff08a
Merge pull request #457 from loganmc10/sram
Add support for SRAM cpu read/write
2017-10-31 01:20:59 +01:00
Bobby Smiles
7fa83984e8 Move condition out of the copy-loop. 2017-10-31 00:52:24 +01:00
Logan
52b5d5ba65
Increase Delay DP Interrupt time 2017-10-30 08:15:17 -06:00
Logan McNaughton
d4799392bb Get rid of USE_SDL flag 2017-10-28 09:21:26 -06:00
Logan McNaughton
5dd8aad66e Used masked_write in write_sram 2017-10-27 22:50:01 -06:00
Logan McNaughton
41f1cc10af Initialize sram to all 1's 2017-10-27 22:46:42 -06:00
Logan McNaughton
bb7f8f64b4 Ignore flashram commands with 0x0 2017-10-27 22:46:42 -06:00
Logan McNaughton
303b247d81 Add support for SRAM cpu read/write 2017-10-27 22:46:42 -06:00
Bobby Smiles
72953078ba Add support for different flashram types.
Default to MX29L1100 as it is the most common one and is what pj64 uses.
2017-10-28 01:36:16 +02:00
Bobby Smiles
a1c8fa6ae2 Keep firing VI after reset.
Fixes regression introduced in commit 89ae411 (Rework the way VI
interrupts are timed).
2017-10-27 22:17:55 +02:00
Bobby Smiles
d2dde2d134 Extract pif_reset procedure and invoke it also after HW2 interrupt.
Fix regression introduced in commit 1c01c233 (pif boot rom rewrite)
where pif_24 value was only written at poweron and not reset.
2017-10-27 22:15:17 +02:00
Bobby Smiles
1673f9a3cd Print a warning instead of asserting on unaligned dword accesses.
Inaccurate timings can lead to cases where unaligned address is used.
This is especially the case on reset.
NOTE: as far as I know this has always been the case, just that before
no warning was issued, (eg it was just a silent error).
2017-10-27 22:14:42 +02:00
Logan McNaughton
5ebc74d62b Do SI DMA in 2 stages 2017-10-26 12:11:07 -06:00
Bobby Smiles
47bb134023 Fix space in pifbootrom.c 2017-10-24 00:44:37 +02:00