RTOS-UH Testsystem für den PC unter Windows
WinSTon v0.5x3, RTOS-Nukleus 7.9B, 21. Juni 2005
Das RTOS-UH Testsystem dient dazu, das Echtzeitbetriebssystem RTOS-UH kennenzulernen und zu testen, ohne dass dazu die sonst übliche Prozessrechnerhardware bereit stehen muss. Es ist nur für Test- oder Ausbildungszwecke bzw. zum privaten Gebrauch bestimmt. Mit Hilfe des Freeware-Atari-Emulators WinSTon ist das System auf Personalcomputern ab P166 unter den Microsoft-Betriebssystemvarianten Windows95/98/2000/NT/XP lauffähig.
Eigenschaften
Das RTOS-UH System für den Atari-Emulator WinSTon erreicht auf der Mindesthardwareanforderung P166 etwa die Leistungsfähigkeit eines originalen Atari ST mit 8Mhz unter RTOS-UH. Bei entsprechender Hardware wird sie sogar um ein vielfaches übertroffen. Der Atari-Emulator WinSTon emuliert nicht nur den 68000-Prozessor sondern auch wesentliche Peripheriehardware eines Atari ST. Daher ist bereits ein originär für den Atari ST vorgesehenes RTOS-UH mit ihm lauffähig. Das hier beschriebene Testsystem ist lediglich um einen Treiber für den Dateitransfer zum PC-Dateisystem erweitert worden und entspricht somit dem aktuellen Stand. Es enthält aber (wie das RTOS-UH für alle Ataris) keine grafische Bedienoberfläche. Es erlaubt aber ein gründliches Kennen Lernen und Testen von RTOS-UH, insbesondere der Multitaskingfähigkeit und der Synchronisationsmittel. Selbstverständlich ist auch die Programmierung in PEARL und Assembler sowie eine echte Programmausführung möglich. WinSTon lässt den emulierten Atari als Windows-Task wahlweise im Vollbildmodus oder in einem eigenständigen Fenster laufen.
Eine von der Firma IEP GmbH durchgeführte Erweiterung erlaubt den Zugriff von Programmen unter RTOS-UH auf PCI-Karten. Damit steht auch dem RTOS-UH Testsystem unter WinSTon eine Prozess-Ein-/Ausgabe zur Verfügung.
Einschränkungen
Ein wesentliches Merkmal von RTOS-UH, die hervorragende Echtzeitreaktivität, ist bedingt durch die Emulation und das darunter liegende Windows natürlich eingeschränkt. Die Reaktivität rührt hier vor allem vom Leistungsüberschuss der PC-Hardware. Bei starker Hintergrundaktivität des Windowsbetriebssystems kann es daher zu 'Verzerrungen' der Zeit im emulierten Atari kommen.
Auch der Zugriff auf das PC-Dateisystem hebelt das Echtzeitkonzept aus, da der hierfür vorgesehene Treiber in einer unteilbaren Sequenz den Zugriff über GemDOS-Routinen an Windows weiterleiten muss. D. h. bis zur Rückmeldung von Windows steht der emulierte Atari still.
Download und Installation
Zunächst sollte der Freeware Atari-Emulator WinSTon in der Version v0.5x3 des Instituts für Regelungstechnik installiert werden. Diese Version wurde in einigen Details für die Verwendung des RTOS-UH Testsystems optimiert. Auch die Verwendung des WinSTon v0.5 oder des Stew 1.0 ist jedoch möglich. Die Installation erfolgt durch das Entpacken des Archivs in ein beleibiges Verzeichnis.
Der Start von WinSTon erfolgt durch Aufruf von winston.exe. Erste Tipps zu WinSTon gibt das readme.txt im gleichen Verzeichnis. Eine ausführlichere Hilfe zu WinSTon ist im Programm über F1 oder den ?-Button erreichbar. WinSTon selbst enthält intern bereits ein TOS-Image der Version 1.00, das für den Start von RTOS-UH ausreicht. Ansonsten benötigt RTOS-UH kein TOS und ist daher von der verwendeten TOS-Version unabhängig. Für das Arbeiten mit alten ATARI-Disketten unter TOS sind Images dieser Disketten auf der Festplatte erforderlich. Näheres dazu ist unter der Hilfe des WinSTon zu finden.
Das RTOS-UH Testsystem für WinSTon kann in ein beliebiges Verzeichnis entpackt werden. Dieses Verzeichnis ist dann in WinSTon als Laufwerk C: des Atari einzustellen. Im Ordner AUTO liegt das Programm rtoslod8.prg, mit dem das RTOS-UH System von TOS aus gestartet werden kann.
Anwender die von WinSTon v0.3 oder v0.4 auf v0.5 oder STeW 1.0 umsteigen, sollten sicherstellen, dass das Autostartskript AUTO/AUTOC
die Zeile SM FFFA1C 0020;
enthält. Im Startskript des aktuellen Systems ist dies enthalten.
Im Ordner XD
befinden sich einige nützliche Skripte. Dieser Ordner ist auch als Execution-Directory eingestellt.
Hilfe bei der Bedienung von RTOS-UH gibt das Handbuch (PDF, ca. 700 S.). Für neue Anwender von RTOS-UH ist vor allem der Schnellkurs im Kapitel 2 zu empfehlen. Auf Besonderheiten des RTOS-UH-Testsystems für WinSTon geht ein gesondertes Dokument (PDF, ca. 120kB) ein.
Eine kompakte Einführung in RTOS-UH gibt es von der Firma IEP GmbH als 55-seitiges pdf-Dokument (ca. 250kB). Hiervon existiert auch eine englische Version.
RTOS-UH spezifische Einstellungen von WinSTon
Für den Einsatz von RTOS-UH unter WinSTon sind einige Einstellungen sinnvoll, die von den Default-Optionen von WinSTon abweichen. WinSTon enthält 'Help topics', die diese Optionen erläutern.
- Hard Discs
Hier ist als Laufwerk C: das Verzeichnis einzustellen, in das das Archiv winston-rtos.zip.zip entpackt wurde. Mit eingeschaltetem 'Boot from Hard Drive' startet RTOS-UH beim Reset von WinSTon nach einr Bestätigung automatisch (falls keine Diskettenimages eingestellt sind).
Unter dem GemDOS I/O Options kann das Flushing der I/O-Buffer ein- und ausgeschaltet werden. Bei aktiviertem Flushing wird nach jedem Zugriff die Datei auf der Platte aktualisiert. Dieses hat den Vorteil, dass aus Sicht anderer Windows-Programme stets die aktuelle Version der Datei vorliegt. Allerdings ist der Dateizugriff bei aktiviertem Flushing unter Windows Me/2000/XP extrem langsam, so dass sich i.A. eine Deaktivierung des Flushing empfiehlt.
- Keyboard
Um mit WinSTon im Maximum Speed Modus zu arbeiten, sollte 'Disable key repeat on maximum speed' gesetzt werden. Anderenfalls ist die Tastaturwiederholrate auf schnellen Rechnern viel zu hoch. Weiterhin empfiehlt es sich, zu den Default Short Cuts
- F11: Full Screen (schaltet zwischen Full Screen und Window Modus um)
- F12: Mouse Mode (schaltet zwischen Atari-Emulation und Windows um)
- Shift+F11: Maximum Speed (schaltet zwischen Default Speed, die im Configure Menu gesetzt ist, und Full Speed um)
Mit der Default-Keyboardbelegung sind unter RTOS-UH einige Tasten (z. T. atarispezifisch) nicht zugänglich. Mit der in der Datei rtos.map enthaltenen Belegung liegt zumindest '#' richtig und Atari-'HELP' auf 'Rollen'. Aufgrund der unterschiedlichen Behandlung der Shift-Kombinationen beim Atari und dem PC, ist ein getrenntes Ummappen einer Taste und ihrer Shift-Kombination nicht möglich. Mit der rtos.map liegt daher das zum Programmieren wichtige Hochkomma direkt rechts neben 'ß' (ohne Shift). Weiterhin sind in der rtos.map die PC-Tasten 'Pos1', 'Ende', 'Bild auf', 'Bild ab' und 'Backspace' auf die Atari-Funktionstasten F5-F9 umgelenkt. In Verbindung mit dem aktuellen Startskript /X0/AUTO/AUTOC sind diese Tasten jetzt im RTOS-UH Editor WE nutzbar. Vorschläge für eine sinnvollere Belegung sind willkommen. WinSTon enthält zum Testen das Feld 'Test Key'. Das Prinzip der Scancodezuordnung in der .map-Datei ist selbsterklärend und die Dateien sind mit einem ASCII-Editor einfach zu bearbeiten.
Die Cursortasten arbeiten nur dann, wie unter RTOS-UH gewohnt, wenn man auf der Karteikarte 'Joysticks' die Option 'Use cursor emulation' deaktiviert (s. folgenden Abschnitt 'Joysticks').
- Joysticks
Sofern kein Joystick angeschlossen ist, stellt WinSTon defaultmäßig für Joystick1 'Use cursor emulation' ein. Dann arbeiten die Pfeiltasten nur bei gleichzeitiger Betätigung der Shift-Taste wie unter RTOS-UH gewohnt. Daher wird die Abschaltung dieser Option empfohlen.
Start von RTOS-UH
RTOS-UH kann manuell über TOS von C:\AUTO
durch das Programm RTOSLOD8.PRG
gestartet werden. Ein automatischer Aufruf
dieses Programms erfolgt bei jedem Reset von WinSTon, falls die Option 'Boot from Hard Drive' angewählt ist und kein Diskettenimage als Laufwerk
eingestellt ist.
PCI-Support unter RTOS-UH
Durch eine von der Firma IEP GmbH durchgeführte Erweiterung können seit der Version 0.5x3 PCI-Karten des PCs
von RTOS-UH angesprochen werden. Zur Zeit werden PCI-IO-Karten der Fa. Kolter Electronic unterstützt. Die Verwendung anderer Karten ist nur durch
Modifikationen in den WinSTon-Quellen möglich. Näheres zum PCI-Support ist dem Dokument WinSTon-RTOS\Demo\WinstonPCI.pdf
im
WinSTon-Archiv zu entnehmen.
Weitere Besonderheiten
Achtung: Der Normalzustand der RTOS-UH-Shell ist inaktiv. Bei Bedarf muss die Shell durch einen Interrupt geweckt werden. Dies geschieht
durch die Tastenkombination Ctrl A
(gleichzeitig drücken). Das bedeutet:
Immer wenn ein Bedienbefehl eingegeben werden soll, muss zunächst Ctrl A betätigt werden!
Der Zugriff auf das PC-Dateisystem, also die Atari-Harddisks C:, D:, E: oder F: erfolgt von RTOS-UH aus über die Laufwerksbezeicher /X0
,
/X1
, /X2
bzw. /X3
. Der Zugriff auf die unter RTOS-UH sonst üblichen Bezeichner für Festplatten z.B.
/H0
liefert lediglich die Fehlermeldung DRIVE_NOT_PRESENT
.
Probleme, Bugs, Troubleshooting
- Manchmal ist das Laufwerk eines Diskettenimages nicht bereit, z.B.:
/F0 drive not ready
Ursache unbekannt, aber nach einer Timeout-Wartezeit kann normal weitergearbeitet werden. - 'ESC'-Taste wird scheinbar doppelt angeschlagen; dies ist z.B. beim Arbeiten im RTOS-UH-Editor WE störend. Dieser Effekt tritt nach unseren Erfahrungen nur im Full Speed Modus auf schnellen PC auf. Einfacher Workaround hierzu: In solchen Situationen WinSTon auf ST Speed schalten, z.B. mit Short Cut 'Shift+F11' (s.o. Optionen->Keyboard).
- Der Zugriff auf die Festplatte z. B. /H0 funktioniert nicht und liefert nur eine
DRIVE_NOT_PRESENT
Fehlermeldung. Von RTOS-UH aus erfolgt der Zugriff auf das PC-Dateisystem, also die Atari-Harddisks C:, D:, E: oder F: über die Laufwerksbezeicher/X0
,/X1
,/X2
bzw./X3
. - Mit den Devices
/X0
usw. funktioniert das KommandoFIND
und einige Shellskripte (z.B.CPX
,DIRF
) nicht richtig. Im Treiber für diese Devices ist der BefehlFIND
noch nicht vollständig implementiert. Abhilfe ist in Arbeit. - Für die Devices
/X0
usw. ist derREWIND
in allen Fällen alsREWIND CLEAR
implementiert. Anders als bei den übrigen Devices kann es deshalb in dem folgenden Spezialfall zu Datenverlust kommen. Wenn eine existierende Datei nach demREWIND
ohne weitere Lese- oder Schreibzugriffe wieder mitCLOSE
geschlossen wird, erhält sie die Länge null. Nach einemREWIND
stellt sich die korrekte Dateilänge einer bereits existierenden Datei also erst nach dem ersten Lese-oder Schreibzugriff ein. - Der Zugriff auf
/X0
usw. funktioniert nur für nicht schreibgeschützte Dateien. Gegebenenfalls muss also das Schreibschutzattribut unter Windows für solche Dateien entfernt werden (z.B. bei Dateien, die von CD auf Festplatte kopiert wurden). - Die Grafikkarte und die Grafikeinstellungen (sowohl innerhalb von WinSTon als auch Windows-eigene) können großen Einfluss auf die Performance haben. Die besten Erfahrungen wurden am IRT gemacht, wenn WinSTon im Mono-Colour- und ggf. auch Full-Screen-Modus betrieben wird. Das Windows Grafiksystem sollte nur auf 16- oder 32-Bit-Farbmodus arbeiten.
Danksagung
Voraussetzung für den Einsatz des RTOS-UH Testsystems ist ein funktionierender, hardwarenaher Atari-Emulator. Der Funktionsumfang von RTOS-UH unter WinSTon wurde mit keinem anderen uns bekannten Atari-Emulator erreicht. Unser Dank gilt daher Paul Bates, dem Autor von WinSTon, für seine unermüdliche Arbeit an diesem Projekt, für die gute Zusammenarbeit und vor allem dafür, dass er WinSTon als Freeware zur Verfügung stellt.
Änderungen
27.07.2000 | Start mit 0.3-7.8E-0.2 |
24.08.2000 | Geringe Änderungen in der Dokumentation. |
28.08.2000 | 0.4-7.8E-0.2 mit WinSTon V0.4 Bus-Error-Mechanismus i.O., (RTOS_UH.IMG unverändert). |
01.09.2000 | 0.4-7.8G-0.2 akt. RTOS-UH mit Nuk. 78G. |
27.09.2000 | Geringe Änderungen dieser Seite. |
08.11.2000 | Neuer WXFM, RTOS-UH läuft jetzt mit WinSTon v0.3, v0.4, v0.5 und ist unabhängig von der TOS-Version. |
09.01.2001 | Änderung im Autostartskript bremst TIMER D, so dass auch mit WinSTon V0.5 und Stew 1.0 volle Performance erreicht wird. Lokaler WinSTon-Download-Link. |
13.02.2001 | Geringe Änderungen dieser Seite. |
21.05.2001 | 0.5-7.9B-1.5 akt. RTOS-UH mit Nuk. 79B und akt. PEARL-Compiler, AUTOC und rtos.map modifiziert für bessere Editorbedienung, Skripte Q und CALC angepasst, aktualisierte Links. |
21.06.2005 | WinSTon 0.5x3 mit PCI-Support und deaktivierbarem Dateibuffer-Flushing |