{"id":13545828,"url":"https://github.com/andwn/marsdev","last_synced_at":"2026-02-17T09:46:42.788Z","repository":{"id":25168311,"uuid":"98212943","full_name":"andwn/marsdev","owner":"andwn","description":"Cross platform Mega Drive / 32X toolchain","archived":false,"fork":false,"pushed_at":"2024-05-02T12:00:35.000Z","size":351,"stargazers_count":181,"open_issues_count":6,"forks_count":18,"subscribers_count":12,"default_branch":"master","last_synced_at":"2025-06-24T23:03:14.846Z","etag":null,"topics":["gnu-toolchain","mega-drive-toolchains","megadrive","sega-32x","sega-genesis","sega-mega-drive","sgdk"],"latest_commit_sha":null,"homepage":"","language":"Makefile","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/andwn.png","metadata":{"files":{"readme":"README-ja.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,"zenodo":null}},"created_at":"2017-07-24T16:45:04.000Z","updated_at":"2025-04-22T16:23:44.000Z","dependencies_parsed_at":"2023-02-18T23:45:20.496Z","dependency_job_id":"8ac6b9ed-d482-4def-b3f7-5575168bb8c0","html_url":"https://github.com/andwn/marsdev","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"purl":"pkg:github/andwn/marsdev","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andwn%2Fmarsdev","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andwn%2Fmarsdev/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andwn%2Fmarsdev/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andwn%2Fmarsdev/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/andwn","download_url":"https://codeload.github.com/andwn/marsdev/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andwn%2Fmarsdev/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261771109,"owners_count":23207217,"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":["gnu-toolchain","mega-drive-toolchains","megadrive","sega-32x","sega-genesis","sega-mega-drive","sgdk"],"created_at":"2024-08-01T12:00:20.653Z","updated_at":"2025-10-18T04:06:46.705Z","avatar_url":"https://github.com/andwn.png","language":"Makefile","funding_links":[],"categories":["Sega Genesis","Programming"],"sub_categories":["\u003ca name = \"retro-sega-genesis-devkit\"\u003e\u003c/a\u003eDevkit","Toolchains"],"readme":"# Marsdev\n\nクロスプラットフォームなメガドライブ用ツールチェーンです。\n\n[English](README.md) | 日本語\n\n## ビルドとインストール\n\n### 1. 前提条件\n\nOSによって、以下のパッケージをインストールしてください：\n * Debian: `apt install build-essential texinfo wget`\n * RedHat: `yum install gcc gcc-c++ texinfo-tex wget`\n * Arch: `pacman -S base-devel texinfo wget`\n * Gentoo: `emerge sys-apps/texinfo net-misc/wget`\n * macOS: `xcode-select --install \u0026\u0026 brew install wget`\n\n\n### 2. GCC ツールチェーン\n\nGitHubからクローンして：\n - `git clone https://github.com/andwn/marsdev --recurse-submodules`\n - `cd marsdev`\n\n---\n**注意**\n\nMarsdevがどのディレクトリでビルドされ、インストールされるかを制御する2つの変数がある：\n - `MARS_BUILD_DIR` = (このリポジトリのROOT)/mars\n - `MARS_INSTALL_DIR` = /opt/toolchains/mars\n\nどちらかの場所を変更したいの場合は、次のエクスポートコマンドとかを使用できる：\n - `export MARS_INSTALL_DIR=/path/to/mars`\n\nまた、`-j8`のように、8をCPUコア数に置き換えて使用することを**強く推奨**します。\n私は`-j`だけでは説明のつかない奇妙な問題に遭遇したことがあるので、数を指定してください。\n\n---\n\nGCCをビルドするには2つの選択肢がある：\n - `make m68k-toolchain` - Newlibがない\n - `make m68k-toolchain-newlib` - Newlibがある\n\n32Xためビルドしたければ、`sh-toolchain` も必要です。\n選択肢は同じで、上記のコマンドの `m68k` を `sh` に置き換えられる。\n\n別のGCCのバージョンが必要、または特定の言語をビルドしたいなら:\n - `make m68k-toolchain-newlib GCC_VER=12.4.0 LANGS=c,c++`\n\n### 3. (自由に選択) SGDK\n\nSGDKはJavaを必要とするので、インストールして：\n * Debian: `apt install openjdk-11-jre`\n * RedHat: `yum install java-11-openjdk`\n * Arch: `pacman -S jdk11-openjdk`\n * Gentoo: `emerge dev-java/openjdk`\n * macOS: `brew install java`\n\n---\n**注意：macOSについて**\n\nOpenJDKはPATHに追加しなければならない：\n - `~/.zshrc` (まだbashを使用していれば `~/.bashrc`) を開き、次の行を追加して：\n    - `export PATH=\"/usr/local/opt/openjdk/bin:$PATH\"`\n - ターミナルを再起動してか、`source ~/.zshrc` を実行して\n\n---\n\nSGDKをビルドして：\n - `make sgdk`\n\nSGDKの特定のバージョンは、`SGDK_VER=\u003cgit tag\u003e` で指定できる。\nしかし、デフォルト以外のバージョンでの動作は保証できない。\n最新の変更をテストしたい冒険者は、`SGDK_VER=master`も指定できる。\n\n\n### 4.1 (自由に選択) 他のツール\n\n以下のターゲットも用意されています：\n - `make x68k-tools` - シャープX68000の互換性\n - `make mdtools-sik` - mdtiler といくつかの Echo を含む (libpng が必要)。\n - `make mdtools-flamewing` - 各種圧縮ツール (boost が必要)。\n\n\n### 4.2 (実験的) LLVM\n\ncmake、ninjaとpython3が必要:\n - Debian: `apt install cmake ninja-build python3`\n - (TODO: 他のOS)\n\nM68k用のclang付きLLVMをビルド:\n - `make m68k-llvm`\n \nテストはまだ行われておらず、サンプルやスケルトン・プロジェクトはまだ作られる必要があります。\n\n\n### 5. インストール\n\n`sudo make install`だけ必要。\n説明書のパスを覚えておいて、`~/.bashrc`（または`~/.zshrc`）に追加することを検討してください。\n\n\n## 例プロジェクト\n\n`examples`というディレクトリには、自分のプロジェクトの基盤となる様々なサンプル・プロジェクトが含まれています。\nそれぞれの詳細については、[例プロジェクトのREADME](examples/README.md)を参照してください。\n\nビルドするには、`make`コマンドを実行するのような簡単なはずです。\n\n\n## 時々聞く質問\n\n### LinuxでSGDKを使いたいだけ。読むのはつまらないなぁ\n\n - `sudo apt install -y git build-essential texinfo wget openjdk-11-jre`\n - `git clone https://github.com/andwn/marsdev \u0026\u0026 cd marsdev`\n - `make sgdk -j8`\n - `sudo make install`\n - そして `examples/sgdk-skeleton` をどこかにコーピーしてコーぢングして始まって。\n\n\n### どうやってIDEと使えるのだろうか？\n\n色々なIDEがあるんだから、独特の説明できません。\nでも、もし設定が見つけられていたら、以下のフォルダーを記入してください。\n\n * GCC Headers: `$(MARSDEV)/m68k-elf/lib/gcc/m68k-elf/$(GCC_VER)/include`\n * SGDK Headers: `$(MARSDEV)/m68k-elf/include`\n * Newlib Headers: `$(MARSDEV)/m68k-elf/m68k-elf/include`\n\nIDEでビルドとランボタンの動作を設定できるのであれば、以下のように実行させればよい。\n\n * Build: `make MARSDEV=/path/to/mars`\n * Run: `/path/to/an/emulator out.bin`\n\n\n### What about Windows?\n\nWindows10か11を持っていれば、[WSL](https://learn.microsoft.com/ja-jp/windows/wsl/install)\nでインストールしたほうが良いです。\n古い方法は[MSYS2](doc/install_msys_legacy.md)ですけど、私は使ってやめた。\n\n\n### コンパイルにすごく時間がかかるんだよ\n\nGCCはとても大きいので、我慢しかできないです。\n\n\n# 予定こと\n\n - [ ] Finish porting the important parts of libdos and getting Newlib to work with it\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandwn%2Fmarsdev","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fandwn%2Fmarsdev","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandwn%2Fmarsdev/lists"}