Commit Graph

277 Commits

Author SHA1 Message Date
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
Lior Halphon
c1fcd1a0c0 Added frame blending 2018-06-15 13:58:50 +03:00
Lior Halphon
5b39cacc8a Basic Metal support. No OpenGL fallback, no shaders, no blending. 2018-06-15 13:26:53 +03:00
Lior Halphon
9a3d53ae51 Remove OpenGL specific code from GBView 2018-06-11 22:11:33 +03:00
Lior Halphon
ba07e7ba85 Fixed a bug where 0:$dxxx reads/writes from the wrong bank in CGB mode. Made sure symbols are reset after reloading a sym file. 2018-04-02 19:57:39 +03:00
Lior Halphon
69a625af97
How did I miss this thing after over 2 years?! 2018-04-01 16:53:21 +03:00
Lior Halphon
7706b8727a Updated Cocoa copyright 2018-03-30 17:06:39 +03:00
Lior Halphon
6e8567eadc Silence some annoying Cocoa warnings, hopefully it won’t affect performance 2018-03-02 19:42:02 +02:00
Lior Halphon
3c8f3ad3fc Stop annoying beeps and exceptions 2018-03-02 19:37:40 +02:00
Lior Halphon
d0202a3f9a Added LCD graphics filter; emulates low-resolution LCD artifacts 2018-02-17 20:43:48 +02:00
Lior Halphon
afcc66fb3c Added CPU under/over-clocking support in Core, add under-clocking hotkey in the Cocoa port, allow modifier keys to be configured as input keys in Cocoa. 2018-02-10 23:30:30 +02:00
Lior Halphon
1c61b006ba Added rewinding support to the core and the Cocoa frontend 2018-02-10 14:42:14 +02:00
Lior Halphon
51eacd3174 Update version to 0.10.1, update copyright to 2018 2018-02-03 00:50:38 +02:00
Lior Halphon
aeb9f0eda4 Prevent screensaver when using a joypad 2018-02-02 19:22:08 +02:00
Lior Halphon
69a712b07f Added AGB as a model option in Cocoa 2018-01-13 13:31:06 +02:00
Lior Halphon
a4465b72e7 Clean up unneeded joystick code, joystick is now internally driven by callbacks (instead of polling) 2017-12-30 17:00:07 +02:00
Lior Halphon
8eeda02d50 Added Joypad support, closes #9 2017-12-30 16:23:17 +02:00
Lior Halphon
d6236b87dd Fixed a crash in the OAM tab 2017-12-29 13:42:32 +02:00
Lior Halphon
595bb563f9 OmniScale is no longer beta 2017-12-29 13:35:03 +02:00
Lior Halphon
bbd3b7e550 Got rid of -ICore 2017-10-13 00:02:02 +03:00
Lior Halphon
65dd02cc52 Added 3 color correction profiles, added color correction setting to Cocoa GUI, improved cross-platform and cross-frontend save-state compatibility 2017-10-12 17:22:22 +03:00
Lior Halphon
78446f0ed4 Fixed several memory leaks (mostly in Cocoa port debugging utils) 2017-09-27 22:09:26 +03:00
Lior Halphon
5d84ee250e Added Cocoa GUI for the High-Pass filter selection 2017-08-15 21:59:53 +03:00
Lior Halphon
81de2c3d9b Incremented version to 0.9, updated copyright 2017-05-27 19:41:09 +03:00
Lior Halphon
f34103473e Fixed ^C not giving focus to the console window 2017-05-27 17:16:20 +03:00
Lior Halphon
a69f0a64b1 Added reverse text search to the Cocoa console 2017-05-27 17:15:52 +03:00
Lior Halphon
6b2a302393 Terminal-style command history in the Cocoa debugger 2017-05-27 14:32:32 +03:00
Lior Halphon
44b414d45f Fixed VRAM window not showing correctly if opened while the game is paused 2017-05-27 12:52:31 +03:00
Lior Halphon
7d88ee00cc Added side view to Cocoa debugger 2017-05-26 20:16:19 +03:00
Lior Halphon
fb55c35f87 New APIs, Document.m no longer requires GB_INTERNAL, fixed a bug where the sprite viewer showed incorrect sprites for some CGB exclusive games. 2017-04-19 23:26:39 +03:00
Lior Halphon
3feaeb153e New turbo related APIs, Quick Look no longer requires GB_INTERNAL 2017-04-19 21:55:58 +03:00
Lior Halphon
a925ef130d Stabilizing API: New joypad, debugger and reset APIs; internal APIs and direct struct access are no longer available without defining GB_INTERNAL. The SDL port uses the new “public” APIs, as well as most of the non-debug Cocoa code. 2017-04-17 20:16:17 +03:00
Lior Halphon
c116c70bfa Better GUI for user errors/warnings in Cocoa 2017-02-24 18:15:31 +02:00
Lior Halphon
3d99773ddb Changed how the Cocoa port initializes GB_gameboy_t 2017-02-24 15:14:00 +02:00
Lior Halphon
b0dfb8c5ac Added built-in IO-Register symbols 2017-02-20 14:37:15 +02:00
Lior Halphon
6f94664428 Close Open Panels if a document is opened via other means 2017-01-24 23:10:50 +02:00
Lior Halphon
a5f72627fe Cocoa key bindings now based on key codes 2017-01-24 21:00:56 +02:00
Lior Halphon
9779635c34 Added NSSupportsAutomaticGraphicsSwitching to Cocoa's Info.plist 2017-01-22 22:25:15 +02:00
Lior Halphon
0d8244748c Fixed icon alignment 2017-01-22 00:37:25 +02:00
Lior Halphon
8cd82ebb68 Quick Look icon generation for GameBoy ROMs, using screenshots from the actual ROMs 2017-01-20 18:35:20 +02:00
Lior Halphon
8d5bacf6ae Updated Cocoa cartridge icons 2017-01-20 18:16:45 +02:00
Lior Halphon
5dcc8e744e Fixed a crash in the Cocoa port that might happen after closing GameBoy Camera 2017-01-14 19:45:07 +02:00
Lior Halphon
613d3b2e82 Printer support in Cocoa 2017-01-13 22:26:44 +02:00
Lior Halphon
388fb600de Added VRAM-debugging APIs, added VRAM viewer to Cocoa Port, fixed uninitialized VRAM, fixed memory viewer crash 2016-10-27 00:23:24 +03:00
Lior Halphon
90b7383df7 The camera's get pixel callback must return the same value for every coordinate until a new photo is taken. 2016-10-03 23:05:47 +03:00
Lior Halphon
b50b38c78a GameBoy Camera support in Cocoa 2016-10-03 00:26:12 +03:00
Lior Halphon
58a4081b48 Improved open performance in Cocoa 2016-10-02 00:10:31 +03:00
Lior Halphon
21b91adf6a Improved open-dialog behavior in Cocoa 2016-10-02 00:10:09 +03:00
Lior Halphon
4a2bec239a MBC2 RAM support was completely broken. 2016-09-30 23:34:06 +03:00
Lior Halphon
6e86dbcebb Cocoa port now shows the open dialog if no ROM is open. 2016-09-10 19:46:42 +03:00
Lior Halphon
7bafb6a843 Cocoa port: remember breakpoints and watchpoints after reset 2016-09-07 00:44:00 +03:00
Lior Halphon
62ecadeb57 Fixed another reset-while-debugging deadlock in Cocoa 2016-09-07 00:37:11 +03:00
Lior Halphon
92c2b22735 Cocoa port now remembers the mute switch 2016-08-21 21:58:33 +03:00
Lior Halphon
33da8734fe Mouse hiding is now only enabled during full screen mode 2016-08-21 00:38:26 +03:00
Lior Halphon
0734e990b3 Memory viewer now has a Goto command, different memory space modes, and allows viewing/editing specific banks 2016-08-19 14:54:54 +03:00
Lior Halphon
f9236d12bf Improvements to the help command and general debugger usability. 2016-08-13 22:52:41 +03:00
Lior Halphon
e79ddee705 Basic memory hex viewer/editor, using a (heavily stripped down) HexFiend framework 2016-08-13 00:58:52 +03:00
Lior Halphon
b740b7f3ba Fixed Cocoa memory leak 2016-07-20 23:52:29 +03:00