ndr-nkc.de
  
Startseite
News
 
NDR-NKC
Geräte Z80
Geräte 68000
Geräte 8088
 
Z80 Section
Baugruppen
ROM's
Software
68000 Section
Baugruppen
ROM's
PASCAL/S
Software
8088 Section
Baugruppen
Downloads
 
Bussysteme
Stromversorgung
Input / Output
Grafikkarten
Speicherkarten
Massenspeicher
Weitere Baugruppen
 
Projekte
 
Dokumentation
Datenblätter
Glossar
Portraits
Links

Impressum

 

JADOS Version 2.1

JADOS ist ein Diskettenbetriebssystem (Disk Operating System) für den Einsatz mit den 68000 Mikroprozessoren. Das Betriebssystem selbst ist auf einer Diskette gespeichert. Aus dem Grundprogramm wird JADOS mit dem Menübefehl Floppy Start aufgerufen. JADOS wird an das obere Ende des ersten Speicherbereichs geladen. Auf dem Bildschirm wird der Ladevorgang des Betriebssystems durch die Anzeige "JADOS Urlader V2.10" angezeigt.

Voraussetzungen

JADOS benötigt RAM-Speicher ab der Adresse $00000 und kann daher nur eingesetzt werden, wenn das Grundprogramm mittels BANKBOOT an einer höheren Adresse angesprochen wird. Für einen Aufbau eines minimalen Systems werden also mindestens folgende Baugruppen benötigt: CPU68K, BANKBOOT, ROA64 mit RAM ab Adresse $00000, ROA64 mit dem Grundprogramm, GDP64 oder GDP64HS, KEY und Tastatur, FLO2 und natürlich der BUS und eine geeignete Stromversorgung, die auch 12 Volt für das Diskettenlaufwerk erzeugt. Der 68008 Vollausbau kann ohne Änderungen unter JADOS genutzt werden. In diesem Fall stehen über 800 kByte Hauptspeicher zur Nutzung unter JADOS zur Verfügung.

JADOS ist Standard

Schon kurz nach der Einführung von JADOS hat sich dieses Diskettenbetriebssystem als Standard für den NDR Klein Computer durchgesetzt und wurde stetig weiter entwickelt. Viele Nutzer bevorzugen JADOS sogar dem professionellen CP/M, da auch viele Anwendungsprogramme für und mit JADOS entwickelt und vertrieben wurden.

Vorteile

JADOS ist klein
In der bei mir vorliegenden Version 2.1 belegt JADOS nur $35F2 (13810) Bytes, die an das Ende des ersten RAM Bereiches geladen werden. In meinem Vollausbau bleiben so 807 kByte für Programme frei.

JADOS ist schnell
Im Gegensatz zu dem professionellen Betriebssystem CP/M-68K startet JADOS deutlich schneller. Viele häufige Kommandos die unter CP/M erst von der Diskette nachgeladen werden müssen sind bei JADOS bereits im Kern des Betriebssystems integriert.

Softwareunterstützung
Es war und ist eine große Menge an Software für den Betrieb unter JADOS verfügbar, angefangen von kleinen Tools bis hin zum Schachprogramm mit grafischer Darstellung der Bretts und der Figuren.

Bibliothekskennung
Wenn JADOS erst einmal von der Diskette geladen wurde kann es über die Bibliotheksfunktion des Grundprogramm erneut gestartet werden.

Nachteile

Kompatibilität
Die Vorteile erkauft man sich mit der mangelnden Kompatibilität gegenüber anderen Computersystemen. JADOS ist nicht wie CP/M unabhängig von der tatsächlichen Hardware und kann auch nicht so einfach mit einem neuen BIOS an ein anderes System angepasst werden.

Funktionsumfang
Viele der in CP/M umgesetzten Mechanismen wie zum Beispiel die Umlenkung der Ausgabe eines Programms oder die flexible Ansteuerung der Hardware ist in JADOS so nicht verfügbar und muss mit entsprechenden Tools erledigt werden.

Syntax
Die JADOS Syntax ist an einigen Stellen recht eigenwillig. Viele Programme sind als interaktive Programme ausgelegt und können nicht komplett mit Parametern von der Kommandozeile oder in Batchdateien angesteuert werden.

Diskettenformat
Obwohl JADOS das gleiche NKC Format mit 800 kByte pro Diskette verwendet ist das Dateisystem auf den Disketten nicht kompatibel zu CP/M-68K. Um CP/M Disketten lesen zu können müsste man sich eines Zusatzprogramms bedienen.

Interne Kommandos

Die internen Kommandos sind unmittelbar im Betriebssystem untergebracht. Sie werden beim Bootvorgang über FLOPPY START in den Speicher geladen und können nach dem Start des Betriebssystems auch dann ausgeführt werden, wenn keine Diskette im Laufwerk vorhanden ist. Optionale Befehlsteile sind in eckigen Klammern [] angegeben, alternative Eingabemöglichkeiten sind durch einen senkrechten Strich | getrennt.

Kommando Beschreibung
Ctrl + A (Tastenkombination) Ausführung eines Kaltstarts. Residente Programme bleiben erhalten.
Ctrl + C (Tastenkombination) Ausführung eines Warmstarts. Residente Programme gehen verloren und müssen neu geladen werden.
1: | 2: | 3: | 4: Selektiert das angegebene Diskettenlaufwerk. Alle folgenden Befehle wirken sich auf Dateien dieses Laufwerks aus.
ass filename [progname] Ruft den Assembler des Grundprogramms auf und übersetzt den mit "filename" angegebenen Quelltext. Das übersetzte Programm wird mit dem gleichen Dateinamen und der Endung .68K auf der Diskette gespeichert, solange kein abweichender "progname" angegeben wird.
bell Gibt ein Klingelzeichen über die Baugruppe SOUND aus. Falls keine Baugruppe installiert ist, führt dies nicht zu einem Fehler.
cls Löscht den Bildschirm.
copy filespec [destination] Kopiert eine oder mehrere Dateien. Wenn bei "filespec" eine einzelne Datei angegeben wird, muss als "destination" ein abweichender Dateiname für die Kopie der Datei angegeben werden. Werden bei "filespec" Wildcards * oder ? verwendet, so muss als "destination" eine Laufwerksangabe erfolgen. Die Dateien, die auf das Wildcard-Muster passen, werden gemeinsam auf das angegebene Laufwerk kopiert.
dir [filespec] Erstellt eine Liste des Disketteninhaltes auf dem Bildschirm. Falls bei "filespec" ein Wildcard-Muster angegeben wird, werden nur solche Dateien gelistet, die zu dem angegeben Muster (z.B. *.asm) passen.
dirp [filespec] Wie DIR, jedoch Ausgabe auf dem Drucker.
edit [filename] Startet den Editor des Grundprogramms mit dem angegebenen Textfile. Falls kein Name angegeben wird, erfolgt eine interaktive Abfrage. Nach Beenden des Editos mit ^KX wird die geänderte Datei auf Diskette gespeichert.
era [filespec] Löscht die angegebene Datei oder die Dateien, die auf das angegebene Dateimuster passen.
ff Ausgabe eines Seitenvorschubs an den Drucker.
inst Installiert ein Programm vom Typ .68K oder .COM als residentes Programm im Hauptspeicher. So installierte Programme können über ihren Namen wie ein internes Kommando gestartet werden, auch wenn die Diskette nicht mehr im Laufwerk ist. Installierte Programme verringern den freien Arbeitsspeicher.
pause [text] Unterbricht die Ausführung von Batch-Dateien, bis eine Taste gedrückt wurde. Optional kann ein Text angegeben werden, der den Benutzer zu einer Aktion auffordert.
print Ausgabe einer Textdatei an den Drucker.
rem [comment] Dient zur Kommentierung innerhalb von Batch-Dateien.
ren filename1 filename2 Benennt die Datei "filename1" in "filename2" um.
table Erstellt eine Liste der aktuell installierten residenten Programme auf dem Bildschirm.
tload [adress] [filename] Lädt eine angegebene Datei "filename" in den Hauptspeicher ab Adresse "adress".
tsave [filename] [adress] Speichert einen im Hauptspeicher ab Adresse "adress" vorliegenden Text unter dem Dateinamen "filename" auf Diskette.
type [filename] Listet den Inhalt der angegeben Textdatei "filename" auf dem Bildschirm.


Externe Kommandos

Externe Kommandos sind nicht unmittelbar in JADOS umgesetzt sondern werden vor der Ausführung von der Diskette in den freien Hauptspeicher geladen und erst dann zur Ausführung gebracht. Im Gegensatz zu den internen Kommandos sind externe Kommandos nur dann lauffähig, wenn die Diskette mit der Umsetzung der Funktionen in einem Diskettenlaufwerk eingelegt ist. Einige externe Kommandos können jedoch mit dem internen Kommando INST resistent in den Hauptspeicher geladen werden und stehen dann auch ohne erneuten Zugriff auf das Diskettenlaufwerk zur Verfügung.

Programme mit der Dateiendung .68K werden immer an die feste Ladeadresse $00400 (RAM ab Adresse $00000) oder ab Adresse $0C000 (Grundprogramm ab Adresse $00000) geladen. Die Startadresse ist mit der Ladeadresse identisch solange sie nicht durch eine Bibliothekskennung abweichend angegeben wird. Alle Programme müssen mit einem RTS Befehl enden um die Kontrolle an JADOS zu übergeben. Falls Programme mit der Endung .68K über das Kommando INST in den Speicher geladen werden, werden sie vor der Ausführung an die Adresse $00400 oder $0C000 kopiert.

Programme mit der Endung .COM müssen im Speicher verschiebbar sein (relokativ) und werden durch JADOS immer so weit wie möglich auf hohe Adressen geladen. Variablenspeicher solcher Programme muss entweder auf dem Stack liegen oder mittels DS Anweisungen im RAM definiert werden. Solche Programme sind die erste Wahl für installierbare Programme, da sie direkt an der Ladeadresse ausgeführt werden.

Kommando Beschreibung Programmdatei
SYS lw1 lw2 Überträgt die JADOS-Systemdateien von einem Laufwerk auf ein anderes Laufwerk. Als Laufwerksbezeichner wird einfach die Ziffer des Diskettenlaufwerks angegeben, falls beide Laufwerksbezeichner gleich sind, erfolgt eine Aufforderung zum Diskettenwechsel. SYS.68K
GP Bietet aus JADOS heraus einen Zugriff auf das Grundprogramm. Die Funktionen werden aus einem übersichtlichen Menü aufgerufen. Bei Beenden des Programms kann JADOS normal weiter bedient werden, solange keine wichtigen Systembereiche von JADOS überschrieben wurden. GP.COM
ROMSTART Gestattet den Aufruf von Bibliotheksprogrammen. Im Gegensatz zum Grundprogramm werden die verfügbaren Bibliotheksroutinen übersichtlich dargestellt und lassen sich mit einem Cursor auswählen. ROMSTART.68K
FORMAT Dient zum Initialisieren einer neuen Diskette. Die Bedienung erfolgt interaktiv. Eine frisch formatierte Diskette unter JADOS bietet 780 KByte freien Speicher. FORMAT.68K
DSAVE Gestattet das Speichern eines Bereiches im Hauptspeicher auf Diskette. Startadresse, Endadresse und Dateiname werden interaktiv ermittelt. DSAVE.68K
DISKCOPY Überträgt den gesamten Inhalt einer Diskette von einem Laufwerk auf ein anderes. Die Daten werden Sektorweise gelesen und auf dem Ziellaufwerk exakt wiederhergestellt. Beim Kopieren mit nur einem Laufwerk sind je nach Speicherausstattung mehrere Diskettenwechsel notwendig. DISKCOPY.68K
MORE filename Gibt den Inhalt der angegebenen Textdatei seitenweise auf dem Bildschirm aus. Die Ausgabe kann mit Control C abgebrochen werden. MORE.68K


Autostart

Nach dem Start von JADOS wird automatisch versucht eine Datei mit dem Namen AUTOSTART.BAT aufzurufen. In dieser Datei kann eine Abfolge von JADOS Kommandos enthalten sein, die dann nacheinander ausgeführt werden. Hier bietet es sich z.B. an häufig genutzte externe Kommandos zu installieren oder z.B. den Drucker zu initialisieren. Innerhalb von Batch-Dateien können alle internen und externen Kommandos benutzt werden. Lediglich der Aufruf von weiteren Batch-Dateien ist eingeschränkt, nur das letzte Kommando einer Batch-Datei darf eine weitere Batch-Datei sein.

Tool-Diskette

Zusätzlich zu JADOS war eine Diskette mit nützlichen kleinen Tools erhältlich. Einige Quelltexte liegen in Assembler vor so dass die Programme in eigenständig lauffähige Programme übersetzt werden können. Andere Quelltexte liegen in PASCAL/S oder BASIC vor. Die Autoren der Programme sind in den Dateinamen jeweils durch den ersten Buchstaben in den Dateinamen markiert. Herausgegeben wurde die Diskette mit der Zustimmung der Autoren durch die Firma GES.
B = Rüdiger Baecker
D = Ralph Dombrowski
G = Walter Gußmann
J = Klaus Janßen
K = Uwe Koch
R = Klaus Rumrich
S = Bruno Sontheim
Die folgende Tabelle enthält nur einige wichtige Programme der Tool-Diskette. Insgesamt befinden sich ca. 75 Dateien auf der Disk, viele davon sind Assembler, Pascal und Basic Quelltexte.

Programm/Tool Beschreibung Programmdatei
B/APRIN Routine zum Ausdruck von Assembler Quelltext. B/APRIN.ASM
B/APRIN.68K
B/CINEU Neue Routine für Console Input CI. B/CINEU.ASM
B/CINEU1.ASM
B/DOTRAP Wrapper für Aufruf TRAP #1 mit Sicherung von A6, wird durch viele andere Routinen genutzt. B/DOTRAP.ASM
B/DUMP Bibliotheksprogramm RUBADUMP zur Anzeige von Speicherbereichen in HEX und ASCII. B/DUMP.ASM
B/EDIT Im Gegensatz zum internen Kommando EDIT wird hierbei nachgefragt wenn eine neue Datei erstellt wird. Außerdem wird immer eine Kopie des editierten Textes mit der Endung .BAK erstellt. B/EDIT.DOC
B/EDIT.68K
B/FILL Bibliotheksprogramm RUBAFILL zum Füllen von Speicherbereichen. B/FILL.ASM
B/QPROM QuickPROM 2.2 zum schnellen programmieren von EPROM. B/QPROM.ASM
B/TRANS Bibliotheksprogramm RUBATRAN zum Verschieben von Speicherbereichen. B/TRANS.ASM
D/BREAK Spiel Breakout. Benötigt zusätzlich die Datei FELDER.DAT auf der gleichen Diskette. In D/BREAK.DOC befindet sich die Anleitung des Spiels. D/BREAK.ASM
D/BREAK.68K
G/LIFE Eine Umsetzung von Conway Game Of Life für den NKC. In den Dateien G/INFO1.DOC und G/INFO2.DOC finden sich Erklärungen und weitere Hinweise auf andere Quelltexte (überwiegend mathematische Routinen) dieses Autors. G/LIFE.ASM
J/TIME Ansteuerung der DS1216 Smartwatch. In J/TIME.DOC befindet sich eine Anleitung. J/TIME.ASM
J/TIME.68K
K/KOPIE Eine Anleitung befindet sich in der Datei K/KOPIE.DOC. Zusätzlich wird die Datei K/KOPIE.LST benötigt. K/KOPIE.ASM
K/KOPIE.68K
K/PASCAL Eine Benutzeroberfläche zur komfortablen Bedienung von PASCAL/S. Die Programmiersprache kann wahlweise im ROM vorliegen oder von Diskette geladen werden. Eine Anleitung befindet sich in der Datei K/PASCAL.DOC. K/PASCAL.ASM
K/PASCAL.68K
R/LAB Eine Umsetzung eines Labyrinth-Spiels mit Anleitung in der Datei R/LAB.DOC. R/LAB.68K
S/ADW10 Software Oszilloskop mit der Baugruppe AD10x1. Eine Anleitung befindet sich in der Datei S/ADW10.DOC. S/ADW10.ASM
S/ADW10.68K

Einige der Tools sollte man sich in kompilierter Form auf die Startdiskette von JADOS kopieren, damit diese nach dem Hochfahren des Systems sofort zur Verfügung stehen.