I only recently learned about amforth (I guess I'd heard of it, but hadn't 
looked at it yet). I was especially interested in having it run on ARM, but I 
don't have the experience it would take to figure out all the standard 
assembler stuff. I've always used Forth target compilers/assemblers in the 
past. If I could learn to install amforth on various ARM chips, that would be 
awesome. So far I prefer amforth to Mecrisp-Stellaris because it's so simple 
and easy to understand, like the old days on the Atari 800.

I've played with amforth a bit on an Arduino UNO and liked it a lot. I do wish 
there were more memory for block buffers, but that's a minor complaint.

I'd be happy if there were a community of ARM amforth users to confer with and 
if I could get it going on various ARM boards. But if there isn't enough 
interest in that, then sticking with AVR is probably fine.

Does anybody out there know how to get USB-HID working on an AVR 32u4 via 
amforth? That would be so wonderful!

Thanks Erich for what you're doing!


On 6/28/2020 7:29 AM, Erich Wälde wrote:
Dear AmForthers,

due to some unlikely fluctuation in probability space (or some
other excuse) I declared this weekend to be "AmForth weekend 1"
--- for me at least. While being working on this I decided to let
you know, what is happening, and what is going around in my head
regarding AmForth.

- Contributions

   I am very grateful for everyone who is sending anything to the
   mailing list. Thank you! This is imho an important way to show
   that this project is not dead. I am also very grateful that
   Tristan W. and Martin N. have been helping out answering
   questions. I will not be able to keep this project alive on my
   own, so "Thank you!"

   Along the same lines: "Welcome to all newcomers!"

   That being said: I have been asked whether I accept email to my
   private address. Yes I do. HOWEVER, every email not going
   through the list, for whatever reason, does not add to the
   "this project is alive" feature, does not inform all the others
   on the list. I admit that I have been guilty of this myself
   much too often. I herewith sincerely apologize --- while being
   practical and easy it will be wrong in the long run.

- Commits

   r2443: added one-line patch to amforth-shell.py, provided by
          Tristan Williams. Will now report filenames which occur
          more than once.

   r2444: AVR8: restored avr8/words/no-jtag.asm from release 5.5;
          removed not functional avr8/devices/*/words/no-jtag.asm

   r2445: added comment about last commit to index.rst

   r2446: Added refcard manually generated from 5.5 with a
          warning! This is outdated!

          Commented Projects/ClockWorks: added version from
          2018-12-15; they were apparently lost or never published
          on the website. This version features a clock reading
          the DCF77 time radio signal.

- Open Issues

   as far as I'm aware:

   - WDT (Martin Nicholas) patch

     Martin has provided a small patch (.asm) regarding the
     startup of the WDT (watch dog timer) on atmega2560
     controllers. I have honestly no idea, whether or not this
     will break something else, and under which conditions exactly
     this is needed.
     link to email archive (Martin Nicholas, June 2019)

   - Multitasker documentation

     This needs to be tested and enhanced in a few ways. It might
     be that the current example in the Cookbook section is simply
     broken. There have been questions about how to better
     populate the task local user area. Maybe this could be
     answered by a more complex example. There has been the
     question about producing output from a task (not the cmd
     loop), its collision with the shared HLD/TAB area, and
     possible ways to solve this (semaphores, task local HLD/TAB).
     link to email archive (Jan Kromhout Feb 2019)

   - " du< " is missing
     link to email archive (Martin Nicholas August 2019)

   - amforth-upload.py is broken for me, I use the file from 4.0.
     But I have not bothered to find out exactly what breaks on
     me/my code.

   - both amforth-upload.py and amforth-shell.py are using
     "python", which means python2. Since python2 is being
     discontinued, these should be ported to python3. Anyone

   - The refcard generator is broken probably since release 5.6
     link to email archive (Martin Nicholas June 2020)

- Open Questions

   Apart from the code/documentation issues above there are more
   open questions for me:

   - How do I /reliably/ create the content of the webpage? How do
     I synchronize my local version effortlessly with the official
     copy? How can I diagnose changes, when sphinx upon generation
     changes /every/ file somehow? Did I say I'm not a web person?

   - How do I actually create a new release? Copying the files is
     one thing, but where do I need to change the version? There
     is more than one place, I'm afraid. I also happen to know
     that after 6.9 there cannot be 6.10 due to a limitation
     created very early. Matthias told me that, otherwise I would
     be clueless.

   - How to run the testcases? How many test files are there? Can
     they be run reliably? Will errors show up in such a way that
     they will not be lost? Where should the test cases go? How
     about msp430, arm, risc-v? Folks, I break into cold sweat
     when I work on the source code and hit "commit".

- Whacky Ideas

   - git? -- With all the cool kids using git repositories, should
     I attempt do convert the existing repositories, webpage, etc?
     does sourceforge.net provide git repositories? Can the
     existing svn repository be converted on the server side?

   - Should we use a ticket system rather than mailing list?

   - Who of you is using which target controller? Would it be
     feasible to drop msp430, arm, risc-v in order to simplify the
     whole thing? yes/no?

   - Can we get rid of the Atmel/Microchip Avrasm Assembler?

     One big difference between the avr8 and the risc-v tree is
     the assembly language. avr8 is using Atmels assembly. Which
     is good, because it is thoroughly documented. And which is
     bad, because there is no working free/libre alternative to
     avrasm.exe. Yes there is the "avra" project but it has been
     abandoned long ago. I have been able to assemble AmForth with
     avra way back in releases 4.2 up until maybe 4.9. I have even
     contributed a small patch to make atmega644p working.

     Matthias has contemplated the idea to port AmForth/avr8 to
     use gnu assembly. He might even have produced a working
     branch, I don't know.

     For risc-v there is no avr assembly, naturally. That's where
     all the .s assembly files come into the game.

     I personally would love to have a free/libre assembler for
     avr assembly. AVRASM.EXE is the only thing that forces me to
     install wine on my system.

- Happy Häcking

   I have been working with AmForth lately. Yes really!

   The Code in my RS485 bus project is showing its age.
   First, I was able to reduce the assembly part of this game
   considerably, after Matthias has included a few goodies just
   for my beloved use case :-) That is working and needs to be
   documented again.

   Along the way I was bitten by the "because I can" bug and
   created my own hardware:
   Two iterations down the road I do have functional boards.
   Another board with rs485 and power is needed, but heck, one
   thing at a time.

   So I have a few controllers distributed about my home. They are
   taking measurements. There is a collector (perl script)
   collecting the measurements periodically. The data is going to
   a sqlite database. The data is viewed using another perl script
   with a very old extension: pgplot5. This has been working for
   10 years or more, however, pgplot5 is not being ported to the
   new worlds of visualization, so a replacement is clearly

   My current plan is to rewrite the collector script, (perl plus
   EV, AnyEvent, MQTT) let it report the data to a mosquitto
   daemon. A component called telegraf will subscribe to mosquitto
   and report all configured messages into a new and shiny influx
   database. The visualization is currently done with grafana, but
   I am aiming for R and some javascript component to make it
   interactive. The results to be shown on a MagicMirror2 info
   terminal. This is all working in principle, but not yet in the
   desired detail.

   Yes, yes, there is still a long way to go. But that keeps me
   out of trouble :-)

   That being said, I would love to hear from you, what you are
   using AmForth for. Show off your projects, even if too small or
   too unpolished to show anyone else. We will all be kind to each
   other, promised!

One last thing: Matthias was a regular participant in the net2o
forth chat. I'm there almost every Thursday (20h Germany local
time). This chat round is open to anyone, however, since the
technology used resembles a "dark" net ;-) you need to get your
key "invited". Feel free to join and bother me about how to
participate, details are here:

Still reading? Yes?
That's very kind of you.
Thank you for your precious time.

I would be very grateful for any comments, ideas, contributions
from you. I would love to hear what you are using AmForth for.

I herewith declare the next AmForth Weekend to be on
2020-08-01,02, right after "SysAdmin Day".


PS: Halfway through this weekend I can only express deepest
admiration for Matthias juggling all these pieces so well!

Amforth-devel mailing list for http://amforth.sf.net/

Reply via email to