35 lines
1.4 KiB
Markdown
35 lines
1.4 KiB
Markdown
# Carbon Hydrogen
|
|
NeoNucleus JNI bindings.
|
|
### Dev Setup Notes
|
|
Java expects libcarbon.so on the src/native directory. This is the default unless you're not using the Makefile. Make *sure* to build NeoNucleus with `make lib MODE=release`, and place the libneonucleus.a on src/native. The same applies for TLA (testLuaArch), which must be built with `make MODE=release`.
|
|
### Development
|
|
Carbon is currently being organized in "milestones", below they are.
|
|
#### Milestone 1
|
|
- [x] PointerBackedClass
|
|
- [x] testLuaArch included
|
|
- [x] Statically linked NeoNucleus
|
|
- [x] Null pointer checks
|
|
- [x] Lua error in console
|
|
#### Milestone 2
|
|
- [ ] On-demand native structs
|
|
- [ ] NativeComponent, and java-defined Component(s)
|
|
- [x] Make nn_EEPROM *not* PBC'd.
|
|
- [ ] JNIComponentHandler
|
|
- [ ] JNI Environment handler
|
|
- [ ] Java-side userdata fields
|
|
- [ ] Implement ncl screen
|
|
- [ ] Prevent more footguns (more error handling, etc...)
|
|
#### Milestone 3
|
|
- [ ] Implement all base nn_* functions
|
|
- [ ] Implement all ncl_* functions
|
|
- [ ] Custom Java architectures (JNI architecture handler)
|
|
- [ ] Auto-generate native structs in Java from a JSON file (?)
|
|
- [ ] Boot OpenOS
|
|
### Milestone 4 (MVP release?)
|
|
- [ ] OS tests
|
|
- [ ] Carbon C library
|
|
- [ ] Fix/add missing javadoc comments
|
|
- [ ] Point Makefile to the submodule's files instead of copying them over (for NeoNucleus)
|
|
- [ ] Write a working emulator using Carbon *or* Hydrogen (NC-Telnet?)
|
|
- [ ] Begin work on Hydrogen
|