Commit graph

75 commits

Author SHA1 Message Date
Christopher Bonhage 8f64dcd8b3 Implement RTC write support
* Set local time offset when writing to Joybus or 64DD RTC.
* Refactor get_local_time to use ISO C Time APIs.

Special thanks to @jago85 and @LuigiBlood for their research!
2021-09-04 22:02:29 +02:00
Christopher Bonhage 202d2359c1 Fix buffer overflow vulnerability in pif_process
https://github.com/n64dev/cen64/issues/122
2021-07-25 20:03:58 +02:00
Christopher Bonhage 8c461e64c7 Improve accuracy of PIF commands
Based on EEPROM test ROM run on real hardware.
2021-06-24 07:09:06 -04:00
Christopher Bonhage 6629191f26 Resolve implicit fallthrough warnings 2021-06-24 07:09:06 -04:00
Christopher Bonhage a87c2d70f6 Fix "No EEPROM present" Joybus status response 2021-06-24 07:09:06 -04:00
Simon Eriksson a54cbe042f si: Fix Memory Pak initialization
Thanks to bryc for researching this issue and reviewing this fix
2021-02-20 18:11:07 +01:00
Simon Eriksson fe81d08ca2 Remove unused global bus pointer variables 2020-05-15 21:28:24 +02:00
joeldipops cbfbe5018c improved calculation of rom_size from code as per review comment 2019-11-04 21:34:58 +10:00
joeldipops 47fa885d13 mbc2 added and ram enable bug fixed 2019-07-24 22:03:17 +10:00
joeldipops 20bb89d040 rom only non-mbc also fleshed out while I'm here 2019-07-24 20:56:12 +10:00
joeldipops 8f5f8e9ffa mbc5 first pass and minor refactor 2019-07-24 20:51:02 +10:00
joeldipops b6a14f264d Fixed rom mode switch address 2019-07-23 20:58:39 +10:00
joeldipops 0d730a2c21 mbc1 implementation first pass (builds) 2019-07-21 22:01:14 +10:00
Pavel Kryukov c6c03012fc Use bus_controller pointers instead of type punning 2018-10-09 01:39:10 +03:00
PeterLemon 52f639c90b Add remaining iQue Bootcode CRCs 2018-04-28 01:36:31 +01:00
PeterLemon ec38dd93a1 Rename iQue Bootcode CRC 2018-04-27 19:14:14 +01:00
PeterLemon 9006a1d890 Add iQue Bootcode CRC 2018-04-25 14:17:40 +01:00
Tyler J. Stachecki 063f76a57e tab -> whitespace.
Signed-off-by: Tyler J. Stachecki <stachecki.tyler@gmail.com>
2018-01-04 18:46:26 -05:00
queueRAM dd14dc9bbc Clear reset type bits in CIC seed values from PIF
Some CIC seed values had bit 0x20000 set which is the reset type
indicated from PIF (1 = NMI, 0 = Cold Reset). Some games
follow different initialization paths for NMIs which can cause
some unexpected boot behavior during a cold reset.

Fixes #58 Expansion Pak detection in Perfect Dark
2017-05-08 19:24:10 -05:00
Simon Eriksson 51cd3eec1e si: Add support for 7102 CIC.
Fixes Lylat Wars (PAL).
2016-10-21 16:02:54 +02:00
Mike Ryan 36a4a6fdfa dd: identify IPL and add support for all known dumped IPLs
This also fixes a regression introduced in 3900be4 that prevented the DD
IPL from booting.
2016-08-31 18:33:15 -07:00
Tyler J. Stachecki 3288229a50 Start fixing MSVC builds.
Conflicts:
	rdp/n64video.c
2016-06-26 17:19:17 -04:00
Mike Ryan 7068720b25 si: return PIF error when controller not present
Closes #38
2016-06-17 17:07:11 -07:00
Mike Ryan 73f4420a4c fix all build warnings, does not affect functionality 2016-06-16 20:40:51 -07:00
Mike Ryan b2721e7d37 rtc: implement RTC
Untested in-game since Animal Forest does not yet run.
2016-02-05 21:44:48 -05:00
Jason Benaim 20e251ba75 One less annoying print. 2016-01-28 00:42:35 -05:00
Jason Benaim c16561e388 Remove annoying print, add some comments 2016-01-28 00:42:35 -05:00
Jason Benaim ee9e777701 Don't segfault if no tpak save was supplied. 2016-01-28 00:42:35 -05:00
Jason Benaim b6c2e0bd7a Header fixes. 2016-01-28 00:42:35 -05:00
Jason Benaim 0c4a20abe1 Add support for MBC3. This is enough to get Pokemon games working with the transfer pak. 2016-01-28 00:42:35 -05:00
Tyler J. Stachecki a4f0d7245a bus: Reduce number of MMIO address mappings. 2016-01-27 03:13:57 -05:00
Mike Ryan abfa90185f transfer pak: send correct buffer to GB read function 2016-01-25 21:30:57 -08:00
Mike Ryan 5d9ace0226 si: clear top bit of status byte without blowing it away 2016-01-25 21:28:20 -08:00
Mike Ryan 14fe91df7d si: do not fail PIF commands when controller is not present 2016-01-25 21:28:20 -08:00
Tyler J. Stachecki 5e6b3181ca Prevent segfaults with unconfigured EEPROM. 2016-01-24 22:22:32 -05:00
Mike Ryan e83da838f7 transfer pak: implement transfer pak read and write
This code will not boot Pokemon Stadium 1 or 2 after extensive
debugging. The code lacks Game Boy MBC support (though this is not the
reason the games refuse to boot).
2016-01-24 17:46:44 -08:00
Mike Ryan 799b2af628 transfer pak: parse command line and load tpak ROM/saves 2016-01-24 17:46:44 -08:00
Tyler J. Stachecki f255fc94c3 Restore -nointerface functionality.
-nointerface was horribly broken when the device model was
refactored a few months ago. This commit unbreaks it and
restores functionality.
2016-01-24 16:13:43 -05:00
Mike Ryan e7bbc4f822 pak: implement mempak and stub out rumble and transfer pak 2016-01-24 12:28:48 -08:00
Mike Ryan 93cf8d8eea eeprom: only attempt to memcpy if EEPROM is present 2016-01-24 12:28:48 -08:00
Mike Ryan ca1f71b6fe eeprom: kbit, not kbyte 2016-01-24 12:28:48 -08:00
Mike Ryan 27f89580e1 si: return either 4k or 16k EEPROM 2016-01-23 21:02:42 -08:00
Mike Ryan 72c147255d eeprom: take options on command line and pass file into SI 2016-01-23 21:02:42 -08:00
Mike Ryan 30a2303a4a si: implement EEPROM read/write
This code does not handle saving or loading of EEPROM data from a save
file. Any save data will be lost once cen64 quits.
2016-01-23 21:02:42 -08:00
Mike Ryan adf46db9df si: stub out interface for unimplemented PIF commands 2016-01-23 21:02:42 -08:00
Tyler J. Stachecki ef28500d68 si/cic: Add 5105 CIC used by Zoinkity's Aleck64 ROMs.
Thanks go out to krom for providing the patch.
2015-08-14 11:43:50 -04:00
Derek "Turtle" Roe 8b89df2fdc See long description
Replaced all references to simulation with emulation
Updated copyright year
Updated .gitignore to reduce chances of random files being uploaded to
the repo
Added .gitattributes to normalize all text files, and to ignore binary
files (which includes the logo and the NEC PDF)
2015-07-01 18:44:21 -05:00
Tyler J. Stachecki 0077026667 Update 8303 CIC checksum. 2015-05-23 12:33:11 -04:00
Tyler J. Stachecki d348c23e2f Commit the new X11 user interface.
Streamline the design/layout of the UI code. An excellent,
unexpected side-effect of this commit resulted in a significant
increase in performance...
2015-05-16 15:51:17 -04:00
Tyler J. Stachecki 7f203b7175 Start working in the new interfaces.
Seriously broken WinAPI stuff, no input, no multi-
threading a bunch of other terrible stuff (yet).
2015-05-16 15:50:54 -04:00