{"id":47634234,"url":"https://github.com/forgevii-org/kit85","last_synced_at":"2026-04-02T00:00:09.071Z","repository":{"id":345978551,"uuid":"1188103264","full_name":"forgeVII-org/KIT85","owner":"forgeVII-org","description":"Intel 8085 microprocessor kit Simulator ","archived":false,"fork":false,"pushed_at":"2026-03-23T06:56:03.000Z","size":223,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-03-23T14:09:18.517Z","etag":null,"topics":["8085","8085-assembler","8085-debugger","8085-debugger-simulator","8085-programs","8085-simulator","8085kit","8085simulator","8085simulatorkit","android","assembly","emulator","flutter-apps"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/forgeVII-org.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-03-21T16:13:25.000Z","updated_at":"2026-03-22T20:02:39.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/forgeVII-org/KIT85","commit_stats":null,"previous_names":["forgevii/kit85","forgevii-org/kit85"],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/forgeVII-org/KIT85","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/forgeVII-org%2FKIT85","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/forgeVII-org%2FKIT85/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/forgeVII-org%2FKIT85/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/forgeVII-org%2FKIT85/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/forgeVII-org","download_url":"https://codeload.github.com/forgeVII-org/KIT85/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/forgeVII-org%2FKIT85/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31293138,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-01T21:15:39.731Z","status":"ssl_error","status_checked_at":"2026-04-01T21:15:34.046Z","response_time":53,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["8085","8085-assembler","8085-debugger","8085-debugger-simulator","8085-programs","8085-simulator","8085kit","8085simulator","8085simulatorkit","android","assembly","emulator","flutter-apps"],"created_at":"2026-04-02T00:00:07.942Z","updated_at":"2026-04-02T00:00:09.054Z","avatar_url":"https://github.com/forgeVII-org.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# kit85\n\nA free and open-source 8085 simulator for students, educators, and hobbyists.\n\nKIT85 is an 8085 microprocessor simulator for Android where you can write,\nassemble, and run 8085 assembly programs in a student-friendly workflow.\n\n- Download APK: https://github.com/forgeVII-org/KIT85/releases\n- Source code (GPL v3.0): https://github.com/forgeVII-org/KIT85\n- Platforms: Android + Web\n- Web app: https://forgevii-org.github.io/KIT85/app/\n\nWeb is now available and can be used on any platform (desktop, tablet, or mobile browser).\n\n## What's New in v1.1.0\n\n- Converter input hardening:\n\t- DEC/BIN/OCT/HEX now reject invalid characters while typing.\n\t- Bit-length and field-length limits are enforced.\n\t- Empty input stays empty (no forced 00-style reset during editing).\n- Assembler safety improvements:\n\t- Invalid operand combinations now raise clear errors.\n\t- Missing operands (example: MOV B) are reported instead of silently encoding.\n- Improved top-right menu grouping:\n\t- Info: User Manual, Notices and Warnings, About\n\t- Tools: Number Converter, Opcode Table, Sample Procedures\n\t- Settings: Keyboard vibration toggle\n- New guided learning tools:\n\t- Sample Procedures sheet with step-by-step flow.\n\t- Practical examples with exact memory input and expected output values.\n- Added math-oriented sample programs at top:\n\t- 8-bit/16-bit add, subtract, multiply, divide.\n\nKeywords: 8085 simulator, 8085 microprocessor simulator,\n8085 simulator for Android, 8085 simulator web.\n\n## Getting Started\n\n```bash\nflutter pub get\nflutter run\n```\n\nRun on web locally:\n\n```bash\nflutter run -d chrome\n```\n\n## Disassembler behavior\n\n- When program bytes are loaded from ASM, disassembly is ASM-guided.\n- Known instruction-start addresses are decoded as instructions.\n- Other addresses are shown as DATA to avoid false opcode interpretation.\n- In manual-only memory sessions (no ASM metadata), disassembly falls back to linear decoding.\n\n## Android release signing\n\nRelease signing is configured in `android/app/build.gradle.kts` to use\n`android/key.properties` when present.\n\nIf `android/key.properties` is missing or incomplete, release builds fail by\ndesign to prevent accidental debug-signed production artifacts.\n\n### Setup steps\n\n1. Create or place your keystore file (example: `android/upload-keystore.jks`).\n2. Copy `android/key.properties.example` to `android/key.properties`.\n3. Fill `android/key.properties` with your actual values:\n\n```properties\nstorePassword=YOUR_STORE_PASSWORD\nkeyPassword=YOUR_KEY_PASSWORD\nkeyAlias=upload\nstoreFile=../upload-keystore.jks\n```\n\nNotes:\n\n- `storeFile` is resolved from the `android/app` module directory.\n- `android/.gitignore` already excludes `key.properties` and keystore files.\n\n### Build commands\n\n```bash\nflutter analyze\nflutter build apk --release --split-per-abi --obfuscate --split-debug-info=build/debug-info --tree-shake-icons\n```\n\n### One-click production release (arm64 only)\n\nFor modern Android phones and smallest distribution size:\n\n```powershell\npowershell -ExecutionPolicy Bypass -File tools/release-android-arm64.ps1\n```\n\nThis script runs analysis, builds a hardened arm64 release APK, and prints\nartifact size and path.\n\n## Web release (GitHub Pages)\n\nThe web app is published under:\n\n`https://forgevii-org.github.io/KIT85/app/`\n\nThe current web build is cross-platform and ready for use on any device with a modern browser.\n\nLanding page version: v1.1.0\n\nBuild and stage a web release into `docs/app`:\n\n```powershell\npowershell -ExecutionPolicy Bypass -File tools/release-web-pages.ps1\n```\n\nThen commit `docs/app` and push to `main` (with Pages configured to `main` +\n`/docs`).\n\n## Release checklist\n\nUse this list before cutting a public release.\n\nDetailed checklist file:\n\n- RELEASE_CHECKLIST.md\n\n1. Update versions in both places:\n\t- `pubspec.yaml` -\u003e `version:`\n\t- `lib/constants.dart` -\u003e `kAppVersion`\n2. Ensure `android/key.properties` exists with real signing values.\n3. Run quality checks:\n\n```bash\nflutter analyze\nflutter test\n```\n\n4. Build hardened release APKs (smaller per-device files):\n\n```bash\nflutter build apk --release --split-per-abi --obfuscate --split-debug-info=build/debug-info --tree-shake-icons\n```\n\nAlternative for smallest single Android artifact (arm64 only):\n\n```bash\nflutter build apk --release --target-platform android-arm64 --obfuscate --split-debug-info=build/debug-info --tree-shake-icons\n```\n\n5. Smoke-test on device:\n\t- Launch app and confirm splash -\u003e kit flow.\n\t- Open all bottom sheets and check no status/nav-bar clipping.\n\t- Rotate to landscape and verify layout remains usable.\n\t- Trigger update check and confirm DOWNLOAD opens:\n\t  `https://github.com/forgeVII-org/KIT85/releases`\n\n6. Archive outputs:\n\t- APKs from `build/app/outputs/flutter-apk/`\n\t- Symbols from `build/debug-info/`\n\n7. Build and verify web release:\n\t- Run `powershell -ExecutionPolicy Bypass -File tools/release-web-pages.ps1`\n\t- Open `https://forgevii-org.github.io/KIT85/app/` and validate desktop + mobile layout.\n\n## Security and anti-theft notes\n\nNo APK can be made impossible to copy or reverse engineer. This project already\nuses practical hardening for Android release builds:\n\n- R8 code shrinking/optimization (`isMinifyEnabled = true`)\n- Resource shrinking (`isShrinkResources = true`)\n- Dart obfuscation (`--obfuscate --split-debug-info=...`)\n- Split APKs per ABI (`--split-per-abi`) to reduce distributed size\n\nFor open-source distribution, treat code transparency as expected and focus on:\n\n- Strong release signing key hygiene (never commit keystore or key.properties)\n- Publishing only signed release APKs\n- Keeping `build/debug-info/` private for crash symbolization\n- Verifying APK signature before upload (`apksigner verify --print-certs \u003capk\u003e`)\n\n## License\n\nThis project is licensed under GNU GPL v3.0.\n\n- Full text: `LICENSE`\n- SPDX identifier: `GPL-3.0-only`\n\nGPLv3 requires derivative works that are distributed to also provide source\nunder GPL-compatible terms.\n\n## GitHub Release Notes Template\n\nUse .github/RELEASE_TEMPLATE.md when publishing each tagged release.\n\n## Student Discovery (Google + Web)\n\nA search-optimized landing page is available in `docs/` for GitHub Pages.\n\nEnable it:\n\n1. GitHub -\u003e Settings -\u003e Pages\n2. Source: Deploy from a branch\n3. Branch: `main` / Folder: `/docs`\n\nAfter publishing, your landing URL will be:\n\n`https://forgevii-org.github.io/KIT85/`\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fforgevii-org%2Fkit85","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fforgevii-org%2Fkit85","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fforgevii-org%2Fkit85/lists"}