{"id":25732447,"url":"https://github.com/vigo/textmate2-64tass-bundle","last_synced_at":"2026-03-03T15:31:18.880Z","repository":{"id":40244543,"uuid":"76035817","full_name":"vigo/textmate2-64tass-bundle","owner":"vigo","description":"64tass Bundle for TextMate 2","archived":false,"fork":false,"pushed_at":"2017-07-02T08:19:01.000Z","size":453,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-05-01T19:38:03.025Z","etag":null,"topics":["commodore-64","textmate"],"latest_commit_sha":null,"homepage":null,"language":null,"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/vigo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-12-09T13:01:41.000Z","updated_at":"2024-05-01T19:38:03.025Z","dependencies_parsed_at":"2022-08-27T14:47:04.505Z","dependency_job_id":null,"html_url":"https://github.com/vigo/textmate2-64tass-bundle","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vigo%2Ftextmate2-64tass-bundle","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vigo%2Ftextmate2-64tass-bundle/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vigo%2Ftextmate2-64tass-bundle/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vigo%2Ftextmate2-64tass-bundle/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vigo","download_url":"https://codeload.github.com/vigo/textmate2-64tass-bundle/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240788734,"owners_count":19857691,"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","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":["commodore-64","textmate"],"created_at":"2025-02-26T03:41:07.503Z","updated_at":"2026-03-03T15:31:13.831Z","avatar_url":"https://github.com/vigo.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"![Version](https://img.shields.io/badge/version-1.1.0-orange.svg)\n![Plaftorm](https://img.shields.io/badge/platform-TextMate-blue.svg)\n\n\n# 64tass Bundle for TextMate 2\n\nIf you like to code for Commodore 64 and love TextMate you’ll enjoy this\nbundle. [64tass][64tass] is cross assembler targeting the **65xx** series of\nmicro processors.\n\nJust type your code and hit \u003ckbd\u003e⌘\u003c/kbd\u003e + \u003ckbd\u003eR\u003c/kbd\u003e\n\n## Installation\n\n    cd ~/Library/Application\\ Support/TextMate/Bundles/\n    git clone https://github.com/vigo/textmate2-64tass-bundle.git C64Tass.tmbundle\n\n    # Relaunch Textmate\n\n## Todo\n\n* Syntax highlighting and language grammar is work-in-progress now!\n\n## Requirements\n\n* [MacVICE][macvice] or [VICE][vice]\n* [64tass compiler][64tass_home] homepage.\n\n[vice]:            http://vice-emu.sourceforge.net/macosx.html\n[macvice]:         http://lallafa.de/blog/c64-projects/macvice/\n[64tass]:          http://singularcrew.hu/64tass/\n[64tass_home]:     http://tass64.sourceforge.net/\n\n\n## TextMate Setup\n\nYou need to set your environment variables. We have one required and two\noptional variables.\n\n### Required Variables\n\n**Update**\n\nWe don’t need `TM_64TASS_PATH` variable anymore. Just added binary under\n`Support/bin/` folder. Current version: **64tass Turbo Assembler Macro V1.52.1237?**\n\n#### `TM_VICE_PATH`\n\nCommand-line binary of X64.app. Vice comes with these tools under `tools/`\nfolder:\n\n    c1541\n    cartconv\n    petcat\n    vice-launcher.sh\n    x128\n    x64\n    x64dtv\n    x64sc\n    xcbm2\n    xcbm5x0\n    xpet\n    xplus4\n    xvic\n\nExample: `/Users/vigo/Applications/MacVice/tools/x64`\n\n```bash\n# example from command-line\ndefaults write com.macromates.textmate environmentVariables -array-add \\\n    '{enabled = 1; value = \"/Users/vigo/Applications/MacVice/tools/x64\"; name = \"TM_VICE_PATH\"; }'\n```\n\n### Optional Variables\n\n#### `TM_64TASS_OPTIONS`\n\nDefault options are: `-C -a`. You can override it via setting `TM_64TASS_OPTIONS`\nvariable. You can check the available options for 64tass via `64tass --help`:\n\n    Usage: 64tass [OPTIONS...] SOURCES\n    64tass Turbo Assembler Macro V1.52.1237?\n    \n      -a, --ascii           Source is not in PETASCII\n      -B, --long-branch     Automatic bxx *+3 jmp $xxxx\n      -C, --case-sensitive  Case sensitive labels\n      -D \u003clabel\u003e=\u003cvalue\u003e    Define \u003clabel\u003e to \u003cvalue\u003e\n      -E, --error=\u003cfile\u003e    Place errors into \u003cfile\u003e\n      -I \u003cpath\u003e             Include search path\n      -M \u003cfile\u003e             Makefile dependencies to \u003cfile\u003e\n      -q, --quiet           Do not output summary and header\n      -T, --tasm-compatible Enable TASM compatible mode\n      -w, --no-warn         Suppress warnings\n          --no-caret-diag   Suppress source line display\n          \n     Diagnostic options:\n      -Wall                 Enable most diagnostic warnings\n      -Werror               Diagnostic warnings to errors\n      -Werror=\u003cname\u003e        Make a diagnostic to an error\n      -Wno-error=\u003cname\u003e     Make a diagnostic to a warning\n      -Wbranch-page         Warn if a branch crosses a page\n      -Wimplied-reg         No implied register aliases\n      -Wno-deprecated       No deprecated feature warnings\n      -Wno-jmp-bug          No jmp ($xxff) bug warning\n      -Wno-label-left       No warning about strange labels\n      -Wno-mem-wrap         No offset overflow warning\n      -Wno-pc-wrap          No PC overflow warning\n      -Wold-equal           Warn about old equal operator\n      -Woptimize            Optimization warnings\n      -Wshadow              Check symbol shadowing\n      -Wstrict-bool         No implicit bool conversions\n      \n     Output selection:\n      -o, --output=\u003cfile\u003e   Place output into \u003cfile\u003e\n      -b, --nostart         Strip starting address\n      -f, --flat            Generate flat output file\n      -n, --nonlinear       Generate nonlinear output file\n      -X, --long-address    Use 3 byte start/len address\n          --cbm-prg         Output CBM program file\n          --atari-xex       Output Atari XEX file\n          --apple-ii        Output Apple II file\n          --intel-hex       Output Intel HEX file\n          --s-record        Output Motorola S-record file\n          \n     Target CPU selection:\n          --m65xx           Standard 65xx (default)\n      -c, --m65c02          CMOS 65C02\n          --m65ce02         CSG 65CE02\n      -e, --m65el02         65EL02\n      -i, --m6502           NMOS 65xx\n      -t, --m65dtv02        65DTV02\n      -x, --m65816          W65C816\n          --mr65c02         R65C02\n          --mw65c02         W65C02\n          --m4510           CSG 4510\n          \n     Source listing and labels:\n      -l, --labels=\u003cfile\u003e   List labels into \u003cfile\u003e\n          --vice-labels     Labels in VICE format\n          --dump-labels     Dump for debugging\n      -L, --list=\u003cfile\u003e     List into \u003cfile\u003e\n      -m, --no-monitor      Don't put monitor code into listing\n      -s, --no-source       Don't put source code into listing\n          --line-numbers    Put line numbers into listing\n          --tab-size=\u003cn\u003e    Override the default tab size (8)\n          --verbose-list    List unused lines as well\n          \n     Misc:\n      -?, --help            Give this help list\n          --usage           Give a short usage message\n      -V, --version         Print program version\n      \n    Mandatory or optional arguments to long options are also mandatory or optional\n    for any corresponding short options.\n    \n    Report bugs to \u003csoci@c64.rulez.org\u003e.\n\nSet it from Terminal:\n\n```bash\n# example from command-line\ndefaults write com.macromates.textmate environmentVariables -array-add \\\n    '{enabled = 1; value = \"YOUR OPTIONS\"; name = \"TM_64TASS_OPTIONS\"; }'\n```\n\n\n#### `TM_VICE_OPTIONS`\n\nYou can define extra options for `x64` executable. Try: `x64 -h` for all\noptions. I’m using `+cart` which is **Disable default cartridge** in my\nconfigurations. It’s totally up to you.\n\n```bash\n# example from command-line\ndefaults write com.macromates.textmate environmentVariables -array-add \\\n    '{enabled = 1; value = \"+cart\"; name = \"TM_VICE_OPTIONS\"; }'\n```\n\n---\n\n## Example\n\nSave this file as `~/Desktop/test.asm` and hit \u003ckbd\u003e⌘\u003c/kbd\u003e + \u003ckbd\u003eR\u003c/kbd\u003e\n\n        * = $0801\n        .word ss, 2005\n        .null $9e, ^start ;will be sys 4096\n    ss    .word 0\n    \n        * = $1000\n        \n    start\n        lda #$00\n        sta $d020\n        rts\n\n## Screens\n\n![Example code snippet](Screens/tass-code.png \"Example code snippet\")\n\n![Example runner output](Screens/tass-runner.png \"Example runner output\")\n\n![Example running code](Screens/running-c64-code.png \"Example running code\")\n\nOutput theme can be vary according to your preferences.\n\n## Theme Additions\n\nI’ve just added few scope names. Please add these scopes for better syntax\ncoloring. I’m using **Solarized Dark Theme**\n\n\t{\tname = '64Tass - Hexadecimal, Dollar Sign';\n\t\tscope = 'punctuation.definition.64tass.dollar.sign';\n\t\tsettings = { foreground = '#ffffff'; };\n\t},\n\t{\tname = '64Tass - Labels';\n\t\tscope = 'entity.name.64tass.label';\n\t\tsettings = { foreground = '#8C7ECC'; };\n\t},\n\t{\tname = '64Tass - Comment';\n\t\tscope = 'comment.line.semicolon.64tass';\n\t\tsettings = { background = '#184753'; };\n\t},\n\t{\tname = '64Tass - Memory Pointer';\n\t\tscope = 'punctuation.definition.64tass.star.equals';\n\t\tsettings = { foreground = '#6a5cdd'; };\n\t},\n\n---\n\n## Change Log\n\n**2017-07-02**\n\n* `64tass` binary embedded to `Support/bin`\n* Added: Example code and screenshot\n\n---\n\n## Contributer(s)\n\n* [Uğur \"vigo\" Özyılmazel](https://github.com/vigo) - Creator, maintainer\n\n## Contribute\n\nAll PR’s are welcome!\n\n1. `fork` (https://github.com/vigo/textmate2-64tass-bundle/fork)\n1. Create your `branch` (`git checkout -b my-features`)\n1. `commit` yours (`git commit -am 'added killer options'`)\n1. `push` your `branch` (`git push origin my-features`)\n1. Than create a new **Pull Request**!\n\n## License\n\nThis project is licensed under MIT","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvigo%2Ftextmate2-64tass-bundle","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvigo%2Ftextmate2-64tass-bundle","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvigo%2Ftextmate2-64tass-bundle/lists"}