farolisto
Read-only Log in

Project board

retroforth

Retro is a modern, pragmatic Forth.

Open project link ↗

Log in to add, edit, move, or delete cards.

Suggestions

0

nga-c

17

Streamline the nga-c implementation

2026.xxworking on it

Streamline the nga-c implementation

Detailed notes

No detailed notes have been added.

Consolidate repeated UTF-8 decoding

read_character, fread_character, and string_inject each implement overlapping UTF-8 decoding.

2026.xxworking on it

Consolidate repeated UTF-8 decoding

Detailed notes

No detailed notes have been added.

Add a single device manifest

Each optional device is currently represented in several places: build flags, module includes, prototypes, runtime registration, interfaces embedded into the image, and sometimes linker libraries. An X-macro-style devices.def could generate the C-side declarations/includes/registration.

2026.xxworking on it

Add a single device manifest

Detailed notes

No detailed notes have been added.

Merge the two scripting include loops

include_file and include_plain_file duplicate most of their file, line, return-stack, abort, and source bookkeeping.

2026.xxworking on it

Merge the two scripting include loops

Detailed notes

No detailed notes have been added.

Remove stale code

2026.xxworking on it

Remove stale code

Detailed notes

No detailed notes have been added.

iOS

9

UI Replacement

The current application uses a mix of views generated in code and a complex set of Storyboards. This is fragile, and recent Xcode releases have broken it in my testing. I'm rewriting the UI using SwiftUI, with a goal of a more maintainable codebase going forward.

2026.xxworking on it

UI Replacement

Detailed notes

No detailed notes have been added.

Replace network code

The current network support is very complex, and uses a variety of deprecated resources. For the next release, this should be replaced with a more modern approach. Much of the work on this is shared with my Gopher client for iOS, and most of the needed changes have been completed there, so this shouldn't take long to update once I have time to merge it in.

2026.xxdeferred

Replace network code

Detailed notes

No detailed notes have been added.

Update the examples

Many of the examples are out of date for the current ngaImage. For the next release, I should curate the examples, providing a focused set, and ensuring all are up to date.

2026.xxdocumentationworking on it

Update the examples

Detailed notes

No detailed notes have been added.

Update Nga for current RetroForth image format

The version of Nga in the iOS port no longer works with the current ngaImage. This needs to be updated. Finishing this is blocked by current work on the dictionary format.

2026.xxdeferred

Update Nga for current RetroForth image format

Detailed notes

No detailed notes have been added.

Remove non-open resources

The current codebase has some resources that I don't have licensing to distribute in a source format. I'm replacing these with clean implementations so the next release can be fully open source.

2026.xxworking on it

Remove non-open resources

Detailed notes

No detailed notes have been added.

Terminal Emulation

It'd be nice to have a terminal emulation for proper interactive use of RetroForth on iOS.

deferredfeature

Terminal Emulation

Detailed notes

No detailed notes have been added.

Support for updating the ngaImage & examples

I'd like to be able to allow updates to the RetroForth system without requiring going through app review since most changes going forward won't actually need a rebuilt iOS app. I'm looking into seeing if I can provide functionality for this within the application without running afoul of Apple's restrictions.

working on it

Support for updating the ngaImage & examples

Detailed notes

No detailed notes have been added.

Documentation Browser

The current documentation browser doesn't remember any state, so you have to start over each time you use it. I want to fix this so it'll be friendlier to use.

2026.xx

Documentation Browser

Detailed notes

No detailed notes have been added.

Setup Fossil repository for this project

Setup Fossil repository for this project

Detailed notes

No detailed notes have been added.

RetroForth Image

2

dictionary format cleanup

- Add `d:extras` - Move documentation fields as extra fields

architectureworking on it

dictionary format cleanup

Detailed notes

No detailed notes have been added.

Document changes to the image format

2026.xx

Document changes to the image format

Detailed notes

No detailed notes have been added.

build toolchain

5

toolchain improvements

Building retro requires a variety of tools, all of which need to be updated as the image format & dictionary structure evolve. I'd like to make these all easier to keep in sync.

2026.xxfeatureworking on it

toolchain improvements

Detailed notes

No detailed notes have been added.

Look into merging the Makefile and GNUmakefile

Look into merging the Makefile and GNUmakefile

Detailed notes

No detailed notes have been added.

takawiri

1

improve text output handling

Takawiri provides a very limited terminal emulation. This should be extended to handle several things: - colors (separate from the physical display) - cursor positioning - newline handling - limited scrollback support

improve text output handling

Detailed notes

No detailed notes have been added.

Cleanups

2