{"id":15357692,"url":"https://github.com/nauja/moro8asm","last_synced_at":"2025-03-27T19:48:45.232Z","repository":{"id":139652786,"uuid":"454379389","full_name":"Nauja/moro8asm","owner":"Nauja","description":"Assembler for moro8 in ANSI C","archived":false,"fork":false,"pushed_at":"2022-12-21T23:25:28.000Z","size":150,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-01T22:29:02.122Z","etag":null,"topics":["6502","6502-assembly","6502-processor","ansi-c","c","cpu","emulator","library","simulator"],"latest_commit_sha":null,"homepage":"","language":"C","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/Nauja.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}},"created_at":"2022-02-01T12:30:19.000Z","updated_at":"2024-01-12T07:05:06.000Z","dependencies_parsed_at":"2023-07-23T08:30:18.233Z","dependency_job_id":null,"html_url":"https://github.com/Nauja/moro8asm","commit_stats":{"total_commits":18,"total_committers":2,"mean_commits":9.0,"dds":0.05555555555555558,"last_synced_commit":"a54a88179a6293ef22a6cf18c69f639fd442dc4e"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nauja%2Fmoro8asm","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nauja%2Fmoro8asm/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nauja%2Fmoro8asm/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nauja%2Fmoro8asm/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Nauja","download_url":"https://codeload.github.com/Nauja/moro8asm/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245916256,"owners_count":20693389,"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":["6502","6502-assembly","6502-processor","ansi-c","c","cpu","emulator","library","simulator"],"created_at":"2024-10-01T12:38:04.912Z","updated_at":"2025-03-27T19:48:45.209Z","avatar_url":"https://github.com/Nauja.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# moro8asm\n\n[![CI](https://github.com/Nauja/moro8asm/actions/workflows/CI.yml/badge.svg)](https://github.com/Nauja/moro8asm/actions/workflows/CI.yml)\n[![CI Docs](https://github.com/Nauja/moro8asm/actions/workflows/CI_docs.yml/badge.svg)](https://github.com/Nauja/moro8asm/actions/workflows/CI_docs.yml)\n[![Documentation Status](https://readthedocs.org/projects/moro8asm/badge/?version=latest)](https://moro8asm.readthedocs.io/en/latest/?badge=latest)\n[![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](https://raw.githubusercontent.com/Nauja/moro8asm/master/LICENSE)\n\nAssembler for the [moro8](https://github.com/Nauja/moro8) fantasy CPU written in ANSI C.\n\n## Why\n\nWhile there already exist C compilers for 6502 based systems which can even target the NES such as [cc65](https://github.com/cc65/cc65), they are often more complex than needed for the sole purpose of compiling C code for the moro8 fantasy CPU where the limitations are clearly identified. Also, the moro8 fantasy CPU doesn't aim to strictly emulate the 6502 microprocessor or the NES. In fact, it greatly differs in terms of hardware and capabilities.\n\nFor those reasons, and also for educational purposes, I decided to write this assembler.\n\n## Usage\n\ntodo\n\nCheck the [documentation](https://moro8asm.readthedocs.io/en/latest/) to find more examples and learn about the API.\n\n## Build Manually\n\nCopy the files [moro8asm.c](https://github.com/Nauja/moro8asm/blob/main/moro8asm.c) and [moro8asm.h](https://github.com/Nauja/moro8asm/blob/main/moro8asm.h) into an existing project.\n\nComment or uncomment the defines at the top of `moro8asm.h` depending on your configuration:\n\n```c\n/* Define to 1 if you have the \u003cstdio.h\u003e header file. */\n#ifndef HAVE_STDIO_H\n#define HAVE_STDIO_H 1\n#endif\n\n/* Define to 1 if you have the \u003cstdlib.h\u003e header file. */\n#ifndef HAVE_STDLIB_H\n#define HAVE_STDLIB_H 1\n#endif\n\n/* Define to 1 if you have the \u003cstring.h\u003e header file. */\n#ifndef HAVE_STRING_H\n#define HAVE_STRING_H 1\n#endif\n\n...\n```\n\nYou should now be able to compile this library correctly.\n\n## Build with CMake\n\nTested with CMake \u003e= 3.13.4:\n\n```\ngit clone https://github.com/Nauja/moro8asm.git\ncd moro8asm\ngit submodule init\ngit submodule update\nmkdir build\ncd build\ncmake ..\n```\n\nCMake will correctly configure the defines at the top of [moro8asm.h](https://github.com/Nauja/moro8asm/blob/main/moro8asm.h) for your system.\n\nYou can then build this library manually as described above, or by using:\n\n```\nmake\n```\n\nThis will generate `moro8asm.a` if building as a static library and `libmoro8asm.so` in the `build` directory.\n\nYou can change the build process with a list of different options that you can pass to CMake. Turn them on with `On` and off with `Off`:\nTODO\n\n## Build with Visual Studio\n\nGenerate the Visual Studio solution with:\n\n```\nmkdir build\ncd build\ncmake .. -G \"Visual Studio 16 2019\"\n```\n\nYou can now open `build/moro8asm.sln` and compile the library.\n\n## License\n\nLicensed under the [MIT](https://github.com/Nauja/moro8asm/blob/main/LICENSE) License.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnauja%2Fmoro8asm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnauja%2Fmoro8asm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnauja%2Fmoro8asm/lists"}