CyborgOS – Der Z80-Hypervisor

Hallo zusammen, hier ist das Ergebnis von zwei Tagen Arbeit an CyborgOS – na ja, rein technisch gesehen steckt jahrelange Planung dahinter –, aber jetzt hat sich alles in zwei Tagen zusammengefügt.

Ohne NTC BASIC, worin es entwickelt wird, wäre das nicht so einfach gewesen. Falls ihr es vor einem Tag ausprobiert habt – da lief es noch grottenlahm, aber jetzt schnurrt es wie ein Kätzchen. Ich musste mir vorerst einen neuartigen Verzeichnis-Mechanismus einfallen lassen – und ich nutze immer noch AMSDOS- / UNIDOS-ROMs. Nicht verkehrt, aber das bedeutet, dass dies vielleicht das letzte Modell ist, das auf einem 128-KB-Rechner läuft. Ich musste bereits die Speicherlisten, die 4 GB unterstützen, auf 3 GB reduzieren und das Double-Buffering aus CyborgOS entfernen, um einen einzelnen 64-KB-Task auf einem 128-KB-Computer unterzubringen. Vielleicht bleibt es noch erhalten, wenn ich separate Builds mache, aber ich sehe die 128-KB-Version nicht als die letztendliche Plattform an. Zeit für ein Upgrade für alle, besorgt euch 512 KB RAM, oder… 1 MB, oder 4 MB!

Derzeit kann man CP/M-Programme mit NTC BASIC erstellen und direkt von dort aus ausführen. Sehr eingeschränktes BDOS (Ein-/Ausgabe, noch kein echtes Dateisystem), BIOS kommt vielleicht noch… (wahrscheinlich in der Version für 320 KB+).
Ich

3 „Gefällt mir“

Kurze Demo. Die Monitor-Geschwindigkeit wurde nun etwas verbessert und das Problem mit dem verschwindenden Laufwerk A ist jetzt auch behoben.

Hier herunterladen, um es selbst auszuprobieren. Es befindet sich dort auch ein WinApe-Hardfile, src/build

1 „Gefällt mir“

Jetzt mit vollständiger UniDOS-Unterstützung – das ist absolute Pflicht! Diskettenlaufwerke werden zwar nicht im herkömmlichen Sinne unterstützt, aber das Utility „floppy“ ist mit dabei, damit du Disk-Images auf den Massenspeicher übertragen kannst.

CP/M-Programme gewinnen immer mehr an Kompatibilität – das meiste läuft, abgesehen von dem einen oder anderen Bug hier und da (System-Bugs, nicht anwendungsbezogen), an denen ich gerade dran bin, wie etwa … Dateien, Tasten oder die Anzeige.

Es geht einfach nichts darüber, CP/M-Programme direkt auf demselben Rechner zu debuggen, auf dem sie auch laufen!

Wenn du das beste CPC/CPM-System auf dem CPC haben wolltest, inklusive des korrekten WinAPE-Verhaltens bei 10-facher Leistung … 20 Instanzen von BBC BASIC gleichzeitig ausführen? Oder irgendetwas anderes? Ich bin mir sicher, dass es in ein paar Tagen noch viel besser sein wird. Das ist jetzt Tag 3. Für diejenigen, die lernen wollen, wie man einen Hypervisor in BASIC mit Inline-Assembler programmiert: Der vollständige Quellcode ist vorhanden und wirklich leicht verständlich. Außerdem habe ich immer noch die volle Double-Buffer-Kapazität im Hauptspeicher – ich gebe mir größte Mühe, das beizubehalten, denn viele Erweiterungen fressen ja einiges an Hauptspeicher. Aber bei Treibern bin ich nicht eingeschränkt, die weichen zur Seite aus.

Die Webbrowser Ying und Yang sind jetzt verfügbar – allerdings noch nicht komplett – das Browsen erfolgt lokal, ähnlich wie bei AmigaGuide.

Heute bringen wir Internetzugriff über die M4 Card sowie Mini-KIs auf Basis von NeuralNet und Entscheidungsbäumen (Decision Trees). Du kannst dich mit Pet (einem virtuellen Haustier im Tamagotchi-Stil) und Ratbox (einer Kiste voller Ratten) vergnügen. Beide werden über den Entscheidungsbaum gesteuert. Die Einführung von Diensten mit benannten Ports ermöglicht es, Dienste mit einem Modell in einem Slot laufen zu lassen, während Anwendungen in anderen Slots darauf zugreifen können. Es wird an Beispielen erklärt, wie man eine Bridge zwischen einem echten I/O-Board und den Entscheidungsbaum-Modellen programmiert, sodass du beispielsweise dein Gewächshaus über deinen CPC steuern kannst.

1 „Gefällt mir“