Code Monkey home page Code Monkey logo

acmeassemblerc64's Introduction

Sublime Acme Assembler (C64)

GitHub package.json version GitHub release (latest by date including pre-releases) GitHub manifest version

Sublime Package for C64/CX16 6502 assembly development using the Acme Assembler, contains language configuration/syntax coloring, build system and some snippets. Support for OSX, Windows and Linux. Requires Sublime Text, version 3 is supported.

The cx16 emulator is used for development.

Below is a quick start guide.

Installation: OSX

  • install sublime text

    brew cask install sublime-text

  • requires homebrew installed

    brew install acme

  • download and install Commander X16 emulator extract the files copy folder to Applications folder

  • download this repo extract the files copy AcmeAssemblerC64 folder to /Users/[username]/Library/Application Support/Sublime Text 3/Packages folder, replace [username] with login name.

Installation: Windows

  • download and install Commander X16 emulator

  • download this repo extract the files copy AcmeAssemblerC64 folder to c:.../applications/Sublime Text 3/Packages folder.

Installation: Linux

  • download and install Commander X16 emulator

  • download this repo extract the files copy AcmeAssemblerC64 folder to .../applications/Sublime Text 3/Packages folder.

Develop, build and run

  • Open a Acme Assembler code file in Sublime text. Example code file

  • Press F7 key to start Build and Run (see below for more build options)

  • If you get error saying java is not recognized as an internal or external command, ensure java is installed and add the path to your java binaries folder to the PATH environment variable

Details, Build System

Action                      Shortcut macOS Shortcut Windows Description
Other build variants (listed below) cmd+Shift+P Ctrl+Shift+P Shows the list of the following variants
Build Command+Shift+P Control+Shift+P Compiles the current file.
Build and Run F7 F7 Compiles the current file and runs it using the Vice emulator.
Build and Debug Shift+F7 Shift+F7 Compiles the current file and runs it using the Vice emulator. This option allows the creation of a file containing breakpoints, which is sent to the Vice emulator for debugging.
Build Startup Command+Shift+B Ctrl+Shift+B Compiles a file with name Startup.asm in the same folder as the current file. Handy if you have several code files included in a main runnable file. The filename can be configured via Acme_startup_file_path setting.
Build and Run Startup F5 F5 Compiles a file with name Startup.asm in the same folder as the current file, and runs it using the Vice emulator. Handy if you have several code files included in a main runnable file. The filename can be configured via Acme_startup_file_path setting.
Build and Debug Startup Shift+F5 Shift+F5 Compiles a file with name Startup.asm in the same folder as the current file, and runs it using the Vice emulator. Handy if you have several code files included in a main runnable file. This option allows the creation of a file containing breakpoints, which is sent to the Vice emulator for debugging. The filename can be configured via Acme_startup_file_path setting.
Make F8 F8 Invokes a script called make.bat for Windows, make.sh for macOS (configurable through the default_make_path setting).

The following (relevant?) environment variables will be available in the make script:

Variable | Info

:--|:-- Acme_file | Filename of active file when command was triggered Acme_file_path | Full path active file when command was triggered Acme_prg_file | Full path for suggested prg file name, for active file when command was triggered Acme_bin_folder | Path to current output folder (bin by default or specified by Acme_output_path setting)

"acme_emulator_run_path": "/Applications/x16emu_mac-r33/x16emu" | path to emulator

Pre/post-build

There's a way to execute custom scripts before/after the build.

Variable | Info

:--|:--

  • default_prebuild_path | Full path to the .bat or .sh script file that will be executed before the build.

  • default_postbuild_path | Full path to the .bat or .sh script file that will be executed after the build. Useful for file compression etc.

AcmeTooltips

This plugin makes working with Acme Assembler easier by displaying various helpful tooltip information. Tooltips database can be extended to provide more c64 related info. So far rudimentary help files with Acme Assembler directives, illegal opcodes, VIC registers and SID registers are ready. This plugin was added by Roman Dobosz (Gryf/Elysium) and Krzysztof Dabrowski (Brush/Elysium)

Other documentation

Navigate to Preferences/Package Settings/AcmeAssemblerC64 and select the

  • Acme Quick Ref - this is a quick reference text on Acme Assembler.

  • 65C02 Opcodes.html - right click and slect open in browser.

Configuration

Navigate to Preferences/Package Settings/AcmeAssemblerC64 and select the configuration file to edit. Currently you can configure:

"css_file": "AcmeAssemblerC64/css/default.css"

This is a file that has the css file used to style the tooltips.

"help_directories": ["AcmeAssemblerC64/helpdb"],

This defines the directory where json formatted help files are located. Feel free to drop in your own.

"scopes": ["source.assembly.AcmeAssembler"],

This definies in which scopes the plugin should work. So far it will fire up only in Acme Assembler scope.

"log_level": "warning"

For the debugging purposes you can increase the log level to info or debug, open Python console (ctrl-`) and observe what is going on and what problems the plugin has. If you report a bug, please use "debug" level and make sure you copy paste the whole output.

Contribute

Making changes

Fork repo, make changes and submit pull requests.

Local development

Just clone repo into Sublime package folder and you can test the package "live" during development.

IT Development:

p.s: I LOVE coffee! Buy me a coffee at:

Donate

This plugin was originally created by //Swoffa of Noice

Support

Help support by buying some merchandise

acmeassemblerc64's People

Contributors

pacav69 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

mrivera0572

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.