I still use Forth for almost all the stuff I do. When I was on a machine that could still do real DOS, I used FPC Forth to write and debug my code. If I needed a standalone code, I'd make the minor modification to the I/O to make it compatible with Tom Zimmers TCOM. That generated *.COM files that no longer needed the bulky FPC. I used to write a number of utilities using TCOM. I had things like HEXBIN and BINHEX. I'd even written a Forth for the 80186. I used it on a board that was designed to keep track of trucks with a GPS. It had several RS232 ports. I'm not sure why it had so many RS232 ports but it was a poor design for a vehicle as the electrical systems are noisy in a truck and particularly not good with RS232. Starter motors can cause 50 to 60 volt ground spikes. Its RS232 MAXIM chips took it tough. When I got it, 3 of the 5 were blown. Another fellow took a modem that used a 80186 and put my Forth on it. He reported back that it worked. He planned on using the modem as a controller for some robotic use.
Now I don't write standalone applications for the PC end. Nothing I do needs it. It only takes a second to compile something like an 8080 assembler written in Forth, with the fast machines we have today. If I need some special macro or such, I have the source code right there to modify. I'm doing things for the project using WIN32Forth. I've used it to write code for my 4004 setup. I wanted a way to duplicate 1702A EPROMs. The SIM4-01 setup can read and write 1702As but the process is slow because the serial is at 110 baud, using BPNF format. 5 of the 7 minutes to program is just running the serial. I wrote code that can do it in 2 minutes, if you are just duplicating, rather than dealing with file data. When programming from files, I convert from Intel HEX or binary to BPNF format on the fly.
I'm currently bringing up a 6502 machine. It is a Rockewell ICE box but missing pieces. Being Rockwell, the ROMs have Forth in them. The trick is to modify the boot to go to the forth interpret rather than the code that runs the ICE board.
I've been playing with a Gotek. I use the Win32Forth to flash the STM32F105 chip of the Gotek. I don't need any special tools from ST Micro. The Forth I have is my EDI. I'd like to make the Gotek do a 32 hard sector 8 inch disk. I've gotten a EFORTH running on it so that I don't need to program in ARM assembly so much or in C that I really don't enjoy. I have done some C code for an Arduino. I made a pendulum clock timer and a simple pong game for a OLED display. I'd started to make the code for a Planimeter. I plan on using a old PC roller ball mouse for measuring. The optical mice are not accurate enough but it looks like the roller ball will be. I've got the reading of the mouse done, all I need to do now is make the mechanical arms for holding the mouse. ( if you don't know what a planimeter is you might have fun looking it up ).
I have a Forth running on CP/M on my IMSAI to Forth on a 72MHz STM32F105.
It runs on my laptop, I use it for special terminal use, like a flash loader for the STM32 part or an assembler for my 6502 stuff. In the case of the Rockwell system, it is an assembler, disassembler, Forth decompiler, a terminal program and debug tool, all in one.
I recently used it to write code for my 6502 KIM-1 debug kit. I wrote things like a RAM test that depends on the 6502 internal registers only, also to the code to program the flash on the 6532 to 6530 adapter I designed. I did these in assembly but Forth was my EDI.
I've used the Arduino EDI. It is slow and remotes one from the applications, making development slow and debugging hard. Its only advantage are the libraries ( although, bloated and buggy ). If I didn't already know what the hardware was suppose to do, I doubt I would make much progress using their tools.
Dwight