An iMessage client for System 6
Go to file
2022-02-23 22:05:03 -08:00
dist rework strsplit and its memory management for updating chatcounts, which was seemingly problematic on a live mac. cut new release. will enable full debugging if this release does not resolve memory issues 2022-02-23 22:00:23 -08:00
JS improve coprocessorjs logging, remove unnecessary JS node modules and package lock, which were ignored on target coprocessor instances. cut another gm release for testing 2022-02-23 16:24:22 -08:00
.gitignore repo cleanup, introduce test mode to coprocessorjs module 2022-01-01 23:17:02 -08:00
CMakeLists.txt create new debugging option DEBUG_FUNCTION_CALLS to assist in finding memory address errors on physical mac, cut new debug release 2022-02-08 23:58:25 -08:00
compile_js.sh first commit 2021-09-10 23:12:19 -07:00
coprocessorjs.c improve coprocessorjs logging, remove unnecessary JS node modules and package lock, which were ignored on target coprocessor instances. cut another gm release for testing 2022-02-23 16:24:22 -08:00
coprocessorjs.h coprocessor: rework memory model for output variables -- hopefully issues there are resolved and we are only down to final nuklear memory issue. cut new debug release 2022-02-17 11:18:44 -08:00
mac_main.c fix stack vs heap issues by moving all coprocessor strings toward malloced arrays, reintroduce command caching. cut new potential gm release 2022-02-23 09:52:20 -08:00
mac_main.h repo cleanup, introduce test mode to coprocessorjs module 2022-01-01 23:17:02 -08:00
mac_main.r fix demo mode, reduce optimization of build to see if we can fix address errors on physical mac 2022-02-08 00:00:52 -08:00
nuklear_app.c rework strsplit and its memory management for updating chatcounts, which was seemingly problematic on a live mac. cut new release. will enable full debugging if this release does not resolve memory issues 2022-02-23 22:00:23 -08:00
nuklear_quickdraw.h fix stack vs heap issues by moving all coprocessor strings toward malloced arrays, reintroduce command caching. cut new potential gm release 2022-02-23 09:52:20 -08:00
nuklear.h fix stack vs heap issues by moving all coprocessor strings toward malloced arrays, reintroduce command caching. cut new potential gm release 2022-02-23 09:52:20 -08:00
README.md Update README.md 2022-02-23 22:05:03 -08:00
SerialHelper.c coprocessor: rework memory model for output variables -- hopefully issues there are resolved and we are only down to final nuklear memory issue. cut new debug release 2022-02-17 11:18:44 -08:00
SerialHelper.h bug fix: do not try to repeatedly send blank messages on enter press, attempt at speeding up debug output, add additional logging to determine which nuklear command is triggering the address error, fix some of the constructor instantiation in the js side of the app 2022-02-14 23:23:51 -08:00

Messages For Macintosh

Messages for Macintosh is a software suite for classic Macintosh (System 2.0 through MacOS 9.2.2) systems to interoperate with Apple iMessages via a familiar interface, with supporting software running on a newer Mac computer.

messages for macintosh

How to use Messages for Macintosh

There are two setup guides for Messages for Macintosh:

  • the user-facing setup guide, for users not interested in exploring the development workflow. This is the article you want if you just want to use your old Mac to chat.
  • the developer-facing setup guide, which explains how to set Messages for Macintosh up in such a way that you can make modifications to its different pieces

Technologies

Messages for Macintosh is built on a lot of technologies. The READMEs of each of these is each worth familiarizing yourself with if you would like to contribute to Messages for Macintosh:

  • Retro68 - a GCC-based cross compilation env for classic Macintosh systems
  • Nuklear Quickdraw - a heavily modified, Macintosh-specific version of Nuklear allowing a simple way to provide GUI services
  • CoprocessorJS - a library that allows us to handle nodejs workloads sent over a serial port
  • serialperformanceanalyzer - used to analyze the performance of many different parts of the application

Limitations / areas for improvement

Messages for Macintosh is not perfect. Here are some known limitations and things that could be improved:

  • 10 conversations at a time, with the ability to open a new conversation if you know the recipient's address book entry
  • Up to the most 15 recent messages are displayed in your selected chat. No pagination
  • No image / emoji support (although emojis are generally translated to text)

Pull requests and issues welcome

If you make any improvements or run into any issues, please feel free to bring them back to this repo with pull requests or issue reports. Both are welcome and will help Messages for Macintosh to be more useful in the future.

Animated demo

Here is a short demo of the classic Mac app in operation:

messages for macintosh demo animation