plato:dev.notebook:start

CYBIS Developer Notebook

This notebook contains mini-assignments intended to orient developers and hobbyists in the maintenance and use of dtCyber and PLATO / CYBIS. Because this work performed in these articles was specifically applied to CYBIS, this section is named accordingly.

Use of these tutorials assumes that you have at a minimum:

  • A working installation of dtCyber including Cybis Release 1 found on Kevin Jordan's github repository.
    Follow the instructions found in the NOS 2.8.7 Installation guide on the operating system of your choice.
    • dtCyber requires the installation of NODE.JS (and NPM is highly recommended).
    • dtCyber on distributions other than Windows require a functioning installation of gcc and make.
  • Are running on one of the supported platforms:
    • Linux (Debian 24.04 or greater)
    • Redhat/RHEL or Rocky Linux (9.4 or greater)
    • Windows 11 (no previous version of Windows is supported)
      • Installation of Visual Studio Community Edition
    • MacOS Sequoia (15.3.2 or greater)
    • RaspberryPI (4B or greater) with Debian GNU/Linux 11 (bullseye)
  • A working version of PTerm

    About Apple Silicon

    Developers using hardware built upon Apple Silicon must use the JAVA version of PTerm referenced on the cyber1.org web page. The next version of PTerm will support Apple Silicon.

The aspiring systems programmer should perform these exercises in this prescribed order to ensure proper familiarity with the general operations tasks needed during and between development phases.

  1. Install and Learn CDC.IO . Install, Test, and Study the CDC.IO utility.
  2. Cluster Backup . Having a proper cluster backup will enable the restoration of PLATO files which may become corrupted through human or other errors. This is the developer's baseline configuration.
  3. Patching System Lessons. Carefully study the Patch/Modification conventions used by the Retro1.Org project using CDC.IO; CDC Modify; and PLATO.

These learning objectives may be done in any order but a fundamental understanding of the above concepts and tools is needed to successfully perform these low-level system enhancements.

  1. Modify Courseware Limits . The objective of this is to learn how to modify a common block using the PLATO Lesson Editor so that the console error message arising during first start of CYBIS will be addressed. The NCC system identifier is not known by the PLATO/CYBIS system during initialization because it does not appear in the courseware common cacw of file 0cacom. This exercise will provide the learner with experience modifiying sensitive system files. This is a BEGINNER level exercise.
  2. Extend the INFO (AID) Concepts Limits . As distributed, the CYBIS system is nearly at the configured capacity of adding concepts to the PLATO Help System infrastructure underlying lesson info (AID). This exercise will extend the capacity of these help structures to the maximum possible in the final release of CYBIS (1499 entries). This is an INTERMEDIATE level exercise.
  3. Modifying the System Lesson List . As distributed, the system lesson list did not have the proper configuration to support the enhanced NOTES system fixes. These modifications correct this problem and properly modify the system lesson s0syslst to correctly manage the system common needed during initialization. This is an ADVANCED procedure and involves the rebuild of the deadstart tape, and modification of a system lesson.
  4. Implement a portion of the Level 1 PLATO Protocol. As distributed, PLATO/CYBIS only supports the LEVEL ZERO PLATO Protocol commonly implemented in PTerm and other emulators. NovaNET extended this protocol in the form of the JAVA Portal to support a greatly enhanced version of the ASCII protocol. This is an EXPERT procedure and involves all aspects of the operating system, PLATO/CYBIS, NOS, and the use of the JAVA Portal. Although the implemented features are a subset of those implemented by NovaNET, this exercise fully illustrates the complexity involved in making such changes with a learning outcome of understanding the full communication path between PLATO and the end user.
  • plato/dev.notebook/start.txt
  • Last modified: 2026/01/25 07:16
  • by Site Administrator