Commit Graph

409 Commits

Author SHA1 Message Date
luigiblood faeeb6fa9d [UI] Added 64DD IPL ROM Path to General Settings 2016-06-04 00:23:30 +02:00
luigiblood 010ebcb45b [64DD] Enable Disk setting is now temporary
It doesn't need to be saved every time.
2016-06-03 22:42:21 +02:00
zilmar 0ec052177b Merge branch 'master' of https://github.com/project64/project64 2016-06-04 05:27:55 +10:00
zilmar 7ee7b41d1f Merge pull request #1101 from LuigiBlood/64ddsave
[64DD] Make sure at boot that the disk is inserted
2016-06-03 05:14:17 +10:00
luigiblood 4036971653 [64DD] Make sure at boot that the disk is inserted
Fixes F-Zero X Expansion Kit loading too late
2016-06-02 16:35:10 +02:00
zilmar 66444ba1cb Merge pull request #1090 from death-droid/MoveToCfile
Move to cfile
2016-06-02 07:12:23 +10:00
luigiblood add7ec7b98 [64DD] Make sure new disk is loaded into memory before swap
Fixes hang during swap while recording with OBS Studio
2016-05-30 01:09:52 +02:00
luigiblood c495edd17e [64DD] Use shadow file (*.ndr) instead of replacing loaded disk.
(Also ignore saving when disk type is 0x6)
2016-05-26 18:18:07 +02:00
luigiblood f2e4f5abca [64DD] Added Swap Disk shortcut (Ctrl+D)
Requires resetting/deleting the shortcut list (*.sc3 file)
2016-05-25 14:41:15 +02:00
luigiblood 810bccc755 [64DD] Swap support 2016-05-25 04:06:10 +02:00
luigiblood a29fb1f92a [64DD] Saving support for SDK format dumps 2016-05-25 00:07:34 +02:00
luigiblood ea5c4abc09 [64DD] Saving support (MAME dump format only)
Replaces the loaded dump file with the new saved content
2016-05-24 21:26:05 +02:00
zilmar a00011b0f3 Merge pull request #1095 from LuigiBlood/64dd_2
[64DD] 64DD disk conversion fix
2016-05-24 04:05:28 +10:00
luigiblood 5f342e73df [64DD] 64DD disk conversion fix 2016-05-23 18:23:32 +02:00
LegendOfDragoon dd581741d6 Implement COP1_D_ROUND_L in cpu recompiler 2016-05-22 23:47:02 -07:00
LegendOfDragoon 32ade84138 Implement COP1_D_ROUND_L in cpu interpreter 2016-05-22 23:37:45 -07:00
LegendOfDragoon de00171747 Implement COP1_S_ROUND_L in cpu recompiler 2016-05-22 23:28:07 -07:00
LegendOfDragoon b2b10969c9 Implement COP1_S_ROUND_L in cpu interpreter 2016-05-22 23:20:49 -07:00
zilmar f447e81248 Merge pull request #991 from LegendOfDragoon/master
Optimize CheckInterrupts, PI_DMA_WRITE, and UpdateTimers
2016-05-23 14:36:44 +10:00
Nekokabu 35c1aa2c73 Update PifRam.cpp
Wonder Project J2 are using 0xFD
2016-05-22 20:41:21 +09:00
Emmet Young 6e45f2d90f Make the Transferpak only init the GBCart when we have either a read or a load to the transferpak. 2016-05-16 20:20:00 +10:00
Emmet Young ff4bd28e3e Change up Mempak so it uses CFile class.
Also modify the way mempaks are loaded and written. We only write the bytes that have been changed now, rather then writing the whole file every time the mempak is written to.
2016-05-16 18:23:31 +10:00
zilmar 91f36ac8f9 [Project64] make CMipsMemoryVM::SW_VAddr compare line the same as LW 2016-05-15 20:19:15 +10:00
Nekokabu da1410b0d8 Update PifRam.cpp 2016-05-14 10:56:18 +09:00
zilmar 21920f984b Updated license for bsmiles32 2016-05-13 19:14:00 +10:00
e3d5621b22 a 2016-05-05 21:47:21 -04:00
zilmar 740469d26e [Project64] make struct TIMER_DETAILS size consistent between windows and android 2016-05-01 12:47:39 +10:00
zilmar fb1987deb5 [Projec64] Update log creation file name 2016-05-01 12:46:43 +10:00
exhalatio 8c34b2df9e Fix up Store Sram 2016-04-30 17:33:44 +09:00
zilmar d4bddb3892 [Project64] Clean up settings 2016-04-28 19:34:29 +10:00
zilmar d1a8271b36 [Project64] Fix up unique save dirs 2016-04-22 16:44:41 +10:00
zilmar 699f70a0d5 Merge branch 'master' of https://github.com/project64/project64 2016-04-22 06:30:51 +10:00
zilmar 02d7ac014e [Project64] Make sure each game has a unique save dir 2016-04-22 06:29:55 +10:00
1520aaa21f Constrict window message initializers as ANDROID- and WIN32-only. 2016-04-21 00:47:20 -04:00
5ca3354acb unresolved vsprintf() 2016-04-21 00:30:26 -04:00
6be92e9795 standardized zip API #include 2016-04-20 23:55:37 -04:00
zilmar 4e0103b897 [Project64] Get load save state to use cfile 2016-04-21 07:21:15 +10:00
zilmar 112ea9d8da [Project64] Make saving states more cross platform 2016-04-20 19:18:13 +10:00
zilmar 1e222705e4 [Project64] Add platform.h to x86CodeLog.cpp 2016-04-20 19:16:02 +10:00
zilmar 9bcacfb8c3 [Project64] Remove windows.h from x86CodeLog.cpp 2016-04-20 07:57:43 +10:00
zilmar e8ab06fac3 [Project64] Get x86CodeLog to use Clog 2016-04-19 20:38:14 +10:00
zilmar b93421c502 [Common] Clean up log class 2016-04-19 20:37:41 +10:00
zilmar f5cf17903b [Project64] Clean up testing around rom list refresh 2016-04-19 17:46:38 +10:00
zilmar 78b7cfe38f [Project64] Change sram to use cfile 2016-04-19 07:29:24 +10:00
zilmar a76a174246 [Project64] Make plugins handle android better 2016-04-18 19:38:20 +10:00
zilmar b55cc5f78e [Project64] fix up so trunc is in for Visual Studio 2012 2016-04-18 17:20:12 +10:00
zilmar 88cdfd58bb [Project64] Add move RomList.cpp in to Core 2016-04-18 17:19:08 +10:00
zilmar 9d5a33df6a [Project64] Use thread class for emulation thread 2016-04-18 05:52:09 +10:00
zilmar bddd3841cc [Common] Add thread class 2016-04-18 05:34:47 +10:00
zilmar 1daa43a6d8 [Project64] Remove windows.h from MemoryVirtualMem.cpp 2016-04-18 05:07:30 +10:00
zilmar 7fec071afc [Project64] Add RomList logging information 2016-04-18 05:06:30 +10:00
zilmar 2d76718d35 [Project64] Make sure pause from menu is always set 2016-04-18 05:05:31 +10:00
zilmar 58bd4c2adf [Project64] Add CN64Rom::CleanRomName 2016-04-16 09:17:37 +10:00
zilmar 4b70b1c941 [Project64] Make GetCicChipID just in one location in the CN64Rom class 2016-04-15 08:38:02 +10:00
zilmar e339b7d787 [Project64] Add some logging to RomList.cpp 2016-04-14 22:18:21 +10:00
zilmar d2d0cc7e2e [Project] Separate out UI settings from core settings 2016-04-13 17:34:19 +10:00
98383267ba Just say 0x10000, not 1 << 16. 2016-04-12 16:55:54 -04:00
cd3960411a Use sizeof() to eliminate respecification of array bounds. 2016-04-12 11:50:57 -04:00
9ec5f74e13 memcpy() instead of delaying a fix to flash RAM byte order 2016-04-11 21:44:11 -04:00
d3794b4d02 fixed undefined type error in flash pre-buffer aliasing 2016-04-11 21:20:08 -04:00
zilmar afb194ca07 [Project64] Rmove windows.h from Flashram code 2016-04-11 18:28:18 +10:00
zilmar 5c84e78ee1 [Project64] do not use g_MMU in MemoryFilter if g_MMU is null 2016-04-02 21:32:09 +11:00
zilmar 5f5d24e7e9 [Project64] Remove settings from cfg file if match default 2016-04-02 20:47:01 +11:00
zilmar ec23b07302 [Project64] Fix up plugin registering settings with default setting 2016-03-22 07:55:44 +11:00
Nekokabu aa4cc8afce Update MemoryVirtualMem.cpp 2016-03-21 23:00:21 +09:00
Nekokabu 667f95fe47 Update FlashRam.cpp 2016-03-21 22:59:13 +09:00
zilmar 959a77dcde [Project64] Use setting to get log dir 2016-03-10 22:15:40 +11:00
zilmar 732ebbbcbf {Projet64] Remove MemoryClass.h from project 2016-03-03 21:04:33 +11:00
zilmar fc304ec1dd [Project64] Eeprom should not try to write if read only 2016-02-24 18:10:27 +11:00
Nicholas 1ed5b044b3 [Project64] fix issue in 2012 2016-02-24 10:06:52 +11:00
LegendOfDragoon b483b76504 Optimize UpdateTimers for when wired != 0 2016-02-09 18:20:05 -08:00
LegendOfDragoon b066192abf Optimize commonly executed loop in PI_DMA_WRITE 2016-02-09 18:13:21 -08:00
LegendOfDragoon ad5370a252 Statically round up PI_WR_LEN_REG to nearest even 2016-02-09 17:21:29 -08:00
LegendOfDragoon cb3ada6ece Optimize CheckInterrupts
Using local variables significantly improves the performance.
2016-02-09 16:59:46 -08:00
Emmet Young c696cb79c3 Ensures paks are only being initialized when they have actually been selected, Transferpak needs multi controller support eventually as it currently just loads from the one singular option. 2016-02-09 18:57:30 +11:00
Nekokabu b9b64035b5 disable some trying to store XXXXXXXX error 2016-02-06 23:05:32 +09:00
LegendOfDragoon e08b1b93ec Optimize UpdateTimers 2016-02-06 00:07:15 -08:00
zilmar 2ec7a92dfc Merge pull request #973 from cxd4/mempak-OCD
[Project64-core] OCD clean-ups with the mempak unit
2016-02-05 08:23:14 +11:00
zilmar e5cd8765f8 Merge pull request #972 from cxd4/mempak-stdio
[Project64-core] Have stdio.h to guarantee fopen() and fclose().
2016-02-05 08:21:06 +11:00
cf221dc21b Don't use lowercase digits in hex. 2016-02-04 14:47:47 -05:00
3dbe8d1494 padding by saying + 0 for consistency 2016-02-04 14:40:45 -05:00
ebbecdef7e 0x8000 = 32768 = pages * bytes_per_page 2016-02-04 14:39:43 -05:00
8be4b5bb0e Use size_t. 2016-02-04 14:37:54 -05:00
b50313da98 Use sizeof() instead of re-pasting a size literal. 2016-02-04 14:37:27 -05:00
a8116b0908 Technically, Initialize[] is an array, not a pointer. 2016-02-04 14:35:00 -05:00
17a2b6e8fc Make it const since we'll never write to it. 2016-02-04 14:34:07 -05:00
25c537613e *Statically* allocate mempak page 0 buffer. 2016-02-04 14:32:43 -05:00
ab7671964b Re-express Mempaks[][] allocation as pages * bytes_per_page. 2016-02-04 14:30:23 -05:00
41ff26122a Have stdio.h to guarantee fopen() and fclose(). 2016-02-04 14:16:46 -05:00
53e07d02e2 Have <memory> included to guarantee std::auto_ptr. 2016-02-04 14:09:56 -05:00
zilmar 612bbb71e5 [Project64] Add GBCart.cpp to vs2008 2016-02-04 22:03:16 +11:00
zilmar 1c10025848 [Project64] Add N64System\Mips\Transferpak.cpp to vs2008 project 2016-02-04 21:57:34 +11:00
zilmar 7fe12881df [Project64] Use Common/stdtypes.h instead of stdint.h 2016-02-04 21:28:07 +11:00
zilmar 3914220a30 Merge pull request #965 from death-droid/TransferPack
Transfer pack
2016-02-04 21:24:47 +11:00
Emmet Young 494ad71352 Change declaration, we should only need int. 2016-02-04 12:57:09 +11:00
Emmet Young e6b1fd3aec Fix up reading and writing of the RTC data to the save file.
Correct the RTC emulation behaviour, made it more like NRAGES, various emulators i was basing mine off seemed to not correctly update the RTC.
2016-02-04 00:33:03 +11:00
Emmet Young dd7cf4af10 Missed two frees, when swapping out for deletes 2016-02-03 13:42:06 +11:00
Emmet Young 26d4bea1f1 Switch to using an auto_ptr for our buffers, and switch fopen/fwrites. to make use of the CFile class. 2016-02-03 13:34:52 +11:00
Emmet Young 696d419e5b Improve behaviour of MBC3 if statements. 2016-02-02 19:44:18 +11:00
Emmet Young aab625734d Fix up spelling mistake in Tansferpak.cpp naming, 2016-02-02 15:09:47 +11:00
Emmet Young 1ddeb52f7f Allow transferpaks to be set through the RDB. Still need to implement the actual settings in the GUI 2016-02-01 23:41:46 +11:00
Emmet Young 258a5a0eb8 Transferpak: Add support for RAM saving, and RTC saving (Visual Boy Advance format)
Remove UpdateRTC() till I can get a better idea if the RTC code works properly.
2016-02-01 19:58:37 +11:00
zilmar 2b6fdc000e [Project64] Add more logging 2016-02-01 17:33:19 +11:00
zilmar b8bdf17499 [Project64] Add Notification on directory changed 2016-02-01 17:31:33 +11:00
zilmar 2e70c734b5 [Project64] Add Directory_Log setting 2016-02-01 17:30:22 +11:00
zilmar d70ad198b4 Merge branch 'master' of https://github.com/project64/project64 2016-02-01 17:05:45 +11:00
zilmar 6aaf0f0f8e [Project64] Add #include <map> to Settings/SettingsClass.h 2016-02-01 17:05:30 +11:00
zilmar a985d587bd [Project64] 7Zip just on windows 2016-02-01 17:04:05 +11:00
zilmar 4f61d7c5a3 [Project64] Get MempakNames to set path in CPath constructor 2016-02-01 17:03:19 +11:00
zilmar 649cc48598 [Project64] Add #include <stdlib.h> for strtoul 2016-02-01 17:02:14 +11:00
zilmar 71710be0b8 [Project64] Add some logging to AppInit 2016-02-01 16:57:59 +11:00
luigiblood 6469b523b4 [64DD] Add brackets for if g_DDRom == NULL 2016-02-01 01:38:27 +01:00
luigiblood f63b746c73 [64DD] Load 64DD IPL on g_DDRom seperately
Fixes double g_Rom delete which makes Windows not happy.
2016-02-01 01:31:14 +01:00
luigiblood d2d611c137 [64DD] Only Head 0 Track 6 is supposed to fail. 2016-01-30 22:23:27 +01:00
Emmet Young 74d3825870 Basic implementation of the RTC for the Transferpak.
Unable to properly test this due to Project64 not being able to emulate the co-processor - http://www.emutalk.net/threads/54598-Pok%C3%A9mon-Stadium-%28Pocket-Monster-Stadium%29-requires-RSP-emulation @project64 @LuigiBlood @LegendOfDragoon
2016-01-31 01:52:26 +11:00
Emmet Young ff5fcf6d33 Basic implementation of the Transferpak, is now partially working.
Have to re-implement the RTC and ensure the mbc emulation of all current carts is accurate.
Settings implementation needs to be done as well.

This code is based on work from NRAGE and Bobby Smiles work on Mupen64plus's implementation.
2016-01-29 22:17:59 +11:00
zilmar 5cad324699 Merge pull request #958 from LuigiBlood/64dd_2
64DD IPL ROM Recompiler support
2016-01-29 10:06:21 +11:00
luigiblood 03bd97c46b [Recompiler] Fix COP0_MT() Cause case
Results in 64DD IPL ROM fully working in Recompiler.
Thanks zilmar!
2016-01-28 23:59:53 +01:00
Emmet Young c6fa59ac3a Made a slight mistake when porting over from my old branch.
Mempak and Rumblepak will work fine again.
2016-01-28 22:51:48 +11:00
Emmet Young e879431606 Prepare the emulator for easier implementation of the transferpak, pass Command[5] directly into the Pak functions, and also generate the address beforehand. 2016-01-28 21:58:14 +11:00
zilmar 3a1fc904c6 [Project64] Code cleanup and added some more log messages 2016-01-28 20:40:08 +11:00
zilmar a6bfe74a28 [Project64] Be able to pass base dir to app init 2016-01-28 20:37:44 +11:00
zilmar 8df90936f8 Merge pull request #944 from LuigiBlood/64dd_2
Fix Disk.cpp time/date code & F-Zero X (J) RDB update
2016-01-28 17:51:00 +11:00
Emmet Young 643a684c77 Change up the way Mempaks are meant to work, use the standard file functions. Mempaks are now loaded in when the game launches, and file handles are only opened durring read and writes 2016-01-28 14:02:05 +11:00
luigiblood 5505db5201 Fix Disk.cpp time/date code 2016-01-27 22:41:31 +01:00
zilmar 72e6928ea8 [Project64] Remove duplicate Rdb_FixedAudio 2016-01-27 20:54:22 +11:00
zilmar 8bf0902d33 [Projct64] Use real value for _RC_NEAR, _RC_CHOP, etc 2016-01-27 20:53:08 +11:00
zilmar 2d435936ec [Project64] Change DWORD to uint32_t in CRecompilerOps::SPECIAL_DADDU 2016-01-27 20:51:16 +11:00
zilmar 3e888b9b74 {Project64] Clean up some code in N64Class.cpp 2016-01-27 20:50:25 +11:00
zilmar 434e8807ac [Projecy64] Cleanup usage of __FUNCTION__ in FlashRam.cpp 2016-01-27 20:49:26 +11:00
zilmar 94a7f2f8b5 [Project64] Remove windows.h from Eeprom.cpp 2016-01-27 20:39:46 +11:00
zilmar a228a9d1f9 line ends ? 2016-01-27 20:11:59 +11:00
zilmar 2b2283d876 [Project64] Add N64DiskClass.cpp to vs 2008 project 2016-01-27 20:09:54 +11:00
zilmar a86ba8db2d Merge pull request #937 from LuigiBlood/64dd_2
64DD support
2016-01-27 19:07:19 +11:00
luigiblood 226c29d5c7 Disk Conversion support, AppCleanup() update
There's still a problem with Open ROM but other than that it's fully functional.
2016-01-26 15:31:24 +01:00
luigiblood 96a6862c80 Use Open ROM to open Disk instead
It's a much better idea anyway.
2016-01-26 03:04:48 +01:00
luigiblood f0b81bbfc0 Added "Open Disk" to File menu. 2016-01-25 22:39:26 +01:00
luigiblood 39a1c9f407 Added "Play Game with Disk" option 2016-01-25 20:58:57 +01:00
luigiblood 82779033d3 Disk Write fixed, Recompiler support tentative
Unfortunately there's an opcode that Recompiler doesn't recognize.
However once it's implemented, there's no reason it shouldn't work.
For Disk Writing, so far it works, it seems to not have any trouble so far.
2016-01-25 15:47:12 +01:00
luigiblood b31d18d8c4 Working Read (Interpreter only)
Write is slightly buggy for some reason.

Conflicts:
	Source/Project64-core/N64System/Mips/Disk.cpp
	Source/Project64-core/N64System/Mips/Dma.cpp
	Source/Project64-core/N64System/Mips/MemoryVirtualMem.cpp
2016-01-23 22:58:45 +01:00
LegendOfDragoon 392d63a0de Fix regression in CRecompilerOps::SPECIAL_DADDU()
It should only add carry if GetMipsRegLo(source2) != 0
2016-01-23 02:18:08 -08:00
luigiblood 305f4cfb16 Fixed code and credited Happy_
Good timing needed to fully work. (Not figured out)
2016-01-22 03:17:25 +01:00
zilmar 54d203e90d [Project64] Add disk.cpp to vs2008 project 2016-01-21 06:14:16 +11:00
luigiblood 0501eb70da 64DD Sector Read working 2016-01-20 17:43:23 +01:00
luigiblood 002cb7f5ce 64DD support tentative 2016-01-20 14:31:29 +01:00
luigiblood 25f56e6887 Added CN64Disk class with basic functions 2016-01-20 01:14:18 +01:00
zilmar 6fbfc144b5 Merge pull request #911 from LuigiBlood/64dd
64DD RTC support, Enable Disk setting
2016-01-20 09:20:34 +11:00
luigiblood 530ef48eb2 64DD RTC support, Enable Disk setting 2016-01-19 19:53:18 +01:00
zilmar 530245e938 Merge pull request #901 from LuigiBlood/64dd
Retail 64DD IPL ROM support (boots)
2016-01-19 08:22:32 +11:00
LegendOfDragoon 53baf6d792 Fix issue with SPECIAL_DADDU 2016-01-18 12:22:58 -08:00