From 7537f4c510707a075507c2e533ec2e33d757cd27 Mon Sep 17 00:00:00 2001 From: Scott Duensing Date: Tue, 6 May 2025 11:52:28 -0500 Subject: [PATCH] Update Joey Projects Status --- Joey-Projects-Status.md | 254 ++++++++++++++++++++-------------------- 1 file changed, 127 insertions(+), 127 deletions(-) diff --git a/Joey-Projects-Status.md b/Joey-Projects-Status.md index 324851e..771a572 100644 --- a/Joey-Projects-Status.md +++ b/Joey-Projects-Status.md @@ -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. \ No newline at end of file