- MCP server with stdio transport for local use - Search episodes, transcripts, hosts, and series - 4,511 episodes with metadata and transcripts - Data loader with in-memory JSON storage 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
150 lines
11 KiB
Plaintext
150 lines
11 KiB
Plaintext
Episode: 4338
|
|
Title: HPR4338: 328eforth
|
|
Source: https://hub.hackerpublicradio.org/ccdn.php?filename=/eps/hpr4338/hpr4338.mp3
|
|
Transcribed: 2025-10-25 23:18:23
|
|
|
|
---
|
|
|
|
This is Hacker Public Radio Episode 4338 for Wednesday the 19th of March 2025.
|
|
Today's show is entitled, 328 F-4th.
|
|
It is hosted by Brian in Ohio and is about 14 minutes long.
|
|
It carries a clean flag.
|
|
The summary is a review of the book, Arduino and F-4th.
|
|
Hello, Hacker Public Radio, Brian in Ohio here.
|
|
I'm out from my rock.
|
|
I have recorded another show, HPR.
|
|
I'm continuing a discussion about F-4th on microcontrollers.
|
|
This time a review of a book called the Arduino controlled by E-4th, by Dr. Chen Hansen-Ting
|
|
and was published in 2018.
|
|
The Dr. Ting was a chemist-turned-engineer.
|
|
He earned a PhD in chemistry at the University of Chicago in 1965 and he taught chemistry
|
|
in Taiwan until 1975.
|
|
He became a firmware engineer until his retirement in 2000.
|
|
He was a fourth advocate for more than 50 years, especially a fourth called E-4th that had
|
|
been ported to many devices.
|
|
I think he and another guy developed it initially for the maybe the 80-51 or something like
|
|
that.
|
|
Anyway, that being not so important, it was ported.
|
|
This E-4th was ported to the Atmell, Atmega-328, well, now it's the microchip, microchip, Atmega-328,
|
|
which is found on the Arduino Uno board.
|
|
This book is available, typical, you can buy it at Amazon or wherever you buy books.
|
|
You can download PDF versions of it in different various stages of readability and enjoy
|
|
readability, but they're out there.
|
|
There's some, actually, the source code for E-328, E-4th sometimes has the whole gububudal
|
|
bundled.
|
|
The book, the source code, the examples, lessons, etc., everything all at once stopped shopping,
|
|
as they say.
|
|
I originally touched this book on an earlier HPR when I talked about choosing fourths and
|
|
I'll probably give a little more detail about why I rejected it initially, and now I'll
|
|
talk about why I'm coming back to it.
|
|
But first, let's talk about the book.
|
|
I was searching for books that were about putting fourth on Arduino Uno boards.
|
|
There's, so I first found it looking for books on putting fourth on an Arduino board,
|
|
and it was this fourth E-4th, 328 E-4th initially, it really interest me because it was
|
|
easy to assemble.
|
|
You could assemble it using Avra.
|
|
Avra is a GNU port of the Atmega-Assembler.
|
|
It's still out there, it's had some development in the last couple of years, it seems to be
|
|
work just fine.
|
|
It's a GNU port of the Atmega-Assembler, and what was nice about the Avra assembler is
|
|
that it doesn't, if you try to build an assembly program on a Linux box, you have to use,
|
|
if you're going to use the Atmega-Assemblers at the Atmega-Assemblers, the only way to run
|
|
them is to using a line, and at the time, being a Slackware user, running a line required
|
|
me to go multi-lib, which is where you get 32-bit binaries to run on your 64-bit machine,
|
|
and it's pretty easy to do, but it's just a hassle, and then updating it takes a little
|
|
updating your box and keeping it up to date is a little bit harder.
|
|
That's all actually now down, gone by the wayside, wine runs under a 64-bit Slackware, no
|
|
32-bit multi-lib required.
|
|
That being said, I still would rather use Avra than some Atmega-Assemblers products,
|
|
necessarily, although I think they're new X, I'm not even sure what it's called, whatever
|
|
their design studio that they have is pretty amazing, there's a lot of stuff, and that's
|
|
what Flashforth, the gentleman who develops Flashforth uses that assembler and design
|
|
studio to really optimize his fourth.
|
|
For me, this isn't about optimization, it's about learning, so I kind of like the idea
|
|
of just using a simple assembler, and it doesn't take long to assemble, it ends up as a 5K,
|
|
a little bit over 5K in size, and then it assembles just fine on a Linux box without using
|
|
wine, so that's kind of nice.
|
|
Well, initially, when I played with 328E4, I became frustrated because I could create
|
|
new words in the dictionary, and if you don't know what that means, then go back and listen
|
|
to what's worth is all about, I'll give you a quick one-liner.
|
|
Fourth is an operating system, it's a programming tool, and you build what are functions, but
|
|
they're called words, because that's what they're called, and you put it into a dictionary
|
|
to make a problem-oriented language, and so basically, each fourth is that you develop
|
|
is to solve a particular problem, and you start with some base fourth, and for what I'm
|
|
talking about here, that's 328E4.
|
|
The problem with the original, when I first played with 328E4, like I was saying, is
|
|
that you could build, you could make new words, you could run the lessons and the examples
|
|
that are in the book, you could do all that stuff, but it wasn't persistent across rebuts.
|
|
In other words, you would do all this work, and when you respired off the board or reset
|
|
the board, your work would be gone, and that's frustrating, because what you really wanted
|
|
to be able to build on a dictionary and develop something, maybe very complex over time,
|
|
work a little bit at a time, and so that turned me off to the whole 328E4th initially.
|
|
There also didn't seem to be anybody who talked about this problem, and there was no discussion
|
|
with solutions, and I think it's just because maybe the AVR 328 people have moved on from
|
|
at U4th, and that's fine, so in the end, I switched a flashforth, and if you're new
|
|
to fourth and want to run fourth on Arduino board, I would still highly recommend flash
|
|
forth, it's robust and it's full-featured, it's a very solid program, it's got a great
|
|
website, lots of good documentation, and second choice would be AM fourth, which is now
|
|
also able to be assembled under AVR, but the source file for that thing is just, it is
|
|
a problem, it's scattered over hundreds and hundreds of files, the idea is that each file
|
|
is one word that's assembled, but it's super, when you look at all the includes and how
|
|
the assembler gets all the stuff that it needs to build, it leaves, it makes my head just
|
|
kind of, it makes my head twist around, and I'm trying to learn more about how the fourth
|
|
actually works, AM fourth is a no-go for me, so that, so the end of last year, 2024, I thought
|
|
it would be fun to write my own fourth, I was reading a guy who did it for a, he ported
|
|
up a version of Jonesforth to some 386 or something like that, doing, using this, and it
|
|
was not ratfactor.org as his website, and he thought it would be interesting to maybe
|
|
write my own fourth for an at-mega 328, that's a chip that I tend to use, but after
|
|
looking into it and thinking about it, I revisited 328E4, and I thought, how about I fix
|
|
the problems with the E4, so maybe try to figure out why it's not saving words across
|
|
reboots, why, and is it fixable, is it something that can be fixed, and so I dug out my book,
|
|
which I bought a physical copy of, which is nice to have, and began reading, and that led
|
|
me to the idea that maybe an HBR episode giving a short review of the book would be something
|
|
to do, so the book, the Arduino controlled by E4 book, is basically comes in five, six parts,
|
|
the first part is Dr. Ting's musings on how he ended up creating 328E4, part two explains
|
|
installing E4, using at-mell studio 4 on a Windows box, and you can do all that stuff, if
|
|
you're into Windows, you can still get those old tools from the microchip website, they
|
|
have a great archive, you can download and install ABR Studio 4, and run it under Winapp
|
|
or whatever it's called, and do that to your heart's content, I'm not into that, but there's
|
|
enough information there to be able to figure out how to install it using simple tools
|
|
like Avra and ABR, dude. The third part of the book begins, so is Dr. Ting exercising the
|
|
Arduino boards different functions, you are blinking an LED, making a tone, things like that,
|
|
and it's done interactively, which is the cool part about fourth is that you can play with the
|
|
device without running into that age-old compile, what is the right compile upload test, you can
|
|
do it, you can test while you're in the machine and then save things that you want to save and
|
|
discard things that you want to discard, and that's what makes fourth so cool. Part four
|
|
explains the 328E4th infotaination and design decisions, which is actually an important section to
|
|
read, and part five is the full common source code of 328E4th, and this is the best part, it's
|
|
Dr. Ting's explanation of what's going on in the code, broken down functional sections, it's a
|
|
gold mine of information, it is really cool because it's more than just comments, it builds on the
|
|
comments found in the book. The last part of the book is his conclusions and examples on how to
|
|
learn fourth. Dr. Ting's project here is I think a great free software project, and he doesn't
|
|
really use, it doesn't seem to be licensed, maybe there isn't license in there, but it's, you know,
|
|
this isn't a free software, free software, a zealot book, this is a learning tool, this is what
|
|
free software is all about, it's accessible to anyone who wants to take the time to read the book
|
|
and dig into the code, it makes assembly language much less of a dark art and for a boating place
|
|
to be, although I will recommend that you, if you're really going to do this, you probably would
|
|
want to do at least some basic assembly stuff tutorial on, for the AVR328, there's a couple good
|
|
books out there and a couple websites, if you're interested in doing that, that would be helpful,
|
|
but it's not, not completely necessary, it's easy to, with all the commenting and
|
|
explanations, it's easy to know what's going on in the code. So I highly recommend the book,
|
|
if nothing else, it's a, it's a good illustration of how, how a open source project could be
|
|
documented and, and really made accessible to people, but in the end I'll just finish by reading
|
|
a couple of paragraphs from his books, from his book, it's at the very end, if Dr. King, Dr.
|
|
King concludes, people using computers are trained to be slaves, you're taught to push certain
|
|
buttons and you're taught to push certain keys, then you get employed to push buttons and keys
|
|
to work as slaves. Computers programming languages and operating systems are made complicated to
|
|
enslave people, computers are not complicated beyond comprehension, programming languages,
|
|
languages and operating systems do not have to be complicated, if you get a sharp knife,
|
|
you can be the master of your destination, 328E4th is a sharp knife, go use it, that is the
|
|
hacker ethos. So the next podcast I'll produce, I'll cover installing E4th on an Arduino board
|
|
and solving that pesky loss of words between boots problem. So with that, this is Brian and Ohio
|
|
signing off, reminding everybody that the only mistakes you won't learn from are your own fatal mistakes.
|
|
Bye bye.
|
|
You have been listening to Hacker Public Radio, as Hacker Public Radio doesn't work.
|
|
Today's show was contributed by a HBR listener like yourself. If you ever thought of recording
|
|
podcast, you click on our contribute link to find out how easy it really is.
|
|
Hosting for HBR has been kindly provided by an onsthost.com, the internet archive and our
|
|
sims.net. On this otherwise status, today's show is released on their creative comments,
|
|
attribution 4.0 International License.
|