{"id":22111073,"url":"https://github.com/4ch1m/kick-assembler-acbg","last_synced_at":"2025-08-22T12:33:40.987Z","repository":{"id":79699397,"uuid":"167855998","full_name":"4ch1m/kick-assembler-acbg","owner":"4ch1m","description":"A Kick Assembler language plugin for IntelliJ IDEA.","archived":false,"fork":false,"pushed_at":"2024-08-03T09:18:39.000Z","size":1601,"stargazers_count":8,"open_issues_count":2,"forks_count":4,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-06-04T10:10:35.122Z","etag":null,"topics":["64","6502","asm","assembler","assembly","c64","commodore","idea","intellij","kick","plugin"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/4ch1m.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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}},"created_at":"2019-01-27T20:37:13.000Z","updated_at":"2024-10-05T21:58:30.000Z","dependencies_parsed_at":"2024-12-01T10:36:34.691Z","dependency_job_id":"5cc49668-6df8-46c4-87ef-90b373488170","html_url":"https://github.com/4ch1m/kick-assembler-acbg","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/4ch1m/kick-assembler-acbg","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/4ch1m%2Fkick-assembler-acbg","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/4ch1m%2Fkick-assembler-acbg/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/4ch1m%2Fkick-assembler-acbg/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/4ch1m%2Fkick-assembler-acbg/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/4ch1m","download_url":"https://codeload.github.com/4ch1m/kick-assembler-acbg/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/4ch1m%2Fkick-assembler-acbg/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266972873,"owners_count":24014593,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-25T02:00:09.625Z","response_time":70,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["64","6502","asm","assembler","assembly","c64","commodore","idea","intellij","kick","plugin"],"created_at":"2024-12-01T10:33:05.478Z","updated_at":"2025-07-25T07:31:24.637Z","avatar_url":"https://github.com/4ch1m.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"![Retro Rules](src/main/resources/retro_rules_564x64_w.png#gh-light-mode-only) ![Retro Rules](src/main/resources/retro_rules_564x64_b.png#gh-dark-mode-only)\n\n# ![Kick Assembler - ACBG](src/main/resources/META-INF/pluginIcon.png) Kick Assembler \u003csmall\u003e\u003csmall\u003e\u003csmall\u003e(... and chew bubble gum)\u003c/small\u003e\u003c/small\u003e\u003c/small\u003e\n\u003e A [Kick Assembler](http://theweb.dk/KickAssembler) language plugin for [IntelliJ IDEA](https://www.jetbrains.com/idea/).\n\n![editor](screenshots/editor.png)\n\n## Table of contents\n* [Disclaimer](#disclaimer)\n* [Features](#features)\n* [Prerequisites](#prerequisites)\n* [Installation](#installation)\n* [Setup](#setup)\n  * [Project](#project)\n  * [JRE and SDK](#jre-and-sdk)\n    * [JRE](#jre)\n    * [SDK](#sdk)\n  * [New File Template](#new-file-template)\n  * [Run Configuration](#run-configuration)\n* [FAQs](#faqs)\n* [Credits](#credits)\n* [Author](#author)\n* [License](#license)\n\n## Disclaimer\nThis plugin is still at an early stage of development.\nNot all features are fully implemented or work as expected at this point.\nFeedback, help or any other contributions are very welcome. \n\n## Features\nIn addition to the IntelliJ's wide range of built-in functionality (like version control, the excellent editor, etc.), this plugin provides the following Kick Assembler specific features:\n\n* Syntax Highlighting :wrench:\n* Run Configurations :heavy_check_mark:\n* SDK Management :heavy_check_mark:\n* Project Generation :heavy_check_mark:\n* \"New File\" Template :heavy_check_mark:\n* Refactoring Functionality :construction:\n\n## Prerequisites\n* [Java Runtime Environment](https://www.java.com/en/download/)\n* [IntelliJ IDEA](https://www.jetbrains.com/idea/download) - Community Edition or Ultimate Edition\n* [Kick Assembler](http://theweb.dk/KickAssembler) ... obviously :smirk:\n\n## Installation\nUse the IDE's built-in plugin system:\n\n* `File` --\u003e `Settings...` --\u003e `Plugins` --\u003e `Marketplace`\n* search for \"Kick Assembler\"\n* click the `Install`-button\n\nOr go to the [plugin page](https://plugins.jetbrains.com/plugin/11988) on the [JetBrains](https://www.jetbrains.com)-website, download the archive-file and install manually.\n\n## Setup\nHere's how to use/setup the plugin ...\n\n### Project\nSimply create a new `Kick Assembler project` and complete all following steps to finish the project initialization.\n\n![new_project](screenshots/new_project.png)\n\n### JRE and SDK\n#### JRE\nThe _Java Runtime Environment_ (JRE) - used to run Kick Assembler - must be configured via `File` --\u003e `Settings...` --\u003e `Languages \u0026 Frameworks` --\u003e `Kick Assembler`.\n\n![setup_jre](screenshots/setup_jre.png)\n\nThis step is **mandatory**, since the following SDK-setup relies on an existing/configured JRE. \n\n#### SDK\nIn the project's setup-page create a new Kick Assembler _Software Development Kit_ (SDK):\n\n![setup_project_sdk](screenshots/setup_project_sdk.png)\n\n(Navigate to your Kick Assembler installation directory and click `OK`.)\n\n### New File Template\nNew Kick Assembler files can be created via `File` --\u003e `New` --\u003e `Kick Assembler file`.\n\n![new_file](screenshots/new_file.png)\n\n(Which provides a `BasicUpstart2` stub.)\n\n### Run Configuration\nRun Configurations can be used to invoke Kick Assembler with a selected source-file:\n\n![run_configuration](screenshots/run_configuration.png)\n\nIntelliJ's built-in [macros](https://github.com/JetBrains/intellij-community/tree/master/platform/lang-impl/src/com/intellij/ide/macro) can be combined with for your individual `Program parameters`: \n\ne.g.\n\n* `$ProjectName$`\n* `$Projectpath$`\n* `$ProjectFileDir$`\n* `$FileDir$`\n* `$FileDirName$`\n* `$FileDirPathFromParent$`\n* `$FileExt$`\n* `$FileName$`\n* `$FileNameWithoutAllExtensions$`\n* `$FileNameWithoutExtension$`\n* `$FileParentDir$`\n* `$FilePath$`\n* etc.\n\n**NOTE:** It is also possible to automatically create and run a Run Configuration by right-clicking on a `*.asm`-file.\n\n## FAQs\n\u003e How can I integrate [VICE](http://vice-emu.sourceforge.net/)?\n\nIntelliJ has a neat feature called  [External Tools](https://www.jetbrains.com/help/idea/settings-tools-external-tools.html). It can be used to run third-party tools on (selected) files.\n\n![external_tools_vice](screenshots/external_tools_vice.png)\n\n**NOTE:** The `Arguments:`-field not only contains the `$FileName$`-macro, but can also include any additional VICE arguments as needed.\n\nVICE then easily can be run via the context-menu by right-clicking on a `*.prg` file.\n\nYou even can assign a keyboard shortcut for VICE!\n\nJust go to `File` --\u003e `Settings...` --\u003e `Keymap`; search for `External Tools`; and set a shortcut of your liking. (This will allow you to simply mark a `*.prg`-file and press `Alt+V` to run VICE.)\n\n![keymap_vice](screenshots/keymap_vice.png)\n\n\u003e Is it possible to compile/build the prg-file and run VICE with just one click?\n\nThe short answer: Yes.\n\nHere's the detailed guide (for *nix-like systems at least :wink:) ...\n\nTo achieve this we need **two** Run Configurations.\n\n* the Kick Assembler Run Configuration (that compiles the code and generates the prg-file)\n* a separate Run Configuration which invokes the emulator (VICE)\n\nYou can chain multiple Run Configurations together and have them executed in sequence.\n\nHowever, IntelliJ only lets you choose other configs to be run **before** launch (not after) the actual Run Configuration.\nSo the second Run Configuration will have to be the main config we're working with.\n\nStep-by-step example:\n\n1. Create your Kick Assembler Run Configuration as desired.\n2. Then create a tiny helper shell-script which will ...\n    * find and kill any currently running x64-emulator instances\n    * determine the latest prg-file in your working directory\n    * and run it with x64.\n    \n    e.g.\n    ```\n    #!/bin/bash\n    killall x64 \u0026\u003e /dev/null; x64 +confirmonexit $(ls -1t *.prg | head -n1)\n    ```\n   (You can save this script wherever you like; for reuse in other projects.)\n3. Now create another Run Configuration. This time a [Shell Script Run Configuration](https://www.jetbrains.com/help/idea/run-debug-configuration-shell-script.html).\n\n    Here you'll run the above script and add the Kick Assembler Run Configuration to the \"before launch\"-section.\n    \n    ![shell_script_run_config](screenshots/shell_script_run_config.png)\n    \n    (Make sure your working-directory is identical to to prg-file's location!)\n\nThat's about it; a one-click \"build n' run\".   \n\n## Credits\n* [Kick Assembler](http://theweb.dk/KickAssembler) created by Mads Nielsen\n* _Sunglasses_ icon made by [Yannick Lung](https://yannicklung.com)\n\n## Author\n:email: [Achim Seufert](mailto:kickassembler-acbg@achimonline.de)\n\n## License\nPlease read the [license](LICENSE) file.\n\n![Code 6502](src/main/resources/code_6502_587x60_w.png#gh-light-mode-only) ![Code 6502](src/main/resources/code_6502_587x60_b.png#gh-dark-mode-only)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F4ch1m%2Fkick-assembler-acbg","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F4ch1m%2Fkick-assembler-acbg","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F4ch1m%2Fkick-assembler-acbg/lists"}