在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
开源软件名称:dciabrin/ngdevkit开源软件地址:https://github.com/dciabrin/ngdevkit开源编程语言:C 37.8%开源软件介绍:ngdevkit, open source development for Neo-Geongdevkit is a C/C++ software development kit for the Neo-Geo AES or MVS hardware. It includes:
How to use the devkitInstalling pre-built binary packagesThere are nightly packages available for Linux, macOS and Windows, so you get the most up-to-date devkit without recompiling the entire toolchain any time there is an update in git. LinuxIf you are running an Ubuntu or Debian distribution, you can install pre-built debian packages from the ngdevkit PPA, as well as a couple of dependencies for the examples ROMs:
If you are running a Fedora distribution, pre-built packages are available in COPR, and can be installed with the following commands:
macOSIf you are running on macOS, you can install brew packages, available in the ngdevkit tap:
Some macOS versions are not currently pre-built (macOS 11 Intel and M1), as our CI provider doesn't currently offer free hosted agents yet, so it might take some time to install the packages. WindowsYou can run ngdevkit natively on Windows, via the MSYS2 environment and an official Python 3 release for Windows from https://www.python.org. In a MSYS2 shell, you first need to install PyGame in your Python 3
environment (
Then, in order to install pre-built ngdevkit packages, add the ngdevkit repository into your MSYS2 installation, and install the required packages:
An old version of ngdevkit supported Windows 10 via WSL, but it is now deprecated in favour of the native MSYS2 environment. Build the included examplesThe devkit comes with a series of examples to demonstrate how to use the compiler and tools. Once ngdevkit packages are installed, you can clone the ngdevkit-examples repository:
And build all the examples with the following commands if you are running Linux:
For macOS, make sure you use brew's python3 and gmake:
For Windows, you have to build the examples with extra flags and pass the location of the external Python 3 installation written as an MSYS2 path:
Running the emulatorOnce you have built the examples, go into a subdirectory to test the compiled example and run GnGeo from the makefile:
If you are running a recent macOS, System Integrity Protection may prevent you from running GnGeo from make, so you may need to run it from your terminal:
Debugging your programsThe devkit uses a modified version of GnGeo which supports remote debugging via GDB. In order to use that feature on the example ROM, you first need to start the emulator in debugger mode:
With argument Then, run GDB with the original ELF file as a target instead of the final ROM file:
The ELF file contains all the necessary data for the debugger, including functions, variables and source-level line information. Once GDB is started, connect to the emulator to start the the debugging session. For example:
Building the devkit from sourcesIf you want to build from source, this repository is the main entry point: it provides the necessary tools, headers, link scripts and open source BIOS to build your homebrew roms. The rest of the devkit is split into separate git repositories that are automatically cloned at build time:
There are dedicated instructions to build ngdevkit for Linux, macOS or Windows. HistoryThis work started a long time ago (2002!) and was originally called
neogeodev on sourceforge.net. Since then, a community has
emerged at NeoGeo Development Wiki, and it is a real treasure
trove for Neo-Geo development. Coincidentally, they are hosted at
AcknowledgmentsThanks to Charles Doty for his Thanks to Mathieu Peponas for GnGeo and its effective integrated debugger. Thanks to the contributors of the mame project for such a great emulator. A big thank you goes to Furrtek, ElBarto, Razoola...and all the NeoGeo Development Wiki at large. It is an amazing collection of information, with tons of hardware details and links to other Neo-Geo homebrew productions! LicenseThis program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this program. If not, see http://www.gnu.org/licenses/. |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论