A graphical user interface for the QEMU virtual machine emulator, showing a window with various controls and information related to the virtual machine.

Es war sehr lohnend, in letzter Zeit wieder in die C-Programmierung einzutauchen, und der Hauptfokus lag auf meinem kleinen Projekt,csend Es handelt sich um eine Peer-to-Peer-Chat-Anwendung, an der ich herumtüftle. Die große Idee ist, sie auf verschiedenen Systemen reibungslos zum Laufen zu bringen, insbesondere auf modernen POSIX-Plattformen wie Linux und, als kleine Retro-Herausforderung, auf klassischem Mac OS.

Ich freue mich sehr, sagen zu können, dass es jetzt funktionierende Builds für beide gibt! Die POSIX-Version, die ich normalerweise unter Ubuntu verwende, entwickelt sich gut und bietet einen ordentlichen Funktionsumfang. Die klassische Mac OS-Version, die für System 7 mit MacTCP entwickelt wurde, steckt zwar noch in den Kinderschuhen, ist aber definitiv einsatzbereit. Aktuell startet sie die klassische Mac-GUI und sendet die erste UDP-Broadcast-Nachricht, um sich im Netzwerk anzumelden. Das bedeutet, dass die POSIX-Version sie sehen kann – ein toller erster Schritt.

Um zu zeigen, wie sich die Dinge entwickeln, habe ich ein Demo-Video zusammengestellt und auf YouTube hochgeladen. Darin gehe ich durch:

  1. Kompilieren und Ausführen des POSIX- und Classic Mac-Clients unter Ubuntu.
  2. Zeigt den aktuellen Status der System 7-Version, die auf meinem Performa 6200 mit System 7.5.3 läuft
  3. Ein kurzer Blick auf die Struktur des Quellcodes, der hervorhebt, wie ich versuche, so viel „normalen“ C-Code wie möglich zwischen den plattformspezifischen Teilen (POSIX und klassischer Mac) zu teilen.

Die POSIX-Version übernimmt die Kernfunktionen des Chats, während sich die Mac-Version derzeit auf die Benutzeroberfläche und die Netzwerkerkennung konzentriert. Die Verwaltung der verschiedenen APIs und Umgebungen ist eine spannende Herausforderung!

CSEND Demo 1 - POSIX and Mac OS System 7 Build

Wenn Sie es in Aktion sehen möchten oder einfach nur neugierig auf die Kombination moderner und klassischer C-Programmiertechniken sind, schauen Sie sich das Video an. Den Quellcode finden Sie auf der GitHub-Seite, falls Sie ihn genauer betrachten möchten.

Prost!

Schlagwörter

Programming C RetroComputing Entwicklung MacOS P2P Networking