Commit Graph

434 Commits

Author SHA1 Message Date
Lior Halphon c5362023c8 Fix false positives when detecting unwritable save paths 2022-07-25 00:26:42 +03:00
Lior Halphon dd435ae5f0 Fixed potential race condition in the Cocoa memory viewer 2022-07-24 17:41:34 +03:00
Lior Halphon 4db047c7d1 Make GBP selectable in Cocoa 2022-07-24 14:28:31 +03:00
Lior Halphon 5cd65f845d Warn when progress can't be saved 2022-07-24 13:23:50 +03:00
Lior Halphon 6a8743e13a Fix Cocoa being broken outside of a debug environment 2022-07-23 13:24:10 +03:00
Lior Halphon 3a86b868fe Add the same feature to Cocoa. Closes #474 2022-07-21 21:27:10 +03:00
Lior Halphon 500e767247 And the same feature in Cocoa as well. Closes #472 2022-07-16 18:54:16 +03:00
Lior Halphon 004c20d8e2 Handle GateKeeper and write permissions in the auto updater 2022-07-03 22:23:35 +03:00
Lior Halphon 887a8104f5 Refresh icon if launched via a software update 2022-07-02 21:00:40 +03:00
Lior Halphon 63a858d767 Fix GBS player's appearance on Big Sur and newer 2022-07-01 22:46:03 +03:00
Lior Halphon f2429e1c25 Fix IB oopsies 2022-07-01 16:24:54 +03:00
Lior Halphon 1b38e8c932 Prevent audio chuckling when an instance is debug-stopped 2022-06-25 20:09:23 +03:00
Lior Halphon aaf9a76b67 The vblank callback now reports the vblank type 2022-06-25 01:59:51 +03:00
Lior Halphon 8f8b7f6b33 Minor adjustment to 32x32@2x 2022-06-18 23:10:48 +03:00
Lior Halphon ec4c1948f5 New macOS icon (again) 2022-06-18 22:36:08 +03:00
Lior Halphon 6bd7b96ed5 Include some default editable color themes 2022-05-21 21:27:02 +03:00
Lior Halphon cdfcc4ca2d Audio recording in the Cocoa frontend 2022-05-21 14:33:03 +03:00
Lior Halphon 5cc845d715 Fix scrolling not updating in the VRAM viewer 2022-05-19 23:43:31 +03:00
Lior Halphon f866284b49 Fix the 16x16 cartridge icon 2022-05-11 03:35:17 +03:00
Lior Halphon 79945c8c18 XIB fixes for Mavericks 2022-03-19 01:25:08 +02:00
Lior Halphon 9c7bed97d5 I hope this actually works 2022-03-15 00:37:05 +02:00
Lior Halphon 86a1977034 Visual updates for Big Sur and newer 2022-03-13 01:14:29 +02:00
Lior Halphon d713ba85c7 Fix selected GBA model 2022-03-12 00:50:19 +02:00
Lior Halphon 5e119548e9 GDMA during mode 3 writes to both banks, list AGB_E as a future model 2022-03-09 00:32:50 +02:00
Lior Halphon 777013e998 Fix the 16x16 icon 2022-02-26 13:07:09 +02:00
Lior Halphon 2c635c7a87 Add Cartridge Instances – allow multiple saves without multiple ROM copies 2022-02-26 01:47:47 +02:00
Lior Halphon 641f26e13e Fix serial close behavior 2022-02-25 14:29:21 +02:00
Lior Halphon 8073e3d39e Visual refresh, update copyright year, crush PNGs 2022-02-24 00:38:27 +02:00
Lior Halphon 7c8b9cf05a Less hacky, less buggy 2022-02-20 18:59:38 +02:00
Lior Halphon a48f251039 New and faster palette viewer 2022-02-20 14:23:49 +02:00
Lior Halphon 9a2e8e1acf Speed things even more by cachine 2022-02-20 03:18:29 +02:00
Lior Halphon f02bb2f0e6 New and faster OAM viewer 2022-02-20 01:59:42 +02:00
Lior Halphon 3c6a46830d Make GBImageView not slow 2022-02-19 22:13:07 +02:00
Lior Halphon a4209b47d0 Be consistent with hex casing 2022-02-13 16:58:44 +02:00
Lior Halphon e7236deb11 Fixes to OAM viewer 2022-02-05 13:54:30 +02:00
Lior Halphon a7f7530eed Preparation for future AGB-0 and B support 2022-01-30 18:11:35 +02:00
Lior Halphon 56b14c67aa Fixed AGB audio regression 2022-01-22 01:11:23 +02:00
Lior Halphon b7f03dea8d Add CGB-A support 2022-01-05 21:55:46 +02:00
Lior Halphon 81e45b00b9 Minor Cocoa bug fixes 2022-01-03 16:51:24 +02:00
Lior Halphon 52c5610528 Cocoa audio driver goes brrrr 2021-12-29 17:21:06 +02:00
Lior Halphon 38eafeb0cf Never deadlock ever again thanks 2021-12-29 17:03:44 +02:00
Lior Halphon 97652b7460 Cocoa audio bugfix 2021-12-29 16:53:28 +02:00
Lior Halphon 6e7ba7589c Fixed blurred unfiltered screenshots 2021-12-26 18:38:08 +02:00
Lior Halphon 69de3f0fae Implement a PPU fast path, up to 34% performance boost 2021-12-26 01:47:59 +02:00
Lior Halphon c3d9141b7c Replace the term sprite with object for consistency 2021-12-17 21:16:23 +02:00
Lior Halphon c1ae129ed4 Allow hiding background/object "layers" (#422) 2021-12-17 21:12:26 +02:00
Lior Halphon e087bd5218 The GBS visualizer should use custom color palettes 2021-12-10 02:06:12 +02:00
Lior Halphon bdbe02b043 Add a safe memory read API 2021-11-26 13:54:28 +02:00
Lior Halphon d15eaf4134 Mouse controls for MBC7 2021-11-14 21:43:31 +02:00
Lior Halphon 7a78649e21 Implement motion controls in JoyKit, implement accel/gyro in DualSense and DualShock 4, implement motion controls in Cocoa 2021-11-13 19:23:45 +02:00
Lior Halphon 06ce30d3a8 Map joysticks to motion controls 2021-11-12 18:10:03 +02:00
Lior Halphon fbf1bb7f98 Save state compatibility breaking cleanup 2021-11-07 12:56:46 +02:00
Lior Halphon 4a7afb246d Fix some oopsies 2021-11-05 21:45:54 +02:00
Lior Halphon 178860e715 Custom palette and editor 2021-11-05 19:07:27 +02:00
Lior Halphon f237b1e9b9 CGB-0 support 2021-11-04 00:35:44 +02:00
Lior Halphon 6cd13be624 Add CGB-B support 2021-10-30 20:58:57 +03:00
Lior Halphon 1f7b20251b Improved sanitation for save states for better security and stability 2021-10-30 16:03:13 +03:00
Lior Halphon 739a9eb2bf Use a monospaced font in the palette viewer 2021-10-27 01:43:36 +03:00
Lior Halphon e6c4ceaf5a Add CGB-D support 2021-10-27 01:40:28 +03:00
Lior Halphon 18007f0e53 MGB support 2021-10-23 23:28:54 +03:00
Lior Halphon 5808d4485f Drop BOOLs 2021-10-23 13:36:58 +03:00
Lior Halphon fc10a90dec Screenshots in the Cocoa frontend 2021-10-23 13:26:44 +03:00
Lior Halphon f1b8164613 Force the user selected model on reset (which can change by a save state) 2021-10-17 02:06:13 +03:00
Lior Halphon 1050a7a533 More size changes for Big Bloat 2021-09-26 00:10:19 +03:00
Lior Halphon 7aca04f4c4 Things need to be slightly bigger in Big Sur 2021-09-25 21:55:12 +03:00
Lior Halphon 50bf8c4919 Fixed a bug that sometimes prevented GBS files from being opened 2021-08-01 15:11:33 +03:00
Lior Halphon 690a263648 Major improvements to JoyKit, fixing Xbox and 8BitDo controllers as well as analog mappings in PS controllers in some situations 2021-07-29 22:43:55 +03:00
Lior Halphon 1d7692cff5 Fix blurry VRAM viewer grid lines 2021-07-11 23:12:46 +03:00
Lior Halphon 94add1d172 Add "Harsh Reality" color correction mode 2021-06-25 19:57:56 +03:00
Lior Halphon 7a6ae2d951 Improved DualSense LEDs, fix several analog controls issues 2021-06-04 22:21:41 +03:00
Lior Halphon e71d3a7d3c First-tier support for DualSense controllers with rumble and LED support 2021-06-04 18:17:14 +03:00
Lior Halphon b444ecd1ee Fix configuration of analog shoulder buttons for analog turbo/slow motion when using a PS5 controller 2021-06-01 00:46:06 +03:00
Lior Halphon 3ed18a76da Added optional OSD (Cocoa) 2021-05-30 20:55:04 +03:00
Lior Halphon 033f025851 Added volume control to the Cocoa port 2021-05-21 18:12:29 +03:00
Lior Halphon c944142b36 Fall back to .snX if no .sX save state found 2021-05-07 00:33:04 +03:00
Lior Halphon 1d0366052d Updater support 2021-04-25 22:28:24 +03:00
Lior Halphon c29edc1963 Handle loading errors 2021-04-19 20:57:28 +03:00
Lior Halphon ba6e22dfc0 Merge branch 'bess' into gbs 2021-04-14 16:44:51 +03:00
Lior Halphon dd86077410 Use the older, more available API 2021-04-14 15:24:06 +03:00
Lior Halphon 8a84a5897e Allow drag&drop of state files 2021-04-14 15:20:01 +03:00
Lior Halphon 6ddfcc9725 Added visualizer to the GBS player, various GBS UI improvements 2021-04-10 16:10:10 +03:00
Lior Halphon f67d3947d6 UI Updates 2021-04-05 23:08:43 +03:00
Lior Halphon bb3a73ff88 Cocoa GBS Player 2021-04-03 01:29:43 +03:00
Lior Halphon 75bc1e9a86 Initial BESS support, no SGB nor RTC yet 2021-03-25 00:07:37 +02:00
Lior Halphon 4d67fa8e80 Close all related windows when closing a document 2021-03-01 22:58:52 +02:00
Lior Halphon e57b5dd57e Update version and copyright date 2021-02-27 19:08:32 +02:00
Lior Halphon 0a983b788e Update icon 2021-02-27 04:13:31 +02:00
Lior Halphon a13469c4e2 Fix PAL SGB in the Cocoa port 2021-02-25 22:42:02 +02:00
Lior Halphon e08df2a089 Add accurate RTC emulation mode 2021-02-25 22:12:14 +02:00
Lior Halphon 9fa564f97c Fix #336 2021-02-25 17:12:01 +02:00
Lior Halphon fa5420136e I hate the audio thread 2021-02-25 15:43:52 +02:00
Lior Halphon d343f0c969
Merge pull request #330 from jverkoey/array
Add type annotations to GBImageView's grid arrays.
2021-02-13 14:38:07 +02:00
Lior Halphon 3316954d14
Merge pull request #326 from jverkoey/deprecations
Resolve various deprecation warnings.
2021-02-13 14:15:48 +02:00
Lior Halphon 8ad08c1b35 Fix more audio deadlocks 2021-02-01 23:11:42 +02:00
Jeff Verkoeyen 557f554270 [Sameboy] Add type annotations to GBImageView's grid arrays. 2021-01-15 13:21:28 -05:00
Jeff Verkoeyen 8f91533a9a Revert nil check changes. 2021-01-15 12:49:24 -05:00
Lior Halphon 931045fd9b
Merge pull request #325 from jverkoey/master
Annotate all Cocoa properties as nonatomic.
2021-01-15 14:15:09 +02:00
Jeff Verkoeyen 1707c8818a Fix broken sprite rendering in the VRAM viewer due to mis-calculation of image data size. 2021-01-15 00:41:21 -05:00
Jeff Verkoeyen 60f226321d Resolve various deprecation warnings. 2021-01-13 14:52:18 -05:00
Jeff Verkoeyen 6dca01ad27 Annotate properties as nonatomic. 2021-01-13 14:12:34 -05:00
Lior Halphon 5c854dbdca Interference emulation 2020-12-31 00:07:04 +02:00
Lior Halphon 8e858c1bf1 Capitalization 2020-12-27 01:02:50 +02:00
Lior Halphon 3dbd2eac91 Something went wrong with the color temperature commit somehow 2020-12-26 23:33:01 +02:00
Lior Halphon 159d9d0348 Color temperature control 2020-12-25 14:17:57 +02:00
Lior Halphon 1d9ac5ccc3 More accurate IR emulation, simplify API 2020-11-21 00:52:54 +02:00
Lior Halphon 60b8978762 Local link cable and infrared emulation in the Cocoa port 2020-11-13 23:07:35 +02:00
Lior Halphon 7ff3556bc3 Workboy emulation (Cocoa only) 2020-09-19 19:31:24 +03:00
Lior Halphon c2410a4ffc Update UI for Big Sur 2020-08-22 13:06:27 +03:00
Lior Halphon 5cffdbcd27 Prevent asking for notification permissions until used by an HuC-3 game 2020-08-22 00:56:12 +03:00
Lior Halphon 4f42f4f718 Minor layout fixes 2020-06-11 00:38:53 +03:00
Lior Halphon 7eb4a92d2a Improve print window, add a button for actual physical printing 2020-06-10 23:28:33 +03:00
Lior Halphon edf7762408 Improved Dark Mode support, improved Hex Fiend's general system-native appearance 2020-06-10 01:10:11 +03:00
Lior Halphon c07588e3bd Console auto complete 2020-06-05 02:10:05 +03:00
Lior Halphon 83b959c126 Delay requests to show notifications 2020-05-30 22:46:06 +03:00
Lior Halphon c9b401135f Actually, don’t use rumble threads at all, because IOHIDDeviceSetReport seems to queue stuff despite being blocking 2020-05-30 22:18:32 +03:00
Lior Halphon 59b94b92ca Make sure reports are only sent from one thread 2020-05-30 18:43:09 +03:00
Lior Halphon f1442b0ea6 Attempt to add rumble support to SDL. Who knows it might work. 2020-05-24 23:04:36 +03:00
Lior Halphon 7af66387de HuC-3 alarm clock emulation 2020-05-23 14:50:54 +03:00
Lior Halphon 260f61f33a This window shouldn’t be resizeable 2020-05-04 22:48:00 +03:00
Lior Halphon 2854578527 Less ugly hacks 2020-05-01 18:26:48 +03:00
Lior Halphon 021cdb402d Various hacks for stopping the PWM thread when needed, important if we have a WUP-028 connected with more than one controller 2020-05-01 18:16:33 +03:00
Lior Halphon 60ad3160cf Fix an XIB oops 2020-04-29 23:52:28 +03:00
Lior Halphon 0c91502859 Remove log 2020-04-29 16:52:32 +03:00
Lior Halphon 4b24178553 Rumble mode selection 2020-04-29 16:50:31 +03:00
Lior Halphon 151d58eb60 setRumble should be double 2020-04-29 16:05:31 +03:00
Lior Halphon 5a14eb93c6 Merge branch 'master' into JoyKit
# Conflicts:
#	Cocoa/Document.m
#	Cocoa/GBView.h
#	Cocoa/GBView.m
#	Cocoa/joypad.m
#	Cocoa/main.m
#	Core/display.c
#	Core/gb.h
#	Core/save_state.c
2020-04-29 15:52:03 +03:00
Lior Halphon 9e99ce434e Allow loading .RAM files 2020-04-25 23:09:08 +03:00
Lior Halphon 152924e13f Add support to the ISX format, including symbols 2020-04-25 22:48:48 +03:00
Lior Halphon 0cf168f32b Fixing inconsistent style 2020-04-24 20:37:57 +03:00
Lior Halphon db9410caa5 Minor UI fix 2020-04-11 21:48:47 +03:00
Lior Halphon 32a0dc0e43 Rename the "Developer" menu to "Develop", like first party Mac apps 2020-04-11 20:44:15 +03:00
Lior Halphon 0abd3b2c46 Dump and load cheats 2020-04-11 19:15:40 +03:00
Lior Halphon 5df45417fa Console quirks 2020-04-11 18:27:31 +03:00
Lior Halphon 0c3db932b2 Fix Mavericks compatibility 2020-04-11 18:19:15 +03:00
Lior Halphon 852a6997ed Add cheats UI to Cocoa 2020-04-11 18:03:10 +03:00
Lior Halphon 1d80c185d8 Remove IDE comment 2020-04-09 17:25:14 +03:00
Lior Halphon 4a21dd3232 The Cocoa sidebar is now resizeable and collapseable 2020-04-09 15:29:49 +03:00
Lior Halphon a6567d9ee1 Update old coding style 2020-04-09 14:32:52 +03:00
Lior Halphon 876b36ac1c More crash fixes, restore Metal support 2020-03-27 17:26:51 +03:00
Lior Halphon 588c0734a9 Fix a crash 2020-03-27 17:23:33 +03:00
Lior Halphon fa1c84f18f Remove the Blend Frames menu item 2020-03-27 15:43:30 +03:00
Lior Halphon 5ecb845662 Add accurate frame blending option 2020-03-26 20:54:18 +02:00
Lior Halphon e94e7cc501 Add another color correction mode 2020-03-25 20:33:13 +02:00
Lior Halphon 78b552fe82 More attempts to fix this bug 2020-03-06 17:37:04 +02:00
Lior Halphon 40868df759 Fix this bug again 2020-02-28 14:05:29 +02:00
Lior Halphon 83ea4edce2 Shut up, annoying log message 2020-02-23 00:16:15 +02:00
Lior Halphon bf32ae66c6 Another attemp to fix Cocoa deadlocking 2020-02-15 19:23:04 +02:00
Lior Halphon dcb3f6db9e Fix minimum window size in the Cocoa frontend 2020-02-08 14:38:04 +02:00
Lior Halphon 103caa56e1 Allow displaying borders outside of SGB emulation, including borrowing SGB border. Allow not displaying SGB borders. (Todo: libretro support) 2020-02-08 13:28:46 +02:00
Lior Halphon 370f02661d Deadlock fix 2020-02-08 12:31:06 +02:00
Lior Halphon 48d3504de7 Let the core handle boot ROM selection 2020-01-29 20:29:30 +02:00
Lior Halphon 99d2c0258c Add monochrome LCD shader 2020-01-29 15:51:53 +02:00
Lior Halphon 163a5ea20c Add DMG color palettes (Cocoa) 2020-01-29 14:19:11 +02:00
Lior Halphon 0737655753 Merge branch 'master' into JoyKit 2020-01-03 23:42:25 +02:00
Lior Halphon 23c7fb2885 Update version, update copyright year 2020-01-01 23:43:36 +02:00
Lior Halphon 4c24323530 Fix Game Boy Camera support in macOS Mojave and newer 2019-12-29 17:34:43 +01:00
Lior Halphon 0ece21bca7 Replace the SDL-derived controller support with my own JoyKit framework. Adds rumble support, LED support, better manual and automatic configurations, analog speed controls. 2019-10-19 19:26:04 +03:00
Lior Halphon d2e9025be6 Fixed major performence issues in the Cocoa port that affected some Macs, especially when emulating SGB1 2019-07-19 23:59:25 +03:00
Lior Halphon f0809a667f Fixed a potential Cocoa crash when closing a window 2019-07-19 15:50:36 +03:00
Lior Halphon f1b578fd2e Update version to 0.12, update copyright year 2019-06-21 19:20:51 +03:00
Lior Halphon 72b1fe0500 Minor Fixes™ 2019-06-21 01:03:52 +03:00
Lior Halphon 280f609785 Fix under clock speed (Should have been 0.5, but ended up as ~0.4 due to rounding errors) 2019-06-19 22:25:59 +03:00
Lior Halphon e268efefef Redesign and reimplement the audio API, let the frontends handle more stuff. Probably affects #161 2019-06-15 23:22:27 +03:00
Lior Halphon b2397a2e7a Joystick hat support in Cocoa 2019-06-14 18:06:15 +03:00
Lior Halphon 5cda1f2f5f Fix the last commit 2019-06-08 00:04:58 +03:00
Lior Halphon d0bd741049 Added SCX/SCY display in the VRAM viewer. Closes #168 2019-06-07 23:38:34 +03:00
Lior Halphon 7fc3de69da Mark CGB-C as experimental 2019-06-07 18:40:54 +03:00
Lior Halphon c342663200 Emulate serial bit shifting, update the serial API to use bits instead of bytes, update printer emulation and libretro to use the new API 2019-03-15 14:36:10 +02:00
Lior Halphon 112a174f4a Proper window minimum size handling 2019-01-05 23:58:18 +02:00
Lior Halphon 21eb96a2f5 Joypad multiplayer support (Cocoa) 2018-12-15 18:55:41 +02:00
Lior Halphon e8dfc18d11 Multiplayer SGB support in Cocoa (Keyboard only) 2018-12-05 00:00:16 +02:00
Lior Halphon 241577a7f1 Merge branch 'master' into sgb 2018-12-02 00:15:07 +02:00
Lior Halphon b852add773 Minor refinements to the icon 2018-12-01 22:43:35 +02:00
Lior Halphon a1c39173dd SGB2 boot ROM 2018-12-01 17:28:57 +02:00
Lior Halphon cbbe3fe207 Revision selection 2018-12-01 17:16:50 +02:00
Lior Halphon 51b7780d83 Redesign the preferences window 2018-12-01 17:16:29 +02:00
Lior Halphon b3166135eb Clean up that crashing mess I made 2018-11-23 19:59:15 +02:00
Lior Halphon aaafd482cc Fixed Cocoa OpenGL regression, it was completely broken 2018-11-22 22:59:29 +02:00
Lior Halphon 6160f513aa CRT filter 2018-11-19 18:52:11 +02:00
Lior Halphon 634a54c046 SGB resolution support (Cocoa only so far) 2018-11-15 00:21:21 +02:00
Lior Halphon 44891d5c4a Initial code to support SGB, command “parsing”, replacement SGB boot ROM 2018-11-11 01:16:32 +02:00
Lior Halphon 9080a23913 Improved idle performance in the Cocoa port when using Metal 2018-10-11 18:43:31 +03:00
Lior Halphon 1b049b8f75 Fixing UI bugs in the Cocoa debugger. Console windows now display the ROM file name 2018-09-15 17:57:59 +03:00
Lior Halphon e5f4495ca0 Turns out the last Cocoa fix was neither reliable or actually working. 2018-07-11 19:48:54 +03:00
Lior Halphon dc4c23c0da Worked around a macOS bug where fullscreen-mode SameBoy would render garbage on High Sierra. Fixed titlebar color when using the ugly Yosemite theme. 2018-07-10 20:35:07 +03:00
Lior Halphon 32443a9675 Improved analog stick controls in both ports. Affects #34? 2018-06-26 19:36:14 +03:00
Lior Halphon 74abf61a08 Fixed a crash that happened when changing the rewind length in Cocoa 2018-06-23 11:50:08 +03:00
Lior Halphon 6b2c25475f Removed limitations around debugger output in the Cocoa frontend 2018-06-21 21:23:57 +03:00
Lior Halphon 0ffb936885 The Cocoa port now allows selecting a folder containing boot ROM files 2018-06-21 00:48:02 +03:00
Lior Halphon 70d68a500e Stop annoying exceptions in the preferences window 2018-06-17 23:24:02 +03:00
Lior Halphon a4bfb026a8 Fixed rounded corners in Metal 2018-06-17 23:16:34 +03:00
Lior Halphon ca9249d4db Prevent memory viewer errors on reset 2018-06-16 14:46:16 +03:00
Lior Halphon bc876ec30c Whoops 2018-06-16 14:36:06 +03:00
Lior Halphon 45c73e0175 Replaced the is_cgb bool with a more future compatible model enum. Removed the GB_init_cgb API and replaced it with an extended GB_init and GB_switch_model_and_reset APIs that now receive a model parameter. Increased the struct version. 2018-06-16 13:59:33 +03:00
Lior Halphon c286203640 Fixed potential black screen on Metal 2018-06-16 12:46:57 +03:00
Lior Halphon 968ff4879a Enable fast math 2018-06-16 00:08:24 +03:00
Lior Halphon 1c1cddb53e OpenGL fallback 2018-06-15 20:03:59 +03:00
Lior Halphon cd045fde15 Scaling filters in Metal 2018-06-15 19:11:06 +03:00
Lior Halphon 4466a55de6 Output resolution parameter 2018-06-15 18:44:22 +03:00
Lior Halphon c6dba26d02 Simplify shaders 2018-06-15 18:08:54 +03:00