MoofTCP – A modern replacement for MacTCP on 68k Macs
MoofTCP is a drop-in replacement for Apple’s MacTCP networking software on System 6 and 68000-based Macs. The open-source project is hosted on GitHub under the MIT license. (github.com)
After eleven years of work, Daniel and his brother Patrick made cooperative play possible in the original DOS version of Wing Commander, turning a childhood workaround - one person flying while another handled weapons - into separate wingmates. The project began in 2015 with a practical reverse-engineering challenge: find the player’s position in DOSBox’s memory so network data could control another ship. By comparing memory dumps while stationary and moving through empty space, they identified position and velocity values, then used the game’s chase camera and controlled experiments to confirm them. They mapped the game’s entity tables, finding 12-byte records for ships and camera data, and traced how the game updates position and orientation each frame.
Directly changing memory proved insufficient for actions such as firing weapons, so the developers learned to call the game’s own functions. Wing Commander’s code used dynamically loaded overlays, which complicated function calls; they built a trampoline in unused string memory to invoke those functions safely and return execution to the game. They also found a reliable main-loop hook and located damage handling, allowing them to prevent the secondary player’s game from duplicating damage. In 2017 they began connecting the two games with a TCP client-server protocol using Protocol Buffers. The finished project lets players fly together in a browser, preserving the original game’s mechanics by coordinating its internal state and invoking its own routines rather than merely simulating a second ship externally.
Summary generated by AI from the linked article. hn.today is not affiliated with Hacker News or Y Combinator.
MoofTCP is a drop-in replacement for Apple’s MacTCP networking software on System 6 and 68000-based Macs. The open-source project is hosted on GitHub under the MIT license. (github.com)
Declarative Dragging lets developers define which application states a draggable element can reach, then automatically generates drop zones and animations. The Dragology library implements this model-driven, composable approach for SVG web interfaces, reducing the effort needed to build rich drag-and-drop interactions. (declarative-dragging.github.io)
A gym member reverse-engineered the gym’s Flutter app to isolate its changing check-in QR code from an unwanted social feed. They found the app could generate valid codes offline and used code-inspection tools and AI assistants to investigate how it worked. (shayon.work)
Window Sweaters is a macOS menu-bar app that adds knitted borders to desktop windows. The open-source project is built for desktop customization and window management. (github.com)
FastBCP 1.6 exports SQL Server tables directly from .bak backups to Parquet without restoring them or running SQL Server. On a 320 GB backup, it exported a 175-million-row table in 29.6 seconds using 24 threads. (blog.arpe.io)
A smarter output buffer can display complete lines promptly while batching writes for much better performance than traditional line buffering. This avoids slow per-line output in tools such as archive extractors without hiding their progress. (nullprogram.com)
Today's best Hacker News stories, summarized and screenshotted, one email a day.