Update Joey Projects Status

Scott Duensing 2025-05-06 11:52:28 -05:00
parent a4dd9e3ace
commit 7537f4c510

@ -1,128 +1,128 @@
**JoeyLib** is just one of a suite of projects that make up the entire **JoeyLib** ecosystem. The current components are:
- **JoeyLib**: the programming library itself.
- [**JoeyDev**](https://skunkworks.kangaroopunch.com/skunkworks/joeydev): an IDE for managing and developing **JoeyLib**-based projects.
- [**JoeyBuild**](https://skunkworks.kangaroopunch.com/skunkworks/joeybuild): a virtual machine based build server that works with **JoeyDev** to perform the builds for all the supported targets.
### Why so complicated?
Cross-compiling for numerous platforms from a single system is not something that is easy to configure. Along the way, I've tried several different techniques to help get people up and running with **JoeyLib** and none of them have been as easy as I'd like. Instead of requiring people to use a particular Linux distro and attempt to troubleshoot all the required toolchains, the current setup allows developers to work from their preferred OS with a friendly GUI-based IDE. All the messy compiler infrastructure is handled by Kangaroo Punch. Or, if you prefer, you can run your own build VM on your system using the **JoeyBuild** scripts.
### Current Status & Future Plans
(These lists will improve and update as time goes on!)
#### JoeyLib
(See JoeyBuild below for planned and future targets.)
* General:
* Simplify joey.h using the "backend" concept used by JoeyBuild - _In Progress_
* New vector image format - _In Progress_
* Networking support - _Planned_
* Configuration tool for controllers and networking - _Planned_
* Compressed data files - _Planned_
* Abstracted file system (for consoles) - _Planned_
* Mouse support - _Planned_
* Rework tilemap API - _Planned_
* Partial display updates - _Planned_
* Improved graphics primitives clipping - _Planned_
* Flood fill fixes - _Planned_
* Patterened / dithered drawing and filling - _Planned_
* Improved palette API - _Planned_
* Support for more colors via IIgs-style SCBs - _Planned_
* Better keyboard support for things like adventure games - _Planned_
* Apple IIgs Backend:
* Compiled Sprites - _Planned_
* Sound effects - _Planned_
* Additional / Multiple Controller Support - _Planned_
* Move more graphics primitives (fill, circles, ellipses, etc.) into ASM - _Planned_
* SDL / SDL2 Backend:
* Merge SDL 1.2 and SDL 2 backends for easier maintenance.
* Improved window resizing - _Planned_
* Multiple Controller Support - _Planned_
#### JoeyDev
* Host Platforms:
* Linux:
* x86 64 bit - **_Working_**
* ARM 64 bit - _In Progress_
* Moden Macintosh:
* x86 64 bit - _In Progress_
* ARM 64 bit - _In Progress_
* Windows:
* x86 64 bit - _In Progress_
* ARM 64 bit - _In Progress_
* Features:
* Project Management:
* Create Projects - **_Working_**
* Load Projects - **_Working_**
* Save Projects - **_Working_**
* Manage Projects - **_Working_**
* "Cooking" Raw Game Data - **_Working_**
* Build Server Management - **_Working_**
* Building Projects - _In Progress_
* Code / Text Editor - _In Progress_
* Vector Art Editor - _In Progress_
* Bitmap Art Editor - _Planned_
* Sound Editor - _Planned_
* Music Editor - _Planned_
* In-IDE Application Testing - _Planned_
* Emulated Target Application Testing - _Planned_
* Online Help - _In Progress_
#### JoeyBuild
* Project Types:
* "Application" projects (games, demos, apps, etc.) - **_Working_**
* "JoeyLib" projects (working on JoeyLib itself) - _In Progress_
* Targets:
* Apple IIgs:
* 65816 - **_Working_**
* Microsoft Windows:
* XP and later:
* x86 32 bit - **_Working_**
* x86 64 bit - **_Working_**
* ARM 64 bit - _Future_
* 9x:
* x86 32 bit - _Planning_
* 3.x
* x86 32 bit - _Planning_
* Apple Macintosh:
* Modern MacOS:
* x86 32 bit - **_Working_**
* x86 64 bit - **_Working_**
* ARM 64 bit - **_Working_**
* Classic MacOS:
* 68k - _Planning_
* PPC - _Planning_
* DOS:
* x86 32 bit - _Planning_
* BeOS / Haiku:
* x86 32 bit - _In Progress_
* x86 64 bit - _In Progress_
* IBM OS/2:
* x86 32 bit - _Future_
* Raspberry Pi:
* ARM 32 bit (Linux) - _In Progress_
* ARM 64 bit (Linux) - _In Progress_
* ARM 32 bit (Bare Metal) - _Planning_
* ARM 64 bit (Bare Metal) - _Planning_
* Atari ST:
* 68k - _Future_
* Commodore Amiga:
* 68k - _Future_
* Acorn:
* ARM (RISC OS) - _Future_
* Android:
* ARM 64 bit - _Future_
* iOS:
* ARM 64 bit - _Future_
**Status Descriptions:**
* **Working**: Implemented, functional. May need cleanup or a few features.
* **In Progress**: Implemented, not entirely functional. Needs work.
* **Planning**: Researched, implementation details worked out. Needs coded.
**JoeyLib** is just one of a suite of projects that make up the entire **JoeyLib** ecosystem. The current components are:
- **JoeyLib**: the programming library itself.
- [**JoeyDev**](https://forge.duensing.digital/Public_Skunkworks/joeydev): an IDE for managing and developing **JoeyLib**-based projects.
- [**JoeyBuild**](https://forge.duensing.digital/Public_Skunkworks//joeybuild): a virtual machine based build server that works with **JoeyDev** to perform the builds for all the supported targets.
### Why so complicated?
Cross-compiling for numerous platforms from a single system is not something that is easy to configure. Along the way, I've tried several different techniques to help get people up and running with **JoeyLib** and none of them have been as easy as I'd like. Instead of requiring people to use a particular Linux distro and attempt to troubleshoot all the required toolchains, the current setup allows developers to work from their preferred OS with a friendly GUI-based IDE. All the messy compiler infrastructure is handled by Kangaroo Punch. Or, if you prefer, you can run your own build VM on your system using the **JoeyBuild** scripts.
### Current Status & Future Plans
(These lists will improve and update as time goes on!)
#### JoeyLib
(See JoeyBuild below for planned and future targets.)
* General:
* Simplify joey.h using the "backend" concept used by JoeyBuild - _In Progress_
* New vector image format - _In Progress_
* Networking support - _Planned_
* Configuration tool for controllers and networking - _Planned_
* Compressed data files - _Planned_
* Abstracted file system (for consoles) - _Planned_
* Mouse support - _Planned_
* Rework tilemap API - _Planned_
* Partial display updates - _Planned_
* Improved graphics primitives clipping - _Planned_
* Flood fill fixes - _Planned_
* Patterened / dithered drawing and filling - _Planned_
* Improved palette API - _Planned_
* Support for more colors via IIgs-style SCBs - _Planned_
* Better keyboard support for things like adventure games - _Planned_
* Apple IIgs Backend:
* Compiled Sprites - _Planned_
* Sound effects - _Planned_
* Additional / Multiple Controller Support - _Planned_
* Move more graphics primitives (fill, circles, ellipses, etc.) into ASM - _Planned_
* SDL / SDL2 Backend:
* Merge SDL 1.2 and SDL 2 backends for easier maintenance.
* Improved window resizing - _Planned_
* Multiple Controller Support - _Planned_
#### JoeyDev
* Host Platforms:
* Linux:
* x86 64 bit - **_Working_**
* ARM 64 bit - _In Progress_
* Moden Macintosh:
* x86 64 bit - _In Progress_
* ARM 64 bit - _In Progress_
* Windows:
* x86 64 bit - _In Progress_
* ARM 64 bit - _In Progress_
* Features:
* Project Management:
* Create Projects - **_Working_**
* Load Projects - **_Working_**
* Save Projects - **_Working_**
* Manage Projects - **_Working_**
* "Cooking" Raw Game Data - **_Working_**
* Build Server Management - **_Working_**
* Building Projects - _In Progress_
* Code / Text Editor - _In Progress_
* Vector Art Editor - _In Progress_
* Bitmap Art Editor - _Planned_
* Sound Editor - _Planned_
* Music Editor - _Planned_
* In-IDE Application Testing - _Planned_
* Emulated Target Application Testing - _Planned_
* Online Help - _In Progress_
#### JoeyBuild
* Project Types:
* "Application" projects (games, demos, apps, etc.) - **_Working_**
* "JoeyLib" projects (working on JoeyLib itself) - _In Progress_
* Targets:
* Apple IIgs:
* 65816 - **_Working_**
* Microsoft Windows:
* XP and later:
* x86 32 bit - **_Working_**
* x86 64 bit - **_Working_**
* ARM 64 bit - _Future_
* 9x:
* x86 32 bit - _Planning_
* 3.x
* x86 32 bit - _Planning_
* Apple Macintosh:
* Modern MacOS:
* x86 32 bit - **_Working_**
* x86 64 bit - **_Working_**
* ARM 64 bit - **_Working_**
* Classic MacOS:
* 68k - _Planning_
* PPC - _Planning_
* DOS:
* x86 32 bit - _Planning_
* BeOS / Haiku:
* x86 32 bit - _In Progress_
* x86 64 bit - _In Progress_
* IBM OS/2:
* x86 32 bit - _Future_
* Raspberry Pi:
* ARM 32 bit (Linux) - _In Progress_
* ARM 64 bit (Linux) - _In Progress_
* ARM 32 bit (Bare Metal) - _Planning_
* ARM 64 bit (Bare Metal) - _Planning_
* Atari ST:
* 68k - _Future_
* Commodore Amiga:
* 68k - _Future_
* Acorn:
* ARM (RISC OS) - _Future_
* Android:
* ARM 64 bit - _Future_
* iOS:
* ARM 64 bit - _Future_
**Status Descriptions:**
* **Working**: Implemented, functional. May need cleanup or a few features.
* **In Progress**: Implemented, not entirely functional. Needs work.
* **Planning**: Researched, implementation details worked out. Needs coded.
* **Future**: Target is known to be able to support JoeyLib. Needs research.