From 43fd2f33a6b0856285e03817448000762184e276 Mon Sep 17 00:00:00 2001 From: baldeau Date: Sat, 31 Aug 2024 23:57:44 +0200 Subject: [PATCH] initial commit --- .editorconfig | 8 + .gitignore | 46 + .metadata | 30 + README.md | 7 + analysis_options.yaml | 29 + android/.gitignore | 13 + android/app/build.gradle | 58 + android/app/src/debug/AndroidManifest.xml | 7 + android/app/src/main/AndroidManifest.xml | 45 + .../com/example/dashboy/MainActivity.kt | 5 + .../res/drawable-v21/launch_background.xml | 12 + .../main/res/drawable/launch_background.xml | 12 + .../src/main/res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 544 bytes .../src/main/res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 442 bytes .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 721 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 1031 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 1443 bytes .../app/src/main/res/values-night/styles.xml | 18 + android/app/src/main/res/values/styles.xml | 18 + android/app/src/profile/AndroidManifest.xml | 7 + android/build.gradle | 18 + android/gradle.properties | 3 + .../gradle/wrapper/gradle-wrapper.properties | 5 + android/settings.gradle | 25 + docs/assets/img/screenshot1.png | Bin 0 -> 168622 bytes docs/assets/img/screenshot2.png | Bin 0 -> 166672 bytes ios/.gitignore | 34 + ios/Flutter/AppFrameworkInfo.plist | 26 + ios/Flutter/Debug.xcconfig | 2 + ios/Flutter/Release.xcconfig | 2 + ios/Podfile | 44 + ios/Runner.xcodeproj/project.pbxproj | 619 ++++++ .../contents.xcworkspacedata | 7 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../xcshareddata/WorkspaceSettings.xcsettings | 8 + .../xcshareddata/xcschemes/Runner.xcscheme | 98 + .../contents.xcworkspacedata | 7 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../xcshareddata/WorkspaceSettings.xcsettings | 8 + ios/Runner/AppDelegate.swift | 13 + .../AppIcon.appiconset/Contents.json | 122 ++ .../Icon-App-1024x1024@1x.png | Bin 0 -> 10932 bytes .../AppIcon.appiconset/Icon-App-20x20@1x.png | Bin 0 -> 295 bytes .../AppIcon.appiconset/Icon-App-20x20@2x.png | Bin 0 -> 406 bytes .../AppIcon.appiconset/Icon-App-20x20@3x.png | Bin 0 -> 450 bytes .../AppIcon.appiconset/Icon-App-29x29@1x.png | Bin 0 -> 282 bytes .../AppIcon.appiconset/Icon-App-29x29@2x.png | Bin 0 -> 462 bytes .../AppIcon.appiconset/Icon-App-29x29@3x.png | Bin 0 -> 704 bytes .../AppIcon.appiconset/Icon-App-40x40@1x.png | Bin 0 -> 406 bytes .../AppIcon.appiconset/Icon-App-40x40@2x.png | Bin 0 -> 586 bytes .../AppIcon.appiconset/Icon-App-40x40@3x.png | Bin 0 -> 862 bytes .../AppIcon.appiconset/Icon-App-60x60@2x.png | Bin 0 -> 862 bytes .../AppIcon.appiconset/Icon-App-60x60@3x.png | Bin 0 -> 1674 bytes .../AppIcon.appiconset/Icon-App-76x76@1x.png | Bin 0 -> 762 bytes .../AppIcon.appiconset/Icon-App-76x76@2x.png | Bin 0 -> 1226 bytes .../Icon-App-83.5x83.5@2x.png | Bin 0 -> 1418 bytes .../LaunchImage.imageset/Contents.json | 23 + .../LaunchImage.imageset/LaunchImage.png | Bin 0 -> 68 bytes .../LaunchImage.imageset/LaunchImage@2x.png | Bin 0 -> 68 bytes .../LaunchImage.imageset/LaunchImage@3x.png | Bin 0 -> 68 bytes .../LaunchImage.imageset/README.md | 5 + ios/Runner/Base.lproj/LaunchScreen.storyboard | 37 + ios/Runner/Base.lproj/Main.storyboard | 26 + ios/Runner/Info.plist | 49 + ios/Runner/Runner-Bridging-Header.h | 1 + ios/RunnerTests/RunnerTests.swift | 12 + lib/emulator/bus.dart | 248 +++ lib/emulator/cpu.dart | 1657 +++++++++++++++++ lib/emulator/gameboy.dart | 46 + lib/emulator/joypad.dart | 117 ++ lib/emulator/mbc.dart | 149 ++ lib/emulator/ppu.dart | 566 ++++++ lib/emulator/rom.dart | 135 ++ lib/emulator/timer.dart | 106 ++ lib/emulator/utils.dart | 102 + lib/main.dart | 670 +++++++ macos/.gitignore | 7 + macos/Flutter/Flutter-Debug.xcconfig | 2 + macos/Flutter/Flutter-Release.xcconfig | 2 + macos/Flutter/GeneratedPluginRegistrant.swift | 10 + macos/Podfile | 43 + macos/Podfile.lock | 16 + macos/Runner.xcodeproj/project.pbxproj | 783 ++++++++ .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../xcshareddata/xcschemes/Runner.xcscheme | 98 + .../contents.xcworkspacedata | 10 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + macos/Runner/AppDelegate.swift | 9 + .../AppIcon.appiconset/Contents.json | 68 + .../AppIcon.appiconset/app_icon_1024.png | Bin 0 -> 102994 bytes .../AppIcon.appiconset/app_icon_128.png | Bin 0 -> 5680 bytes .../AppIcon.appiconset/app_icon_16.png | Bin 0 -> 520 bytes .../AppIcon.appiconset/app_icon_256.png | Bin 0 -> 14142 bytes .../AppIcon.appiconset/app_icon_32.png | Bin 0 -> 1066 bytes .../AppIcon.appiconset/app_icon_512.png | Bin 0 -> 36406 bytes .../AppIcon.appiconset/app_icon_64.png | Bin 0 -> 2218 bytes macos/Runner/Base.lproj/MainMenu.xib | 343 ++++ macos/Runner/Configs/AppInfo.xcconfig | 14 + macos/Runner/Configs/Debug.xcconfig | 2 + macos/Runner/Configs/Release.xcconfig | 2 + macos/Runner/Configs/Warnings.xcconfig | 13 + macos/Runner/DebugProfile.entitlements | 12 + macos/Runner/Info.plist | 32 + macos/Runner/MainFlutterWindow.swift | 15 + macos/Runner/Release.entitlements | 8 + macos/RunnerTests/RunnerTests.swift | 12 + pubspec.lock | 274 +++ pubspec.yaml | 25 + test/widget_test.dart | 30 + 109 files changed, 7167 insertions(+) create mode 100644 .editorconfig create mode 100644 .gitignore create mode 100644 .metadata create mode 100644 README.md create mode 100644 analysis_options.yaml create mode 100644 android/.gitignore create mode 100644 android/app/build.gradle create mode 100644 android/app/src/debug/AndroidManifest.xml create mode 100644 android/app/src/main/AndroidManifest.xml create mode 100644 android/app/src/main/kotlin/com/example/dashboy/MainActivity.kt create mode 100644 android/app/src/main/res/drawable-v21/launch_background.xml create mode 100644 android/app/src/main/res/drawable/launch_background.xml create mode 100644 android/app/src/main/res/mipmap-hdpi/ic_launcher.png create mode 100644 android/app/src/main/res/mipmap-mdpi/ic_launcher.png create mode 100644 android/app/src/main/res/mipmap-xhdpi/ic_launcher.png create mode 100644 android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png create mode 100644 android/app/src/main/res/values-night/styles.xml create mode 100644 android/app/src/main/res/values/styles.xml create mode 100644 android/app/src/profile/AndroidManifest.xml create mode 100644 android/build.gradle create mode 100644 android/gradle.properties create mode 100644 android/gradle/wrapper/gradle-wrapper.properties create mode 100644 android/settings.gradle create mode 100644 docs/assets/img/screenshot1.png create mode 100644 docs/assets/img/screenshot2.png create mode 100644 ios/.gitignore create mode 100644 ios/Flutter/AppFrameworkInfo.plist create mode 100644 ios/Flutter/Debug.xcconfig create mode 100644 ios/Flutter/Release.xcconfig create mode 100644 ios/Podfile create mode 100644 ios/Runner.xcodeproj/project.pbxproj create mode 100644 ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings create mode 100644 ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme create mode 100644 ios/Runner.xcworkspace/contents.xcworkspacedata create mode 100644 ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings create mode 100644 ios/Runner/AppDelegate.swift create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png create mode 100644 ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json create mode 100644 ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png create mode 100644 ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png create mode 100644 ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png create mode 100644 ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md create mode 100644 ios/Runner/Base.lproj/LaunchScreen.storyboard create mode 100644 ios/Runner/Base.lproj/Main.storyboard create mode 100644 ios/Runner/Info.plist create mode 100644 ios/Runner/Runner-Bridging-Header.h create mode 100644 ios/RunnerTests/RunnerTests.swift create mode 100644 lib/emulator/bus.dart create mode 100644 lib/emulator/cpu.dart create mode 100644 lib/emulator/gameboy.dart create mode 100644 lib/emulator/joypad.dart create mode 100644 lib/emulator/mbc.dart create mode 100644 lib/emulator/ppu.dart create mode 100644 lib/emulator/rom.dart create mode 100644 lib/emulator/timer.dart create mode 100644 lib/emulator/utils.dart create mode 100644 lib/main.dart create mode 100644 macos/.gitignore create mode 100644 macos/Flutter/Flutter-Debug.xcconfig create mode 100644 macos/Flutter/Flutter-Release.xcconfig create mode 100644 macos/Flutter/GeneratedPluginRegistrant.swift create mode 100644 macos/Podfile create mode 100644 macos/Podfile.lock create mode 100644 macos/Runner.xcodeproj/project.pbxproj create mode 100644 macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme create mode 100644 macos/Runner.xcworkspace/contents.xcworkspacedata create mode 100644 macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 macos/Runner/AppDelegate.swift create mode 100644 macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json create mode 100644 macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png create mode 100644 macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png create mode 100644 macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png create mode 100644 macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png create mode 100644 macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png create mode 100644 macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png create mode 100644 macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png create mode 100644 macos/Runner/Base.lproj/MainMenu.xib create mode 100644 macos/Runner/Configs/AppInfo.xcconfig create mode 100644 macos/Runner/Configs/Debug.xcconfig create mode 100644 macos/Runner/Configs/Release.xcconfig create mode 100644 macos/Runner/Configs/Warnings.xcconfig create mode 100644 macos/Runner/DebugProfile.entitlements create mode 100644 macos/Runner/Info.plist create mode 100644 macos/Runner/MainFlutterWindow.swift create mode 100644 macos/Runner/Release.entitlements create mode 100644 macos/RunnerTests/RunnerTests.swift create mode 100644 pubspec.lock create mode 100644 pubspec.yaml create mode 100644 test/widget_test.dart diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..78c6dde --- /dev/null +++ b/.editorconfig @@ -0,0 +1,8 @@ +root = true + +[*] +end_of_line = lf +insert_final_newline = true +charset = utf-8 +indent_style = space +indent_size = 2 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..0fa6b67 --- /dev/null +++ b/.gitignore @@ -0,0 +1,46 @@ +# Miscellaneous +*.class +*.log +*.pyc +*.swp +.DS_Store +.atom/ +.buildlog/ +.history +.svn/ + +# IntelliJ related +*.iml +*.ipr +*.iws +.idea/ + +# The .vscode folder contains launch configuration and tasks you configure in +# VS Code which you may wish to be included in version control, so this line +# is commented out by default. +#.vscode/ + +# Flutter/Dart/Pub related +**/doc/api/ +**/ios/Flutter/.last_build_id +.dart_tool/ +.flutter-plugins +.flutter-plugins-dependencies +.packages +.pub-cache/ +.pub/ +/build/ + +# Web related +lib/generated_plugin_registrant.dart + +# Symbolication related +app.*.symbols + +# Obfuscation related +app.*.map.json + +# Android Studio will place build artifacts here +/android/app/debug +/android/app/profile +/android/app/release diff --git a/.metadata b/.metadata new file mode 100644 index 0000000..5e2646b --- /dev/null +++ b/.metadata @@ -0,0 +1,30 @@ +# This file tracks properties of this Flutter project. +# Used by Flutter tool to assess capabilities and perform upgrades etc. +# +# This file should be version controlled and should not be manually edited. + +version: + revision: "b0850beeb25f6d5b10426284f506557f66181b36" + channel: "stable" + +project_type: app + +# Tracks metadata for the flutter migrate command +migration: + platforms: + - platform: root + create_revision: b0850beeb25f6d5b10426284f506557f66181b36 + base_revision: b0850beeb25f6d5b10426284f506557f66181b36 + - platform: ios + create_revision: b0850beeb25f6d5b10426284f506557f66181b36 + base_revision: b0850beeb25f6d5b10426284f506557f66181b36 + + # User provided section + + # List of Local paths (relative to this file) that should be + # ignored by the migrate tool. + # + # Files that are not part of the templates will be ignored by default. + unmanaged_files: + - 'lib/main.dart' + - 'ios/Runner.xcodeproj/project.pbxproj' diff --git a/README.md b/README.md new file mode 100644 index 0000000..27c2173 --- /dev/null +++ b/README.md @@ -0,0 +1,7 @@ +# dartboy + +Gameboy Emulator written purely in Dart. + + + + diff --git a/analysis_options.yaml b/analysis_options.yaml new file mode 100644 index 0000000..61b6c4d --- /dev/null +++ b/analysis_options.yaml @@ -0,0 +1,29 @@ +# This file configures the analyzer, which statically analyzes Dart code to +# check for errors, warnings, and lints. +# +# The issues identified by the analyzer are surfaced in the UI of Dart-enabled +# IDEs (https://dart.dev/tools#ides-and-editors). The analyzer can also be +# invoked from the command line by running `flutter analyze`. + +# The following line activates a set of recommended lints for Flutter apps, +# packages, and plugins designed to encourage good coding practices. +include: package:flutter_lints/flutter.yaml + +linter: + # The lint rules applied to this project can be customized in the + # section below to disable rules from the `package:flutter_lints/flutter.yaml` + # included above or to enable additional rules. A list of all available lints + # and their documentation is published at + # https://dart-lang.github.io/linter/lints/index.html. + # + # Instead of disabling a lint rule for the entire project in the + # section below, it can also be suppressed for a single line of code + # or a specific dart file by using the `// ignore: name_of_lint` and + # `// ignore_for_file: name_of_lint` syntax on the line or in the file + # producing the lint. + rules: + # avoid_print: false # Uncomment to disable the `avoid_print` rule + # prefer_single_quotes: true # Uncomment to enable the `prefer_single_quotes` rule + +# Additional information about this file can be found at +# https://dart.dev/guides/language/analysis-options diff --git a/android/.gitignore b/android/.gitignore new file mode 100644 index 0000000..6f56801 --- /dev/null +++ b/android/.gitignore @@ -0,0 +1,13 @@ +gradle-wrapper.jar +/.gradle +/captures/ +/gradlew +/gradlew.bat +/local.properties +GeneratedPluginRegistrant.java + +# Remember to never publicly share your keystore. +# See https://flutter.dev/docs/deployment/android#reference-the-keystore-from-the-app +key.properties +**/*.keystore +**/*.jks diff --git a/android/app/build.gradle b/android/app/build.gradle new file mode 100644 index 0000000..1b1539a --- /dev/null +++ b/android/app/build.gradle @@ -0,0 +1,58 @@ +plugins { + id "com.android.application" + id "kotlin-android" + // The Flutter Gradle Plugin must be applied after the Android and Kotlin Gradle plugins. + id "dev.flutter.flutter-gradle-plugin" +} + +def localProperties = new Properties() +def localPropertiesFile = rootProject.file("local.properties") +if (localPropertiesFile.exists()) { + localPropertiesFile.withReader("UTF-8") { reader -> + localProperties.load(reader) + } +} + +def flutterVersionCode = localProperties.getProperty("flutter.versionCode") +if (flutterVersionCode == null) { + flutterVersionCode = "1" +} + +def flutterVersionName = localProperties.getProperty("flutter.versionName") +if (flutterVersionName == null) { + flutterVersionName = "1.0" +} + +android { + namespace = "com.example.dartboy" + compileSdk = flutter.compileSdkVersion + ndkVersion = flutter.ndkVersion + + compileOptions { + sourceCompatibility = JavaVersion.VERSION_1_8 + targetCompatibility = JavaVersion.VERSION_1_8 + } + + defaultConfig { + // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). + applicationId = "com.example.dartboy" + // You can update the following values to match your application needs. + // For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-gradle-build-configuration. + minSdk = flutter.minSdkVersion + targetSdk = flutter.targetSdkVersion + versionCode = flutterVersionCode.toInteger() + versionName = flutterVersionName + } + + buildTypes { + release { + // TODO: Add your own signing config for the release build. + // Signing with the debug keys for now, so `flutter run --release` works. + signingConfig = signingConfigs.debug + } + } +} + +flutter { + source = "../.." +} diff --git a/android/app/src/debug/AndroidManifest.xml b/android/app/src/debug/AndroidManifest.xml new file mode 100644 index 0000000..399f698 --- /dev/null +++ b/android/app/src/debug/AndroidManifest.xml @@ -0,0 +1,7 @@ + + + + diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml new file mode 100644 index 0000000..5111c4c --- /dev/null +++ b/android/app/src/main/AndroidManifest.xml @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/app/src/main/kotlin/com/example/dashboy/MainActivity.kt b/android/app/src/main/kotlin/com/example/dashboy/MainActivity.kt new file mode 100644 index 0000000..fbd1a04 --- /dev/null +++ b/android/app/src/main/kotlin/com/example/dashboy/MainActivity.kt @@ -0,0 +1,5 @@ +package com.example.dartboy + +import io.flutter.embedding.android.FlutterActivity + +class MainActivity: FlutterActivity() diff --git a/android/app/src/main/res/drawable-v21/launch_background.xml b/android/app/src/main/res/drawable-v21/launch_background.xml new file mode 100644 index 0000000..f74085f --- /dev/null +++ b/android/app/src/main/res/drawable-v21/launch_background.xml @@ -0,0 +1,12 @@ + + + + + + + + diff --git a/android/app/src/main/res/drawable/launch_background.xml b/android/app/src/main/res/drawable/launch_background.xml new file mode 100644 index 0000000..304732f --- /dev/null +++ b/android/app/src/main/res/drawable/launch_background.xml @@ -0,0 +1,12 @@ + + + + + + + + diff --git a/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/android/app/src/main/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..db77bb4b7b0906d62b1847e87f15cdcacf6a4f29 GIT binary patch literal 544 zcmeAS@N?(olHy`uVBq!ia0vp^9w5xY3?!3`olAj~WQl7;NpOBzNqJ&XDuZK6ep0G} zXKrG8YEWuoN@d~6R2!h8bpbvhu0Wd6uZuB!w&u2PAxD2eNXD>P5D~Wn-+_Wa#27Xc zC?Zj|6r#X(-D3u$NCt}(Ms06KgJ4FxJVv{GM)!I~&n8Bnc94O7-Hd)cjDZswgC;Qs zO=b+9!WcT8F?0rF7!Uys2bs@gozCP?z~o%U|N3vA*22NaGQG zlg@K`O_XuxvZ&Ks^m&R!`&1=spLvfx7oGDKDwpwW`#iqdw@AL`7MR}m`rwr|mZgU`8P7SBkL78fFf!WnuYWm$5Z0 zNXhDbCv&49sM544K|?c)WrFfiZvCi9h0O)B3Pgg&ebxsLQ05GG~ AQ2+n{ literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/mipmap-mdpi/ic_launcher.png b/android/app/src/main/res/mipmap-mdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..17987b79bb8a35cc66c3c1fd44f5a5526c1b78be GIT binary patch literal 442 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA3?vioaBc-sk|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*D5Xx&nMcT!A!W`0S9QKQy;}1Cl^CgaH=;G9cpY;r$Q>i*pfB zP2drbID<_#qf;rPZx^FqH)F_D#*k@@q03KywUtLX8Ua?`H+NMzkczFPK3lFz@i_kW%1NOn0|D2I9n9wzH8m|-tHjsw|9>@K=iMBhxvkv6m8Y-l zytQ?X=U+MF$@3 zt`~i=@j|6y)RWMK--}M|=T`o&^Ni>IoWKHEbBXz7?A@mgWoL>!*SXo`SZH-*HSdS+ yn*9;$7;m`l>wYBC5bq;=U}IMqLzqbYCidGC!)_gkIk_C@Uy!y&wkt5C($~2D>~)O*cj@FGjOCM)M>_ixfudOh)?xMu#Fs z#}Y=@YDTwOM)x{K_j*Q;dPdJ?Mz0n|pLRx{4n|)f>SXlmV)XB04CrSJn#dS5nK2lM zrZ9#~WelCp7&e13Y$jvaEXHskn$2V!!DN-nWS__6T*l;H&Fopn?A6HZ-6WRLFP=R` zqG+CE#d4|IbyAI+rJJ`&x9*T`+a=p|0O(+s{UBcyZdkhj=yS1>AirP+0R;mf2uMgM zC}@~JfByORAh4SyRgi&!(cja>F(l*O+nd+@4m$|6K6KDn_&uvCpV23&>G9HJp{xgg zoq1^2_p9@|WEo z*X_Uko@K)qYYv~>43eQGMdbiGbo>E~Q& zrYBH{QP^@Sti!`2)uG{irBBq@y*$B zi#&(U-*=fp74j)RyIw49+0MRPMRU)+a2r*PJ$L5roHt2$UjExCTZSbq%V!HeS7J$N zdG@vOZB4v_lF7Plrx+hxo7(fCV&}fHq)$ literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..d5f1c8d34e7a88e3f88bea192c3a370d44689c3c GIT binary patch literal 1031 zcmeAS@N?(olHy`uVBq!ia0vp^6F``Q8Ax83A=Cw=BuiW)N`mv#O3D+9QW+dm@{>{( zJaZG%Q-e|yQz{EjrrIztFa`(sgt!6~Yi|1%a`XoT0ojZ}lNrNjb9xjc(B0U1_% zz5^97Xt*%oq$rQy4?0GKNfJ44uvxI)gC`h-NZ|&0-7(qS@?b!5r36oQ}zyZrNO3 zMO=Or+<~>+A&uN&E!^Sl+>xE!QC-|oJv`ApDhqC^EWD|@=#J`=d#Xzxs4ah}w&Jnc z$|q_opQ^2TrnVZ0o~wh<3t%W&flvYGe#$xqda2bR_R zvPYgMcHgjZ5nSA^lJr%;<&0do;O^tDDh~=pIxA#coaCY>&N%M2^tq^U%3DB@ynvKo}b?yu-bFc-u0JHzced$sg7S3zqI(2 z#Km{dPr7I=pQ5>FuK#)QwK?Y`E`B?nP+}U)I#c1+FM*1kNvWG|a(TpksZQ3B@sD~b zpQ2)*V*TdwjFOtHvV|;OsiDqHi=6%)o4b!)x$)%9pGTsE z-JL={-Ffv+T87W(Xpooq<`r*VzWQcgBN$$`u}f>-ZQI1BB8ykN*=e4rIsJx9>z}*o zo~|9I;xof literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..4d6372eebdb28e45604e46eeda8dd24651419bc0 GIT binary patch literal 1443 zcmb`G{WsKk6vsdJTdFg%tJav9_E4vzrOaqkWF|A724Nly!y+?N9`YV6wZ}5(X(D_N(?!*n3`|_r0Hc?=PQw&*vnU?QTFY zB_MsH|!j$PP;I}?dppoE_gA(4uc!jV&0!l7_;&p2^pxNo>PEcNJv za5_RT$o2Mf!<+r?&EbHH6nMoTsDOa;mN(wv8RNsHpG)`^ymG-S5By8=l9iVXzN_eG%Xg2@Xeq76tTZ*dGh~Lo9vl;Zfs+W#BydUw zCkZ$o1LqWQO$FC9aKlLl*7x9^0q%0}$OMlp@Kk_jHXOjofdePND+j!A{q!8~Jn+s3 z?~~w@4?egS02}8NuulUA=L~QQfm;MzCGd)XhiftT;+zFO&JVyp2mBww?;QByS_1w! zrQlx%{^cMj0|Bo1FjwY@Q8?Hx0cIPF*@-ZRFpPc#bBw{5@tD(5%sClzIfl8WU~V#u zm5Q;_F!wa$BSpqhN>W@2De?TKWR*!ujY;Yylk_X5#~V!L*Gw~;$%4Q8~Mad z@`-kG?yb$a9cHIApZDVZ^U6Xkp<*4rU82O7%}0jjHlK{id@?-wpN*fCHXyXh(bLt* zPc}H-x0e4E&nQ>y%B-(EL=9}RyC%MyX=upHuFhAk&MLbsF0LP-q`XnH78@fT+pKPW zu72MW`|?8ht^tz$iC}ZwLp4tB;Q49K!QCF3@!iB1qOI=?w z7In!}F~ij(18UYUjnbmC!qKhPo%24?8U1x{7o(+?^Zu0Hx81|FuS?bJ0jgBhEMzf< zCgUq7r2OCB(`XkKcN-TL>u5y#dD6D!)5W?`O5)V^>jb)P)GBdy%t$uUMpf$SNV31$ zb||OojAbvMP?T@$h_ZiFLFVHDmbyMhJF|-_)HX3%m=CDI+ID$0^C>kzxprBW)hw(v zr!Gmda);ICoQyhV_oP5+C%?jcG8v+D@9f?Dk*!BxY}dazmrT@64UrP3hlslANK)bq z$67n83eh}OeW&SV@HG95P|bjfqJ7gw$e+`Hxo!4cx`jdK1bJ>YDSpGKLPZ^1cv$ek zIB?0S<#tX?SJCLWdMd{-ME?$hc7A$zBOdIJ)4!KcAwb=VMov)nK;9z>x~rfT1>dS+ zZ6#`2v@`jgbqq)P22H)Tx2CpmM^o1$B+xT6`(v%5xJ(?j#>Q$+rx_R|7TzDZe{J6q zG1*EcU%tE?!kO%^M;3aM6JN*LAKUVb^xz8-Pxo#jR5(-KBeLJvA@-gxNHx0M-ZJLl z;#JwQoh~9V?`UVo#}{6ka@II>++D@%KqGpMdlQ}?9E*wFcf5(#XQnP$Dk5~%iX^>f z%$y;?M0BLp{O3a(-4A?ewryHrrD%cx#Q^%KY1H zNre$ve+vceSLZcNY4U(RBX&)oZn*Py()h)XkE?PL$!bNb{N5FVI2Y%LKEm%yvpyTP z(1P?z~7YxD~Rf<(a@_y` literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/values-night/styles.xml b/android/app/src/main/res/values-night/styles.xml new file mode 100644 index 0000000..06952be --- /dev/null +++ b/android/app/src/main/res/values-night/styles.xml @@ -0,0 +1,18 @@ + + + + + + + diff --git a/android/app/src/main/res/values/styles.xml b/android/app/src/main/res/values/styles.xml new file mode 100644 index 0000000..cb1ef88 --- /dev/null +++ b/android/app/src/main/res/values/styles.xml @@ -0,0 +1,18 @@ + + + + + + + diff --git a/android/app/src/profile/AndroidManifest.xml b/android/app/src/profile/AndroidManifest.xml new file mode 100644 index 0000000..399f698 --- /dev/null +++ b/android/app/src/profile/AndroidManifest.xml @@ -0,0 +1,7 @@ + + + + diff --git a/android/build.gradle b/android/build.gradle new file mode 100644 index 0000000..d2ffbff --- /dev/null +++ b/android/build.gradle @@ -0,0 +1,18 @@ +allprojects { + repositories { + google() + mavenCentral() + } +} + +rootProject.buildDir = "../build" +subprojects { + project.buildDir = "${rootProject.buildDir}/${project.name}" +} +subprojects { + project.evaluationDependsOn(":app") +} + +tasks.register("clean", Delete) { + delete rootProject.buildDir +} diff --git a/android/gradle.properties b/android/gradle.properties new file mode 100644 index 0000000..3b5b324 --- /dev/null +++ b/android/gradle.properties @@ -0,0 +1,3 @@ +org.gradle.jvmargs=-Xmx4G -XX:+HeapDumpOnOutOfMemoryError +android.useAndroidX=true +android.enableJetifier=true diff --git a/android/gradle/wrapper/gradle-wrapper.properties b/android/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 0000000..e1ca574 --- /dev/null +++ b/android/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,5 @@ +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-7.6.3-all.zip diff --git a/android/settings.gradle b/android/settings.gradle new file mode 100644 index 0000000..536165d --- /dev/null +++ b/android/settings.gradle @@ -0,0 +1,25 @@ +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + }() + + includeBuild("$flutterSdkPath/packages/flutter_tools/gradle") + + repositories { + google() + mavenCentral() + gradlePluginPortal() + } +} + +plugins { + id "dev.flutter.flutter-plugin-loader" version "1.0.0" + id "com.android.application" version "7.3.0" apply false + id "org.jetbrains.kotlin.android" version "1.7.10" apply false +} + +include ":app" diff --git a/docs/assets/img/screenshot1.png b/docs/assets/img/screenshot1.png new file mode 100644 index 0000000000000000000000000000000000000000..8fb763901b566d2b72665fcf5275f493847f7fec GIT binary patch literal 168622 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ɒxS5#?)i`ki5=8cJOXsF*1gWnP!n4cHDAO*36 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 JfsC=w{{R7)`3(R7 literal 0 HcmV?d00001 diff --git a/docs/assets/img/screenshot2.png b/docs/assets/img/screenshot2.png new file mode 100644 index 0000000000000000000000000000000000000000..363f322a610c2dc9c0ed56a9381fab93f77b4281 GIT binary patch literal 166672 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/macos/Runner/Configs/AppInfo.xcconfig b/macos/Runner/Configs/AppInfo.xcconfig new file mode 100644 index 0000000..17c351b --- /dev/null +++ b/macos/Runner/Configs/AppInfo.xcconfig @@ -0,0 +1,14 @@ +// Application-level settings for the Runner target. +// +// This may be replaced with something auto-generated from metadata (e.g., pubspec.yaml) in the +// future. If not, the values below would default to using the project name when this becomes a +// 'flutter create' template. + +// The application's name. By default this is also the title of the Flutter window. +PRODUCT_NAME = dartboy + +// The application's bundle identifier +PRODUCT_BUNDLE_IDENTIFIER = com.example.dartboy + +// The copyright displayed in application information +PRODUCT_COPYRIGHT = Copyright © 2024 com.example. All rights reserved. diff --git a/macos/Runner/Configs/Debug.xcconfig b/macos/Runner/Configs/Debug.xcconfig new file mode 100644 index 0000000..36b0fd9 --- /dev/null +++ b/macos/Runner/Configs/Debug.xcconfig @@ -0,0 +1,2 @@ +#include "../../Flutter/Flutter-Debug.xcconfig" +#include "Warnings.xcconfig" diff --git a/macos/Runner/Configs/Release.xcconfig b/macos/Runner/Configs/Release.xcconfig new file mode 100644 index 0000000..dff4f49 --- /dev/null +++ b/macos/Runner/Configs/Release.xcconfig @@ -0,0 +1,2 @@ +#include "../../Flutter/Flutter-Release.xcconfig" +#include "Warnings.xcconfig" diff --git a/macos/Runner/Configs/Warnings.xcconfig b/macos/Runner/Configs/Warnings.xcconfig new file mode 100644 index 0000000..42bcbf4 --- /dev/null +++ b/macos/Runner/Configs/Warnings.xcconfig @@ -0,0 +1,13 @@ +WARNING_CFLAGS = -Wall -Wconditional-uninitialized -Wnullable-to-nonnull-conversion -Wmissing-method-return-type -Woverlength-strings +GCC_WARN_UNDECLARED_SELECTOR = YES +CLANG_UNDEFINED_BEHAVIOR_SANITIZER_NULLABILITY = YES +CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE +CLANG_WARN__DUPLICATE_METHOD_MATCH = YES +CLANG_WARN_PRAGMA_PACK = YES +CLANG_WARN_STRICT_PROTOTYPES = YES +CLANG_WARN_COMMA = YES +GCC_WARN_STRICT_SELECTOR_MATCH = YES +CLANG_WARN_OBJC_REPEATED_USE_OF_WEAK = YES +CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES +GCC_WARN_SHADOW = YES +CLANG_WARN_UNREACHABLE_CODE = YES diff --git a/macos/Runner/DebugProfile.entitlements b/macos/Runner/DebugProfile.entitlements new file mode 100644 index 0000000..dddb8a3 --- /dev/null +++ b/macos/Runner/DebugProfile.entitlements @@ -0,0 +1,12 @@ + + + + + com.apple.security.app-sandbox + + com.apple.security.cs.allow-jit + + com.apple.security.network.server + + + diff --git a/macos/Runner/Info.plist b/macos/Runner/Info.plist new file mode 100644 index 0000000..4789daa --- /dev/null +++ b/macos/Runner/Info.plist @@ -0,0 +1,32 @@ + + + + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIconFile + + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + APPL + CFBundleShortVersionString + $(FLUTTER_BUILD_NAME) + CFBundleVersion + $(FLUTTER_BUILD_NUMBER) + LSMinimumSystemVersion + $(MACOSX_DEPLOYMENT_TARGET) + NSHumanReadableCopyright + $(PRODUCT_COPYRIGHT) + NSMainNibFile + MainMenu + NSPrincipalClass + NSApplication + + diff --git a/macos/Runner/MainFlutterWindow.swift b/macos/Runner/MainFlutterWindow.swift new file mode 100644 index 0000000..3cc05eb --- /dev/null +++ b/macos/Runner/MainFlutterWindow.swift @@ -0,0 +1,15 @@ +import Cocoa +import FlutterMacOS + +class MainFlutterWindow: NSWindow { + override func awakeFromNib() { + let flutterViewController = FlutterViewController() + let windowFrame = self.frame + self.contentViewController = flutterViewController + self.setFrame(windowFrame, display: true) + + RegisterGeneratedPlugins(registry: flutterViewController) + + super.awakeFromNib() + } +} diff --git a/macos/Runner/Release.entitlements b/macos/Runner/Release.entitlements new file mode 100644 index 0000000..852fa1a --- /dev/null +++ b/macos/Runner/Release.entitlements @@ -0,0 +1,8 @@ + + + + + com.apple.security.app-sandbox + + + diff --git a/macos/RunnerTests/RunnerTests.swift b/macos/RunnerTests/RunnerTests.swift new file mode 100644 index 0000000..61f3bd1 --- /dev/null +++ b/macos/RunnerTests/RunnerTests.swift @@ -0,0 +1,12 @@ +import Cocoa +import FlutterMacOS +import XCTest + +class RunnerTests: XCTestCase { + + func testExample() { + // If you add code to the Runner application, consider adding tests here. + // See https://developer.apple.com/documentation/xctest for more information about using XCTest. + } + +} diff --git a/pubspec.lock b/pubspec.lock new file mode 100644 index 0000000..bce5fe6 --- /dev/null +++ b/pubspec.lock @@ -0,0 +1,274 @@ +# Generated by pub +# See https://dart.dev/tools/pub/glossary#lockfile +packages: + async: + dependency: transitive + description: + name: async + sha256: "947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c" + url: "https://pub.dev" + source: hosted + version: "2.11.0" + boolean_selector: + dependency: transitive + description: + name: boolean_selector + sha256: "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66" + url: "https://pub.dev" + source: hosted + version: "2.1.1" + characters: + dependency: transitive + description: + name: characters + sha256: "04a925763edad70e8443c99234dc3328f442e811f1d8fd1a72f1c8ad0f69a605" + url: "https://pub.dev" + source: hosted + version: "1.3.0" + clock: + dependency: transitive + description: + name: clock + sha256: cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf + url: "https://pub.dev" + source: hosted + version: "1.1.1" + collection: + dependency: transitive + description: + name: collection + sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a + url: "https://pub.dev" + source: hosted + version: "1.18.0" + cross_file: + dependency: transitive + description: + name: cross_file + sha256: "55d7b444feb71301ef6b8838dbc1ae02e63dd48c8773f3810ff53bb1e2945b32" + url: "https://pub.dev" + source: hosted + version: "0.3.4+1" + cupertino_icons: + dependency: "direct main" + description: + name: cupertino_icons + sha256: "486b7bc707424572cdf7bd7e812a0c146de3fd47ecadf070254cc60383f21dd8" + url: "https://pub.dev" + source: hosted + version: "1.0.3" + fake_async: + dependency: transitive + description: + name: fake_async + sha256: "511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78" + url: "https://pub.dev" + source: hosted + version: "1.3.1" + ffi: + dependency: transitive + description: + name: ffi + sha256: "493f37e7df1804778ff3a53bd691d8692ddf69702cf4c1c1096a2e41b4779e21" + url: "https://pub.dev" + source: hosted + version: "2.1.2" + file_picker: + dependency: "direct main" + description: + name: file_picker + sha256: "824f5b9f389bfc4dddac3dea76cd70c51092d9dff0b2ece7ef4f53db8547d258" + url: "https://pub.dev" + source: hosted + version: "8.0.6" + flutter: + dependency: "direct main" + description: flutter + source: sdk + version: "0.0.0" + flutter_lints: + dependency: "direct dev" + description: + name: flutter_lints + sha256: b543301ad291598523947dc534aaddc5aaad597b709d2426d3a0e0d44c5cb493 + url: "https://pub.dev" + source: hosted + version: "1.0.4" + flutter_plugin_android_lifecycle: + dependency: transitive + description: + name: flutter_plugin_android_lifecycle + sha256: "9d98bd47ef9d34e803d438f17fd32b116d31009f534a6fa5ce3a1167f189a6de" + url: "https://pub.dev" + source: hosted + version: "2.0.21" + flutter_test: + dependency: "direct dev" + description: flutter + source: sdk + version: "0.0.0" + flutter_web_plugins: + dependency: transitive + description: flutter + source: sdk + version: "0.0.0" + leak_tracker: + dependency: transitive + description: + name: leak_tracker + sha256: "7f0df31977cb2c0b88585095d168e689669a2cc9b97c309665e3386f3e9d341a" + url: "https://pub.dev" + source: hosted + version: "10.0.4" + leak_tracker_flutter_testing: + dependency: transitive + description: + name: leak_tracker_flutter_testing + sha256: "06e98f569d004c1315b991ded39924b21af84cf14cc94791b8aea337d25b57f8" + url: "https://pub.dev" + source: hosted + version: "3.0.3" + leak_tracker_testing: + dependency: transitive + description: + name: leak_tracker_testing + sha256: "6ba465d5d76e67ddf503e1161d1f4a6bc42306f9d66ca1e8f079a47290fb06d3" + url: "https://pub.dev" + source: hosted + version: "3.0.1" + lints: + dependency: transitive + description: + name: lints + sha256: a2c3d198cb5ea2e179926622d433331d8b58374ab8f29cdda6e863bd62fd369c + url: "https://pub.dev" + source: hosted + version: "1.0.1" + matcher: + dependency: transitive + description: + name: matcher + sha256: d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb + url: "https://pub.dev" + source: hosted + version: "0.12.16+1" + material_color_utilities: + dependency: transitive + description: + name: material_color_utilities + sha256: "0e0a020085b65b6083975e499759762399b4475f766c21668c4ecca34ea74e5a" + url: "https://pub.dev" + source: hosted + version: "0.8.0" + meta: + dependency: transitive + description: + name: meta + sha256: "7687075e408b093f36e6bbf6c91878cc0d4cd10f409506f7bc996f68220b9136" + url: "https://pub.dev" + source: hosted + version: "1.12.0" + path: + dependency: transitive + description: + name: path + sha256: "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af" + url: "https://pub.dev" + source: hosted + version: "1.9.0" + plugin_platform_interface: + dependency: transitive + description: + name: plugin_platform_interface + sha256: "4820fbfdb9478b1ebae27888254d445073732dae3d6ea81f0b7e06d5dedc3f02" + url: "https://pub.dev" + source: hosted + version: "2.1.8" + sky_engine: + dependency: transitive + description: flutter + source: sdk + version: "0.0.99" + source_span: + dependency: transitive + description: + name: source_span + sha256: "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c" + url: "https://pub.dev" + source: hosted + version: "1.10.0" + stack_trace: + dependency: transitive + description: + name: stack_trace + sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b" + url: "https://pub.dev" + source: hosted + version: "1.11.1" + stream_channel: + dependency: transitive + description: + name: stream_channel + sha256: ba2aa5d8cc609d96bbb2899c28934f9e1af5cddbd60a827822ea467161eb54e7 + url: "https://pub.dev" + source: hosted + version: "2.1.2" + string_scanner: + dependency: transitive + description: + name: string_scanner + sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde" + url: "https://pub.dev" + source: hosted + version: "1.2.0" + term_glyph: + dependency: transitive + description: + name: term_glyph + sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84 + url: "https://pub.dev" + source: hosted + version: "1.2.1" + test_api: + dependency: transitive + description: + name: test_api + sha256: "9955ae474176f7ac8ee4e989dadfb411a58c30415bcfb648fa04b2b8a03afa7f" + url: "https://pub.dev" + source: hosted + version: "0.7.0" + vector_math: + dependency: transitive + description: + name: vector_math + sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803" + url: "https://pub.dev" + source: hosted + version: "2.1.4" + vm_service: + dependency: transitive + description: + name: vm_service + sha256: "3923c89304b715fb1eb6423f017651664a03bf5f4b29983627c4da791f74a4ec" + url: "https://pub.dev" + source: hosted + version: "14.2.1" + web: + dependency: transitive + description: + name: web + sha256: "97da13628db363c635202ad97068d47c5b8aa555808e7a9411963c533b449b27" + url: "https://pub.dev" + source: hosted + version: "0.5.1" + win32: + dependency: transitive + description: + name: win32 + sha256: a79dbe579cb51ecd6d30b17e0cae4e0ea15e2c0e66f69ad4198f22a6789e94f4 + url: "https://pub.dev" + source: hosted + version: "5.5.1" +sdks: + dart: ">=3.4.0 <4.0.0" + flutter: ">=3.22.0" diff --git a/pubspec.yaml b/pubspec.yaml new file mode 100644 index 0000000..a46e859 --- /dev/null +++ b/pubspec.yaml @@ -0,0 +1,25 @@ +name: dartboy +description: dartboy + +publish_to: "none" + +version: 1.0.0+1 + +environment: + sdk: ">=2.12.0 <3.0.0" + +dependencies: + flutter: + sdk: flutter + + cupertino_icons: ^1.0.2 + file_picker: ^8.0.6 + +dev_dependencies: + flutter_test: + sdk: flutter + + flutter_lints: ^1.0.0 + +flutter: + uses-material-design: true diff --git a/test/widget_test.dart b/test/widget_test.dart new file mode 100644 index 0000000..a46648f --- /dev/null +++ b/test/widget_test.dart @@ -0,0 +1,30 @@ +// This is a basic Flutter widget test. +// +// To perform an interaction with a widget in your test, use the WidgetTester +// utility in the flutter_test package. For example, you can send tap and scroll +// gestures. You can also use WidgetTester to find child widgets in the widget +// tree, read text, and verify that the values of widget properties are correct. + +import 'package:flutter/material.dart'; +import 'package:flutter_test/flutter_test.dart'; + +import 'package:dartboy/main.dart'; + +void main() { + testWidgets('Counter increments smoke test', (WidgetTester tester) async { + // Build our app and trigger a frame. + // await tester.pumpWidget(const MyApp()); + + // Verify that our counter starts at 0. + expect(find.text('0'), findsOneWidget); + expect(find.text('1'), findsNothing); + + // Tap the '+' icon and trigger a frame. + await tester.tap(find.byIcon(Icons.add)); + await tester.pump(); + + // Verify that our counter has incremented. + expect(find.text('0'), findsNothing); + expect(find.text('1'), findsOneWidget); + }); +}

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 z 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 z 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 literal 0 HcmV?d00001 diff --git a/ios/.gitignore b/ios/.gitignore new file mode 100644 index 0000000..7a7f987 --- /dev/null +++ b/ios/.gitignore @@ -0,0 +1,34 @@ +**/dgph +*.mode1v3 +*.mode2v3 +*.moved-aside +*.pbxuser +*.perspectivev3 +**/*sync/ +.sconsign.dblite +.tags* +**/.vagrant/ +**/DerivedData/ +Icon? +**/Pods/ +**/.symlinks/ +profile +xcuserdata +**/.generated/ +Flutter/App.framework +Flutter/Flutter.framework +Flutter/Flutter.podspec +Flutter/Generated.xcconfig +Flutter/ephemeral/ +Flutter/app.flx +Flutter/app.zip +Flutter/flutter_assets/ +Flutter/flutter_export_environment.sh +ServiceDefinitions.json +Runner/GeneratedPluginRegistrant.* + +# Exceptions to above rules. +!default.mode1v3 +!default.mode2v3 +!default.pbxuser +!default.perspectivev3 diff --git a/ios/Flutter/AppFrameworkInfo.plist b/ios/Flutter/AppFrameworkInfo.plist new file mode 100644 index 0000000..7c56964 --- /dev/null +++ b/ios/Flutter/AppFrameworkInfo.plist @@ -0,0 +1,26 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleExecutable + App + CFBundleIdentifier + io.flutter.flutter.app + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + App + CFBundlePackageType + FMWK + CFBundleShortVersionString + 1.0 + CFBundleSignature + ???? + CFBundleVersion + 1.0 + MinimumOSVersion + 12.0 + + diff --git a/ios/Flutter/Debug.xcconfig b/ios/Flutter/Debug.xcconfig new file mode 100644 index 0000000..ec97fc6 --- /dev/null +++ b/ios/Flutter/Debug.xcconfig @@ -0,0 +1,2 @@ +#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig" +#include "Generated.xcconfig" diff --git a/ios/Flutter/Release.xcconfig b/ios/Flutter/Release.xcconfig new file mode 100644 index 0000000..c4855bf --- /dev/null +++ b/ios/Flutter/Release.xcconfig @@ -0,0 +1,2 @@ +#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig" +#include "Generated.xcconfig" diff --git a/ios/Podfile b/ios/Podfile new file mode 100644 index 0000000..d97f17e --- /dev/null +++ b/ios/Podfile @@ -0,0 +1,44 @@ +# Uncomment this line to define a global platform for your project +# platform :ios, '12.0' + +# CocoaPods analytics sends network stats synchronously affecting flutter build latency. +ENV['COCOAPODS_DISABLE_STATS'] = 'true' + +project 'Runner', { + 'Debug' => :debug, + 'Profile' => :release, + 'Release' => :release, +} + +def flutter_root + generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'Generated.xcconfig'), __FILE__) + unless File.exist?(generated_xcode_build_settings_path) + raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure flutter pub get is executed first" + end + + File.foreach(generated_xcode_build_settings_path) do |line| + matches = line.match(/FLUTTER_ROOT\=(.*)/) + return matches[1].strip if matches + end + raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Generated.xcconfig, then run flutter pub get" +end + +require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root) + +flutter_ios_podfile_setup + +target 'Runner' do + use_frameworks! + use_modular_headers! + + flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__)) + target 'RunnerTests' do + inherit! :search_paths + end +end + +post_install do |installer| + installer.pods_project.targets.each do |target| + flutter_additional_ios_build_settings(target) + end +end diff --git a/ios/Runner.xcodeproj/project.pbxproj b/ios/Runner.xcodeproj/project.pbxproj new file mode 100644 index 0000000..d589385 --- /dev/null +++ b/ios/Runner.xcodeproj/project.pbxproj @@ -0,0 +1,619 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 54; + objects = { + +/* Begin PBXBuildFile section */ + 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; + 331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C807B294A618700263BE5 /* RunnerTests.swift */; }; + 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; + 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; }; + 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; }; + 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; }; + 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; }; +/* End PBXBuildFile section */ + +/* Begin PBXContainerItemProxy section */ + 331C8085294A63A400263BE5 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 97C146E61CF9000F007C117D /* Project object */; + proxyType = 1; + remoteGlobalIDString = 97C146ED1CF9000F007C117D; + remoteInfo = Runner; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXCopyFilesBuildPhase section */ + 9705A1C41CF9048500538489 /* Embed Frameworks */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + ); + name = "Embed Frameworks"; + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXCopyFilesBuildPhase section */ + +/* Begin PBXFileReference section */ + 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = ""; }; + 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; }; + 331C807B294A618700263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; + 331C8081294A63A400263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; }; + 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = ""; }; + 74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; + 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; }; + 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = ""; }; + 9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = ""; }; + 97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 97C146FB1CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; + 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; + 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 97C146EB1CF9000F007C117D /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 331C8082294A63A400263BE5 /* RunnerTests */ = { + isa = PBXGroup; + children = ( + 331C807B294A618700263BE5 /* RunnerTests.swift */, + ); + path = RunnerTests; + sourceTree = ""; + }; + 9740EEB11CF90186004384FC /* Flutter */ = { + isa = PBXGroup; + children = ( + 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */, + 9740EEB21CF90195004384FC /* Debug.xcconfig */, + 7AFA3C8E1D35360C0083082E /* Release.xcconfig */, + 9740EEB31CF90195004384FC /* Generated.xcconfig */, + ); + name = Flutter; + sourceTree = ""; + }; + 97C146E51CF9000F007C117D = { + isa = PBXGroup; + children = ( + 9740EEB11CF90186004384FC /* Flutter */, + 97C146F01CF9000F007C117D /* Runner */, + 97C146EF1CF9000F007C117D /* Products */, + 331C8082294A63A400263BE5 /* RunnerTests */, + ); + sourceTree = ""; + }; + 97C146EF1CF9000F007C117D /* Products */ = { + isa = PBXGroup; + children = ( + 97C146EE1CF9000F007C117D /* Runner.app */, + 331C8081294A63A400263BE5 /* RunnerTests.xctest */, + ); + name = Products; + sourceTree = ""; + }; + 97C146F01CF9000F007C117D /* Runner */ = { + isa = PBXGroup; + children = ( + 97C146FA1CF9000F007C117D /* Main.storyboard */, + 97C146FD1CF9000F007C117D /* Assets.xcassets */, + 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */, + 97C147021CF9000F007C117D /* Info.plist */, + 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */, + 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */, + 74858FAE1ED2DC5600515810 /* AppDelegate.swift */, + 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */, + ); + path = Runner; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 331C8080294A63A400263BE5 /* RunnerTests */ = { + isa = PBXNativeTarget; + buildConfigurationList = 331C8087294A63A400263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; + buildPhases = ( + 331C807D294A63A400263BE5 /* Sources */, + 331C807F294A63A400263BE5 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + 331C8086294A63A400263BE5 /* PBXTargetDependency */, + ); + name = RunnerTests; + productName = RunnerTests; + productReference = 331C8081294A63A400263BE5 /* RunnerTests.xctest */; + productType = "com.apple.product-type.bundle.unit-test"; + }; + 97C146ED1CF9000F007C117D /* Runner */ = { + isa = PBXNativeTarget; + buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */; + buildPhases = ( + 9740EEB61CF901F6004384FC /* Run Script */, + 97C146EA1CF9000F007C117D /* Sources */, + 97C146EB1CF9000F007C117D /* Frameworks */, + 97C146EC1CF9000F007C117D /* Resources */, + 9705A1C41CF9048500538489 /* Embed Frameworks */, + 3B06AD1E1E4923F5004D2608 /* Thin Binary */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = Runner; + productName = Runner; + productReference = 97C146EE1CF9000F007C117D /* Runner.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 97C146E61CF9000F007C117D /* Project object */ = { + isa = PBXProject; + attributes = { + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1510; + ORGANIZATIONNAME = ""; + TargetAttributes = { + 331C8080294A63A400263BE5 = { + CreatedOnToolsVersion = 14.0; + TestTargetID = 97C146ED1CF9000F007C117D; + }; + 97C146ED1CF9000F007C117D = { + CreatedOnToolsVersion = 7.3.1; + LastSwiftMigration = 1100; + }; + }; + }; + buildConfigurationList = 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */; + compatibilityVersion = "Xcode 9.3"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = 97C146E51CF9000F007C117D; + productRefGroup = 97C146EF1CF9000F007C117D /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 97C146ED1CF9000F007C117D /* Runner */, + 331C8080294A63A400263BE5 /* RunnerTests */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 331C807F294A63A400263BE5 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 97C146EC1CF9000F007C117D /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */, + 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */, + 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */, + 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXShellScriptBuildPhase section */ + 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { + isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}", + ); + name = "Thin Binary"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; + }; + 9740EEB61CF901F6004384FC /* Run Script */ = { + isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "Run Script"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; + }; +/* End PBXShellScriptBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 331C807D294A63A400263BE5 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 97C146EA1CF9000F007C117D /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */, + 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXTargetDependency section */ + 331C8086294A63A400263BE5 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 97C146ED1CF9000F007C117D /* Runner */; + targetProxy = 331C8085294A63A400263BE5 /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + +/* Begin PBXVariantGroup section */ + 97C146FA1CF9000F007C117D /* Main.storyboard */ = { + isa = PBXVariantGroup; + children = ( + 97C146FB1CF9000F007C117D /* Base */, + ); + name = Main.storyboard; + sourceTree = ""; + }; + 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */ = { + isa = PBXVariantGroup; + children = ( + 97C147001CF9000F007C117D /* Base */, + ); + name = LaunchScreen.storyboard; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + 249021D3217E4FDB00AE95B9 /* Profile */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_USER_SCRIPT_SANDBOXING = NO; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = iphoneos; + SUPPORTED_PLATFORMS = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = Profile; + }; + 249021D4217E4FDB00AE95B9 /* Profile */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + DEVELOPMENT_TEAM = T67F6A44RM; + ENABLE_BITCODE = NO; + INFOPLIST_FILE = Runner/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.example.dartboy; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; + SWIFT_VERSION = 5.0; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = Profile; + }; + 331C8088294A63A400263BE5 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + GENERATE_INFOPLIST_FILE = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = com.example.dartboy.RunnerTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner"; + }; + name = Debug; + }; + 331C8089294A63A400263BE5 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + GENERATE_INFOPLIST_FILE = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = com.example.dartboy.RunnerTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner"; + }; + name = Release; + }; + 331C808A294A63A400263BE5 /* Profile */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + GENERATE_INFOPLIST_FILE = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = com.example.dartboy.RunnerTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner"; + }; + name = Profile; + }; + 97C147031CF9000F007C117D /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + ENABLE_USER_SCRIPT_SANDBOXING = NO; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; + MTL_ENABLE_DEBUG_INFO = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + 97C147041CF9000F007C117D /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_USER_SCRIPT_SANDBOXING = NO; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = iphoneos; + SUPPORTED_PLATFORMS = iphoneos; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + 97C147061CF9000F007C117D /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + DEVELOPMENT_TEAM = T67F6A44RM; + ENABLE_BITCODE = NO; + INFOPLIST_FILE = Runner/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.example.dartboy; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = Debug; + }; + 97C147071CF9000F007C117D /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + DEVELOPMENT_TEAM = T67F6A44RM; + ENABLE_BITCODE = NO; + INFOPLIST_FILE = Runner/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.example.dartboy; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; + SWIFT_VERSION = 5.0; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 331C8087294A63A400263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 331C8088294A63A400263BE5 /* Debug */, + 331C8089294A63A400263BE5 /* Release */, + 331C808A294A63A400263BE5 /* Profile */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 97C147031CF9000F007C117D /* Debug */, + 97C147041CF9000F007C117D /* Release */, + 249021D3217E4FDB00AE95B9 /* Profile */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 97C147061CF9000F007C117D /* Debug */, + 97C147071CF9000F007C117D /* Release */, + 249021D4217E4FDB00AE95B9 /* Profile */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 97C146E61CF9000F007C117D /* Project object */; +} diff --git a/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..919434a --- /dev/null +++ b/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings new file mode 100644 index 0000000..f9b0d7c --- /dev/null +++ b/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings @@ -0,0 +1,8 @@ + + + + + PreviewsEnabled + + + diff --git a/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme new file mode 100644 index 0000000..8e3ca5d --- /dev/null +++ b/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -0,0 +1,98 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ios/Runner.xcworkspace/contents.xcworkspacedata b/ios/Runner.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..1d526a1 --- /dev/null +++ b/ios/Runner.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings new file mode 100644 index 0000000..f9b0d7c --- /dev/null +++ b/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings @@ -0,0 +1,8 @@ + + + + + PreviewsEnabled + + + diff --git a/ios/Runner/AppDelegate.swift b/ios/Runner/AppDelegate.swift new file mode 100644 index 0000000..9074fee --- /dev/null +++ b/ios/Runner/AppDelegate.swift @@ -0,0 +1,13 @@ +import Flutter +import UIKit + +@UIApplicationMain +@objc class AppDelegate: FlutterAppDelegate { + override func application( + _ application: UIApplication, + didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? + ) -> Bool { + GeneratedPluginRegistrant.register(with: self) + return super.application(application, didFinishLaunchingWithOptions: launchOptions) + } +} diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 0000000..d36b1fa --- /dev/null +++ b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,122 @@ +{ + "images" : [ + { + "size" : "20x20", + "idiom" : "iphone", + "filename" : "Icon-App-20x20@2x.png", + "scale" : "2x" + }, + { + "size" : "20x20", + "idiom" : "iphone", + "filename" : "Icon-App-20x20@3x.png", + "scale" : "3x" + }, + { + "size" : "29x29", + "idiom" : "iphone", + "filename" : "Icon-App-29x29@1x.png", + "scale" : "1x" + }, + { + "size" : "29x29", + "idiom" : "iphone", + "filename" : "Icon-App-29x29@2x.png", + "scale" : "2x" + }, + { + "size" : "29x29", + "idiom" : "iphone", + "filename" : "Icon-App-29x29@3x.png", + "scale" : "3x" + }, + { + "size" : "40x40", + "idiom" : "iphone", + "filename" : "Icon-App-40x40@2x.png", + "scale" : "2x" + }, + { + "size" : "40x40", + "idiom" : "iphone", + "filename" : "Icon-App-40x40@3x.png", + "scale" : "3x" + }, + { + "size" : "60x60", + "idiom" : "iphone", + "filename" : "Icon-App-60x60@2x.png", + "scale" : "2x" + }, + { + "size" : "60x60", + "idiom" : "iphone", + "filename" : "Icon-App-60x60@3x.png", + "scale" : "3x" + }, + { + "size" : "20x20", + "idiom" : "ipad", + "filename" : "Icon-App-20x20@1x.png", + "scale" : "1x" + }, + { + "size" : "20x20", + "idiom" : "ipad", + "filename" : "Icon-App-20x20@2x.png", + "scale" : "2x" + }, + { + "size" : "29x29", + "idiom" : "ipad", + "filename" : "Icon-App-29x29@1x.png", + "scale" : "1x" + }, + { + "size" : "29x29", + "idiom" : "ipad", + "filename" : "Icon-App-29x29@2x.png", + "scale" : "2x" + }, + { + "size" : "40x40", + "idiom" : "ipad", + "filename" : "Icon-App-40x40@1x.png", + "scale" : "1x" + }, + { + "size" : "40x40", + "idiom" : "ipad", + "filename" : "Icon-App-40x40@2x.png", + "scale" : "2x" + }, + { + "size" : "76x76", + "idiom" : "ipad", + "filename" : "Icon-App-76x76@1x.png", + "scale" : "1x" + }, + { + "size" : "76x76", + "idiom" : "ipad", + "filename" : "Icon-App-76x76@2x.png", + "scale" : "2x" + }, + { + "size" : "83.5x83.5", + "idiom" : "ipad", + "filename" : "Icon-App-83.5x83.5@2x.png", + "scale" : "2x" + }, + { + "size" : "1024x1024", + "idiom" : "ios-marketing", + "filename" : "Icon-App-1024x1024@1x.png", + "scale" : "1x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png new file mode 100644 index 0000000000000000000000000000000000000000..dc9ada4725e9b0ddb1deab583e5b5102493aa332 GIT binary patch literal 10932 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 literal 0 HcmV?d00001 diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..797d452e458972bab9d994556c8305db4c827017 GIT binary patch literal 406 zcmV;H0crk;P))>cdjpWt&rLJgVp-t?DREyuq1A%0Z4)6_WsQ7{nzjN zo!X zGXV)2i3kcZIL~_j>uIKPK_zib+3T+Nt3Mb&Br)s)UIaA}@p{wDda>7=Q|mGRp7pqY zkJ!7E{MNz$9nOwoVqpFb)}$IP24Wn2JJ=Cw(!`OXJBr45rP>>AQr$6c7slJWvbpNW z@KTwna6d?PP>hvXCcp=4F;=GR@R4E7{4VU^0p4F>v^#A|>07*qoM6N<$f*5nx ACIA2c literal 0 HcmV?d00001 diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..6ed2d933e1120817fe9182483a228007b18ab6ae GIT binary patch literal 450 zcmV;z0X_bSP)iGWQ_5NJQ_~rNh*z)}eT%KUb z`7gNk0#AwF^#0T0?hIa^`~Ck;!}#m+_uT050aTR(J!bU#|IzRL%^UsMS#KsYnTF*!YeDOytlP4VhV?b} z%rz_<=#CPc)tU1MZTq~*2=8~iZ!lSa<{9b@2Jl;?IEV8)=fG217*|@)CCYgFze-x? zIFODUIA>nWKpE+bn~n7;-89sa>#DR>TSlqWk*!2hSN6D~Qb#VqbP~4Fk&m`@1$JGr zXPIdeRE&b2Thd#{MtDK$px*d3-Wx``>!oimf%|A-&-q*6KAH)e$3|6JV%HX{Hig)k suLT-RhftRq8b9;(V=235Wa|I=027H2wCDra;{X5v07*qoM6N<$f;9x^2LJ#7 literal 0 HcmV?d00001 diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png new file mode 100644 index 0000000000000000000000000000000000000000..4cd7b0099ca80c806f8fe495613e8d6c69460d76 GIT binary patch literal 282 zcmV+#0p(^bcu7P-R4C8Q z&e;xxFbF_Vrezo%_kH*OKhshZ6BFpG-Y1e10`QXJKbND7AMQ&cMj60B5TNObaZxYybcN07*qoM6N<$g3m;S%K!iX literal 0 HcmV?d00001 diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..fe730945a01f64a61e2235dbe3f45b08f7729182 GIT binary patch literal 462 zcmV;<0WtoGP)-}iV`2<;=$?g5M=KQbZ{F&YRNy7Nn@%_*5{gvDM0aKI4?ESmw z{NnZg)A0R`+4?NF_RZexyVB&^^ZvN!{I28tr{Vje;QNTz`dG&Jz0~Ek&f2;*Z7>B|cg}xYpxEFY+0YrKLF;^Q+-HreN0P{&i zK~zY`?b7ECf-n?@;d<&orQ*Q7KoR%4|C>{W^h6@&01>0SKS`dn{Q}GT%Qj_{PLZ_& zs`MFI#j-(>?bvdZ!8^xTwlY{qA)T4QLbY@j(!YJ7aXJervHy6HaG_2SB`6CC{He}f zHVw(fJWApwPq!6VY7r1w-Fs)@ox~N+q|w~e;JI~C4Vf^@d>Wvj=fl`^u9x9wd9 zR%3*Q+)t%S!MU_`id^@&Y{y7-r98lZX0?YrHlfmwb?#}^1b{8g&KzmkE(L>Z&)179 zp<)v6Y}pRl100G2FL_t(o!|l{-Q-VMg#&MKg7c{O0 z2wJImOS3Gy*Z2Qifdv~JYOp;v+U)a|nLoc7hNH;I$;lzDt$}rkaFw1mYK5_0Q(Sut zvbEloxON7$+HSOgC9Z8ltuC&0OSF!-mXv5caV>#bc3@hBPX@I$58-z}(ZZE!t-aOG zpjNkbau@>yEzH(5Yj4kZiMH32XI!4~gVXNnjAvRx;Sdg^`>2DpUEwoMhTs_st8pKG z(%SHyHdU&v%f36~uERh!bd`!T2dw;z6PrOTQ7Vt*#9F2uHlUVnb#ev_o^fh}Dzmq} zWtlk35}k=?xj28uO|5>>$yXadTUE@@IPpgH`gJ~Ro4>jd1IF|(+IX>8M4Ps{PNvmI zNj4D+XgN83gPt_Gm}`Ybv{;+&yu-C(Grdiahmo~BjG-l&mWM+{e5M1sm&=xduwgM9 z`8OEh`=F3r`^E{n_;%9weN{cf2%7=VzC@cYj+lg>+3|D|_1C@{hcU(DyQG_BvBWe? zvTv``=%b1zrol#=R`JB)>cdjpWt&rLJgVp-t?DREyuq1A%0Z4)6_WsQ7{nzjN zo!X zGXV)2i3kcZIL~_j>uIKPK_zib+3T+Nt3Mb&Br)s)UIaA}@p{wDda>7=Q|mGRp7pqY zkJ!7E{MNz$9nOwoVqpFb)}$IP24Wn2JJ=Cw(!`OXJBr45rP>>AQr$6c7slJWvbpNW z@KTwna6d?PP>hvXCcp=4F;=GR@R4E7{4VU^0p4F>v^#A|>07*qoM6N<$f*5nx ACIA2c literal 0 HcmV?d00001 diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..502f463a9bc882b461c96aadf492d1729e49e725 GIT binary patch literal 586 zcmV-Q0=4~#P)+}#`wDE{8-2Mebf5<{{PqV{TgVcv*r8?UZ3{-|G?_}T*&y;@cqf{ z{Q*~+qr%%p!1pS*_Uicl#q9lc(D`!D`LN62sNwq{oYw(Wmhk)k<@f$!$@ng~_5)Ru z0Z)trIA5^j{DIW^c+vT2%lW+2<(RtE2wR;4O@)Tm`Xr*?A(qYoM}7i5Yxw>D(&6ou zxz!_Xr~yNF+waPe00049Nkl*;a!v6h%{rlvIH#gW3s8p;bFr=l}mRqpW2h zw=OA%hdyL~z+UHOzl0eKhEr$YYOL-c-%Y<)=j?(bzDweB7{b+%_ypvm_cG{SvM=DK zhv{K@m>#Bw>2W$eUI#iU)Wdgs8Y3U+A$Gd&{+j)d)BmGKx+43U_!tik_YlN)>$7G! zhkE!s;%oku3;IwG3U^2kw?z+HM)jB{@zFhK8P#KMSytSthr+4!c(5c%+^UBn`0X*2 zy3(k600_CSZj?O$Qu%&$;|TGUJrptR(HzyIx>5E(2r{eA(<6t3e3I0B)7d6s7?Z5J zZ!rtKvA{MiEBm&KFtoifx>5P^Z=vl)95XJn()aS5%ad(s?4-=Tkis9IGu{`Fy8r+H07*qoM6N<$f20Z)wqMt%V?S?~D#06};F zA3KcL`Wb+>5ObvgQIG&ig8(;V04hz?@cqy3{mSh8o!|U|)cI!1_+!fWH@o*8vh^CU z^ws0;(c$gI+2~q^tO#GDHf@=;DncUw00J^eL_t(&-tE|HQ`%4vfZ;WsBqu-$0nu1R zq^Vj;p$clf^?twn|KHO+IGt^q#a3X?w9dXC@*yxhv&l}F322(8Y1&=P&I}~G@#h6; z1CV9ecD9ZEe87{{NtI*)_aJ<`kJa z?5=RBtFF50s;jQLFil-`)m2wrb=6h(&brpj%nG_U&ut~$?8Rokzxi8zJoWr#2dto5 zOX_URcc<1`Iky+jc;A%Vzx}1QU{2$|cKPom2Vf1{8m`vja4{F>HS?^Nc^rp}xo+Nh zxd}eOm`fm3@MQC1< zIk&aCjb~Yh%5+Yq0`)D;q{#-Uqlv*o+Oor zE!I71Z@ASH3grl8&P^L0WpavHoP|UX4e?!igT`4?AZk$hu*@%6WJ;zDOGlw7kj@ zY5!B-0ft0f?Lgb>C;$Ke07*qoM6N<$f~t1N9smFU literal 0 HcmV?d00001 diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..0ec303439225b78712f49115768196d8d76f6790 GIT binary patch literal 862 zcmV-k1EKthP)20Z)wqMt%V?S?~D#06};F zA3KcL`Wb+>5ObvgQIG&ig8(;V04hz?@cqy3{mSh8o!|U|)cI!1_+!fWH@o*8vh^CU z^ws0;(c$gI+2~q^tO#GDHf@=;DncUw00J^eL_t(&-tE|HQ`%4vfZ;WsBqu-$0nu1R zq^Vj;p$clf^?twn|KHO+IGt^q#a3X?w9dXC@*yxhv&l}F322(8Y1&=P&I}~G@#h6; z1CV9ecD9ZEe87{{NtI*)_aJ<`kJa z?5=RBtFF50s;jQLFil-`)m2wrb=6h(&brpj%nG_U&ut~$?8Rokzxi8zJoWr#2dto5 zOX_URcc<1`Iky+jc;A%Vzx}1QU{2$|cKPom2Vf1{8m`vja4{F>HS?^Nc^rp}xo+Nh zxd}eOm`fm3@MQC1< zIk&aCjb~Yh%5+Yq0`)D;q{#-Uqlv*o+Oor zE!I71Z@ASH3grl8&P^L0WpavHoP|UX4e?!igT`4?AZk$hu*@%6WJ;zDOGlw7kj@ zY5!B-0ft0f?Lgb>C;$Ke07*qoM6N<$f~t1N9smFU literal 0 HcmV?d00001 diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..e9f5fea27c705180eb716271f41b582e76dcbd90 GIT binary patch literal 1674 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 literal 0 HcmV?d00001 diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..0467bf12aa4d28f374bb26596605a46dcbb3e7c8 GIT binary patch literal 1418 zcmV;51$Fv~P)q zKfU)WzW*n(@|xWGCA9ScMt*e9`2kdxPQ&&>|-UCa7_51w+ zLUsW@ZzZSW0y$)Hp~e9%PvP|a03ks1`~K?q{u;6NC8*{AOqIUq{CL&;p56Lf$oQGq z^={4hPQv)y=I|4n+?>7Fim=dxt1 z2H+Dm+1+fh+IF>G0SjJMkQQre1x4|G*Z==(Ot&kCnUrL4I(rf(ucITwmuHf^hXiJT zkdTm&kdTm&kdTm&kdP`esgWG0BcWCVkVZ&2dUwN`cgM8QJb`Z7Z~e<&Yj2(}>Tmf` zm1{eLgw!b{bXkjWbF%dTkTZEJWyWOb##Lfw4EK2}<0d6%>AGS{po>WCOy&f$Tay_> z?NBlkpo@s-O;0V%Y_Xa-G#_O08q5LR*~F%&)}{}r&L%Sbs8AS4t7Y0NEx*{soY=0MZExqA5XHQkqi#4gW3 zqODM^iyZl;dvf)-bOXtOru(s)Uc7~BFx{w-FK;2{`VA?(g&@3z&bfLFyctOH!cVsF z7IL=fo-qBndRUm;kAdXR4e6>k-z|21AaN%ubeVrHl*<|s&Ax@W-t?LR(P-24A5=>a z*R9#QvjzF8n%@1Nw@?CG@6(%>+-0ASK~jEmCV|&a*7-GKT72W<(TbSjf)&Eme6nGE z>Gkj4Sq&2e+-G%|+NM8OOm5zVl9{Z8Dd8A5z3y8mZ=4Bv4%>as_{9cN#bm~;h>62( zdqY93Zy}v&c4n($Vv!UybR8ocs7#zbfX1IY-*w~)p}XyZ-SFC~4w>BvMVr`dFbelV{lLL0bx7@*ZZdebr3`sP;? zVImji)kG)(6Juv0lz@q`F!k1FE;CQ(D0iG$wchPbKZQELlsZ#~rt8#90Y_Xh&3U-< z{s<&cCV_1`^TD^ia9!*mQDq& zn2{r`j};V|uV%_wsP!zB?m%;FeaRe+X47K0e+KE!8C{gAWF8)lCd1u1%~|M!XNRvw zvtqy3iz0WSpWdhn6$hP8PaRBmp)q`#PCA`Vd#Tc$@f1tAcM>f_I@bC)hkI9|o(Iqv zo}Piadq!j76}004RBio<`)70k^`K1NK)q>w?p^C6J2ZC!+UppiK6&y3Kmbv&O!oYF z34$0Z;QO!JOY#!`qyGH<3Pd}Pt@q*A0V=3SVtWKRR8d8Z&@)3qLPA19LPA19LPEUC YUoZo%k(ykuW&i*H07*qoM6N<$f+CH{y8r+H literal 0 HcmV?d00001 diff --git a/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json b/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json new file mode 100644 index 0000000..0bedcf2 --- /dev/null +++ b/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "idiom" : "universal", + "filename" : "LaunchImage.png", + "scale" : "1x" + }, + { + "idiom" : "universal", + "filename" : "LaunchImage@2x.png", + "scale" : "2x" + }, + { + "idiom" : "universal", + "filename" : "LaunchImage@3x.png", + "scale" : "3x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} diff --git a/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png b/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png new file mode 100644 index 0000000000000000000000000000000000000000..9da19eacad3b03bb08bbddbbf4ac48dd78b3d838 GIT binary patch literal 68 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx0wlM}@Gt=>Zci7-kcv6Uzs@r-FtIZ-&5|)J Q1PU{Fy85}Sb4q9e0B4a5jsO4v literal 0 HcmV?d00001 diff --git a/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png b/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..9da19eacad3b03bb08bbddbbf4ac48dd78b3d838 GIT binary patch literal 68 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx0wlM}@Gt=>Zci7-kcv6Uzs@r-FtIZ-&5|)J Q1PU{Fy85}Sb4q9e0B4a5jsO4v literal 0 HcmV?d00001 diff --git a/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png b/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..9da19eacad3b03bb08bbddbbf4ac48dd78b3d838 GIT binary patch literal 68 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx0wlM}@Gt=>Zci7-kcv6Uzs@r-FtIZ-&5|)J Q1PU{Fy85}Sb4q9e0B4a5jsO4v literal 0 HcmV?d00001 diff --git a/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md b/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md new file mode 100644 index 0000000..89c2725 --- /dev/null +++ b/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md @@ -0,0 +1,5 @@ +# Launch Screen Assets + +You can customize the launch screen with your own desired assets by replacing the image files in this directory. + +You can also do it by opening your Flutter project's Xcode project with `open ios/Runner.xcworkspace`, selecting `Runner/Assets.xcassets` in the Project Navigator and dropping in the desired images. \ No newline at end of file diff --git a/ios/Runner/Base.lproj/LaunchScreen.storyboard b/ios/Runner/Base.lproj/LaunchScreen.storyboard new file mode 100644 index 0000000..f2e259c --- /dev/null +++ b/ios/Runner/Base.lproj/LaunchScreen.storyboard @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ios/Runner/Base.lproj/Main.storyboard b/ios/Runner/Base.lproj/Main.storyboard new file mode 100644 index 0000000..f3c2851 --- /dev/null +++ b/ios/Runner/Base.lproj/Main.storyboard @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ios/Runner/Info.plist b/ios/Runner/Info.plist new file mode 100644 index 0000000..67780ca --- /dev/null +++ b/ios/Runner/Info.plist @@ -0,0 +1,49 @@ + + + + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleDisplayName + Dartboy + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + dartboy + CFBundlePackageType + APPL + CFBundleShortVersionString + $(FLUTTER_BUILD_NAME) + CFBundleSignature + ???? + CFBundleVersion + $(FLUTTER_BUILD_NUMBER) + LSRequiresIPhoneOS + + UILaunchStoryboardName + LaunchScreen + UIMainStoryboardFile + Main + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UISupportedInterfaceOrientations~ipad + + UIInterfaceOrientationPortrait + UIInterfaceOrientationPortraitUpsideDown + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + CADisableMinimumFrameDurationOnPhone + + UIApplicationSupportsIndirectInputEvents + + + \ No newline at end of file diff --git a/ios/Runner/Runner-Bridging-Header.h b/ios/Runner/Runner-Bridging-Header.h new file mode 100644 index 0000000..308a2a5 --- /dev/null +++ b/ios/Runner/Runner-Bridging-Header.h @@ -0,0 +1 @@ +#import "GeneratedPluginRegistrant.h" diff --git a/ios/RunnerTests/RunnerTests.swift b/ios/RunnerTests/RunnerTests.swift new file mode 100644 index 0000000..86a7c3b --- /dev/null +++ b/ios/RunnerTests/RunnerTests.swift @@ -0,0 +1,12 @@ +import Flutter +import UIKit +import XCTest + +class RunnerTests: XCTestCase { + + func testExample() { + // If you add code to the Runner application, consider adding tests here. + // See https://developer.apple.com/documentation/xctest for more information about using XCTest. + } + +} diff --git a/lib/emulator/bus.dart b/lib/emulator/bus.dart new file mode 100644 index 0000000..d208df9 --- /dev/null +++ b/lib/emulator/bus.dart @@ -0,0 +1,248 @@ +import 'package:dartboy/emulator/joypad.dart'; +import 'package:dartboy/emulator/mbc.dart'; +import 'package:dartboy/emulator/ppu.dart'; +import 'package:dartboy/emulator/timer.dart'; +import 'package:dartboy/emulator/utils.dart'; + +class Ie extends BitFieldU8 { + Ie() : super({}); + + Ie.fromU8(int u8) : super.fromU8(u8); + + Bit get vBlank => value(0); + Bit get lcdStat => value(1); + Bit get timer => value(2); + Bit get serial => value(3); + Bit get joypad => value(4); +} + +class Bus { + Bus(this.ppu, this.mbc); + + Ppu ppu = Ppu(); + Joypad joypad = Joypad(); + Timer timer = Timer(); + + List ram = List.filled(0x8000, 0); + List hram = List.filled(0x0080, 0); + Mbc mbc; + + Ie ie = Ie(); + + bool _prevSerial = false; + bool _intSerial = false; + + void tick() { + ppu.tick(); + timer.tick(); + } + + bool get irqVBlank => ppu.intVBlank; + set irqVBlank(bool val) { + ppu.intVBlank = val; + } + + bool get irqLcdStat => ppu.intLcdStat; + set irqLcdStat(bool val) { + ppu.intLcdStat = val; + } + + bool get irqTimer => timer.interrupt; + set irqTimer(bool val) { + timer.interrupt = val; + } + + bool get irqSerial => _intSerial; + set irqSerial(bool val) { + _intSerial = val; + } + + bool get irqJoypad => joypad.interrupt; + set irqJoypad(bool val) { + joypad.interrupt = val; + } + + int read(int addr) { + if (0x0000 <= addr && addr <= 0x7FFF) return mbc.read(addr); + if (0x8000 <= addr && addr <= 0x9FFF) return ppu.read(addr); + if (0xA000 <= addr && addr <= 0xBFFF) return mbc.read(addr); + if (0xC000 <= addr && addr <= 0xDFFF) return ram[addr - 0xC000]; + if (0xE000 <= addr && addr <= 0xFDFF) return ram[addr - 0xE000]; + if (0xFE00 <= addr && addr <= 0xFE9F) return ppu.readOam(addr); + if (0xFEA0 <= addr && addr <= 0xFEFF) return 0; + if (0xFF00 == addr) return joypad.read(); + if (0xFF01 == addr) return readSerial(); + if (0xFF02 == addr) return readSerialCtrl(); + if (0xFF04 == addr) return timer.readDiv(); + if (0xFF05 == addr) return timer.readTima(); + if (0xFF06 == addr) return timer.readTma(); + if (0xFF07 == addr) return timer.readTac(); + if (0xFF0F == addr) return readIrq(); + if (0xFF40 == addr) return ppu.readLcdControl(); + if (0xFF41 == addr) return ppu.readLcdStatus(); + if (0xFF42 == addr) return ppu.readScrollY(); + if (0xFF43 == addr) return ppu.readScrollX(); + if (0xFF44 == addr) return ppu.readLines(); + if (0xFF45 == addr) return ppu.readLineCompare(); + if (0xFF47 == addr) return ppu.readBgPalette(); + if (0xFF48 == addr) return ppu.readObjectPalette0(); + if (0xFF49 == addr) return ppu.readObjectPalette1(); + if (0xFF4A == addr) return ppu.readWindowY(); + if (0xFF4B == addr) return ppu.readWindowX(); + if (0xFF80 <= addr && addr <= 0xFFFE) return hram[addr - 0xFF80]; + if (0xFFFF == addr) return ie.toU8(); + + return 0; + } + + int readWord(int addr) { + final low = read(addr); + final high = read(addr + 1); + + return ((high) << 8) | low; + } + + int readIrq() { + return bitpack([ + false, + false, + false, + joypad.interrupt, + _intSerial, + timer.interrupt, + ppu.intLcdStat, + ppu.intVBlank + ]); + } + + int readSerial() { + return 0; + } + + int readSerialCtrl() { + return 0; + } + + void write(int addr, int val) { + if (0x0000 <= addr && addr <= 0x7FFF) { + mbc.write(addr, val); + } + if (0x8000 <= addr && addr <= 0x9FFF) { + ppu.write(addr, val); + } + if (0xA000 <= addr && addr <= 0xBFFF) { + mbc.write(addr, val); + } + if (0xC000 <= addr && addr <= 0xDFFF) { + ram[addr - 0xC000] = val; + } + if (0xE000 <= addr && addr <= 0xFDFF) { + ram[addr - 0xE000] = val; + } + if (0xFE00 <= addr && addr <= 0xFE9F) { + ppu.writeOam(addr, val); + } + if (0xFEA0 <= addr && addr <= 0xFEFF) { + return; + } + if (0xFF00 == addr) { + joypad.write(val); + } + if (0xFF01 == addr) { + writeSerial(val); + } + if (0xFF02 == addr) { + writeSerialCtrl(val); + } + if (0xFF04 == addr) { + timer.writeDiv(val); + } + if (0xFF05 == addr) { + timer.writeTima(val); + } + if (0xFF06 == addr) { + timer.writeTma(val); + } + if (0xFF07 == addr) { + timer.writeTac(val); + } + if (0xFF0F == addr) { + writeIrq(val); + } + if (0xFF40 == addr) { + ppu.writeLcdControl(val); + } + if (0xFF41 == addr) { + ppu.writeLcdStatus(val); + } + if (0xFF42 == addr) { + ppu.writeScrollY(val); + } + if (0xFF43 == addr) { + ppu.writeScrollX(val); + } + if (0xFF45 == addr) { + ppu.writeLineCompare(val); + } + if (0xFF46 == addr) { + writeDma(val); + } + if (0xFF47 == addr) { + ppu.writeBgPalette(val); + } + if (0xFF48 == addr) { + ppu.writeObjectPalette0(val); + } + if (0xFF49 == addr) { + ppu.writeObjectPalette1(val); + } + if (0xFF4A == addr) { + ppu.writeWindowY(val); + } + if (0xFF4B == addr) { + ppu.writeWindowX(val); + } + if (0xFF80 <= addr && addr <= 0xFFFE) { + hram[addr - 0xFF80] = val; + } + if (0xFFFF == addr) { + ie = Ie.fromU8(val); + } + } + + void writeWord(int addr, int val) { + final low = val.toU8(); + final high = (val >> 8).toU8(); + + write(addr, low); + write(addr + 1, high); + } + + void writeIrq(int val) { + ppu.intVBlank = isSet(val, 0); + ppu.intLcdStat = isSet(val, 1); + timer.interrupt = isSet(val, 2); + _intSerial = isSet(val, 3); + joypad.interrupt = isSet(val, 4); + } + + void writeSerial(int val) {} + + void writeSerialCtrl(int val) { + final cur = isSet(val, 7); + + if (_prevSerial && !cur) { + _intSerial = true; + } + + _prevSerial = cur; + } + + void writeDma(int val) { + final baseAddr = (val << 8).toU16(); + + for (var i = 0; i < 0x100; i++) { + write(0xFE00 + i, read(baseAddr + i)); + } + } +} diff --git a/lib/emulator/cpu.dart b/lib/emulator/cpu.dart new file mode 100644 index 0000000..3715701 --- /dev/null +++ b/lib/emulator/cpu.dart @@ -0,0 +1,1657 @@ +import 'package:dartboy/emulator/bus.dart'; +import 'package:dartboy/emulator/utils.dart'; + +class _F extends BitFieldU8 { + _F() : super({}); + + _F.fromU8(int u8) : super.fromU8(u8); + + Bit get c => value(4); + Bit get h => value(5); + Bit get n => value(6); + Bit get z => value(7); +} + +class Cpu { + Cpu({ + required this.bus, + }); + + int _a = 0; + _F _f = _F(); + int _bc = 0; + int _de = 0; + int _hl = 0; + int _sp = 0; + int _pc = 0; + int _stalls = 0; + bool _ime = false; + bool _halted = false; + + int _left = -1; + + Bus bus; + + void reset() { + _a = 0x01; + _f = _F.fromU8(0xB0); + _bc = 0x0013; + _de = 0x00D8; + _hl = 0x014D; + _sp = 0xFFFE; + _pc = 0x0100; + _stalls = 0; + } + + void tick() { + if (_stalls > 0) { + _stalls -= 1; + + return; + } + + _stalls += 4; + + if (_ime && _interrupt()) { + _ime = false; + _halted = false; + } + + if (_halted) { + return; + } + + if (_left > 0) _left -= 1; + + if (_left == 0) { + return; + } + + final opecode = bus.read(_pc); + + _pc = _pc.wrappingAddU16(1); + + _doMnemonic(opecode); + } + + int get _b => (_bc & 0xFF00) >> 8; + + int get _c => _bc & 0x00FF; + + int get _d => (_de & 0xFF00) >> 8; + + int get _e => _de & 0x00FF; + + int get _h => (_hl & 0xFF00) >> 8; + + int get _l => _hl & 0x00FF; + + int get _af => (_a << 8) | _f.toU8(); + + set _b(int val) { + _bc &= 0x00FF; + _bc |= (val << 8).toU16(); + } + + set _c(int val) { + _bc &= 0xFF00; + _bc |= val; + } + + set _d(int val) { + _de &= 0x00FF; + _de |= (val << 8).toU16(); + } + + set _e(int val) { + _de &= 0xFF00; + _de |= val; + } + + set _h(int val) { + _hl &= 0x00FF; + _hl |= (val << 8).toU16(); + } + + set _l(int val) { + _hl &= 0xFF00; + _hl |= val; + } + + set _af(int val) { + _a = (val >> 8).toU8(); + _f = _F.fromU8(val & 0x00F0); + } + + int _r8(int index) { + switch (index) { + case 0: + return _b; + case 1: + return _c; + case 2: + return _d; + case 3: + return _e; + case 4: + return _h; + case 5: + return _l; + case 6: + return bus.read(_hl); + case 7: + return _a; + default: + throw ArgumentError.value(index); + } + } + + void _setR8(int index, int val) { + switch (index) { + case 0: + _b = val; + break; + case 1: + _c = val; + break; + case 2: + _d = val; + break; + case 3: + _e = val; + break; + case 4: + _h = val; + break; + case 5: + _l = val; + break; + case 6: + bus.write(_hl, val); + break; + case 7: + _a = val; + break; + default: + throw ArgumentError.value(index); + } + } + + int _r16(int index, bool high) { + switch (index) { + case 0: + return _bc; + case 1: + return _de; + case 2: + return _hl; + case 3: + if (high) { + return _af; + } else { + return _sp; + } + default: + throw ArgumentError.value(index); + } + } + + void _setR16(int index, int val, bool high) { + switch (index) { + case 0: + _bc = val; + break; + case 1: + _de = val; + break; + case 2: + _hl = val; + break; + case 3: + if (high) { + _af = val; + } else { + _sp = val; + } + break; + default: + throw ArgumentError.value(index); + } + } + + bool _carryPositive(int left, int right) { + return (left & 0xFF) + (right & 0xFF) > 0xFF; + } + + bool _carryNegative(int left, int right) { + return (left & 0xFF) < (right & 0xFF); + } + + bool _halfCarryPositive(int left, int right) { + return (left & 0x0F) + (right & 0x0F) > 0x0F; + } + + bool _halfCarryNegative(int left, int right) { + return (left & 0x0F) < (right & 0x0F); + } + + bool _carryPositiveU16(int left, int right) { + return (left & 0xFFFF) + (right & 0xFFFF) > 0xFFFF; + } + + bool _halfCarryPositiveU16U12(int left, int right) { + return (left & 0x0FFF) + (right & 0x0FFF) > 0x0FFF; + } + + bool _interrupt() { + int interrupt = 0x0040; + + if (bus.ie.vBlank.val && bus.irqVBlank) { + bus.irqVBlank = false; + + _call(interrupt); + + return true; + } + + interrupt += 0x0008; + + if (bus.ie.lcdStat.val && bus.irqLcdStat) { + bus.irqLcdStat = false; + + _call(interrupt); + + return true; + } + + interrupt += 0x0008; + + if (bus.ie.timer.val && bus.irqTimer) { + bus.irqTimer = false; + + _call(interrupt); + + return true; + } + + interrupt += 0x0008; + + if (bus.ie.serial.val && bus.irqSerial) { + bus.irqSerial = false; + + _call(interrupt); + + return true; + } + + interrupt += 0x0008; + + if (bus.ie.joypad.val && bus.irqJoypad) { + bus.irqJoypad = false; + + _call(interrupt); + + return true; + } + + return false; + } + + void _doMnemonic(int opecode) { + switch (opecode) { + case 0x00: + _nop(); + return; + case 0x76: + _halt(); + return; + case 0x10: + _stop(); + return; + case 0xF3: + _di(); + return; + case 0xFB: + _ei(); + return; + case 0x0A: + _loadU8AAddrBc(); + return; + case 0x1A: + _loadU8AAddrDe(); + return; + case 0x02: + _loadU8AddrBcA(); + return; + case 0x12: + _loadU8AddrDeA(); + return; + case 0xFA: + _loadU8AAddrIm16(); + return; + case 0xEA: + _loadU8AddrIm16A(); + return; + case 0xF2: + _loadU8AAddrIndexC(); + return; + case 0xE2: + _loadU8AddrIndexCA(); + return; + case 0xF0: + _loadU8AAddrIndexIm8(); + return; + case 0xE0: + _loadU8AddrIndexIm8A(); + return; + case 0x3A: + _loadDecU8AAddrHl(); + return; + case 0x32: + _loadDecU8AddrHlA(); + return; + case 0x2A: + _loadIncU8AAddrHl(); + return; + case 0x22: + _loadIncU8AddrHlA(); + return; + case 0x08: + _loadU16AddrIm16Sp(); + return; + case 0xF8: + _loadU16HlIndexIm8Sp(); + return; + case 0xF9: + _loadU16SpHl(); + return; + case 0xC6: + _addU8AIm8(); + return; + case 0xCE: + _addCarryU8AIm8(); + return; + case 0xD6: + _subU8AIm8(); + return; + case 0xDE: + _subCarryU8AIm8(); + return; + case 0xE6: + _andU8AIm8(); + return; + case 0xF6: + _orU8AIm8(); + return; + case 0xEE: + _xorU8AIm8(); + return; + case 0xFE: + _cpU8AIm8(); + return; + case 0xE8: + _addU16SpIm8(); + return; + case 0x07: + _rlcaU8(); + return; + case 0x17: + _rlaU8(); + return; + case 0x0F: + _rrcaU8(); + return; + case 0x1F: + _rraU8(); + return; + case 0x27: + _decimalAdjustU8A(); + return; + case 0x2F: + _complementU8A(); + return; + case 0x3F: + _complementCarry(); + return; + case 0x37: + _setCarryFlag(); + return; + case 0xC3: + _jpU16(); + return; + case 0xC2: + _jpU16Nz(); + return; + case 0xCA: + _jpU16Z(); + return; + case 0xD2: + _jpU16Nc(); + return; + case 0xDA: + _jpU16C(); + return; + case 0xE9: + _jpU16Hl(); + return; + case 0x18: + _jrU8ImU8(); + return; + case 0x20: + _jrU8Nz(); + return; + case 0x28: + _jrU8Z(); + return; + case 0x30: + _jrU8Nc(); + return; + case 0x38: + _jrU8C(); + return; + case 0xCD: + _callU16(); + return; + case 0xC4: + _callU16Nz(); + return; + case 0xCC: + _callU16Z(); + return; + case 0xD4: + _callU16Nc(); + return; + case 0xDC: + _callU16C(); + return; + case 0xC9: + _ret(); + return; + case 0xC0: + _retNz(); + return; + case 0xC8: + _retZ(); + return; + case 0xD0: + _retNc(); + return; + case 0xD8: + _retC(); + return; + case 0xD9: + _reti(); + return; + case 0xCB: + { + final prefixed = bus.read(_pc); + _pc = _pc.wrappingAddU16(1); + _doMnemonicPrefixed(prefixed); + return; + } + } + + if (0x40 <= opecode && opecode <= 0x7F) { + _loadU8RR(decodeX(opecode), decodeY(opecode)); + return; + } + + if (0x06 <= opecode && opecode <= 0x3E && (opecode & 7 == 6)) { + _loadU8RIm8(decodeX(opecode)); + return; + } + + if (0x01 <= opecode && opecode <= 0x31 && (opecode & 15 == 1)) { + _loadU16RrIm16(decodeR(opecode)); + return; + } + + if (0xC5 <= opecode && opecode <= 0xF5 && (opecode & 15 == 5)) { + _pushU16Rr(decodeR(opecode)); + return; + } + + if (0xC1 <= opecode && opecode <= 0xF1 && (opecode & 15 == 1)) { + _popU16Rr(decodeR(opecode)); + return; + } + + if (0x80 <= opecode && opecode <= 0x87) { + _addU8AR(decodeY(opecode)); + return; + } + + if (0x88 <= opecode && opecode <= 0x8f) { + _addCarryU8AR(decodeY(opecode)); + return; + } + + if (0x90 <= opecode && opecode <= 0x97) { + _subU8AR(decodeY(opecode)); + return; + } + + if (0x98 <= opecode && opecode <= 0x9F) { + _subCarryU8AR(decodeY(opecode)); + return; + } + + if (0xA0 <= opecode && opecode <= 0xA7) { + _andU8AR(decodeY(opecode)); + return; + } + + if (0xB0 <= opecode && opecode <= 0xB7) { + _orU8AR(decodeY(opecode)); + return; + } + + if (0xA8 <= opecode && opecode <= 0xAF) { + _xorU8AR(decodeY(opecode)); + return; + } + + if (0xB8 <= opecode && opecode <= 0xBF) { + _cpU8AR(decodeY(opecode)); + return; + } + + if (0x04 <= opecode && opecode <= 0x3C && (opecode & 7 == 4)) { + _incU8R(decodeX(opecode)); + return; + } + + if (0x05 <= opecode && opecode <= 0x3D && (opecode & 7 == 5)) { + _decU8R(decodeX(opecode)); + return; + } + + if (0x09 <= opecode && opecode <= 0x39 && (opecode & 15 == 9)) { + _addU16HlRr(decodeR(opecode)); + return; + } + + if (0x03 <= opecode && opecode <= 0x33 && (opecode & 15 == 3)) { + _incU16Rr(decodeR(opecode)); + return; + } + + if (0x0B <= opecode && opecode <= 0x3B && (opecode & 15 == 11)) { + _decU16Rr(decodeR(opecode)); + return; + } + + if (0xC7 <= opecode && (opecode & 7 == 7)) { + _restart(decodeX(opecode)); + return; + } + + throw ArgumentError.value(opecode); + } + + void _doMnemonicPrefixed(int opecode) { + if (0x30 <= opecode && opecode <= 0x37) { + _swapU8R(decodeY(opecode)); + return; + } + + if (0x00 <= opecode && opecode <= 0x07) { + _rlcU8R(decodeY(opecode)); + return; + } + + if (0x10 <= opecode && opecode <= 0x17) { + _rlU8R(decodeY(opecode)); + return; + } + + if (0x08 <= opecode && opecode <= 0x0F) { + _rrcU8R(decodeY(opecode)); + return; + } + + if (0x18 <= opecode && opecode <= 0x1F) { + _rrU8R(decodeY(opecode)); + return; + } + + if (0x20 <= opecode && opecode <= 0x27) { + _slaU8R(decodeY(opecode)); + return; + } + + if (0x28 <= opecode && opecode <= 0x2F) { + _sraU8R(decodeY(opecode)); + return; + } + + if (0x38 <= opecode && opecode <= 0x3F) { + _srlU8R(decodeY(opecode)); + return; + } + + if (0x40 <= opecode && opecode <= 0x7F) { + _bitU8BitR(decodeY(opecode), decodeX(opecode)); + return; + } + + if (0xC0 <= opecode && opecode <= 0xFF) { + _setU8BitR(decodeY(opecode), decodeX(opecode)); + return; + } + + if (0x80 <= opecode && opecode <= 0xBF) { + _resetU8BitR(decodeY(opecode), decodeX(opecode)); + return; + } + + throw ArgumentError.value(opecode); + } + + void _nop() {} + + void _halt() { + _halted = true; + } + + void _stop() {} + + void _di() { + _ime = false; + } + + void _ei() { + _ime = true; + } + + void _loadU8RIm8(int index) { + final val = bus.read(_pc); + + _pc = _pc.wrappingAddU16(1); + + _setR8(index, val); + } + + void _loadU8RR(int left, int right) { + final val = _r8(right); + _setR8(left, val); + } + + void _loadU8AAddrBc() { + final val = bus.read(_bc); + _a = val; + } + + void _loadU8AAddrDe() { + final val = bus.read(_de); + _a = val; + } + + void _loadU8AddrBcA() { + bus.write(_bc, _a); + } + + void _loadU8AddrDeA() { + bus.write(_de, _a); + } + + void _loadU8AAddrIm16() { + final addr = bus.readWord(_pc); + _pc = _pc.wrappingAddU16(2); + final val = bus.read(addr); + _a = val; + } + + void _loadU8AddrIm16A() { + final addr = bus.readWord(_pc); + _pc = _pc.wrappingAddU16(2); + final val = _a; + bus.write(addr, val); + } + + void _loadU8AAddrIndexC() { + final index = _c; + final addr = 0xFF00 + index; + final val = bus.read(addr); + _a = val; + } + + void _loadU8AddrIndexCA() { + final index = _c; + final addr = 0xFF00 + index; + bus.write(addr, _a); + } + + void _loadU8AAddrIndexIm8() { + final index = bus.read(_pc); + _pc = _pc.wrappingAddU16(1); + final addr = 0xFF00 + index; + final val = bus.read(addr); + _a = val; + } + + void _loadU8AddrIndexIm8A() { + final index = bus.read(_pc); + _pc = _pc.wrappingAddU16(1); + final addr = 0xFF00 + index; + bus.write(addr, _a); + } + + void _loadDecU8AAddrHl() { + final val = bus.read(_hl); + _hl = _hl.wrappingSubU16(1); + _a = val; + } + + void _loadDecU8AddrHlA() { + bus.write(_hl, _a); + _hl = _hl.wrappingSubU16(1); + } + + void _loadIncU8AAddrHl() { + final val = bus.read(_hl); + _hl = _hl.wrappingAddU16(1); + _a = val; + } + + void _loadIncU8AddrHlA() { + bus.write(_hl, _a); + _hl = _hl.wrappingAddU16(1); + } + + void _loadU16RrIm16(int index) { + final val = bus.readWord(_pc); + _pc = _pc.wrappingAddU16(2); + _setR16(index, val, false); + } + + void _loadU16AddrIm16Sp() { + final addr = bus.readWord(_pc); + _pc = _pc.wrappingAddU16(2); + final val = _sp; + bus.writeWord(addr, val); + } + + void _loadU16HlIndexIm8Sp() { + final baseAddr = _sp; + final indexAddr = bus.read(_pc).toI8(); + _pc = _pc.wrappingAddU16(1); + _hl = baseAddr.wrappingAddU16(indexAddr); + + _f.z.reset(); + _f.n.reset(); + _f.h.val = _halfCarryPositive(baseAddr.toU8(), indexAddr.toU8()); + _f.c.val = _carryPositive(baseAddr.toU8(), indexAddr.toU8()); + } + + void _loadU16SpHl() { + _sp = _hl; + + _stalls += 8; + } + + void _pushU16Rr(int index) { + final val = _r16(index, true); + _sp = _sp.wrappingSubU16(2); + bus.writeWord(_sp, val); + + _stalls += 16; + } + + void _popU16Rr(int index) { + final val = bus.readWord(_sp); + _sp = _sp.wrappingAddU16(2); + _setR16(index, val, true); + + _stalls += 12; + } + + void _addU8AR(int index) { + final left = _a; + final right = _r8(index); + final result = left.wrappingAddU8(right); + + _a = result; + + _f.z.val = result == 0; + _f.n.reset(); + _f.h.val = _halfCarryPositive(left, right); + _f.c.val = _carryPositive(left, right); + + _stalls += 4; + } + + void _addU8AIm8() { + final right = bus.read(_pc); + _pc = _pc.wrappingAddU16(1); + final left = _a; + final result = left.wrappingAddU8(right); + + _a = result; + + _f.z.val = result == 0; + _f.n.reset(); + _f.h.val = _halfCarryPositive(left, right); + _f.c.val = _carryPositive(left, right); + + _stalls += 8; + } + + void _addCarryU8AR(int index) { + final c = _f.c.val ? 1 : 0; + final right = _r8(index); + final left = _a; + final result1 = left.wrappingAddU8(right); + final result2 = result1.wrappingAddU8(c); + + final c1 = _carryPositive(left, right); + final h1 = _halfCarryPositive(left, right); + final c2 = _carryPositive(result1, c); + final h2 = _halfCarryPositive(result1, c); + + _a = result2; + + _f.z.val = result2 == 0; + _f.n.reset(); + _f.h.val = h1 || h2; + _f.c.val = c1 || c2; + + _stalls += 4; + } + + void _addCarryU8AIm8() { + final c = _f.c.val ? 1 : 0; + final right = bus.read(_pc); + _pc = _pc.wrappingAddU16(1); + final left = _a; + final result1 = left.wrappingAddU8(right); + final result2 = result1.wrappingAddU8(c); + + final c1 = _carryPositive(left, right); + final h1 = _halfCarryPositive(left, right); + final c2 = _carryPositive(result1, c); + final h2 = _halfCarryPositive(result1, c); + + _a = result2; + + _f.z.val = result2 == 0; + _f.n.reset(); + _f.h.val = h1 || h2; + _f.c.val = c1 || c2; + + _stalls += 8; + } + + void _subU8AR(int index) { + final left = _a; + final right = _r8(index); + final result = left.wrappingSubU8(right); + + _a = result; + + _f.z.val = result == 0; + _f.n.set(); + _f.h.val = _halfCarryNegative(left, right); + _f.c.val = _carryNegative(left, right); + + _stalls += 4; + } + + void _subU8AIm8() { + final left = _a; + final right = bus.read(_pc); + _pc = _pc.wrappingAddU16(1); + final result = left.wrappingSubU8(right); + + _a = result; + + _f.z.val = result == 0; + _f.n.set(); + _f.h.val = _halfCarryNegative(left, right); + _f.c.val = _carryNegative(left, right); + + _stalls += 8; + } + + void _subCarryU8AR(int index) { + final c = _f.c.val ? 1 : 0; + final left = _a; + final right = _r8(index); + final result1 = left.wrappingSubU8(right); + final result2 = result1.wrappingSubU8(c); + + _a = result2; + + final c1 = _carryNegative(left, right); + final h1 = _halfCarryNegative(left, right); + final c2 = _carryNegative(result1, c); + final h2 = _halfCarryNegative(result1, c); + + _f.z.val = result2 == 0; + _f.n.set(); + _f.h.val = h1 || h2; + _f.c.val = c1 || c2; + + _stalls += 4; + } + + void _subCarryU8AIm8() { + final c = _f.c.val ? 1 : 0; + final left = _a; + final right = bus.read(_pc); + _pc = _pc.wrappingAddU16(1); + final result1 = left.wrappingSubU8(right); + final result2 = result1.wrappingSubU8(c); + + _a = result2; + + final c1 = _carryNegative(left, right); + final h1 = _halfCarryNegative(left, right); + final c2 = _carryNegative(result1, c); + final h2 = _halfCarryNegative(result1, c); + + _f.z.val = result2 == 0; + _f.n.set(); + _f.h.val = h1 || h2; + _f.c.val = c1 || c2; + + _stalls += 8; + } + + void _andU8AR(int index) { + final left = _a; + final right = _r8(index); + final result = left & right; + + _a = result; + + _f.z.val = result == 0; + _f.n.reset(); + _f.h.set(); + _f.c.reset(); + + _stalls += 4; + } + + void _andU8AIm8() { + final left = _a; + final right = bus.read(_pc); + _pc = _pc.wrappingAddU16(1); + final result = left & right; + + _a = result; + + _f.z.val = result == 0; + _f.n.reset(); + _f.h.set(); + _f.c.reset(); + + _stalls += 8; + } + + void _orU8AR(int index) { + final left = _a; + final right = _r8(index); + final result = left | right; + + _a = result; + + _f.z.val = result == 0; + _f.n.reset(); + _f.h.reset(); + _f.c.reset(); + + _stalls += 4; + } + + void _orU8AIm8() { + final left = _a; + final right = bus.read(_pc); + _pc = _pc.wrappingAddU16(1); + final result = left | right; + + _a = result; + + _f.z.val = result == 0; + _f.n.reset(); + _f.h.reset(); + _f.c.reset(); + + _stalls += 8; + } + + void _xorU8AR(int index) { + final left = _a; + final right = _r8(index); + final result = left ^ right; + + _a = result; + + _f.z.val = result == 0; + _f.n.reset(); + _f.h.reset(); + _f.c.reset(); + + _stalls += 4; + } + + void _xorU8AIm8() { + final left = _a; + final right = bus.read(_pc); + _pc = _pc.wrappingAddU16(1); + final result = left ^ right; + + _a = result; + + _f.z.val = result == 0; + _f.n.reset(); + _f.h.reset(); + _f.c.reset(); + + _stalls += 8; + } + + void _cpU8AR(int index) { + final left = _a; + final right = _r8(index); + final result = left.wrappingSubU8(right); + + _f.z.val = result == 0; + _f.n.set(); + _f.h.val = _halfCarryNegative(left, right); + _f.c.val = _carryNegative(left, right); + + _stalls += 4; + } + + void _cpU8AIm8() { + final left = _a; + final right = bus.read(_pc); + _pc = _pc.wrappingAddU16(1); + final result = left.wrappingSubU8(right); + + _f.z.val = result == 0; + _f.n.set(); + _f.h.val = _halfCarryNegative(left, right); + _f.c.val = _carryNegative(left, right); + + _stalls += 8; + } + + void _incU8R(int index) { + final left = _r8(index); + const right = 1; + final result = left.wrappingAddU8(right); + + _setR8(index, result); + + _f.z.val = result == 0; + _f.n.reset(); + _f.h.val = _halfCarryPositive(left, right); + + _stalls += 4; + } + + void _decU8R(int index) { + final left = _r8(index); + const right = 1; + final result = left.wrappingSubU8(right); + + _setR8(index, result); + + _f.z.val = result == 0; + _f.n.set(); + _f.h.val = _halfCarryNegative(left, right); + + _stalls += 4; + } + + void _addU16HlRr(int index) { + final left = _hl; + final right = _r16(index, false); + final result = left.wrappingAddU16(right); + + _hl = result; + + _f.n.reset(); + _f.h.val = _halfCarryPositiveU16U12(left, right); + _f.c.val = _carryPositiveU16(left, right); + + _stalls += 8; + } + + void _addU16SpIm8() { + final left = _sp; + final right = bus.read(_pc).toI8(); + _pc = _pc.wrappingAddU16(1); + final result = left.wrappingAddU16(right); + + _sp = result; + + _f.z.reset(); + _f.n.reset(); + _f.h.val = _halfCarryPositive(left.toU8(), right.toU8()); + _f.c.val = _carryPositive(left.toU8(), right.toU8()); + + _stalls += 16; + } + + void _incU16Rr(int index) { + final left = _r16(index, false); + const right = 1; + final result = left.wrappingAddU16(right); + + _setR16(index, result, false); + + _stalls += 8; + } + + void _decU16Rr(int index) { + final left = _r16(index, false); + const right = 1; + final result = left.wrappingSubU16(right); + + _setR16(index, result, false); + + _stalls += 8; + } + + void _rlcaU8() { + final val = _a; + final c = (val >> 7) & 1; + final result = val.rotateLeftU8(); + + _a = result; + + _f.z.reset(); + _f.n.reset(); + _f.h.reset(); + _f.c.val = c == 1; + + _stalls += 4; + } + + void _rlaU8() { + final val = _a; + final c = (val >> 7) & 1; + final result = (val << 1).toU8() | (_f.c.val ? 1 : 0); + + _a = result; + + _f.z.reset(); + _f.n.reset(); + _f.h.reset(); + _f.c.val = c == 1; + + _stalls += 4; + } + + void _rrcaU8() { + final val = _a; + final c = val & 1; + final result = val.rotateRightU8(); + + _a = result; + + _f.z.reset(); + _f.n.reset(); + _f.h.reset(); + _f.c.val = c == 1; + + _stalls += 4; + } + + void _rraU8() { + final val = _a; + final c = val & 1; + final result = (val >> 1).toU8() | ((_f.c.val ? 1 : 0) << 7); + + _a = result; + + _f.z.reset(); + _f.n.reset(); + _f.h.reset(); + _f.c.val = c == 1; + + _stalls += 4; + } + + void _rlcU8R(int index) { + final val = _r8(index); + final c = (val >> 7) & 1; + final result = val.rotateLeftU8(); + + _setR8(index, result); + + _f.z.val = result == 0; + _f.n.reset(); + _f.h.reset(); + _f.c.val = c == 1; + + _stalls += 8; + } + + void _rlU8R(int index) { + final val = _r8(index); + final c = (val >> 7) & 1; + final result = (val << 1).toU8() | (_f.c.val ? 1 : 0); + + _setR8(index, result); + + _f.z.val = result == 0; + _f.n.reset(); + _f.h.reset(); + _f.c.val = c == 1; + + _stalls += 8; + } + + void _rrcU8R(int index) { + final val = _r8(index); + final c = val & 1; + final result = val.rotateRightU8(); + + _setR8(index, result); + + _f.z.val = result == 0; + _f.n.reset(); + _f.h.reset(); + _f.c.val = c == 1; + + _stalls += 8; + } + + void _rrU8R(int index) { + final val = _r8(index); + final c = val & 1; + final result = (val >> 1).toU8() | ((_f.c.val ? 1 : 0) << 7); + + _setR8(index, result); + + _f.z.val = result == 0; + _f.n.reset(); + _f.h.reset(); + _f.c.val = c == 1; + + _stalls += 8; + } + + void _slaU8R(int index) { + final val = _r8(index); + final c = (val >> 7) & 1; + final result = (val << 1).toU8(); + + _setR8(index, result); + + _f.z.val = result == 0; + _f.n.reset(); + _f.h.reset(); + _f.c.val = c == 1; + + _stalls += 8; + } + + void _sraU8R(int index) { + final val = _r8(index); + final c = val & 1; + final result = (val >> 1).toU8() | oneHot(isSet(val, 7), 7); + + _setR8(index, result); + + _f.z.val = result == 0; + _f.n.reset(); + _f.h.reset(); + _f.c.val = c == 1; + + _stalls += 8; + } + + void _srlU8R(int index) { + final val = _r8(index); + final c = val & 1; + final result = (val >> 1).toU8(); + + _setR8(index, result); + + _f.z.val = result == 0; + _f.n.reset(); + _f.h.reset(); + _f.c.val = c == 1; + + _stalls += 8; + } + + void _bitU8BitR(int index, int bit) { + final left = _r8(index); + final right = bit; + final result = (left >> right) & 1; + + _f.z.val = result == 0; + _f.n.reset(); + _f.h.set(); + + _stalls += 8; + } + + void _setU8BitR(int index, int bit) { + final left = _r8(index); + final right = bit; + final result = left | (1 << right); + + _setR8(index, result); + + _stalls += 8; + } + + void _resetU8BitR(int index, int bit) { + final left = _r8(index); + final right = bit; + final result = left & ~(1 << right); + + _setR8(index, result); + + _stalls += 8; + } + + void _jpU16() { + final addr = bus.readWord(_pc); + + _pc = addr; + + _stalls += 16; + } + + void _jpU16Nz() { + final addr = bus.readWord(_pc); + _pc = _pc.wrappingAddU16(2); + + if (!_f.z.val) { + _pc = addr; + } + + _stalls += 16; + } + + void _jpU16Z() { + final addr = bus.readWord(_pc); + _pc = _pc.wrappingAddU16(2); + + if (_f.z.val) { + _pc = addr; + } + + _stalls += 16; + } + + void _jpU16Nc() { + final addr = bus.readWord(_pc); + _pc = _pc.wrappingAddU16(2); + + if (!_f.c.val) { + _pc = addr; + } + + _stalls += 16; + } + + void _jpU16C() { + final addr = bus.readWord(_pc); + _pc = _pc.wrappingAddU16(2); + + if (_f.c.val) { + _pc = addr; + } + + _stalls += 16; + } + + void _jpU16Hl() { + _pc = _hl; + + _stalls += 4; + } + + void _jrU8ImU8() { + final index = bus.read(_pc); + _pc = _pc.wrappingAddU16(1); + _pc = _pc.wrappingAddU16(index.toI8()); + + _stalls += 12; + } + + void _jrU8Nz() { + final index = bus.read(_pc); + _pc = _pc.wrappingAddU16(1); + + if (!_f.z.val) { + _pc = _pc.wrappingAddU16(index.toI8()); + } + + _stalls += 12; + } + + void _jrU8Z() { + final index = bus.read(_pc); + _pc = _pc.wrappingAddU16(1); + + if (_f.z.val) { + _pc = _pc.wrappingAddU16(index.toI8()); + } + + _stalls += 12; + } + + void _jrU8Nc() { + final index = bus.read(_pc); + _pc = _pc.wrappingAddU16(1); + + if (!_f.c.val) { + _pc = _pc.wrappingAddU16(index.toI8()); + } + + _stalls += 12; + } + + void _jrU8C() { + final index = bus.read(_pc); + _pc = _pc.wrappingAddU16(1); + + if (_f.c.val) { + _pc = _pc.wrappingAddU16(index.toI8()); + } + + _stalls += 12; + } + + void _call(int addr) { + _sp = _sp.wrappingSubU16(2); + bus.writeWord(_sp, _pc); + _pc = addr; + + _stalls += 24; + } + + void _callU16() { + final addr = bus.readWord(_pc); + _pc = _pc.wrappingAddU16(2); + + _call(addr); + } + + void _callU16Nz() { + final addr = bus.readWord(_pc); + _pc = _pc.wrappingAddU16(2); + + if (!_f.z.val) { + _call(addr); + } + } + + void _callU16Z() { + final addr = bus.readWord(_pc); + _pc = _pc.wrappingAddU16(2); + + if (_f.z.val) { + _call(addr); + } + } + + void _callU16Nc() { + final addr = bus.readWord(_pc); + _pc = _pc.wrappingAddU16(2); + + if (!_f.c.val) { + _call(addr); + } + } + + void _callU16C() { + final addr = bus.readWord(_pc); + _pc = _pc.wrappingAddU16(2); + + if (_f.c.val) { + _call(addr); + } + } + + void _restart(int param) { + final addr = param * 0x08; + _sp = _sp.wrappingSubU16(2); + bus.writeWord(_sp, _pc); + _pc = addr; + + _stalls += 16; + } + + void _ret() { + final addr = bus.readWord(_sp); + _sp = _sp.wrappingAddU16(2); + _pc = addr; + + _stalls += 16; + } + + void _retNz() { + final addr = bus.readWord(_sp); + + if (!_f.z.val) { + _sp = _sp.wrappingAddU16(2); + _pc = addr; + } + + _stalls += 20; + } + + void _retZ() { + final addr = bus.readWord(_sp); + + if (_f.z.val) { + _sp = _sp.wrappingAddU16(2); + _pc = addr; + } + + _stalls += 20; + } + + void _retNc() { + final addr = bus.readWord(_sp); + + if (!_f.c.val) { + _sp = _sp.wrappingAddU16(2); + _pc = addr; + } + + _stalls += 20; + } + + void _retC() { + final addr = bus.readWord(_sp); + + if (_f.c.val) { + _sp = _sp.wrappingAddU16(2); + _pc = addr; + } + + _stalls += 20; + } + + void _reti() { + final addr = bus.readWord(_sp); + _sp = _sp.wrappingAddU16(2); + _pc = addr; + + _ime = true; + + _stalls += 16; + } + + void _swapU8R(int index) { + final val = _r8(index); + final high = val & 0xF0; + final low = val & 0x0F; + final result = (high >> 4) | (low << 4); + + _setR8(index, result); + + _f.z.val = result == 0; + _f.n.reset(); + _f.h.reset(); + _f.c.reset(); + + _stalls += 8; + } + + void _decimalAdjustU8A() { + if (!_f.n.val) { + if (_f.c.val || _a > 0x99) { + _a = _a.wrappingAddU8(0x60); + _f.c.set(); + } + if (_f.h.val || (_a & 0x0F) > 0x09) { + _a = _a.wrappingAddU8(0x06); + } + } else { + if (_f.c.val) { + _a = _a.wrappingSubU8(0x60); + } + if (_f.h.val) { + _a = _a.wrappingSubU8(0x06); + } + } + + _f.z.val = _a == 0; + _f.h.reset(); + + _stalls += 4; + } + + void _complementU8A() { + final val = _a; + final result = (~val).toU8(); + + _a = result; + _f.n.set(); + _f.h.set(); + + _stalls += 4; + } + + void _complementCarry() { + final c = _f.c.val; + final result = !c; + + _f.n.reset(); + _f.h.reset(); + _f.c.val = result; + + _stalls += 4; + } + + void _setCarryFlag() { + _f.n.reset(); + _f.h.reset(); + _f.c.set(); + + _stalls += 4; + } +} diff --git a/lib/emulator/gameboy.dart b/lib/emulator/gameboy.dart new file mode 100644 index 0000000..15fbccc --- /dev/null +++ b/lib/emulator/gameboy.dart @@ -0,0 +1,46 @@ +import 'dart:typed_data'; + +import 'package:dartboy/emulator/bus.dart'; +import 'package:dartboy/emulator/cpu.dart'; +import 'package:dartboy/emulator/joypad.dart'; +import 'package:dartboy/emulator/mbc.dart'; +import 'package:dartboy/emulator/ppu.dart'; +import 'package:dartboy/emulator/rom.dart'; + +class GameBoy { + GameBoy(); + + late Cpu cpu; + bool ready = false; + + void load(Rom rom) { + final mbc = Mbc.fromRom(rom); + final ppu = Ppu(); + final bus = Bus(ppu, mbc); + + cpu = Cpu(bus: bus); + } + + void reset() { + cpu.reset(); + + ready = true; + } + + void press(JoypadKey key) { + cpu.bus.joypad.press(key); + } + + void release(JoypadKey key) { + cpu.bus.joypad.release(key); + } + + void tick() { + cpu.tick(); + cpu.bus.tick(); + } + + Uint8List render() { + return cpu.bus.ppu.render(); + } +} diff --git a/lib/emulator/joypad.dart b/lib/emulator/joypad.dart new file mode 100644 index 0000000..a6d0440 --- /dev/null +++ b/lib/emulator/joypad.dart @@ -0,0 +1,117 @@ +import 'package:dartboy/emulator/utils.dart'; + +enum JoypadKey { + a, + b, + up, + down, + left, + right, + select, + start, +} + +class Joypad { + Joypad(); + + bool _up = false; + bool _down = false; + bool _left = false; + bool _right = false; + bool _a = false; + bool _b = false; + bool _start = false; + bool _select = false; + + bool _direction = false; + bool _button = false; + + bool interrupt = false; + + void press(JoypadKey key) { + switch (key) { + case JoypadKey.a: + _a = true; + break; + case JoypadKey.b: + _b = true; + break; + case JoypadKey.select: + _select = true; + break; + case JoypadKey.start: + _start = true; + break; + case JoypadKey.up: + _up = true; + break; + case JoypadKey.down: + _down = true; + break; + case JoypadKey.right: + _right = true; + break; + case JoypadKey.left: + _left = true; + break; + } + + interrupt = true; + } + + void release(JoypadKey key) { + switch (key) { + case JoypadKey.a: + _a = false; + break; + case JoypadKey.b: + _b = false; + break; + case JoypadKey.select: + _select = false; + break; + case JoypadKey.start: + _start = false; + break; + case JoypadKey.up: + _up = false; + break; + case JoypadKey.down: + _down = false; + break; + case JoypadKey.right: + _right = false; + break; + case JoypadKey.left: + _left = false; + break; + } + } + + int readButton() { + return bitpack( + [true, true, false, !_direction, !_start, !_select, !_b, !_a]); + } + + int readDirection() { + return bitpack( + [true, true, !_button, false, !_down, !_up, !_left, !_right]); + } + + int read() { + if (_direction) { + return readDirection(); + } + + if (_button) { + return readButton(); + } + + return 0xFF; + } + + void write(int val) { + _direction = !isSet(val, 4); + _button = !isSet(val, 5); + } +} diff --git a/lib/emulator/mbc.dart b/lib/emulator/mbc.dart new file mode 100644 index 0000000..0e7968d --- /dev/null +++ b/lib/emulator/mbc.dart @@ -0,0 +1,149 @@ +import 'dart:math'; + +import 'package:dartboy/emulator/rom.dart'; + +abstract class Mbc { + int read(int addr); + void write(int addr, int val); + + factory Mbc.fromRom(Rom rom) { + switch (rom.mbcType) { + case MbcType.romOnly: + return RomOnly(rom); + case MbcType.mbc1: + case MbcType.mbc1Ram: + case MbcType.mbc1RamBattery: + return Mbc1(rom); + + default: + throw ArgumentError.value(rom.mbcType); + } + } +} + +class RomOnly implements Mbc { + RomOnly(this._rom); + + final Rom _rom; + final List _ram = List.filled(8 * 1024, 0, growable: false); + + @override + int read(int addr) { + if (addr >= 0xA000) { + return _ram[addr - 0xA000]; + } + + return _rom.data[addr]; + } + + @override + void write(int addr, int val) { + if (addr >= 0xA000) { + _ram[addr - 0xA000] = val; + } + + return; + } +} + +enum Mbc1SelectMode { + rom, + ram, +} + +class Mbc1 implements Mbc { + Mbc1(this._rom); + + final Rom _rom; + final List _ram = List.filled(32 * 1024, 0, growable: false); + int _romBank = 1; + int _ramBank = 0; + + bool _enableRam = true; + Mbc1SelectMode _selectMode = Mbc1SelectMode.rom; + + int _readRomFromBank(int addr) { + final baseAddr = _romBank * 16 * 1024; + final indexAddr = addr - 0x4000; + return _rom.data[baseAddr + indexAddr]; + } + + int _readRamFromBank(int addr) { + if (!_enableRam) { + print("disabled ram read"); + return 0; + } + + final baseAddr = _ramBank * 8 * 1024; + final indexAddr = addr - 0xA000; + return _ram[baseAddr + indexAddr]; + } + + void _writeRamIntoBank(int addr, int val) { + if (!_enableRam) { + print("disabled ram write"); + return; + } + + final baseAddr = _ramBank * 8 * 1024; + final indexAddr = addr - 0xA000; + + _ram[baseAddr + indexAddr] = val; + } + + @override + int read(int addr) { + if (0x0000 <= addr && addr <= 0x3FFF) return _rom.data[addr]; + if (0x4000 <= addr && addr <= 0x7FFF) return _readRomFromBank(addr); + if (0xA000 <= addr && addr <= 0xBFFF) return _readRamFromBank(addr); + + return 0; + } + + @override + void write(int addr, int val) { + if (0x0000 <= addr && addr <= 0x1FFF) { + if ((val & 0x0F) == 0x0A) { + _enableRam = true; + } else { + _enableRam = false; + } + return; + } + + if (0x2000 <= addr && addr <= 0x3FFF) { + final bank = val & 0x1F; + + _romBank = max(bank, 1); + return; + } + + if (0x4000 <= addr && addr <= 0x5FFF) { + switch (_selectMode) { + case Mbc1SelectMode.rom: + final bankHigh = val & 0x03; + + _romBank |= bankHigh << 5; + break; + + case Mbc1SelectMode.ram: + final bank = val & 0x03; + + _ramBank = bank; + break; + } + return; + } + + if (0x6000 <= addr && addr <= 0x7FFF) { + if (val == 0x01) { + _selectMode = Mbc1SelectMode.ram; + } else { + _selectMode = Mbc1SelectMode.rom; + } + return; + } + + _writeRamIntoBank(addr, val); + } +} diff --git a/lib/emulator/ppu.dart b/lib/emulator/ppu.dart new file mode 100644 index 0000000..7a5d2ab --- /dev/null +++ b/lib/emulator/ppu.dart @@ -0,0 +1,566 @@ +import 'dart:typed_data'; + +import 'package:dartboy/emulator/utils.dart'; + +const _width = 256; +const _height = 256; + +class _LcdControl extends BitFieldU8 { + _LcdControl() : super({}); + + _LcdControl.fromU8(int u8) : super.fromU8(u8); + + Bit get bgWinEnable => value(0); + Bit get spriteEnable => value(1); + Bit get spriteSize => value(2); + Bit get bgTileMapSelect => value(3); + Bit get tileDataSelect => value(4); + Bit get windowDisplayEnable => value(5); + Bit get windowTileMapSelect => value(6); + Bit get lcdDisplayEnable => value(7); +} + +class _LcdStatus extends BitFieldU8 { + _LcdStatus() : super({}); + + _LcdStatus.fromU8(int u8) : super.fromU8(u8); + + Bit get ppuMode0 => value(0); + Bit get ppuMode1 => value(1); + Bit get coincidenceFlag => value(2); + Bit get mode0StatIntEnable => value(3); + Bit get mode1StatIntEnable => value(4); + Bit get mode2StatIntEnable => value(5); + Bit get lycLyStatIntEnable => value(6); +} + +class _SpriteFlags extends BitFieldU8 { + _SpriteFlags() : super({}); + + _SpriteFlags.fromU8(int u8) : super.fromU8(u8); + + Bit get paletteNum => value(4); + Bit get xFlip => value(5); + Bit get yFlip => value(6); + Bit get priority => value(7); +} + +class _Palette { + _Palette(this.values); + + List values; + + _Palette.fromU8(int u8) + : values = List.generate(4, (i) => (u8 >> (2 * i)) & 3); + + int toU8() => values.fold(0, (acc, col) => (acc << 2) | col); +} + +class _Oam { + int yPos = 0; + int xPos = 0; + int tileNum = 0; + _SpriteFlags spriteFlag = _SpriteFlags(); +} + +enum _Mode { + hBlank, + vBlank, + oamScan, + drawing, +} + +class _OamColor { + _OamColor({ + this.index = 0, + this.color = 0, + this.blend = false, + }); + + final int index; + final int color; + final bool blend; + + static List<_OamColor> fromColorIndexes( + List indexes, bool blend, _Palette palette) { + return List.generate(8, (i) { + final index = indexes[i]; + return _OamColor( + index: index, + blend: blend, + color: palette.values[index], + ); + }); + } +} + +class Ppu { + Ppu(); + + final List _vram = List.filled(8 * 1024, 0); + + _Mode _mode = _Mode.oamScan; + _Mode _prevMode = _Mode.vBlank; + + _LcdControl _lcdControl = _LcdControl(); + _LcdStatus _lcdStatus = _LcdStatus(); + int _windowX = 0; + int _windowY = 0; + int _scrollX = 0; + int _scrollY = 0; + + int _cycles = 0; + int _lines = 0; + + int _linesCompare = 0; + + _Palette _bgPalette = _Palette.fromU8(0x00); + _Palette _objectPalette0 = _Palette.fromU8(0x00); + _Palette _objectPalette1 = _Palette.fromU8(0x00); + + bool intVBlank = false; + bool intLcdStat = false; + + int _x = 0; + int _y = 0; + + final List<_Oam> _oam = List.generate(0xA0, (_) => _Oam()); + final List<_Oam> _buffer = []; + + List _bgLine = List.filled(_width, 0); + List<_OamColor> _oamLine = List.generate(_width, (_) => _OamColor()); + List _curBg = List.filled(8, 0); + bool _drawingWindow = false; + + Uint8List pixels = Uint8List(4 * _width * _height); + + static const _colorToPixel = [ + [0xEF, 0xFD, 0xB4, 0xFF], + [0x8C, 0xAE, 0x04, 0xFF], + [0x65, 0x7F, 0x05, 0xFF], + [0x14, 0x19, 0x01, 0xFF], + ]; + + List _tileToIndexes(int tileNum, int row, bool signed) { + var baseAddr = 0x0000; + if (signed) { + baseAddr = 0x9000 - 0x8000; + } + + var indexAddr = row * 2 + tileNum * 16; + if (signed) { + indexAddr = row * 2 + tileNum.toI8() * 16; + } + + final addr = baseAddr.wrappingAddU16(indexAddr); + + var bit = _vram[addr]; + var color = _vram[addr + 1]; + + List indexes = List.filled(8, 0); + + for (var i = 7; i >= 0; i--) { + final index = ((bit & 1) << 1) | (color & 1); + indexes[i] = index; + + bit >>= 1; + color >>= 1; + } + + return indexes; + } + + List _tileMapToColors(int tileX, int tileY, int row, bool high) { + var baseAddr = 0x9800 - 0x8000; + if (high) { + baseAddr = 0x9C00 - 0x8000; + } + + final indexAddr = tileX + tileY * 32; + + final addr = baseAddr.wrappingAddU16(indexAddr); + + final tileNum = _vram[addr]; + + return _tileToIndexes(tileNum, row, !_lcdControl.tileDataSelect.val); + } + + List<_OamColor> _oamToColors(_Oam oam) { + var row = _y + 16 - oam.yPos; + var tile = oam.tileNum; + + if (oam.spriteFlag.yFlip.val) { + var limit = 8; + + if (_lcdControl.spriteSize.val) { + limit = 16; + } + + row = limit - row - 1; + } + + if (row >= 8) { + row -= 8; + tile += 1; + } + + var palette = _objectPalette0; + + if (oam.spriteFlag.paletteNum.val) { + palette = _objectPalette1; + } + + final blend = oam.spriteFlag.priority; + + var colors = _OamColor.fromColorIndexes( + _tileToIndexes(tile, row, false), blend.val, palette); + + if (oam.spriteFlag.xFlip.val) { + colors = colors.reversed.toList(); + } + + return colors; + } + + void _scanOam(int i) { + var size = 8; + if (_lcdControl.spriteSize.val) { + size = 16; + } + + final o = _oam[i]; + final curY = _lines + 16; + final targetY = o.yPos; + + if (o.xPos > 8 && + curY < targetY + size && + targetY <= curY && + _buffer.length < 10) { + _buffer.add(o); + } + } + + void _drawBg() { + if (_drawingWindow) { + return; + } + + final cx = _x.wrappingAddU8(_scrollX); + final cy = _y.wrappingAddU8(_scrollY); + final col = cx % 8; + final row = cy % 8; + final tileX = cx ~/ 8; + final tileY = cy ~/ 8; + + if (col == 0 || _x == 0) { + _curBg = + _tileMapToColors(tileX, tileY, row, _lcdControl.bgTileMapSelect.val); + } + + _bgLine[_x] = _curBg[col]; + } + + void _drawWindow() { + if (!_drawingWindow && !(_x + 7 == _windowX && _y >= _windowY)) { + return; + } + + _drawingWindow = true; + + final cx = _x.wrappingSubU8(_windowX); + final cy = _y.wrappingSubU8(_windowY); + final col = cx % 8; + final row = cy % 8; + final tileX = cx ~/ 8; + final tileY = cy ~/ 8; + + if (col == 0 || _x == 0) { + _curBg = _tileMapToColors( + tileX, + tileY, + row, + _lcdControl.windowTileMapSelect.val, + ); + } + _bgLine[_x] = _curBg[col]; + } + + void _drawSprite() { + for (final oam in _buffer) { + if (oam.xPos == _x + 8) { + final colors = _oamToColors(oam); + + for (var i = 0; i < 8; i++) { + _oamLine[_x + i] = colors[i]; + } + } + } + } + + void _putPixels(int x) { + final index = _bgLine[x]; + var color = _bgPalette.values[index]; + + final oam = _oamLine[x]; + + if ((!oam.blend || index == 0) && oam.index != 0) { + color = oam.color; + } + + final pixel = _colorToPixel[color]; + for (var i = 0; i < 4; i++) { + pixels[(x + _y * _width) * 4 + i] = pixel[i]; + } + } + + void tick() { + _cycles += 1; + + if (_cycles >= 456) { + _cycles = 0; + _lines += 1; + _buffer.clear(); + _bgLine = List.filled(_width, 0); + _oamLine = List.generate(_width, (_) => _OamColor()); + } + + if (_lines >= 154) { + _lines = 0; + } + + if (_cycles == 80) { + _x = 0; + } + + if (_lines == 0) { + _y = 0; + } + + if (_lines < 144) { + _y = _lines; + + if (0 <= _cycles && _cycles <= 79) { + _mode = _Mode.oamScan; + } + + if (_cycles == 80) { + _mode = _Mode.drawing; + } + + if (81 <= _cycles && _cycles <= 239) { + _x += 1; + } + + if (240 <= _cycles && _cycles <= 455) { + _mode = _Mode.hBlank; + } + } + + if (_lines == 144) { + _mode = _Mode.vBlank; + } + + switch (_mode) { + case _Mode.drawing: + if (_prevMode != _mode) { + _lcdStatus.ppuMode0.set(); + _lcdStatus.ppuMode1.set(); + } + + if (_lcdControl.bgWinEnable.val) { + if (_lcdControl.windowDisplayEnable.val) { + _drawWindow(); + } + + _drawBg(); + } + + if (_lcdControl.spriteEnable.val) { + _drawSprite(); + } + break; + case _Mode.hBlank: + if (_prevMode != _mode) { + _lcdStatus.ppuMode0.reset(); + _lcdStatus.ppuMode1.reset(); + + intLcdStat |= _lcdStatus.mode0StatIntEnable.val; + + _lcdStatus.coincidenceFlag.val = _lines == _linesCompare; + + intLcdStat |= _lcdStatus.lycLyStatIntEnable.val && + _lcdStatus.coincidenceFlag.val; + + _drawingWindow = false; + } + + if (_cycles < 400) { + _putPixels(_cycles - 240); + } + break; + case _Mode.oamScan: + if (_prevMode != _mode) { + _lcdStatus.ppuMode0.reset(); + _lcdStatus.ppuMode1.set(); + + intLcdStat |= _lcdStatus.mode2StatIntEnable.val; + } + + if (_cycles % 2 == 0) { + _scanOam(_cycles ~/ 2); + } + break; + case _Mode.vBlank: + if (_prevMode != _mode) { + _lcdStatus.ppuMode0.set(); + _lcdStatus.ppuMode1.reset(); + + intVBlank = true; + + intLcdStat |= _lcdStatus.mode1StatIntEnable.val; + } + + break; + default: + } + + _prevMode = _mode; + } + + int read(int addr) { + return _vram[addr - 0x8000]; + } + + void write(int addr, int val) { + _vram[addr - 0x8000] = val; + } + + int readOam(int addr) { + final indexAddr = addr - 0xFE00; + final index = indexAddr ~/ 4; + final offset = indexAddr % 4; + final o = _oam[index]; + + switch (offset) { + case 0: + return o.yPos; + case 1: + return o.xPos; + case 2: + return o.tileNum; + case 3: + return o.spriteFlag.toU8(); + default: + return 0; + } + } + + void writeOam(int addr, int val) { + final indexAddr = addr - 0xFE00; + final index = indexAddr ~/ 4; + final offset = indexAddr % 4; + + switch (offset) { + case 0: + _oam[index].yPos = val; + break; + case 1: + _oam[index].xPos = val; + break; + case 2: + _oam[index].tileNum = val; + break; + case 3: + _oam[index].spriteFlag = _SpriteFlags.fromU8(val); + break; + } + } + + int readLcdControl() { + return _lcdControl.toU8(); + } + + void writeLcdControl(int val) { + _lcdControl = _LcdControl.fromU8(val); + } + + int readLcdStatus() { + return _lcdStatus.toU8(); + } + + void writeLcdStatus(int val) { + _lcdStatus = _LcdStatus.fromU8(val); + } + + int readScrollY() { + return _scrollY; + } + + void writeScrollY(int val) { + _scrollY = val; + } + + int readScrollX() { + return _scrollX; + } + + void writeScrollX(int val) { + _scrollX = val; + } + + int readLines() { + return _lines; + } + + int readLineCompare() { + return _linesCompare; + } + + void writeLineCompare(int val) { + _linesCompare = val; + } + + int readWindowX() { + return _windowX; + } + + void writeWindowX(int val) { + _windowX = val; + } + + int readWindowY() { + return _windowY; + } + + void writeWindowY(int val) { + _windowY = val; + } + + int readBgPalette() { + return _bgPalette.toU8(); + } + + void writeBgPalette(int val) { + _bgPalette = _Palette.fromU8(val); + } + + int readObjectPalette0() { + return _objectPalette0.toU8(); + } + + void writeObjectPalette0(int val) { + _objectPalette0 = _Palette.fromU8(val); + } + + int readObjectPalette1() { + return _objectPalette1.toU8(); + } + + void writeObjectPalette1(int val) { + _objectPalette1 = _Palette.fromU8(val); + } + + Uint8List render() { + return Uint8List.fromList(pixels.toList()); + } +} diff --git a/lib/emulator/rom.dart b/lib/emulator/rom.dart new file mode 100644 index 0000000..aa7f273 --- /dev/null +++ b/lib/emulator/rom.dart @@ -0,0 +1,135 @@ +import 'package:dartboy/emulator/utils.dart'; + +enum MbcType { + romOnly, + mbc1, + mbc1Ram, + mbc1RamBattery, + mbc2, + mbc2Battery, + romRam, + romRamBattery, + mmm01, + mmm01Ram, + mmm01RamBattery, + mbc3, + mbc3Ram, + mbc3RamBattery, +} + +extension MbcTypeExt on MbcType { + static MbcType fromU8(int u8) { + switch (u8) { + case 0x00: + return MbcType.romOnly; + case 0x01: + return MbcType.mbc1; + case 0x02: + return MbcType.mbc1Ram; + case 0x03: + return MbcType.mbc1RamBattery; + case 0x05: + return MbcType.mbc2; + case 0x06: + return MbcType.mbc2Battery; + case 0x08: + return MbcType.romRam; + case 0x09: + return MbcType.romRamBattery; + case 0x0b: + return MbcType.mmm01; + case 0x0c: + return MbcType.mmm01Ram; + case 0x0d: + return MbcType.mmm01RamBattery; + case 0x11: + return MbcType.mbc3; + case 0x12: + return MbcType.mbc3Ram; + case 0x13: + return MbcType.mbc3RamBattery; + default: + throw ArgumentError.value(u8); + } + } +} + +class Rom { + late MbcType mbcType; + late int romSize; + late int ramSize; + late int headerChecksum; + late List data; + + Rom(this.data) { + mbcType = MbcTypeExt.fromU8(data[0x0147]); + + final size = data[0x0148]; + switch (size) { + case 0x00: + case 0x01: + case 0x02: + case 0x03: + case 0x04: + case 0x05: + case 0x06: + case 0x07: + case 0x08: + romSize = (32 * 1024) << size; + break; + case 0x52: + romSize = (1.1 * 1024 * 1024).floor(); + break; + + case 0x53: + romSize = (1.2 * 1024 * 1024).floor(); + break; + + case 0x54: + romSize = (1.5 * 1024 * 1024).floor(); + break; + + default: + throw ArgumentError.value(size); + } + + switch (data[0x0149]) { + case 0x00: + ramSize = 0; + break; + case 0x01: + ramSize = 2 * 1024 * 1024; + break; + case 0x02: + ramSize = 8 * 1024 * 1024; + break; + case 0x03: + ramSize = 32 * 1024 * 1024; + break; + case 0x04: + ramSize = 128 * 1024 * 1024; + break; + case 0x05: + ramSize = 64 * 1024 * 1024; + break; + default: + throw ArgumentError.value(data[0x0149]); + } + + headerChecksum = data[0x014D]; + + var chksum = 0; + + for (var i = 0x0134; i <= 0x014C; i++) { + chksum = chksum.wrappingSubU8(data[i]).wrappingSubU8(1); + } + + if (headerChecksum != chksum) { + throw StateError('header checksum mismatch'); + } + + if (romSize != data.length) { + throw StateError('rom size mismatch'); + } + } +} diff --git a/lib/emulator/timer.dart b/lib/emulator/timer.dart new file mode 100644 index 0000000..5a06f36 --- /dev/null +++ b/lib/emulator/timer.dart @@ -0,0 +1,106 @@ +import 'package:dartboy/emulator/utils.dart'; + +enum _Clock { + clock4096, + clock262144, + clock65536, + clock16384, +} + +class Timer { + int _counter = 0; + int _tima = 0; + int _tma = 0; + bool _enable = false; + _Clock _clock = _Clock.clock4096; + bool _prev = false; + + bool interrupt = false; + + void _sync() { + var cur = false; + + if (_enable) { + int mask; + switch (_clock) { + case _Clock.clock4096: + mask = 1 << 9; + break; + + case _Clock.clock262144: + mask = 1 << 3; + break; + + case _Clock.clock65536: + mask = 1 << 5; + break; + + case _Clock.clock16384: + mask = 1 << 7; + break; + } + + cur = _counter & mask > 0; + } + + if (_prev && !cur) { + _tima = _tima.wrappingAddU8(1); + + if (_counter % 4 == 0 && _tima == 0) { + _tima = _tma; + interrupt = true; + } + } + + _prev = cur; + } + + void tick() { + _counter = _counter.wrappingAddU16(1); + + _sync(); + } + + int readDiv() => (_counter >> 8).toU8(); + + void writeDiv(int _) { + _counter = 0; + } + + int readTima() => _tima; + + void writeTima(int val) { + _sync(); + + _tima = val; + } + + int readTma() => _tma; + + void writeTma(int val) { + _tma = val; + + _sync(); + } + + int readTac() { + return bitpack([ + false, + false, + false, + false, + false, + _enable, + isSet(_clock.index, 1), + isSet(_clock.index, 0) + ]); + } + + void writeTac(int val) { + _enable = isSet(val, 2); + + final index = val & 3; + + _clock = _Clock.values[index]; + } +} diff --git a/lib/emulator/utils.dart b/lib/emulator/utils.dart new file mode 100644 index 0000000..633e066 --- /dev/null +++ b/lib/emulator/utils.dart @@ -0,0 +1,102 @@ +bool isSet(int val, int offset) { + return val & (1 << offset) > 0; +} + +int oneHot(bool? v, int offset) { + return ((v ?? false) ? 1 : 0) << offset; +} + +int bitpack(List list) { + return List.generate(8, (i) => oneHot(list[i], 7 - i)) + .fold(0, (acc, v) => acc | v); +} + +int decodeX(int opecode) { + return (opecode >> 3) & 7; +} + +int decodeY(int opecode) { + return opecode & 7; +} + +int decodeR(int opecode) { + return (opecode >> 4) & 3; +} + +class Bit { + Bit(this.val); + + factory Bit.fromU8(int u8, int index) => Bit(isSet(u8, index)); + + bool val; + + void set() { + val = true; + } + + void reset() { + val = false; + } +} + +class BitFieldU8 { + BitFieldU8(Map _values) + : values = Map.fromEntries( + List.generate(8, (i) => MapEntry(i, Bit(_values[i] ?? false)))); + + BitFieldU8.fromU8(int u8) + : values = Map.fromEntries( + List.generate(8, (i) => MapEntry(i, Bit.fromU8(u8, i)))); + + Map values; + + Bit value(int offset) { + assert(0 <= offset && offset < 8); + return values[offset]!; + } + + int toU8() => List.generate(8, (i) => oneHot(values[i]!.val, i)) + .fold(0, (acc, val) => acc | val); +} + +extension IntExt on int { + int wrappingAddU8(int rhs) { + return (this + rhs).toU8(); + } + + int wrappingAddU16(int rhs) { + return (this + rhs).toU16(); + } + + int wrappingSubU8(int rhs) { + return (this - rhs).toU8(); + } + + int wrappingSubU16(int rhs) { + return (this - rhs).toU16(); + } + + int rotateLeftU8() { + final left = isSet(this, 7); + return ((this << 1) | (left ? 1 : 0)).toU8(); + } + + int rotateRightU8() { + final right = isSet(this, 0); + return (this >> 1).toU8() | oneHot(right, 7); + } + + int toU8() { + return this & 0xFF; + } + + int toU16() { + return this & 0xFFFF; + } + + int toI8() { + if (!isSet(this, 7)) return this; + + return this - 0x0100; + } +} diff --git a/lib/main.dart b/lib/main.dart new file mode 100644 index 0000000..8eafa74 --- /dev/null +++ b/lib/main.dart @@ -0,0 +1,670 @@ +import 'dart:async'; +import 'dart:io'; +import 'dart:isolate'; +import 'dart:math'; +import 'dart:typed_data'; +import 'dart:ui' as ui; + +import 'package:dartboy/emulator/gameboy.dart'; +import 'package:dartboy/emulator/joypad.dart'; +import 'package:dartboy/emulator/rom.dart'; +import 'package:file_picker/file_picker.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter/painting.dart'; +import 'package:flutter/services.dart'; + +const _width = 160.0; +const _height = 144.0; +const _primaryColor = Color.fromARGB(255, 67, 57, 180); +const _buttonColor = Color.fromARGB(255, 140, 25, 82); +const _directionColor = Color.fromARGB(255, 22, 24, 29); +const _gbColor = Color.fromARGB(255, 204, 202, 195); +const _seColor = Color.fromARGB(255, 117, 116, 118); +const _paddingColor = Color.fromARGB(255, 99, 97, 110); +const _screenColor = Color.fromARGB(255, 98, 122, 3); + +void main() { + final parentRx = ReceivePort(); + + Isolate.spawn(_launchGameboy, parentRx.sendPort); + + ValueNotifier image = ValueNotifier(null); + ValueNotifier fps = ValueNotifier(0); + SendPort? childTx; + + parentRx.listen((e) { + if (e is SendPort) { + childTx = e; + } + + if (e is RenderFrameEvent) { + ui.decodeImageFromPixels(e.frame, 256, 256, ui.PixelFormat.rgba8888, + (result) { + image.value = result; + }); + } + + if (e is FpsUpdateEvent) { + fps.value = e.fps; + } + }); + + runApp(MyApp( + image: image, + fps: fps, + onRomSelected: (bytes) { + childTx?.send(FileSelectedEvent(bytes)); + }, + onKeyPressed: (key) { + childTx?.send(KeyPressedEvent(key)); + }, + onKeyReleased: (key) { + childTx?.send(KeyReleasedEvent(key)); + }, + )); +} + +void _launchGameboy(SendPort parentTx) async { + final childRx = ReceivePort(); + + parentTx.send(childRx.sendPort); + + final gb = GameBoy(); + + childRx.listen((message) { + if (message is FileSelectedEvent) { + final rom = Rom(message.bytes); + + gb.load(rom); + gb.reset(); + } + + if (message is KeyPressedEvent) { + if (gb.ready) gb.press(message.key); + } + + if (message is KeyReleasedEvent) { + if (gb.ready) gb.release(message.key); + } + }); + + var prevDateTime = DateTime.now(); + var frameCount = 0; + var fpsTotal = 0.0; + var sleep = const Duration(milliseconds: 16); + + while (true) { + if (gb.ready) { + for (var i = 0; i < 70224; i++) { + gb.tick(); + } + + final pixels = gb.render(); + + parentTx.send(RenderFrameEvent(pixels)); + } + + frameCount += 1; + + await Future.delayed(sleep); + + final current = DateTime.now(); + final elapsed = current.difference(prevDateTime); + final fps = (1000 / elapsed.inMilliseconds).clamp(0, 80); + + sleep = Duration( + milliseconds: max((sleep.inMilliseconds + (fps - 60.0)).floor(), 0), + ); + + fpsTotal += fps; + + if (frameCount >= 60) { + parentTx.send(FpsUpdateEvent((fpsTotal / frameCount).floor())); + + frameCount = 0; + fpsTotal = 0; + } + + prevDateTime = current; + } +} + +class FpsUpdateEvent { + FpsUpdateEvent(this.fps); + + final int fps; +} + +class RenderFrameEvent { + RenderFrameEvent(this.frame); + + final Uint8List frame; +} + +class FileSelectedEvent { + FileSelectedEvent(this.bytes); + + final Uint8List bytes; +} + +class KeyPressedEvent { + KeyPressedEvent(this.key); + + final JoypadKey key; +} + +class KeyReleasedEvent { + KeyReleasedEvent(this.key); + + final JoypadKey key; +} + +class MyApp extends StatelessWidget { + const MyApp({ + Key? key, + required this.image, + required this.fps, + required this.onRomSelected, + required this.onKeyPressed, + required this.onKeyReleased, + }) : super(key: key); + + final ValueNotifier fps; + final ValueNotifier image; + final void Function(Uint8List) onRomSelected; + final void Function(JoypadKey) onKeyPressed; + final void Function(JoypadKey) onKeyReleased; + + @override + Widget build(BuildContext context) { + return MaterialApp( + title: 'DART BOY', + theme: ThemeData( + primaryColor: _primaryColor, + canvasColor: _gbColor, + ), + home: MyHomePage( + title: 'DART BOY', + fps: fps, + image: image, + onRomSelected: onRomSelected, + onKeyPressed: onKeyPressed, + onKeyReleased: onKeyReleased, + ), + ); + } +} + +class MyHomePage extends StatefulWidget { + const MyHomePage({ + Key? key, + required this.title, + required this.fps, + required this.image, + required this.onRomSelected, + required this.onKeyPressed, + required this.onKeyReleased, + }) : super(key: key); + + final String title; + final ValueNotifier fps; + final ValueNotifier image; + final void Function(Uint8List) onRomSelected; + final void Function(JoypadKey) onKeyPressed; + final void Function(JoypadKey) onKeyReleased; + + @override + State createState() => _MyHomePageState(); +} + +class _MyHomePageState extends State { + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: AppBar( + foregroundColor: _primaryColor, + backgroundColor: _gbColor, + title: Text(widget.title, + style: const TextStyle( + fontSize: 32.0, + fontWeight: FontWeight.w800, + fontStyle: FontStyle.italic, + )), + ), + body: Column( + crossAxisAlignment: CrossAxisAlignment.stretch, + children: [ + Expanded( + child: _Screen( + fps: widget.fps, + image: widget.image, + ), + ), + Expanded( + child: _Controller( + onKeyPressed: widget.onKeyPressed, + onKeyReleased: widget.onKeyReleased, + ), + ), + ], + ), + floatingActionButton: FloatingActionButton( + onPressed: () async { + final result = await FilePicker.platform.pickFiles(); + if (result == null) return; + + var bytes = result.files.first.bytes; + + if (bytes == null) { + final file = File(result.paths.first!); + + bytes = await file.readAsBytes(); + } + + widget.onRomSelected(bytes); + }, + backgroundColor: _seColor, + child: const Icon( + Icons.file_upload, + color: Colors.white, + )), + ); + } +} + +class _Screen extends StatefulWidget { + const _Screen({ + Key? key, + required this.fps, + required this.image, + }) : super(key: key); + + final ValueNotifier fps; + final ValueNotifier image; + + @override + State createState() => _ScreenState(); +} + +class _ScreenState extends State<_Screen> { + @override + void initState() { + super.initState(); + + widget.image.addListener(_rebuild); + } + + @override + void dispose() { + super.dispose(); + widget.image.removeListener(_rebuild); + } + + void _rebuild() { + setState(() {}); + } + + @override + Widget build(BuildContext context) { + return ColoredBox( + color: _paddingColor, + child: FittedBox( + child: Card( + elevation: 10, + clipBehavior: Clip.antiAlias, + child: CustomPaint( + painter: _ScreenPainter( + image: widget.image.value, + ), + child: SizedBox( + width: _width, + height: _height, + child: Align( + alignment: Alignment.topRight, + child: Padding( + padding: const EdgeInsets.all(8.0), + child: Text( + widget.fps.value.toString(), + style: const TextStyle( + color: _primaryColor, + fontSize: 6.0, + ), + ), + ), + ), + ), + ), + ), + ), + ); + } +} + +class _Controller extends StatelessWidget { + const _Controller({ + Key? key, + required this.onKeyPressed, + required this.onKeyReleased, + }) : super(key: key); + + final void Function(JoypadKey key) onKeyPressed; + final void Function(JoypadKey key) onKeyReleased; + + static final _keyToJoypadKeyMap = { + LogicalKeyboardKey.keyZ: JoypadKey.a, + LogicalKeyboardKey.keyX: JoypadKey.b, + LogicalKeyboardKey.keyV: JoypadKey.start, + LogicalKeyboardKey.keyC: JoypadKey.select, + LogicalKeyboardKey.arrowUp: JoypadKey.up, + LogicalKeyboardKey.arrowDown: JoypadKey.down, + LogicalKeyboardKey.arrowRight: JoypadKey.right, + LogicalKeyboardKey.arrowLeft: JoypadKey.left, + }; + + @override + Widget build(BuildContext context) { + return KeyboardListener( + onKeyEvent: (key) { + final joypadKey = _keyToJoypadKeyMap[key.logicalKey]; + if (joypadKey == null) return; + + if (key is KeyDownEvent) { + onKeyPressed(joypadKey); + } + if (key is KeyUpEvent) { + onKeyReleased(joypadKey); + } + }, + focusNode: FocusNode(), + autofocus: true, + child: FittedBox( + child: SizedBox( + width: 500, + height: 400, + child: ClipPath( + clipBehavior: Clip.antiAlias, + child: CustomPaint( + painter: const _ControllerPainter(), + child: Stack( + children: [ + Positioned( + top: 100, + right: 40, + width: 60, + height: 40, + child: _ControllerButton( + onPressed: () => onKeyPressed(JoypadKey.a), + onReleased: () => onKeyReleased(JoypadKey.a), + color: _buttonColor, + child: const Text( + 'A', + style: TextStyle( + color: Colors.white, + ), + ), + ), + ), + Positioned( + top: 100, + right: 110, + width: 60, + height: 40, + child: _ControllerButton( + onPressed: () => onKeyPressed(JoypadKey.b), + onReleased: () => onKeyReleased(JoypadKey.b), + color: _buttonColor, + child: const Text( + 'B', + style: TextStyle( + color: Colors.white, + ), + ), + ), + ), + Positioned( + top: 100, + left: 30, + width: 50, + height: 50, + child: _ControllerButton( + onPressed: () => onKeyPressed(JoypadKey.left), + onReleased: () => onKeyReleased(JoypadKey.left), + color: _directionColor, + child: const Icon( + Icons.arrow_left_rounded, + color: Colors.white, + semanticLabel: 'left', + ), + ), + ), + Positioned( + top: 100, + left: 130, + width: 50, + height: 50, + child: _ControllerButton( + onPressed: () => onKeyPressed(JoypadKey.right), + onReleased: () => onKeyReleased(JoypadKey.right), + color: _directionColor, + child: const Icon( + Icons.arrow_right_rounded, + color: Colors.white, + semanticLabel: 'right', + ), + ), + ), + Positioned( + top: 50, + left: 80, + width: 50, + height: 50, + child: _ControllerButton( + onPressed: () => onKeyPressed(JoypadKey.up), + onReleased: () => onKeyReleased(JoypadKey.up), + color: _directionColor, + child: const Icon( + Icons.arrow_drop_up_sharp, + color: Colors.white, + semanticLabel: 'up', + ), + ), + ), + Positioned( + top: 150, + left: 80, + width: 50, + height: 50, + child: _ControllerButton( + onPressed: () => onKeyPressed(JoypadKey.down), + onReleased: () => onKeyReleased(JoypadKey.down), + color: _directionColor, + child: const Icon( + Icons.arrow_drop_down_sharp, + color: Colors.white, + semanticLabel: 'down', + ), + ), + ), + Positioned( + bottom: 80, + left: 0, + right: 0, + height: 40, + child: Center( + child: SizedBox( + width: 220, + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Transform.rotate( + angle: -1 / 6 * pi, + child: SizedBox( + width: 100, + height: double.infinity, + child: _ControllerButton( + onPressed: () => + onKeyPressed(JoypadKey.select), + onReleased: () => + onKeyReleased(JoypadKey.select), + color: _seColor, + child: const Text( + 'SELECT', + style: TextStyle( + color: Colors.white, + ), + ), + ), + ), + ), + Transform.rotate( + angle: -1 / 6 * pi, + child: SizedBox( + width: 100, + height: double.infinity, + child: _ControllerButton( + onPressed: () => + onKeyPressed(JoypadKey.start), + onReleased: () => + onKeyReleased(JoypadKey.start), + color: _seColor, + child: const Text( + 'START', + style: TextStyle( + color: Colors.white, + ), + ), + ), + ), + ), + ], + ), + ), + ), + ), + ], + ), + ), + ), + ), + ), + ); + } +} + +class _ControllerButton extends StatelessWidget { + const _ControllerButton({ + Key? key, + required this.color, + required this.onPressed, + required this.onReleased, + required this.child, + }) : super(key: key); + + final Color color; + final void Function() onPressed; + final void Function() onReleased; + final Widget child; + + @override + Widget build(BuildContext context) { + return Semantics( + button: true, + child: Material( + color: color, + elevation: 5, + shape: const RoundedRectangleBorder( + borderRadius: BorderRadius.all(Radius.circular(8.0)), + ), + child: InkWell( + onTapDown: (_) => onPressed(), + onTap: () => onReleased(), + onTapCancel: () => onReleased(), + child: Center(child: child), + ), + ), + ); + } +} + +class _ScreenPainter extends CustomPainter { + const _ScreenPainter({ + required this.image, + }); + + final ui.Image? image; + + @override + void paint(ui.Canvas canvas, ui.Size size) { + final paint = Paint()..color = _screenColor; + + canvas.drawRect(Rect.fromLTWH(0, 0, size.width, size.height), paint); + + if (image != null) { + canvas.drawImageRect( + image!, + const Rect.fromLTWH(0, 0, _width, _height), + Rect.fromLTWH( + 0, + 0, + size.width, + size.height, + ), + paint, + ); + } + } + + @override + bool shouldRepaint(covariant CustomPainter oldDelegate) { + return true; + } +} + +class _ControllerPainter extends CustomPainter { + const _ControllerPainter(); + + @override + void paint(ui.Canvas canvas, ui.Size size) { + const color = Color.fromARGB(60, 117, 113, 103); + final paint = Paint()..color = color; + + const width = 16.0; + const height = 80.0; + + canvas.translate( + size.width - 2 * 6 * width - 10.0, + size.height - height - 10.0, + ); + canvas.rotate(-1 / 6 * pi); + + for (int i = 0; i < 6; i++) { + final x = width * i * 2.0; + const y = 0.0; + canvas.drawRRect( + RRect.fromLTRBR( + x, + y, + x + width, + y + height, + const Radius.circular(4.0), + ), + paint, + ); + } + + canvas.drawRect( + const Rect.fromLTWH( + -100, + height - 30, + 2 * 6 * width + 200, + 200, + ), + paint, + ); + } + + @override + bool shouldRepaint(covariant CustomPainter oldDelegate) { + return false; + } +} diff --git a/macos/.gitignore b/macos/.gitignore new file mode 100644 index 0000000..746adbb --- /dev/null +++ b/macos/.gitignore @@ -0,0 +1,7 @@ +# Flutter-related +**/Flutter/ephemeral/ +**/Pods/ + +# Xcode-related +**/dgph +**/xcuserdata/ diff --git a/macos/Flutter/Flutter-Debug.xcconfig b/macos/Flutter/Flutter-Debug.xcconfig new file mode 100644 index 0000000..4b81f9b --- /dev/null +++ b/macos/Flutter/Flutter-Debug.xcconfig @@ -0,0 +1,2 @@ +#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig" +#include "ephemeral/Flutter-Generated.xcconfig" diff --git a/macos/Flutter/Flutter-Release.xcconfig b/macos/Flutter/Flutter-Release.xcconfig new file mode 100644 index 0000000..5caa9d1 --- /dev/null +++ b/macos/Flutter/Flutter-Release.xcconfig @@ -0,0 +1,2 @@ +#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig" +#include "ephemeral/Flutter-Generated.xcconfig" diff --git a/macos/Flutter/GeneratedPluginRegistrant.swift b/macos/Flutter/GeneratedPluginRegistrant.swift new file mode 100644 index 0000000..cccf817 --- /dev/null +++ b/macos/Flutter/GeneratedPluginRegistrant.swift @@ -0,0 +1,10 @@ +// +// Generated file. Do not edit. +// + +import FlutterMacOS +import Foundation + + +func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) { +} diff --git a/macos/Podfile b/macos/Podfile new file mode 100644 index 0000000..c795730 --- /dev/null +++ b/macos/Podfile @@ -0,0 +1,43 @@ +platform :osx, '10.14' + +# CocoaPods analytics sends network stats synchronously affecting flutter build latency. +ENV['COCOAPODS_DISABLE_STATS'] = 'true' + +project 'Runner', { + 'Debug' => :debug, + 'Profile' => :release, + 'Release' => :release, +} + +def flutter_root + generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'ephemeral', 'Flutter-Generated.xcconfig'), __FILE__) + unless File.exist?(generated_xcode_build_settings_path) + raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure \"flutter pub get\" is executed first" + end + + File.foreach(generated_xcode_build_settings_path) do |line| + matches = line.match(/FLUTTER_ROOT\=(.*)/) + return matches[1].strip if matches + end + raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Flutter-Generated.xcconfig, then run \"flutter pub get\"" +end + +require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root) + +flutter_macos_podfile_setup + +target 'Runner' do + use_frameworks! + use_modular_headers! + + flutter_install_all_macos_pods File.dirname(File.realpath(__FILE__)) + target 'RunnerTests' do + inherit! :search_paths + end +end + +post_install do |installer| + installer.pods_project.targets.each do |target| + flutter_additional_macos_build_settings(target) + end +end diff --git a/macos/Podfile.lock b/macos/Podfile.lock new file mode 100644 index 0000000..ed516fa --- /dev/null +++ b/macos/Podfile.lock @@ -0,0 +1,16 @@ +PODS: + - FlutterMacOS (1.0.0) + +DEPENDENCIES: + - FlutterMacOS (from `Flutter/ephemeral`) + +EXTERNAL SOURCES: + FlutterMacOS: + :path: Flutter/ephemeral + +SPEC CHECKSUMS: + FlutterMacOS: 8f6f14fa908a6fb3fba0cd85dbd81ec4b251fb24 + +PODFILE CHECKSUM: 236401fc2c932af29a9fcf0e97baeeb2d750d367 + +COCOAPODS: 1.13.0 diff --git a/macos/Runner.xcodeproj/project.pbxproj b/macos/Runner.xcodeproj/project.pbxproj new file mode 100644 index 0000000..f8fe547 --- /dev/null +++ b/macos/Runner.xcodeproj/project.pbxproj @@ -0,0 +1,783 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 54; + objects = { + +/* Begin PBXAggregateTarget section */ + 33CC111A2044C6BA0003C045 /* Flutter Assemble */ = { + isa = PBXAggregateTarget; + buildConfigurationList = 33CC111B2044C6BA0003C045 /* Build configuration list for PBXAggregateTarget "Flutter Assemble" */; + buildPhases = ( + 33CC111E2044C6BF0003C045 /* ShellScript */, + ); + dependencies = ( + ); + name = "Flutter Assemble"; + productName = FLX; + }; +/* End PBXAggregateTarget section */ + +/* Begin PBXBuildFile section */ + 28357809A88CF6D9A1255918 /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8B151D3C397335FA112BA759 /* Pods_RunnerTests.framework */; }; + 331C80D8294CF71000263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C80D7294CF71000263BE5 /* RunnerTests.swift */; }; + 335BBD1B22A9A15E00E9071D /* GeneratedPluginRegistrant.swift in Sources */ = {isa = PBXBuildFile; fileRef = 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */; }; + 33CC10F12044A3C60003C045 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC10F02044A3C60003C045 /* AppDelegate.swift */; }; + 33CC10F32044A3C60003C045 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F22044A3C60003C045 /* Assets.xcassets */; }; + 33CC10F62044A3C60003C045 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F42044A3C60003C045 /* MainMenu.xib */; }; + 33CC11132044BFA00003C045 /* MainFlutterWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */; }; + D6F93CF7F0CA36252F4AD3D2 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1D1874941DD33C9FCF1F1F69 /* Pods_Runner.framework */; }; +/* End PBXBuildFile section */ + +/* Begin PBXContainerItemProxy section */ + 331C80D9294CF71000263BE5 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 33CC10E52044A3C60003C045 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 33CC10EC2044A3C60003C045; + remoteInfo = Runner; + }; + 33CC111F2044C79F0003C045 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 33CC10E52044A3C60003C045 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 33CC111A2044C6BA0003C045; + remoteInfo = FLX; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXCopyFilesBuildPhase section */ + 33CC110E2044A8840003C045 /* Bundle Framework */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + ); + name = "Bundle Framework"; + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXCopyFilesBuildPhase section */ + +/* Begin PBXFileReference section */ + 1A2E2B151B48AC4DFB2AD9BB /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; + 1D1874941DD33C9FCF1F1F69 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 331C80D5294CF71000263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + 331C80D7294CF71000263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; + 333000ED22D3DE5D00554162 /* Warnings.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Warnings.xcconfig; sourceTree = ""; }; + 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GeneratedPluginRegistrant.swift; sourceTree = ""; }; + 33CC10ED2044A3C60003C045 /* dartboy.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = dartboy.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 33CC10F02044A3C60003C045 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; + 33CC10F22044A3C60003C045 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Assets.xcassets; path = Runner/Assets.xcassets; sourceTree = ""; }; + 33CC10F52044A3C60003C045 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/MainMenu.xib; sourceTree = ""; }; + 33CC10F72044A3C60003C045 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = Runner/Info.plist; sourceTree = ""; }; + 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MainFlutterWindow.swift; sourceTree = ""; }; + 33CEB47222A05771004F2AC0 /* Flutter-Debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Flutter-Debug.xcconfig"; sourceTree = ""; }; + 33CEB47422A05771004F2AC0 /* Flutter-Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Flutter-Release.xcconfig"; sourceTree = ""; }; + 33CEB47722A0578A004F2AC0 /* Flutter-Generated.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = "Flutter-Generated.xcconfig"; path = "ephemeral/Flutter-Generated.xcconfig"; sourceTree = ""; }; + 33E51913231747F40026EE4D /* DebugProfile.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = DebugProfile.entitlements; sourceTree = ""; }; + 33E51914231749380026EE4D /* Release.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.entitlements; path = Release.entitlements; sourceTree = ""; }; + 33E5194F232828860026EE4D /* AppInfo.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = AppInfo.xcconfig; sourceTree = ""; }; + 564410B953FF6C77EBE6F085 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; + 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Release.xcconfig; sourceTree = ""; }; + 8B151D3C397335FA112BA759 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Debug.xcconfig; sourceTree = ""; }; + B38C2219C9F50F737C38A392 /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; + D63B22D6841E86B41A2E260C /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; + D794D0297BC1764A237C58FA /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; + FA503B08EE1C81F4686234B5 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 331C80D2294CF70F00263BE5 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 28357809A88CF6D9A1255918 /* Pods_RunnerTests.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 33CC10EA2044A3C60003C045 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + D6F93CF7F0CA36252F4AD3D2 /* Pods_Runner.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 331C80D6294CF71000263BE5 /* RunnerTests */ = { + isa = PBXGroup; + children = ( + 331C80D7294CF71000263BE5 /* RunnerTests.swift */, + ); + path = RunnerTests; + sourceTree = ""; + }; + 33BA886A226E78AF003329D5 /* Configs */ = { + isa = PBXGroup; + children = ( + 33E5194F232828860026EE4D /* AppInfo.xcconfig */, + 9740EEB21CF90195004384FC /* Debug.xcconfig */, + 7AFA3C8E1D35360C0083082E /* Release.xcconfig */, + 333000ED22D3DE5D00554162 /* Warnings.xcconfig */, + ); + path = Configs; + sourceTree = ""; + }; + 33CC10E42044A3C60003C045 = { + isa = PBXGroup; + children = ( + 33FAB671232836740065AC1E /* Runner */, + 33CEB47122A05771004F2AC0 /* Flutter */, + 331C80D6294CF71000263BE5 /* RunnerTests */, + 33CC10EE2044A3C60003C045 /* Products */, + D73912EC22F37F3D000D13A0 /* Frameworks */, + 43EC50EF23A4F7D9F6413315 /* Pods */, + ); + sourceTree = ""; + }; + 33CC10EE2044A3C60003C045 /* Products */ = { + isa = PBXGroup; + children = ( + 33CC10ED2044A3C60003C045 /* dartboy.app */, + 331C80D5294CF71000263BE5 /* RunnerTests.xctest */, + ); + name = Products; + sourceTree = ""; + }; + 33CC11242044D66E0003C045 /* Resources */ = { + isa = PBXGroup; + children = ( + 33CC10F22044A3C60003C045 /* Assets.xcassets */, + 33CC10F42044A3C60003C045 /* MainMenu.xib */, + 33CC10F72044A3C60003C045 /* Info.plist */, + ); + name = Resources; + path = ..; + sourceTree = ""; + }; + 33CEB47122A05771004F2AC0 /* Flutter */ = { + isa = PBXGroup; + children = ( + 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */, + 33CEB47222A05771004F2AC0 /* Flutter-Debug.xcconfig */, + 33CEB47422A05771004F2AC0 /* Flutter-Release.xcconfig */, + 33CEB47722A0578A004F2AC0 /* Flutter-Generated.xcconfig */, + ); + path = Flutter; + sourceTree = ""; + }; + 33FAB671232836740065AC1E /* Runner */ = { + isa = PBXGroup; + children = ( + 33CC10F02044A3C60003C045 /* AppDelegate.swift */, + 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */, + 33E51913231747F40026EE4D /* DebugProfile.entitlements */, + 33E51914231749380026EE4D /* Release.entitlements */, + 33CC11242044D66E0003C045 /* Resources */, + 33BA886A226E78AF003329D5 /* Configs */, + ); + path = Runner; + sourceTree = ""; + }; + 43EC50EF23A4F7D9F6413315 /* Pods */ = { + isa = PBXGroup; + children = ( + D63B22D6841E86B41A2E260C /* Pods-Runner.debug.xcconfig */, + D794D0297BC1764A237C58FA /* Pods-Runner.release.xcconfig */, + 564410B953FF6C77EBE6F085 /* Pods-Runner.profile.xcconfig */, + 1A2E2B151B48AC4DFB2AD9BB /* Pods-RunnerTests.debug.xcconfig */, + B38C2219C9F50F737C38A392 /* Pods-RunnerTests.release.xcconfig */, + FA503B08EE1C81F4686234B5 /* Pods-RunnerTests.profile.xcconfig */, + ); + name = Pods; + path = Pods; + sourceTree = ""; + }; + D73912EC22F37F3D000D13A0 /* Frameworks */ = { + isa = PBXGroup; + children = ( + 1D1874941DD33C9FCF1F1F69 /* Pods_Runner.framework */, + 8B151D3C397335FA112BA759 /* Pods_RunnerTests.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 331C80D4294CF70F00263BE5 /* RunnerTests */ = { + isa = PBXNativeTarget; + buildConfigurationList = 331C80DE294CF71000263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; + buildPhases = ( + 1E18CDAC25CABBC49594A994 /* [CP] Check Pods Manifest.lock */, + 331C80D1294CF70F00263BE5 /* Sources */, + 331C80D2294CF70F00263BE5 /* Frameworks */, + 331C80D3294CF70F00263BE5 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + 331C80DA294CF71000263BE5 /* PBXTargetDependency */, + ); + name = RunnerTests; + productName = RunnerTests; + productReference = 331C80D5294CF71000263BE5 /* RunnerTests.xctest */; + productType = "com.apple.product-type.bundle.unit-test"; + }; + 33CC10EC2044A3C60003C045 /* Runner */ = { + isa = PBXNativeTarget; + buildConfigurationList = 33CC10FB2044A3C60003C045 /* Build configuration list for PBXNativeTarget "Runner" */; + buildPhases = ( + 52BA8C51C1BE45EC533C2FB9 /* [CP] Check Pods Manifest.lock */, + 33CC10E92044A3C60003C045 /* Sources */, + 33CC10EA2044A3C60003C045 /* Frameworks */, + 33CC10EB2044A3C60003C045 /* Resources */, + 33CC110E2044A8840003C045 /* Bundle Framework */, + 3399D490228B24CF009A79C7 /* ShellScript */, + ); + buildRules = ( + ); + dependencies = ( + 33CC11202044C79F0003C045 /* PBXTargetDependency */, + ); + name = Runner; + productName = Runner; + productReference = 33CC10ED2044A3C60003C045 /* dartboy.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 33CC10E52044A3C60003C045 /* Project object */ = { + isa = PBXProject; + attributes = { + BuildIndependentTargetsInParallel = YES; + LastSwiftUpdateCheck = 0920; + LastUpgradeCheck = 1510; + ORGANIZATIONNAME = ""; + TargetAttributes = { + 331C80D4294CF70F00263BE5 = { + CreatedOnToolsVersion = 14.0; + TestTargetID = 33CC10EC2044A3C60003C045; + }; + 33CC10EC2044A3C60003C045 = { + CreatedOnToolsVersion = 9.2; + LastSwiftMigration = 1100; + ProvisioningStyle = Automatic; + SystemCapabilities = { + com.apple.Sandbox = { + enabled = 1; + }; + }; + }; + 33CC111A2044C6BA0003C045 = { + CreatedOnToolsVersion = 9.2; + ProvisioningStyle = Manual; + }; + }; + }; + buildConfigurationList = 33CC10E82044A3C60003C045 /* Build configuration list for PBXProject "Runner" */; + compatibilityVersion = "Xcode 9.3"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = 33CC10E42044A3C60003C045; + productRefGroup = 33CC10EE2044A3C60003C045 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 33CC10EC2044A3C60003C045 /* Runner */, + 331C80D4294CF70F00263BE5 /* RunnerTests */, + 33CC111A2044C6BA0003C045 /* Flutter Assemble */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 331C80D3294CF70F00263BE5 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 33CC10EB2044A3C60003C045 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 33CC10F32044A3C60003C045 /* Assets.xcassets in Resources */, + 33CC10F62044A3C60003C045 /* MainMenu.xib in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXShellScriptBuildPhase section */ + 1E18CDAC25CABBC49594A994 /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; + }; + 3399D490228B24CF009A79C7 /* ShellScript */ = { + isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + ); + outputFileListPaths = ( + ); + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "echo \"$PRODUCT_NAME.app\" > \"$PROJECT_DIR\"/Flutter/ephemeral/.app_filename && \"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh embed\n"; + }; + 33CC111E2044C6BF0003C045 /* ShellScript */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + Flutter/ephemeral/FlutterInputs.xcfilelist, + ); + inputPaths = ( + Flutter/ephemeral/tripwire, + ); + outputFileListPaths = ( + Flutter/ephemeral/FlutterOutputs.xcfilelist, + ); + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh && touch Flutter/ephemeral/tripwire"; + }; + 52BA8C51C1BE45EC533C2FB9 /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; + }; +/* End PBXShellScriptBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 331C80D1294CF70F00263BE5 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 331C80D8294CF71000263BE5 /* RunnerTests.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 33CC10E92044A3C60003C045 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 33CC11132044BFA00003C045 /* MainFlutterWindow.swift in Sources */, + 33CC10F12044A3C60003C045 /* AppDelegate.swift in Sources */, + 335BBD1B22A9A15E00E9071D /* GeneratedPluginRegistrant.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXTargetDependency section */ + 331C80DA294CF71000263BE5 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 33CC10EC2044A3C60003C045 /* Runner */; + targetProxy = 331C80D9294CF71000263BE5 /* PBXContainerItemProxy */; + }; + 33CC11202044C79F0003C045 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 33CC111A2044C6BA0003C045 /* Flutter Assemble */; + targetProxy = 33CC111F2044C79F0003C045 /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + +/* Begin PBXVariantGroup section */ + 33CC10F42044A3C60003C045 /* MainMenu.xib */ = { + isa = PBXVariantGroup; + children = ( + 33CC10F52044A3C60003C045 /* Base */, + ); + name = MainMenu.xib; + path = Runner; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + 331C80DB294CF71000263BE5 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 1A2E2B151B48AC4DFB2AD9BB /* Pods-RunnerTests.debug.xcconfig */; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CURRENT_PROJECT_VERSION = 1; + GENERATE_INFOPLIST_FILE = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = com.example.dartboy.RunnerTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/dartboy.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/dartboy"; + }; + name = Debug; + }; + 331C80DC294CF71000263BE5 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = B38C2219C9F50F737C38A392 /* Pods-RunnerTests.release.xcconfig */; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CURRENT_PROJECT_VERSION = 1; + GENERATE_INFOPLIST_FILE = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = com.example.dartboy.RunnerTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/dartboy.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/dartboy"; + }; + name = Release; + }; + 331C80DD294CF71000263BE5 /* Profile */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = FA503B08EE1C81F4686234B5 /* Pods-RunnerTests.profile.xcconfig */; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CURRENT_PROJECT_VERSION = 1; + GENERATE_INFOPLIST_FILE = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = com.example.dartboy.RunnerTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/dartboy.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/dartboy"; + }; + name = Profile; + }; + 338D0CE9231458BD00FA5F75 /* Profile */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CODE_SIGN_IDENTITY = "-"; + COPY_PHASE_STRIP = NO; + DEAD_CODE_STRIPPING = YES; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_USER_SCRIPT_SANDBOXING = NO; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + MACOSX_DEPLOYMENT_TARGET = 10.14; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = macosx; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + }; + name = Profile; + }; + 338D0CEA231458BD00FA5F75 /* Profile */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 33E5194F232828860026EE4D /* AppInfo.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CODE_SIGN_ENTITLEMENTS = Runner/DebugProfile.entitlements; + CODE_SIGN_STYLE = Automatic; + COMBINE_HIDPI_IMAGES = YES; + INFOPLIST_FILE = Runner/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/../Frameworks", + ); + PROVISIONING_PROFILE_SPECIFIER = ""; + SWIFT_VERSION = 5.0; + }; + name = Profile; + }; + 338D0CEB231458BD00FA5F75 /* Profile */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_STYLE = Manual; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Profile; + }; + 33CC10F92044A3C60003C045 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CODE_SIGN_IDENTITY = "-"; + COPY_PHASE_STRIP = NO; + DEAD_CODE_STRIPPING = YES; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + ENABLE_USER_SCRIPT_SANDBOXING = NO; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + MACOSX_DEPLOYMENT_TARGET = 10.14; + MTL_ENABLE_DEBUG_INFO = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = macosx; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + }; + name = Debug; + }; + 33CC10FA2044A3C60003C045 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CODE_SIGN_IDENTITY = "-"; + COPY_PHASE_STRIP = NO; + DEAD_CODE_STRIPPING = YES; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_USER_SCRIPT_SANDBOXING = NO; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + MACOSX_DEPLOYMENT_TARGET = 10.14; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = macosx; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + }; + name = Release; + }; + 33CC10FC2044A3C60003C045 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 33E5194F232828860026EE4D /* AppInfo.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CODE_SIGN_ENTITLEMENTS = Runner/DebugProfile.entitlements; + CODE_SIGN_STYLE = Automatic; + COMBINE_HIDPI_IMAGES = YES; + INFOPLIST_FILE = Runner/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/../Frameworks", + ); + PROVISIONING_PROFILE_SPECIFIER = ""; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; + }; + name = Debug; + }; + 33CC10FD2044A3C60003C045 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 33E5194F232828860026EE4D /* AppInfo.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CODE_SIGN_ENTITLEMENTS = Runner/Release.entitlements; + CODE_SIGN_STYLE = Automatic; + COMBINE_HIDPI_IMAGES = YES; + INFOPLIST_FILE = Runner/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/../Frameworks", + ); + PROVISIONING_PROFILE_SPECIFIER = ""; + SWIFT_VERSION = 5.0; + }; + name = Release; + }; + 33CC111C2044C6BA0003C045 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_STYLE = Manual; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Debug; + }; + 33CC111D2044C6BA0003C045 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_STYLE = Automatic; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 331C80DE294CF71000263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 331C80DB294CF71000263BE5 /* Debug */, + 331C80DC294CF71000263BE5 /* Release */, + 331C80DD294CF71000263BE5 /* Profile */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 33CC10E82044A3C60003C045 /* Build configuration list for PBXProject "Runner" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 33CC10F92044A3C60003C045 /* Debug */, + 33CC10FA2044A3C60003C045 /* Release */, + 338D0CE9231458BD00FA5F75 /* Profile */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 33CC10FB2044A3C60003C045 /* Build configuration list for PBXNativeTarget "Runner" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 33CC10FC2044A3C60003C045 /* Debug */, + 33CC10FD2044A3C60003C045 /* Release */, + 338D0CEA231458BD00FA5F75 /* Profile */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 33CC111B2044C6BA0003C045 /* Build configuration list for PBXAggregateTarget "Flutter Assemble" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 33CC111C2044C6BA0003C045 /* Debug */, + 33CC111D2044C6BA0003C045 /* Release */, + 338D0CEB231458BD00FA5F75 /* Profile */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 33CC10E52044A3C60003C045 /* Project object */; +} diff --git a/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme new file mode 100644 index 0000000..6a6149e --- /dev/null +++ b/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -0,0 +1,98 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/macos/Runner.xcworkspace/contents.xcworkspacedata b/macos/Runner.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..21a3cc1 --- /dev/null +++ b/macos/Runner.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,10 @@ + + + + + + + diff --git a/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/macos/Runner/AppDelegate.swift b/macos/Runner/AppDelegate.swift new file mode 100644 index 0000000..d53ef64 --- /dev/null +++ b/macos/Runner/AppDelegate.swift @@ -0,0 +1,9 @@ +import Cocoa +import FlutterMacOS + +@NSApplicationMain +class AppDelegate: FlutterAppDelegate { + override func applicationShouldTerminateAfterLastWindowClosed(_ sender: NSApplication) -> Bool { + return true + } +} diff --git a/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json b/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 0000000..a2ec33f --- /dev/null +++ b/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,68 @@ +{ + "images" : [ + { + "size" : "16x16", + "idiom" : "mac", + "filename" : "app_icon_16.png", + "scale" : "1x" + }, + { + "size" : "16x16", + "idiom" : "mac", + "filename" : "app_icon_32.png", + "scale" : "2x" + }, + { + "size" : "32x32", + "idiom" : "mac", + "filename" : "app_icon_32.png", + "scale" : "1x" + }, + { + "size" : "32x32", + "idiom" : "mac", + "filename" : "app_icon_64.png", + "scale" : "2x" + }, + { + "size" : "128x128", + "idiom" : "mac", + "filename" : "app_icon_128.png", + "scale" : "1x" + }, + { + "size" : "128x128", + "idiom" : "mac", + "filename" : "app_icon_256.png", + "scale" : "2x" + }, + { + "size" : "256x256", + "idiom" : "mac", + "filename" : "app_icon_256.png", + "scale" : "1x" + }, + { + "size" : "256x256", + "idiom" : "mac", + "filename" : "app_icon_512.png", + "scale" : "2x" + }, + { + "size" : "512x512", + "idiom" : "mac", + "filename" : "app_icon_512.png", + "scale" : "1x" + }, + { + "size" : "512x512", + "idiom" : "mac", + "filename" : "app_icon_1024.png", + "scale" : "2x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} diff --git a/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png b/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png new file mode 100644 index 0000000000000000000000000000000000000000..82b6f9d9a33e198f5747104729e1fcef999772a5 GIT binary patch literal 102994 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ⅅ8MglG&ER{i5lN315cO?EdHNLrg? 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 z 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 Pe7HEdAEg|=c=LY&YVNkY literal 0 HcmV?d00001 diff --git a/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png b/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png new file mode 100644 index 0000000000000000000000000000000000000000..13b35eba55c6dabc3aac36f33d859266c18fa0d0 GIT binary patch literal 5680 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 literal 0 HcmV?d00001 diff --git a/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png b/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png new file mode 100644 index 0000000000000000000000000000000000000000..0a3f5fa40fb3d1e0710331a48de5d256da3f275d GIT binary patch literal 520 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 literal 0 HcmV?d00001 diff --git a/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png b/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png new file mode 100644 index 0000000000000000000000000000000000000000..2f1632cfddf3d9dade342351e627a0a75609fb46 GIT binary patch literal 2218 zcmV;b2vzrqP)Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91K%fHv1ONa40RR91KmY&$07g+lumAuE6iGxuRCodHTWf3-RTMruyW6Fu zQYeUM04eX6D5c0FCjKKPrco1(K`<0SL=crI{PC3-^hZU0kQie$gh-5!7z6SH6Q0J% zqot*`H1q{R5fHFYS}dje@;kG=v$L0(yY0?wY2%*c?A&{2?!D*x?m71{of2gv!$5|C z3>qG_BW}7K_yUcT3A5C6QD<+{aq?x;MAUyAiJn#Jv8_zZtQ{P zTRzbL3U9!qVuZzS$xKU10KiW~Bgdcv1-!uAhQxf3a7q+dU6lj?yoO4Lq4TUN4}h{N z*fIM=SS8|C2$(T>w$`t@3Tka!(r!7W`x z-isCVgQD^mG-MJ;XtJuK3V{Vy72GQ83KRWsHU?e*wrhKk=ApIYeDqLi;JI1e zuvv}5^Dc=k7F7?nm3nIw$NVmU-+R>> zyqOR$-2SDpJ}Pt;^RkJytDVXNTsu|mI1`~G7yw`EJR?VkGfNdqK9^^8P`JdtTV&tX4CNcV4 z&N06nZa??Fw1AgQOUSE2AmPE@WO(Fvo`%m`cDgiv(fAeRA%3AGXUbsGw{7Q`cY;1BI#ac3iN$$Hw z0LT0;xc%=q)me?Y*$xI@GRAw?+}>=9D+KTk??-HJ4=A>`V&vKFS75@MKdSF1JTq{S zc1!^8?YA|t+uKigaq!sT;Z!&0F2=k7F0PIU;F$leJLaw2UI6FL^w}OG&!;+b%ya1c z1n+6-inU<0VM-Y_s5iTElq)ThyF?StVcebpGI znw#+zLx2@ah{$_2jn+@}(zJZ{+}_N9BM;z)0yr|gF-4=Iyu@hI*Lk=-A8f#bAzc9f z`Kd6K--x@t04swJVC3JK1cHY-Hq+=|PN-VO;?^_C#;coU6TDP7Bt`;{JTG;!+jj(` zw5cLQ-(Cz-Tlb`A^w7|R56Ce;Wmr0)$KWOUZ6ai0PhzPeHwdl0H(etP zUV`va_i0s-4#DkNM8lUlqI7>YQLf)(lz9Q3Uw`)nc(z3{m5ZE77Ul$V%m)E}3&8L0 z-XaU|eB~Is08eORPk;=<>!1w)Kf}FOVS2l&9~A+@R#koFJ$Czd%Y(ENTV&A~U(IPI z;UY+gf+&6ioZ=roly<0Yst8ck>(M=S?B-ys3mLdM&)ex!hbt+ol|T6CTS+Sc0jv(& z7ijdvFwBq;0a{%3GGwkDKTeG`b+lyj0jjS1OMkYnepCdoosNY`*zmBIo*981BU%%U z@~$z0V`OVtIbEx5pa|Tct|Lg#ZQf5OYMUMRD>Wdxm5SAqV2}3!ceE-M2 z@O~lQ0OiKQp}o9I;?uxCgYVV?FH|?Riri*U$Zi_`V2eiA>l zdSm6;SEm6#T+SpcE8Ro_f2AwxzI z44hfe^WE3!h@W3RDyA_H440cpmYkv*)6m1XazTqw%=E5Xv7^@^^T7Q2wxr+Z2kVYr + + + + + + + + + + + + + + + + + + + + + +