{"id":27931365,"url":"https://github.com/fredrik-hjarner/fasm68k","last_synced_at":"2025-05-07T03:15:07.633Z","repository":{"id":291483141,"uuid":"977674609","full_name":"fredrik-hjarner/fasm68k","owner":"fredrik-hjarner","description":"fasm68k - Motorola 68000 instruction set for fasmg (flat assembler g)","archived":false,"fork":false,"pushed_at":"2025-05-06T19:35:39.000Z","size":813,"stargazers_count":4,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-05-07T03:15:01.975Z","etag":null,"topics":["assembler","assembly","fasm68k","fasmg","instruction-set","m68k","motorola-68000"],"latest_commit_sha":null,"homepage":"","language":"Assembly","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fredrik-hjarner.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2025-05-04T18:22:39.000Z","updated_at":"2025-05-06T19:35:42.000Z","dependencies_parsed_at":"2025-05-04T23:43:59.193Z","dependency_job_id":null,"html_url":"https://github.com/fredrik-hjarner/fasm68k","commit_stats":null,"previous_names":["fredrik-hjarner/fasm68k"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fredrik-hjarner%2Ffasm68k","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fredrik-hjarner%2Ffasm68k/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fredrik-hjarner%2Ffasm68k/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fredrik-hjarner%2Ffasm68k/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fredrik-hjarner","download_url":"https://codeload.github.com/fredrik-hjarner/fasm68k/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252804225,"owners_count":21806773,"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":["assembler","assembly","fasm68k","fasmg","instruction-set","m68k","motorola-68000"],"created_at":"2025-05-07T03:15:06.628Z","updated_at":"2025-05-07T03:15:07.626Z","avatar_url":"https://github.com/fredrik-hjarner.png","language":"Assembly","funding_links":[],"categories":[],"sub_categories":[],"readme":"# fasm68k - Motorola 68000 instruction set for fasmg (flat assembler g)\n\n**Note**: Consider this to be in alpha stage. Currently supports all 68k\ninstructions that are validated with about [10,000 tests](https://raw.githubusercontent.com/fredrik-hjarner/fasm68k/refs/heads/master/src/tests/valid_instructions.asm)\nbut the code might still\ncontain bugs. If you find bugs then don't hesitate reporting them, since the\nhardest part is to find the bugs while it might be way easier to fix them.\n\n## Description\n\nThe fasm68k instruction set adds support to assemble assembly code for the\nMotorola 68000 cpu with Tomasz Grysztar's fasmg.\n\n[Here](https://github.com/BigEvilCorporation/megadrive_samples/compare/master...fredrik-hjarner:megadrive_samples_fasm68k:master)\nyou can see what was needed to adapt BigEvilCorporation's megadrive_samples for\nfasm68k.\n\n## Usage\n\n\u003cdetails\u003e\n\n\u003csummary\u003eLinux\u003c/summary\u003e\n\u003cblockquote\u003e\n\nGet fasm68k and it's dependences (i.e. fasmg and examples) by running:\n\n`git clone --recurse-submodules git@github.com:fredrik-hjarner/fasm68k.git`\n\nStep into the repository directory:\n\n`cd fasm68k`\n\nScript must be executable:\n\n`chmod +x fasm68k`\n\nTo assemble the examples run these commands and binary files should be created\nwhich you can run in a Mega Drive/Genesis emulator:\n\n`./fasm68k megadrive_samples_fasm68k/1_hello_world/hello.asm`\n\n`./fasm68k megadrive_samples_fasm68k/2_scroll_planes/scroll.asm`\n\n`./fasm68k megadrive_samples_fasm68k/3_sprites/sprites.asm`\n\n`./fasm68k megadrive_samples_fasm68k/4_gamepad/gamepad.asm`\n\n`./fasm68k megadrive_samples_fasm68k/6_psg_tone/psg_tone.asm`\n\nAdd a new line at the bottom of your .bashrc file adding the fasm68k directory\nto the PATH so you can run fasm68k from anywhere and not only from the specific\nfolder you cloned it into:\n\n`export PATH=$HOME/code/fasm68k:$PATH`\n\n\u003c/blockquote\u003e\u003c/details\u003e\n\n\u003cdetails\u003e\n\n\u003csummary\u003eWindows\u003c/summary\u003e\n\u003cblockquote\u003e\nTODO\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\n## Differences from other m68k assemblers\n\n- Macros are completely different and it's the main reason for this project to\nexist. fasmg's macro langauge is more powerful than the macro languages of other\nassemblers. Check out [fasmg's manual](https://flatassembler.net/docs.php?article=fasmg_manual) for more information.\n- fasm68k does not support `*` to get the current address. Either use `@` or `$`\ninstead.\n- Some operators are different. While I have added support for `\u003c\u003c` and `\u003e\u003e `for\nbit shifting, the preferred way is to use `shl` and `shr`. Likewise try to use\n`or` instead of `|` and `and` instead of `\u0026`.\n- Binary numbers are written as `01010101b` (instead of `%01010101`).\n- You prefix labels with dot `.label1` to make them local (instead of prefixing\nwith @ `@label1`).\n- Currently no optimizations and might be missing some aliases for some\ninstructions.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffredrik-hjarner%2Ffasm68k","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffredrik-hjarner%2Ffasm68k","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffredrik-hjarner%2Ffasm68k/lists"}