This commit is contained in:
Lior Halphon 2021-01-31 19:17:56 +02:00
commit 301c0f41c2
14 changed files with 93 additions and 94 deletions

View File

@ -2,15 +2,15 @@
@interface AppDelegate : NSObject <NSApplicationDelegate, NSUserNotificationCenterDelegate, NSMenuDelegate> @interface AppDelegate : NSObject <NSApplicationDelegate, NSUserNotificationCenterDelegate, NSMenuDelegate>
@property IBOutlet NSWindow *preferencesWindow; @property (nonatomic, strong) IBOutlet NSWindow *preferencesWindow;
@property (strong) IBOutlet NSView *graphicsTab; @property (nonatomic, strong) IBOutlet NSView *graphicsTab;
@property (strong) IBOutlet NSView *emulationTab; @property (nonatomic, strong) IBOutlet NSView *emulationTab;
@property (strong) IBOutlet NSView *audioTab; @property (nonatomic, strong) IBOutlet NSView *audioTab;
@property (strong) IBOutlet NSView *controlsTab; @property (nonatomic, strong) IBOutlet NSView *controlsTab;
- (IBAction)showPreferences: (id) sender; - (IBAction)showPreferences: (id) sender;
- (IBAction)toggleDeveloperMode:(id)sender; - (IBAction)toggleDeveloperMode:(id)sender;
- (IBAction)switchPreferencesTab:(id)sender; - (IBAction)switchPreferencesTab:(id)sender;
@property (weak) IBOutlet NSMenuItem *linkCableMenuItem; @property (nonatomic, weak) IBOutlet NSMenuItem *linkCableMenuItem;
@end @end

View File

@ -18,7 +18,7 @@ typedef NS_ENUM(NSInteger, NSWindowToolbarStyle) {
} API_AVAILABLE(macos(11.0)); } API_AVAILABLE(macos(11.0));
@interface NSWindow (toolbarStyle) @interface NSWindow (toolbarStyle)
@property NSWindowToolbarStyle toolbarStyle API_AVAILABLE(macos(11.0)); @property (nonatomic) NSWindowToolbarStyle toolbarStyle API_AVAILABLE(macos(11.0));
@end @end
@interface NSImage (SFSymbols) @interface NSImage (SFSymbols)

View File

@ -6,39 +6,39 @@
@class GBCheatWindowController; @class GBCheatWindowController;
@interface Document : NSDocument <NSWindowDelegate, GBImageViewDelegate, NSTableViewDataSource, NSTableViewDelegate, NSSplitViewDelegate> @interface Document : NSDocument <NSWindowDelegate, GBImageViewDelegate, NSTableViewDataSource, NSTableViewDelegate, NSSplitViewDelegate>
@property (readonly) GB_gameboy_t *gb; @property (nonatomic, readonly) GB_gameboy_t *gb;
@property (strong) IBOutlet GBView *view; @property (nonatomic, strong) IBOutlet GBView *view;
@property (strong) IBOutlet NSTextView *consoleOutput; @property (nonatomic, strong) IBOutlet NSTextView *consoleOutput;
@property (strong) IBOutlet NSPanel *consoleWindow; @property (nonatomic, strong) IBOutlet NSPanel *consoleWindow;
@property (strong) IBOutlet NSTextField *consoleInput; @property (nonatomic, strong) IBOutlet NSTextField *consoleInput;
@property (strong) IBOutlet NSWindow *mainWindow; @property (nonatomic, strong) IBOutlet NSWindow *mainWindow;
@property (strong) IBOutlet NSView *memoryView; @property (nonatomic, strong) IBOutlet NSView *memoryView;
@property (strong) IBOutlet NSPanel *memoryWindow; @property (nonatomic, strong) IBOutlet NSPanel *memoryWindow;
@property (readonly) GB_gameboy_t *gameboy; @property (nonatomic, readonly) GB_gameboy_t *gameboy;
@property (strong) IBOutlet NSTextField *memoryBankInput; @property (nonatomic, strong) IBOutlet NSTextField *memoryBankInput;
@property (strong) IBOutlet NSToolbarItem *memoryBankItem; @property (nonatomic, strong) IBOutlet NSToolbarItem *memoryBankItem;
@property (strong) IBOutlet GBImageView *tilesetImageView; @property (nonatomic, strong) IBOutlet GBImageView *tilesetImageView;
@property (strong) IBOutlet NSPopUpButton *tilesetPaletteButton; @property (nonatomic, strong) IBOutlet NSPopUpButton *tilesetPaletteButton;
@property (strong) IBOutlet GBImageView *tilemapImageView; @property (nonatomic, strong) IBOutlet GBImageView *tilemapImageView;
@property (strong) IBOutlet NSPopUpButton *tilemapPaletteButton; @property (nonatomic, strong) IBOutlet NSPopUpButton *tilemapPaletteButton;
@property (strong) IBOutlet NSPopUpButton *tilemapMapButton; @property (nonatomic, strong) IBOutlet NSPopUpButton *tilemapMapButton;
@property (strong) IBOutlet NSPopUpButton *TilemapSetButton; @property (nonatomic, strong) IBOutlet NSPopUpButton *TilemapSetButton;
@property (strong) IBOutlet NSButton *gridButton; @property (nonatomic, strong) IBOutlet NSButton *gridButton;
@property (strong) IBOutlet NSTabView *vramTabView; @property (nonatomic, strong) IBOutlet NSTabView *vramTabView;
@property (strong) IBOutlet NSPanel *vramWindow; @property (nonatomic, strong) IBOutlet NSPanel *vramWindow;
@property (strong) IBOutlet NSTextField *vramStatusLabel; @property (nonatomic, strong) IBOutlet NSTextField *vramStatusLabel;
@property (strong) IBOutlet NSTableView *paletteTableView; @property (nonatomic, strong) IBOutlet NSTableView *paletteTableView;
@property (strong) IBOutlet NSTableView *spritesTableView; @property (nonatomic, strong) IBOutlet NSTableView *spritesTableView;
@property (strong) IBOutlet NSPanel *printerFeedWindow; @property (nonatomic, strong) IBOutlet NSPanel *printerFeedWindow;
@property (strong) IBOutlet NSImageView *feedImageView; @property (nonatomic, strong) IBOutlet NSImageView *feedImageView;
@property (strong) IBOutlet NSTextView *debuggerSideViewInput; @property (nonatomic, strong) IBOutlet NSTextView *debuggerSideViewInput;
@property (strong) IBOutlet NSTextView *debuggerSideView; @property (nonatomic, strong) IBOutlet NSTextView *debuggerSideView;
@property (strong) IBOutlet GBSplitView *debuggerSplitView; @property (nonatomic, strong) IBOutlet GBSplitView *debuggerSplitView;
@property (strong) IBOutlet NSBox *debuggerVerticalLine; @property (nonatomic, strong) IBOutlet NSBox *debuggerVerticalLine;
@property (strong) IBOutlet NSPanel *cheatsWindow; @property (nonatomic, strong) IBOutlet NSPanel *cheatsWindow;
@property (strong) IBOutlet GBCheatWindowController *cheatWindowController; @property (nonatomic, strong) IBOutlet GBCheatWindowController *cheatWindowController;
@property (readonly) Document *partner; @property (nonatomic, readonly) Document *partner;
@property (readonly) bool isSlave; @property (nonatomic, readonly) bool isSlave;
-(uint8_t) readMemory:(uint16_t) addr; -(uint8_t) readMemory:(uint16_t) addr;
-(void) writeMemory:(uint16_t) addr value:(uint8_t)value; -(void) writeMemory:(uint16_t) addr value:(uint8_t)value;

View File

@ -1692,7 +1692,7 @@ static unsigned *multiplication_table_for_frequency(unsigned frequency)
switch (columnIndex) { switch (columnIndex) {
case 0: case 0:
return [Document imageFromData:[NSData dataWithBytesNoCopy:oamInfo[row].image return [Document imageFromData:[NSData dataWithBytesNoCopy:oamInfo[row].image
length:64 * 4 length:64 * 4 * 2
freeWhenDone:NO] freeWhenDone:NO]
width:8 width:8
height:oamHeight height:oamHeight

View File

@ -2,9 +2,9 @@
#import <Core/gb.h> #import <Core/gb.h>
@interface GBAudioClient : NSObject @interface GBAudioClient : NSObject
@property (strong) void (^renderBlock)(UInt32 sampleRate, UInt32 nFrames, GB_sample_t *buffer); @property (nonatomic, strong) void (^renderBlock)(UInt32 sampleRate, UInt32 nFrames, GB_sample_t *buffer);
@property (readonly) UInt32 rate; @property (nonatomic, readonly) UInt32 rate;
@property (readonly, getter=isPlaying) bool playing; @property (nonatomic, readonly, getter=isPlaying) bool playing;
-(void) start; -(void) start;
-(void) stop; -(void) stop;
-(id) initWithRendererBlock:(void (^)(UInt32 sampleRate, UInt32 nFrames, GB_sample_t *buffer)) block -(id) initWithRendererBlock:(void (^)(UInt32 sampleRate, UInt32 nFrames, GB_sample_t *buffer)) block

View File

@ -1,5 +1,5 @@
#import <Cocoa/Cocoa.h> #import <Cocoa/Cocoa.h>
@interface GBCheatTextFieldCell : NSTextFieldCell @interface GBCheatTextFieldCell : NSTextFieldCell
@property bool usesAddressFormat; @property (nonatomic) bool usesAddressFormat;
@end @end

View File

@ -3,15 +3,14 @@
#import "Document.h" #import "Document.h"
@interface GBCheatWindowController : NSObject <NSTableViewDelegate, NSTableViewDataSource, NSTextFieldDelegate> @interface GBCheatWindowController : NSObject <NSTableViewDelegate, NSTableViewDataSource, NSTextFieldDelegate>
@property (weak) IBOutlet NSTableView *cheatsTable; @property (nonatomic, weak) IBOutlet NSTableView *cheatsTable;
@property (weak) IBOutlet NSTextField *addressField; @property (nonatomic, weak) IBOutlet NSTextField *addressField;
@property (weak) IBOutlet NSTextField *valueField; @property (nonatomic, weak) IBOutlet NSTextField *valueField;
@property (weak) IBOutlet NSTextField *oldValueField; @property (nonatomic, weak) IBOutlet NSTextField *oldValueField;
@property (weak) IBOutlet NSButton *oldValueCheckbox; @property (nonatomic, weak) IBOutlet NSButton *oldValueCheckbox;
@property (weak) IBOutlet NSTextField *descriptionField; @property (nonatomic, weak) IBOutlet NSTextField *descriptionField;
@property (weak) IBOutlet NSTextField *importCodeField; @property (nonatomic, weak) IBOutlet NSTextField *importCodeField;
@property (weak) IBOutlet NSTextField *importDescriptionField; @property (nonatomic, weak) IBOutlet NSTextField *importDescriptionField;
@property (weak) IBOutlet Document *document; @property (nonatomic, weak) IBOutlet Document *document;
- (void)cheatsUpdated; - (void)cheatsUpdated;
@end @end

View File

@ -3,17 +3,17 @@
@protocol GBImageViewDelegate; @protocol GBImageViewDelegate;
@interface GBImageViewGridConfiguration : NSObject @interface GBImageViewGridConfiguration : NSObject
@property NSColor *color; @property (nonatomic, strong) NSColor *color;
@property NSUInteger size; @property (nonatomic) NSUInteger size;
- (instancetype) initWithColor: (NSColor *) color size: (NSUInteger) size; - (instancetype) initWithColor: (NSColor *) color size: (NSUInteger) size;
@end @end
@interface GBImageView : NSImageView @interface GBImageView : NSImageView
@property (nonatomic) NSArray *horizontalGrids; @property (nonatomic, strong) NSArray *horizontalGrids;
@property (nonatomic) NSArray *verticalGrids; @property (nonatomic, strong) NSArray *verticalGrids;
@property (nonatomic) bool displayScrollRect; @property (nonatomic) bool displayScrollRect;
@property NSRect scrollRect; @property NSRect scrollRect;
@property (weak) IBOutlet id<GBImageViewDelegate> delegate; @property (nonatomic, weak) IBOutlet id<GBImageViewDelegate> delegate;
@end @end
@protocol GBImageViewDelegate <NSObject> @protocol GBImageViewDelegate <NSObject>

View File

@ -12,6 +12,6 @@ typedef enum {
@interface GBMemoryByteArray : HFByteArray @interface GBMemoryByteArray : HFByteArray
- (instancetype) initWithDocument:(Document *)document; - (instancetype) initWithDocument:(Document *)document;
@property uint16_t selectedBank; @property (nonatomic) uint16_t selectedBank;
@property GB_memory_mode_t mode; @property (nonatomic) GB_memory_mode_t mode;
@end @end

View File

@ -2,5 +2,5 @@
#import "GBGLShader.h" #import "GBGLShader.h"
@interface GBOpenGLView : NSOpenGLView @interface GBOpenGLView : NSOpenGLView
@property GBGLShader *shader; @property (nonatomic) GBGLShader *shader;
@end @end

View File

@ -2,27 +2,27 @@
#import <JoyKit/JoyKit.h> #import <JoyKit/JoyKit.h>
@interface GBPreferencesWindow : NSWindow <NSTableViewDelegate, NSTableViewDataSource, JOYListener> @interface GBPreferencesWindow : NSWindow <NSTableViewDelegate, NSTableViewDataSource, JOYListener>
@property IBOutlet NSTableView *controlsTableView; @property (nonatomic, strong) IBOutlet NSTableView *controlsTableView;
@property IBOutlet NSPopUpButton *graphicsFilterPopupButton; @property (nonatomic, strong) IBOutlet NSPopUpButton *graphicsFilterPopupButton;
@property (strong) IBOutlet NSButton *analogControlsCheckbox; @property (nonatomic, strong) IBOutlet NSButton *analogControlsCheckbox;
@property (strong) IBOutlet NSButton *aspectRatioCheckbox; @property (nonatomic, strong) IBOutlet NSButton *aspectRatioCheckbox;
@property (strong) IBOutlet NSPopUpButton *highpassFilterPopupButton; @property (nonatomic, strong) IBOutlet NSPopUpButton *highpassFilterPopupButton;
@property (strong) IBOutlet NSPopUpButton *colorCorrectionPopupButton; @property (nonatomic, strong) IBOutlet NSPopUpButton *colorCorrectionPopupButton;
@property (strong) IBOutlet NSPopUpButton *frameBlendingModePopupButton; @property (nonatomic, strong) IBOutlet NSPopUpButton *frameBlendingModePopupButton;
@property (strong) IBOutlet NSPopUpButton *colorPalettePopupButton; @property (nonatomic, strong) IBOutlet NSPopUpButton *colorPalettePopupButton;
@property (strong) IBOutlet NSPopUpButton *displayBorderPopupButton; @property (nonatomic, strong) IBOutlet NSPopUpButton *displayBorderPopupButton;
@property (strong) IBOutlet NSPopUpButton *rewindPopupButton; @property (nonatomic, strong) IBOutlet NSPopUpButton *rewindPopupButton;
@property (strong) IBOutlet NSButton *configureJoypadButton; @property (nonatomic, strong) IBOutlet NSButton *configureJoypadButton;
@property (strong) IBOutlet NSButton *skipButton; @property (nonatomic, strong) IBOutlet NSButton *skipButton;
@property (strong) IBOutlet NSMenuItem *bootROMsFolderItem; @property (nonatomic, strong) IBOutlet NSMenuItem *bootROMsFolderItem;
@property (strong) IBOutlet NSPopUpButtonCell *bootROMsButton; @property (nonatomic, strong) IBOutlet NSPopUpButtonCell *bootROMsButton;
@property (strong) IBOutlet NSPopUpButton *rumbleModePopupButton; @property (nonatomic, strong) IBOutlet NSPopUpButton *rumbleModePopupButton;
@property (weak) IBOutlet NSSlider *temperatureSlider; @property (nonatomic, weak) IBOutlet NSSlider *temperatureSlider;
@property (weak) IBOutlet NSSlider *interferenceSlider; @property (nonatomic, weak) IBOutlet NSSlider *interferenceSlider;
@property (weak) IBOutlet NSPopUpButton *dmgPopupButton; @property (nonatomic, weak) IBOutlet NSPopUpButton *dmgPopupButton;
@property (weak) IBOutlet NSPopUpButton *sgbPopupButton; @property (nonatomic, weak) IBOutlet NSPopUpButton *sgbPopupButton;
@property (weak) IBOutlet NSPopUpButton *cgbPopupButton; @property (nonatomic, weak) IBOutlet NSPopUpButton *cgbPopupButton;
@property (weak) IBOutlet NSPopUpButton *preferredJoypadButton; @property (nonatomic, weak) IBOutlet NSPopUpButton *preferredJoypadButton;
@property (weak) IBOutlet NSPopUpButton *playerListButton; @property (nonatomic, weak) IBOutlet NSPopUpButton *playerListButton;
@end @end

View File

@ -2,5 +2,5 @@
#include <Core/gb.h> #include <Core/gb.h>
@interface GBTerminalTextFieldCell : NSTextFieldCell @interface GBTerminalTextFieldCell : NSTextFieldCell
@property GB_gameboy_t *gb; @property (nonatomic) GB_gameboy_t *gb;
@end @end

View File

@ -14,12 +14,12 @@ typedef enum {
@interface GBView : NSView<JOYListener> @interface GBView : NSView<JOYListener>
- (void) flip; - (void) flip;
- (uint32_t *) pixels; - (uint32_t *) pixels;
@property (weak) IBOutlet Document *document; @property (nonatomic, weak) IBOutlet Document *document;
@property GB_gameboy_t *gb; @property (nonatomic) GB_gameboy_t *gb;
@property (nonatomic) GB_frame_blending_mode_t frameBlendingMode; @property (nonatomic) GB_frame_blending_mode_t frameBlendingMode;
@property (getter=isMouseHidingEnabled) BOOL mouseHidingEnabled; @property (nonatomic, getter=isMouseHidingEnabled) BOOL mouseHidingEnabled;
@property bool isRewinding; @property (nonatomic) bool isRewinding;
@property NSView *internalView; @property (nonatomic, strong) NSView *internalView;
- (void) createInternalView; - (void) createInternalView;
- (uint32_t *)currentBuffer; - (uint32_t *)currentBuffer;
- (uint32_t *)previousBuffer; - (uint32_t *)previousBuffer;

View File

@ -524,9 +524,9 @@ restart:
char extension[4] = {0,}; char extension[4] = {0,};
if (path_length > 4) { if (path_length > 4) {
if (filename[path_length - 4] == '.') { if (filename[path_length - 4] == '.') {
extension[0] = tolower(filename[path_length - 3]); extension[0] = tolower((unsigned char)filename[path_length - 3]);
extension[1] = tolower(filename[path_length - 2]); extension[1] = tolower((unsigned char)filename[path_length - 2]);
extension[2] = tolower(filename[path_length - 1]); extension[2] = tolower((unsigned char)filename[path_length - 1]);
} }
} }
if (strcmp(extension, "isx") == 0) { if (strcmp(extension, "isx") == 0) {