https://github.com/CamHenlin/FocusedEdit Skip to content Toggle navigation Sign up * Product + Actions Automate any workflow + Packages Host and manage packages + Security Find and fix vulnerabilities + Codespaces Instant dev environments + Copilot Write better code with AI + Code review Manage code changes + Issues Plan and track work + Discussions Collaborate outside of code + Explore + All features + Documentation + GitHub Skills + Blog * Solutions + By Plan + Enterprise + Teams + Compare all + By Solution + CI/CD & Automation + DevOps + DevSecOps + Case Studies + Customer Stories + Resources * Open Source + GitHub Sponsors Fund open source developers + The ReadME Project GitHub community articles + Repositories + Topics + Trending + Collections * Pricing [ ] * # In this repository All GitHub | Jump to | * No suggested jump to results * # In this repository All GitHub | Jump to | * # In this user All GitHub | Jump to | * # In this repository All GitHub | Jump to | Sign in Sign up {{ message }} CamHenlin / FocusedEdit Public * Notifications * Fork 1 * Star 27 Classic Macintosh (System 2.0 through 9.2.2) text editor with shared live editing on a modern computer, via serial port 27 stars 1 fork Star Notifications * Code * Issues 0 * Pull requests 0 * Actions * Projects 0 * Security * Insights More * Code * Issues * Pull requests * Actions * Projects * Security * Insights CamHenlin/FocusedEdit This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository. main Switch branches/tags [ ] Branches Tags Could not load branches Nothing to show {{ refName }} default View all branches Could not load tags Nothing to show {{ refName }} default View all tags 6 branches 0 tags Code * Clone HTTPS GitHub CLI [https://github.com/C] Use Git or checkout with SVN using the web URL. [gh repo clone CamHen] Work fast with our official CLI. Learn more. * Open with GitHub Desktop * Download ZIP Launching GitHub Desktop If nothing happens, download GitHub Desktop and try again. Launching GitHub Desktop If nothing happens, download GitHub Desktop and try again. Launching Xcode If nothing happens, download Xcode and try again. Launching Visual Studio Code Your codespace will open once ready. There was a problem preparing your codespace, please try again. Latest commit @CamHenlin CamHenlin remove unnecessary files ... 897e389 Oct 2, 2022 remove unnecessary files 897e389 Git stats * 58 commits Files Permalink Failed to load latest commit information. Type Name Latest commit message Commit time JS fix last known memory leak Oct 1, 2022 build fix last known memory leak Oct 1, 2022 CMakeLists.txt cutting release, want to figure out what happens on real hw Sep 18, 2022 README.md Update README.md Oct 2, 2022 SerialHelper.c disable MaxApplZone, cut debug release Sep 19, 2022 SerialHelper.h first commit May 23, 2022 TESample.c everything working, but about to try removing the queue and running o... Sep 25, 2022 TESample.h cutting release, want to figure out what happens on real hw Sep 18, 2022 TESample.r add in host IP address lookup capabilities Sep 15, 2022 compile_js.sh first commit May 23, 2022 coprocessorjs.c fix last known memory leak Oct 1, 2022 coprocessorjs.h fix differences between system 6.0.8 and later with sysenvirons check... Sep 26, 2022 output_js fix last known memory leak Oct 1, 2022 output_js.h fix last known memory leak Oct 1, 2022 View code FocusedEdit How to use FocusedEdit Technologies Limitations / areas for improvement Animated Demo README.md FocusedEdit FocusedEdit is a software package for classic Macintosh (System 2.0 through MacOS 9.2.2) systems to provide a bidirectional text editor from the Mac to modern web browsers via the serial port, utilizing CoprocessorJS focusededit boxart How to use FocusedEdit I wrote an article on my blog outlining how to get up and running. Technologies FocusedEdit 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 FocusedEdit: * Retro68 - a GCC-based cross compilation env for classic Macintosh systems * 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 during its development lifecycle * TESample - this is a basic Macintosh Toolbox demo application that the text editing portion of FocusedEdit is essentially riffing off of Limitations / areas for improvement FocusedEdit is 100% usable and I've been using it daily to write out long slack messages, confluence docs, emails since mid 2022, but it could be even better with your help: * More work could be done to support editing functionality like holding shift+arrow keys to highlight blocks of text. As is, you must use the mouse to highlight blocks of text * Additional fonts could be included * Polling from the classic Mac to the web browser is kind of clunky and only done when the user has not interacted with the app for several seconds. This works fine for now assuming you want to do most of the editing on the Macintosh side. That's what we're here for, right? * Special character support is lacking. For example, modern Macs like to replace quotation marks with stylized ones. We convert them back to standard quotation marks on the classic Macintosh side. * It would be cool to support additional fonts * Document width is fixed Animated Demo Here's a short demo of FocusedEdit in action: focusededit demo About Classic Macintosh (System 2.0 through 9.2.2) text editor with shared live editing on a modern computer, via serial port Resources Readme Stars 27 stars Watchers 2 watching Forks 1 fork Releases No releases published Packages 0 No packages published Languages * C 69.5% * CMake 8.6% * C++ 8.1% * Makefile 8.1% * JavaScript 3.0% * R 2.5% * Shell 0.2% Footer (c) 2022 GitHub, Inc. Footer navigation * Terms * Privacy * Security * Status * Docs * Contact GitHub * Pricing * API * Training * Blog * About You can't perform that action at this time. You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.