Neocore is a library and toolchain for developing on Neo Geo CD.
It provides high-level functions over Neo Dev Kit and DATlib 0.2, and includes tools and code that can help with projects on this platform.
The library is mainly tested on Raine and MAME emulators and is compatible with Windows 10 and Windows 11 for building.
I share my tools and my code, these could possibly help your projects on this platform.
- High-level functions for Neo Geo CD development
- Tools and code to assist with projects
- Tested on Raine and MAME emulators
- Compatible with Windows 10 and Windows 11
Please note that the library is under development and unoptimized, and the author is not responsible for any software damage.
Neocore is licensed under the MIT license.
Copyright 2019 by David Vandensteen.
Some graphics by Grass.
cd samples\hello
.\mak.bat run
Warn : mak script override path environment variable during the compiling, if u have some problems after using it, just close and restart a new command terminal
- Clean the builded resources
.\mak.bat clean
- Build sprites
.\mak.bat sprite
- Build the program
.\mak.bat
- Build the ISO file
.\mak.bat iso
- Run with Raine
.\mak.bat raine
- Run with Mame
.\mak.bat mame
or
.\mak.bat run
- Delivery ISO
.\mak.bat dist:iso
- Delivery MAME
.\mak.bat dist:mame
xcopy /E /I bootstrap\sample samples\awesome_project
Edit project.xml and set the project name
notepad samples\awesome_project\project.xml
<project>
<name>awesome_project</name>
...
Compile and run it
cd samples\awesome_project
.\mak.bat run
See .\samples\awesome_project\project.xml
for settings.
cd samples\hello
.\mak.bat serve
Wait the running of the emulator and edit projects\hello\main.c
Now, remove loggerInfo("DAVID VANDENSTEEN"); (for example)
Save the file
The hot-reload process will rebuild & run your project automaticaly.
Some problems currently:
- The process is not a real watcher (the rebuild is triggered only if the folder size change)
- When you break this process, path is not restored in the current terminal (close & reopen a new terminal)
cd samples\CDDA
.\download-assets
.\mak.bat run
In the emulator, use joypad right and left to change audio track.
See .\samples\CDDA\project.xml
for understanding how to set the audio file.
With powershell (you need to "be" in neocore folder root path)
$project = "c:\my-git\myGame"
- Replace
c:\my-git\myGame
with your real path.
xcopy /E /I src-lib $project\neocore\src-lib; copy manifest.xml $project\neocore; copy bootstrap\.gitignore $project\.gitignore; xcopy /E /I toolchain $project\neocore\toolchain; xcopy /E /I bootstrap\standalone $project\src; notepad $project\src\project.xml
For making your own graphics, see the DATlib ref available here: (you need to building a sample for init build folder)
.\build\neodev-sdk\doc\DATlib-LibraryReference.pdf
DATlib Framer tool is available here:
.\build\neodev-sdk\m68k\bin\Framer.exe
The Animator tool is available here:
.\build\neodev-sdk\m68k\bin\Animator.exe
cd src-lib
.\build-neocore.bat -gccPath ..\build\gcc\gcc-2.95.2 -includePath ..\build\include -libraryPath ..\build\lib
This script override path environment variable during the compilation.
its avoid collisions with other bin, sdk, gcc...
If sdk was not found, build a sample (with mak script) to initialize cache (sdk will install in build folder).
BE CAREFUL : You need to remove build folder .\build
for supress cache files before compiling a project