Video: C Programming on System 6 - Message Flags
In this episode, I fetch the flags of each message and for unseen messages, make them appear in the list in bold. That introduces an off-by-one which I run out of time to fix while recording.
In this episode, I fetch the flags of each message and for unseen messages, make them appear in the list in bold. That introduces an off-by-one which I run out of time to fix while recording.
Today, I implement plaintext message viewing and hook it up to the message list.
I also review a cleanup of int
variables to make them either short
or long
throughout the project.
I wrote a utility function to parse RFC822 dates/times sent by the IMAP server, which then converts them to a UTC time. In this video, I hook it into the IMAP parser and add a resource string for the local timezone offset setting, so these UTC times can then be converted to a local time and displayed in the message list.
I recently read about using a jump instruction as an LDEF
resource to allow
keeping the list definition function in the main program executable/project, so
in this video I implement the technique for the message list.
In this video, I get the list of messages displaying again and fix a bug that
occurred when closing a mailbox.
I provide a quick summary of creating LDEF
procedures in THINK C for drawing
custom list cells, which I will expand upon on in a future video.
In this episode, I fix the off-by-one error in the IMAP envelope parser noted
in the previous episode, then improve the tracking of a malloc
ed buffer that
gets shifted around during parsing.
Returning to the development of my IMAP client, in this video I add
functionality to fetch the default mailbox name from the resource file (later to
be moved to a preferences window) and then eventually locate a crash in the IMAP
protocol parser from a bogus memmove
.
In this video, I create a new GUI application from scratch, create a resource file and add an image to it, and then display that image in a window. I also cover using THINK C's debugger to inspect a struct. Then, my Mac dies.
I've been writing an IMAP client for and on my Mac 512Ke over the past many weeks. Taking inspiration from Andreas Kling's excellent YouTube videos documenting his development of the Serenity operating system, I thought I'd start screencasting some of my work.
This video is the first of hopefully many and presents a quick introduction to System 6, HFS resource forks, THINK C 5.0, and a look at some of the progress of my IMAP client so far.
Now that my Mac 512Ke is able to use PPP for native TCP/IP, I wanted an easy way to do PPP between it and an OpenBSD server on my network. I initially did this with a physical serial cable, but was later able to do it over TCP so I could retain the use of my WiFi232.
I recently came across an unused Dove Computer MacSnap RAM upgrade on eBay, so I bought it and installed it in my Mac 512Ke to bring its RAM up to 1 MB.
The Cidco MailStation is a series of dedicated e-mail terminals sold in the 2000s as simple, standalone devices for people to use to send and receive e-mail over dialup modem. While their POP3 e-mail functionality is of little use today, the hardware is a neat Z80 development platform that integrates a 320x128 LCD, full QWERTY keyboard, and an internal modem.
After purchasing one (ok, four) on eBay some months ago, I've learned enough about the platform to write my own software that allows it to be a terminal for accessing BBSes via its modem or as a terminal for a Unix machine connected over parallel cable.
The Dolch PAC 64 is a portable, rugged Pentium-powered PC from the mid 1990s. It was usually used (and can usually be found on eBay) as a "portable network sniffer" complete with multiple network cards supporting multiple media types.
Back in 2015, I created a BBS for Lobsters that worked in a web browser via WebSockets. After getting an old Mac earlier this year, I wanted a way to access the BBS from the Mac as natively as I could. Adding telnet and SSH frontends to the BBS was not too difficult, but being able to login from my Mac took a bit of work.
In January I got a Macintosh 512Ke on eBay and spent some time fixing it up. The screen would occasionally flicker and shut off, but banging on the side of the case would sometimes bring it back. Some research pointed me to the analog board needing some capacitors replaced, which has completely solved the problem.
Although it fooled nobody, yesterday for April Fools' Day, Lobsters users that normally saw a boring list of story titles and links were greeted with a BBS-style interface to the site complete with story and comment browsing, private message reading and sending, and a multi-user chat area.
The BBS remains active at
https://lobste.rs/bbs (you can login as
"guest
").