|
Forum Index : Microcontroller and PC projects : Gami1000 -- a native FORTH OS for ESP32-P4 -- stage 'Theta'
| Author | Message | ||||
| amiga Regular Member Joined: 08/05/2025 Location: BelgiumPosts: 52 |
Hi to all the keyboard and silicon enthusiasts—from 1-bit and 4-bit up to 32-bit systems. The 'Gami1000' project is moving from the 'Zeta' stage to the 'Theta' stage. Apparently, the word 'FORTH' scares off 99% of developers... If only it were just as effective against the world's woes. The architecture has evolved: there are now two VMs—one for the 'Web' interface and another for the 'LCD' interface. They are independent and run in their own environments as background tasks; each receives commands and executes them on its respective interface. In addition to the 'FORTH' engine—which handles all low-level management transparently to the user , I’ve integrated a 'Lua' interpreter running in its own VM alongside the 'FORTH' engine. 'Lua' utilizes the hardware infrastructure managed by 'FORTH' by using the same protocol as the 'FORTH' engine. No need to reinvent the wheel. 'Lua' integrates into the IDE just like 'FORTH' does (edit/run/simulation screen) and uses the same components as the 'FORTH' engine. I’ve implemented 'Blockly' similar to 'Scratch'. It’s a programming learning app for my 7-year-old granddaughter. I’ve started teaching her the 'FORTH' stack philosophy... we had a lot of fun using actual plates! Currently, 'Blockly' generates 'FORTH' code that runs on the simulation screen just like a real 'FORTH' script; 'LCD' screen control is currently being implemented. A 'Lua' code generator for 'Blockly' is also in the works intended for use by some of my friends... They forgot "May the 'FORTH' be with the YOU"... HAHAHOUHOU Here are a few screenshots... On to the next step: 'Meta'. See ya, Amiga (from Belgium with a fresh beer). 'Sombrero' coded with 'Lua' and execute in 'P4' with 'Lua' engine ![]() 'Sombrero' 'Lua' code . ![]() 'Blockly' embedded in 'P4'. ![]() 'Blockly' generate 'FORTH' code ,run it throught 'VM-FORTH' and debug with dynamic display stack's FORTH |
||||
| tom_g Newbie Joined: 21/02/2023 Location: SwitzerlandPosts: 23 |
Bonjours amiga, I follow these your threads with much interest and I am deeply impressed with the progress and the pace, great work indeed, you merit my respect ! Although I am into the pico line of CPUs, I eventually try the ESP32-word again thanks to this interesting forth IDE - hesitating up to now, because of docs and the provenience of the chips ...! I don't see behind the requirements nor the computing power requirements, but how about something similar for the Pico 2 ? amiga(o), hopefully more to read from you :-) Best regards to the country of "les frites" from the country of "jodel and cheese": Thomas |
||||
| amiga Regular Member Joined: 08/05/2025 Location: BelgiumPosts: 52 |
Hi tom_g , Hello, Thanks for the feedback and encouragement. It’s an unconventional project—one that catches many members on various forums off guard—because it’s based on FORTH. FORTH is extremely efficient for embedded systems. It remains transparent to the average user (who would code in Lua), yet it allows an admin to extend the BIOS/kernel with new features via the 'elf_loader' function. You compile C code into a binary, place that binary on the SD card, and the system loads it into SPRAM and executes it. Use case: a large application with complex, optimized logic—you load a feature, run it, remove it, and then load the next one, all without rebooting, while the application keeps running. The architecture is evolving; each output type has its own rendering engine in the form of a micro-VM. VM-WEB for web display, VM-LCD for LCD display and I’m finishing up a small VGA setup (VM-VGA) and wrapping up tests for VT100 terminal, mouse, and keyboard control (VM-VT100). You can have four independent outputs—web, LCD, VGA, and VT100—each controlled by one or more VMs running FORTH or Lua. This is just the first step... but the dream is to recreate the spirit of the Amiga 1000 as a tribute to the team that created it. No emulators, no reverse engineering... just inspiration. And now a steak and fries with a nice cold beer and the roar of the 'F1' cars, I'm 10 km from the 'Spa-Francorchamp' circuit. @+ Amiga (from VroumVroum F1 road-rocket) a short video only proof concept no optimised .. http://www.youtube.com/shorts/VpmF9haFagc Here are the two boards I use for development: https://nl.aliexpress.com/item/1005009614687770.html?spm=a2g0o.productlist.main.27.34b22e35HFbTuF&algo_pvid=39edaab5-4e15-4e58-b88c-ad3529fb13a7&algo_exp_id=39edaab5-4e15-4e58-b88c-ad3529fb13a7-26&pdp_ext_f=%7B%22order%22%3A%22139%22%2C%22eval%22%3A%221%22%2C%22fromPage%22%3A%22search%22%7D&pdp_npi=6%40dis%21EUR%2120.89%2120.89%21%21%2123.40%2123.40%21%400b88ab8a17841980021218845e1003%2112000049638142175%21sea%21BE%210%21ABX%211%210%21n_tag%3A-29910%3Bd%3A5964415f%3Bm03_new_user%3A-29895&curPageLogUid=goH3TeRIBxYq&utparam-url=scene%3Asearch%7Cquery_from%3A%7Cx_object_id%3A1005009614687770%7C_p_origin_prod%3A with lcd screen , but not ethernet port .. http://nl.aliexpress.com/item/1005009618259341.html?spm=a2g0o.productlist.main.8.1d9e24a70rEI7q&algo_pvid=863501ad-05a0-4ef9-a674-f6ed4d18e5a8&algo_exp_id=863501ad-05a0-4ef9-a674-f6ed4d18e5a8-7&pdp_ext_f=%7B%22order%22%3A%22899%22%2C%22spu_best_type%22%3A%22price%22%2C%22eval%22%3A%221%22%2C%22fromPage%22%3A%22search%22%7D&pdp_npi=6%40dis%21EUR%2133.99%2133.99%21%21%21257.70%21257.70%21%4021038a9c17841991078651915e1076%2112000049653374352%21sea%21BE%210%21ABX%211%210%21n_tag%3A-29910%3Bd%3A5964415f%3Bm03_new_user%3A-29895&curPageLogUid=YaDN0i0eCbUK&utparam-url=scene%3Asearch%7Cquery_from%3A%7Cx_object_id%3A1005009618259341%7C_p_origin_prod%3A |
||||
| The Back Shed's forum code is written, and hosted, in Australia. | © JAQ Software 2026 |