home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
rtsi.com
/
2014.01.www.rtsi.com.tar
/
www.rtsi.com
/
OS9
/
OSK
/
EFFO
/
forum9.lzh
/
INFO
/
fragen
next >
Wrap
Text File
|
1989-01-20
|
37KB
|
902 lines
Die Fragen sind grob in 5 Themenbereiche gegliedert:
@1 Sonstiges
@2 Editor
@3 Driver/Descriptoren
@4 Keyboard/Keytable
@5 C-Compiler
Bem.: Leider befindet sich das meiste unter Punkt @1.
Inhalt: FORUM 1 bis FORUM 3
@2-
Wie kann man uMacs klarmachen, wieviele Zeichen eine Tabulatorweite hat?
(Bethmann, F1)
<<< siehe umacs-Manual Seite 4.4 ('handle-tab') >>>
@1-
Wie kann man die Hardware-Uhr stellen?
(Bethmann, F1)
<<< mit dem Befehl 'setime' (OHNE weitere Optionen !). Danach Datum und
Uhrzeit im angegebenen Format eingeben. >>>
@4- @5-
Wo sind die Funktionen der "Spezial"-Funktionstasten F16 bis F19 (M703)
festgelegt, und wie lassen sie sich aendern?
(Bethmann, F1)
<<< im Directory 'DRIVERSOURCES' gibt es fuer alle Tastaturen Tabellen
im Source (keytablexxx.a). Hier sind die Standardbelegungen aller Tasten
(auch Sondertasten) festgelegt. Nach dem Aendern neu uebersetzen und
linken, z.B. keytable703:
r68 keytable703.a -o=keytable703.r
l68 keytable703.r -l=/D1/LIB/sys.l -o=/D0/DRIVER/keytable703 -n=keytable
>>>
@4-
Ich habe nun 3 Tasten auf der Tastatur die ich nicht
benutzen kann (Codes $9A-$9C), kann man dies durch
einfaches erweitern der Tabelle aendern?
(Gratz, F1)
<<< In der Tabelle kann fⁿr jeden von der Tastatur kommenden Code ein
Wert eingetragen werden, also auch fⁿr $9A - $9C >>>
@4- @2-
Unsere Tastatur besitzt einen wunderschoenen Cursor-
Block, er liefert die Standardcodes, $08=Links,
$0C=Rechts, $0B=Rauf und $0A=Runter, kann ich ihn irgendwie
ins System einbinden, um ihn z.B. in umacs zu benutzen?
(Gratz, F1)
<<< uMacs kann mittels der Befehle 'unbind-key' und 'bind-to-key' beliebig
konfiguriert werden. Mit 'unbind-key' wird eine Taste von einer Funktion
losgel÷st, sie hat also erst einmal keine direkte Funktion mehr. Mit
'bind-to-key' kann man diese Taste dann einer anderen Funktion zuordnen.
Bei gr÷▀eren Umstellungen empfiehlt es sich also, erst alle ben÷tigten
Funktionen von den Tasten zu "entbinden" und nachher neu zuzuordnen.
Diese Kommandos kann man im Klartext in ein File '.umacsrc' in /DD/SYS
schreiben, dann werden sie automatisch beim Starten des Editors aus-
gefⁿhrt (man beachte den Punkt vor dem Filenamen - er unterdrⁿckt die
Ausgabe dieses Files mit dem 'dir'-Befehl ohne Option).
Beispiel:
unbind-key ^A
bind-to-key forward-character ^A
(Ctrl-A nicht als Code, sondern wirklich als ^ und A in den Text schreiben)
bewirkt, da▀ Ctrl-A jetzt Cursor-Rechts bewirkt >>>
@4-
Durch die Sondertasten (Terminalswitch usw.) gehen mir
leider Funktionstasten verloren, deshalb die Frage,
welche Codes muessen unbedingt von der Tastatur geliefert
werden koennen (uff!) (nur $01-$7F?)?
(Gratz, F1)
<<< Die Codes von $01-$7F sollten auf jeden Fall geliefert werden. Weitere
Codes k÷nnen z.B. die deutschen Umlaute sein, wenn man mit 8-Bit-Ascii ar-
beiten m÷chte, dies ist aber keine Voraussetzung. Die Sondertasten sollten
natⁿrlich alle vorhanden sein, deren Codes werden im keytable-Modul definiert
und sind beliebig Σnderbar. Dann sind z.B. ⁿber die Hex-Taste ja auch alle
anderen Codes erreichbar (und k÷nnen auch auf jede Taste im laufenden System
gelegt werden - inzwischen auch programmgesteuert). >>>
@4-
Welche der hundert GDOS-Spezialtasten werden von OS-9
wirklich gebraucht?
(Gratz, F1)
<<< Gebraucht werden Sie nicht, da es keine verbindliche OS-9 Definition fⁿr
die Tastatur gibt (wie auch). Man kann Sie aber hervorragend da nutzen, wo
Programme beliebig konfiguriert werden k÷nnen. Die ganz speziellen Sondertasten
(Terminalumschaltung, Hex-Taste etc.) sollte man aber schon haben. >>>
@4-
Die Doppeltastenfunktion laeuft bei mir nicht,
woran liegt das?
(Gratz, F1)
<<< Vielleicht haben Sie sie bisher nur im uMacs ausprobiert - der kann keine
8-Bit-Zeichen verarbeiten (und alle zusammengesetzen Tasten haben das MSB
gesetzt. Mit der neuen uMacs-Version auf dieser Diskette k÷nnen auch diese
Codes verwendet werden, wie man an den diversen Σ÷ⁿ▀─╓▄áíª sehen kann.
Sollten hier immer noch Probleme auftreten, so haben Sie sich wahrscheinlich
im Code vergriffen - keytable noch mal ⁿberprⁿfen ! >>>
@1-
Wozu ist das Module `break' und wie kann man es verlassen ?
(Heil, F1)
<<< man sollte es lieber gar nicht erst aufrufen - es steht im Zusammenhang
mit dem OS-9 Boot-ROM-Debugger, der normalerweise nur zum Auffinden von
Boot-Problemen dient. Da dieser Debugger die Tastatur neu initialisiert,
natuerlich ohne Interrupts, kann man nicht mehr vernuenftig ins System
zurueckkommen - also auf der Arbeitsdiskette lieber loeschen ... >>>
@1-
Auf der Diskette `Master Extension' befinden sich mehrere Directories
.../RELS, die saemtlich leer sind. - Wofuer?
(Heil, F1)
<<< die nach dem Assemblieren (r68) entstehenden relokatiblen Files (normaler
Suffix '.r') kann man darin ablegen, damit sie nicht zwischen den Source-Files
den Ueberblick erschweren - man kann sie aber natuerlich auch ins gleiche
Directory assemblieren >>>
@1-
Der File `Master Extension'/SYSOURCES/make.date ist ebenfalls leer!
(Heil, F1)
<<< dieses File kann in einem 'makefile' (siehe Utility 'make') dazu dienen,
um irgendein Datum zu protokollieren - es enthaelt zwar keine Information, aber
im Directory-Eintrag ist natuerlich die Uhrzeit gespeichert >>>
@3-
Auf der Diskette `Master Boot 703' wird bei den Descriptoren der File
../DESC/dd.d0 vermisst.
(Heil, F1)
<<< ist auf dieser Forums-Diskette dabei >>>
@3-
Wozu ist der nachgelieferte (DESCriptor?)-File `sbf'?
(Heil, F1)
<<< sbf ist ein File-Manager (so wie 'rbf' und 'scf') und bedeutet soviel
wie 'sequential block file manager' (siehe Technical Manual Seite 9-1 ff.).
Er dient v. a. der Ansteuerung von Bandlaufwerken und wird deswegen momentan
wohl nicht gebraucht >>>
@1-
Im Zusammenhang mit `PATH' sind mehrere Schwierigkeiten aufgetaucht!
Z.B. findet das System nichts, wenn man z.B. `-e=/d0/SYS/errmsg' und
`setenv PATH ...' gleichzeitig gesetzt hat! (Fehlermeldung: "The path
list does not lead to any known file")
Oder: Wenn man `PATH' gleichzeitig mit `_sh 0' und `-p="@$ " benutzt,
werden die Shells nicht gezaehlt!
(Schwierigkeiten mit der `Shell' tauchen merkwuerdigerweise immer dann
auf, wenn man PATH gesetzt hat, so dass dort ein Systemfehler vermutet
wird!)
(Heil, F1)
<<< PATH ist in der Tat noch nicht fehlerfrei - allerdings konnte ich die
geschilderten Probleme nicht nachvollziehen. Bei meinen beiden Systemen
(Harddisk bzw. Floppy) habe ich sowohl PATH als auch -e,-p und _sh ent-
sprechend belegt und keine Fehler erhalten. Der mir bekannte Fehler bei
PATH ist etwas anderer Natur: wird ein Programm ⁿber PATH gestartet (wurde es
also nicht im normalen CMDS gefunden), dann wird es zweimal geladen, bevor
es gestartet wird (es wΣre jetzt zu umstΣndlich, diesen Fehler zu erklΣren -
wer mehr wissen m÷chte, kann mich ja mal anrufen). Wird das Programm aber
erst explizit mit load geladen, so geschieht das nur einmal. >>>
@1-
Mit Hilfe des Kommandos `com /t1' habe ich mit Erfolg Files ueber die
serielle Schnittstelle vom und zum APPLE uebertragen. Allerdings ist
es mir dabei nicht gelungen, auf dem Gepard-Bildschirm ein Linefeed
zu erreichen! (Es wird immer in dieselbe Linie geschrieben! - Auch
mit `tmod', bzw. `xmod', bin ich nicht weiter gekommen!) -
(Heil, F1)
<<< com benutzt die Ausgabe- bzw. Eingabefunktionen read() und write(), bei
denen keine Verarbeitung der Zeichen durch das System erfolgt, d.h. CRs werden
nicht automatisch durch LF (falls n÷tig) verlΣngert. Sogar die Kopplung zweier
mit com laufender OS-9-Rechner fⁿhrt zum selben Ergebnis. Leider verhΣlt sich
die hier im Forum befindliche C-Kermit-Version genauso, da der Connect-Modus
noch nicht voll angepasst ist (UNIX-Source ca. 250 KByte). Sollte auf dem
Apple auch einen Kermit geben (gibt's auf so ziemlich allen Rechnern), so
kann man damit sehr komfortabel und sicher beliebige Files ⁿbertragen. >>>
@4-
Wie kann man die Tasten des Keyboards belgen
(Sang, F1)
<<<Zuerst $1c schicken, dann den Code der zu definierenden
Taste, dann die Zeichen und schlie▀lich mit $00 abschlie▀en. Mit $1c Taste $00
wird die Standardbelegung wieder hergestellt >>>
@3-
ich habe gdos1,gdos2 entdeckt; sind das Treiber um auf
Gdos-Disks lesen und schreiben zu koennen?
(Wyss, F1)
<<< Richtig ! Jetzt mⁿ▀te man nur noch wissen wie ! L÷sung: Das auf diesem
Forum befindliche Programm 'transfer' erschlΣgt zumindest die Richtung
GDOS ==> OS-9 >>>
@1-
Einen Befehl habe ich nirgends gefunden: pwd (print working directory)!
(Wyss, F1)
<<< Der hei▀t unter OS-9 schlicht und einfach 'pd' >>>
@1-
Schneller booten mit gro▀em Bootstuff-File
(-, F1)
$ merge /D0/DRIVER/mth_ser /D0/DRIVER/mth_par ... /D0/DESC/t1 ... >+bootstuff
@1-
Kann man nach dem booten die Ramdisk zur boot-directory machen, damit
beim einloggen nicht immer auf /D0 nach SYS/password gesucht wird?
(Bethmann, F2)
<<< Ja, die gibt es:
- Im Init-Modul wird das Boot-Device z.B. als '/DD' angegeben
- Im 'OS9Boot' mu▀ dann natⁿrlich auch ein 'dd.d0' stehen
- SpΣter (z.B. im 'startup') kann man dann einen anderen Descriptor,
der auch '/DD' hei▀t (z.B. dd.r0_xxxk) MIT EINER H╓HEREN REVISION-
NUMMER nachladen. Er ersetzt dann den bisherigen '/DD'-Descriptor. >>>
@1-
Wie bediene ich den System-Debugger oder kann ich
mit dem normalen Debugger auch auf System-Level herunter ?
(Hackenbroich, F2)
<<< An einem gepufferten Disketten-Treiber wird zur Zeit schon gearbeitet.
Vielleicht kann sich der andere Implementeur mal beim Jⁿrgen melden ???
Zum Debugger:
Es gibt zur Zeit 3 Debugger fⁿr OS-9
- 'debug' - User State Debugger fⁿr normale Anwendungsprogramme
- 'sysdbg' - System State Debugger, kann auch Treiber und Systemprogramme
debuggen. Er geh÷rt aber NICHT zum Standard-Lieferumfang, sonder mu▀
fⁿr DM 510.00 netto extra gekauft werden.
- der 'ROM'-Debugger, der bei meiner Implementierung im RAM liegt. Er dient
AUSSCHLIESSLICH zur Erkennung von Boot-Problemen und fatalen Systemfehlern.
Es liegt im Ermessensspielraum des Implementeurs, ob dieser Debugger im
Lieferumfang dabei ist oder nicht. Er hat hier wichtige Dienste bei den
ersten Implementierungsschritten geleistet.
Wie Du siehst, nⁿtzt bei der Treibererstellung nur der 'sysdbg' etwas. Leider
ist der aber nicht kostenlos ... >>>
@1-
Wie lΣdt man die RAMDisk schnell?
(Hannemann, F2)
<<< Eine M÷glichkeit, die RAMDisk schnell zu fⁿllen, besteht mit den Programmen
'fsave' und 'frestore', mit der man den gesamten Inhalt der RAMDisk nach der
Arbeit auf eine Floppy speichern kann und nach dem Booten, evtl. automatisch im
'startup', exact wieder einlesen kann. (Diese Programme dienen eigentlich dem
Backup der Platte). >>>
@2- @1-
Aus irgendwelchen Gruenden schlug mein Versuch, den Input des Umacs
von einem anderen Programm via Pipe zu bekommen, fehl. Welche
Units muss man benutzen, oder geht das gar nicht?
(Mueller, F2)
<<< Hier kann es Probleme beim Puffern und der 'EOF'-Erkennung kommen. Leider
hatte ich nicht die Zeit, dies im Detail nachzuvollziehen - vielleicht beim
nΣchsten mal >>>
@2-
Kann man beim bind-to-key (Umacs) auch die Tasten >7F erreichen?
Beim Definieren kommt irgendeine konfuse Zeichensequenz.
(Ist ja vor allem beim Definieren via .umacsrc wichtig!).
(Mueller, F2)
<<< mit dem umacs vom Forum 1 geht es - sollte eine konfuse Zeichensequenz
kommen, so war vielleicht die Taste schon vom Termina-Treiber belegt.
Inzwischen liegt ja auch der neue EMACS vor - mit einer Beispielbelegung der
Funktionstasten, die ja Codes >$7F liefern. >>>
@3-
Ich habe versucht, die Treiber fuer die serielle Schnittstelle
neu zu konfigurieren. Die Variablen mit C$... sind nicht definiert.
Woher kann man die nehmen. (Aenderungen mit Xmode sind eigentlich
nur Notloesungen, ausserdem moechte man sich vielleicht die Standard-
tasten umlegen).
(Mueller, F2)
<<< Diese Variablen sind Assembler-Offsets und k÷nnen in den Descriptor-Sources
(t1.a und t2.a) verΣndert werden. Keine ─nderung ⁿbernimmt die Standardbelegung.
>>>
@3-
Ich vermisse den Terminal-Treiber als Source. Wenn jetzt die Tastatur-
definition von einem Programm aus moeglich ist, ist der zwar nicht
so noetig, er waere aber trotzdem von Interesse.
(Mueller, F2)
<<< kommt noch, scheiterte bisher (genauso wie der Treiber der seriellen
Schnittstellen) an rechtlichen Problemen - es sind nΣmlich einige Teile
aus Microware Treibern ⁿbernommen, und die darf man nicht ver÷ffentlichen. >>>
@1-
Gestern bekam ich eine Kopie des Forum 1. Das Transfer-Programm ist
ja sehr interessant, das Schreiben auf die OS-9-Disketten (RamDisk
genauso) dauert aber wahnsinnig lange! Was macht der Rechner die ganze
Zeit???
(Mueller, F2)
<<< Dieser Effekt tritt nur bei Textdateien auf, die konvertiert werden. Ich
teste dazu momentan jedes einzelne Zeichen ab und schreibe auch nur einzelne
Zeichen raus - das dauert dann natⁿrlich, da jedes einzelne Zeichen durch das
Betriebssystem gejagt wird. 'Transfer' sollte eigentlich nur den Zugriff auf
GDOS-Disketten dokumentieren und ist dann trotzdem zu einem richtigen Programm
gewachsen. Alles was noch fehlt (z.B. Schreiben auf GDOS-Disketten) bzw. was
nicht effizient genug ist, darf gerne geΣndert werden >>>
@4-
Die Umlaute sind ja schoen und gut, aber welche Codes haben sie.
Muss man den jeden Umlaut auf eine eigene Taste legen (ich habe die
705 - englische Version) oder gibt es da eine Moeglichkeit, aehnlich
IBM mit dem '"' als Prefix die Umlaute anzusprechen (Terminaltreiber!!!).
(Mueller, F2)
<<< zumindest gibt es ja die Doppeltasten - Funktionstaste + 'a' + ':' ergibt Σ.
Der Code entspricht der 8-Bit-Ascii-Norm nach ISO und ist so auch im GDOS ver-
wendet (ab 1.4). Dort gibt's auch eine Dokumentation dazu. Die wichtigsten
Codes: Σ = $E4
÷ = $F6
ⁿ = $FC
─ = $C4
╓ = $D6
▄ = $DC
▀ = $DF >>>
@2-
Im Editor vermisse ich hauptsΣchlich eine File-Auswahl wie 'Selectfile'.
(Niesen, F2)
<<< In diesem Forum wird es eine neue EMACS Version geben, die das zwar auch
nich kann, aber im N─CHSTEN Forum im Source ver÷ffentlicht werden wird. Dann
k÷nnen solche Wⁿnsche auch realisiert werden (wohl aber nicht von mir ...). >>>
@1-
Wie kann man elegant booten ohne den schwarzen Knopf ?3
(Mueller, F2)
<<< Ok, ich werde mir da noch was einfallen lassen ... >>>
@1-
Oder wie kommt man in den Monitor ? Gibt es den ⁿberhaupt noch ?
(Mueller, F2)
<<< Der GDOS-Monitor war auch nur ein normales Programm, also nicht im ROM
eingebaut. Deswegen gibt es ihn unter OS-9 nicht - allerdings sollte man mit
'debug' ja eigentlich auch auskommen ??? >>>
@4- @1-
Zeichensatzumschaltung - wie ?
(Niesen, F2)
<<< siehe 1. Forum >>>
@1-
FORMATIEREN NUR MIT 96 TPI ?
NUR 655360 Byte free on disk ?
5 1/4 Zoll ?
Etwa wegen der KompatibilitΣt zu anderen OS9 Systemen ? OS9 - Standard ?
(Niesen, F2)
<<< 1. Die Meldung des Utilities 'format', da▀ es sich um eine 5 1/4" - Disk
handle, kommt einfach daher, da▀ es fⁿr 3.5" noch keine Definition gibt. Somit
mu▀te ich mich zwischen 5 1/4 und 8" entscheiden - 5 1/4" lagen da nΣher, da
dieses Format bei einigen OS-9-Gepards auch im Einsatz ist. Daher kommt auch
die Angabe 96 TPI - Deine 3,5" - Disketten werden natⁿrlich trotzdem mit 135 TPI
formatiert. Wo sind aber dann die "fehlenden" KBytes ? Nun, Microware fordert
nunmal einheitlich 256 Byte / Sektor, was eine KapazitΣt von 640 KByte ergibt.
Schade finde ich das eigentlich nicht, denn dadurch gibt es nicht so viele
verschiedene Formate - ich hatte hier noch keine OS-9-Diskette, die ich nicht
direkt hΣtte verarbeiten k÷nnen. Wenn man sich hierzu eigene Routinen schreiben
will, kann man aber auch (z.B. zu Backup-Zwecken) andere Formate verarbeiten -
mein Treiber macht auch 512 bzw. 1024 Byte pro Sektor mit (siehe 'Transfer' aus
dem 1. Forum. >>>
@1-
Wo sind 'NDIR' und 'NMON' - oder betreibt jemand Network ?
(Niesen, F2)
<<< Die Beschreibung von NDIR und NMON im normalen Benutzer-Handbuch soll wohl
zum Kauf des OS-9-Netzwerks anregen - sie werden aber auch erst dann ausgelie-
fert. >>>
@1-
Was bedeutet 'Modul sync wrong '(Error 205) ?
Oder der Fehler 000.002 ? Wo sind Fehler kleiner 000.201 erklΣrt ?
(Niesen, F2)
<<< Alle Fehler sind im Handbuch beschrieben - auch die kleiner als 201.
Entsprechende Fehlerbeschreibungen stehen auch im File 'errmsg' im SYS-
Directory. Mit der Shell-Option '-e=/D0/SYS/errmsg' kann man sie auch bei
jedem Fehler mit ausgeben. Der Fehler 205 (Bad Module ID) wird dann ausgegeben,
wenn ein gⁿltiges OS-9-Modul erwartet wird, stattdessen aber z.B. ein Textfile
angegeben wird. Die Meldung 'Module sync wrong' stammt sicherlich von dem
Utility 'ident', das OS-9-Module ⁿberprⁿfen kann - nicht aber Textfiles. >>>
@1-
Ist es m÷glich die Variable "Owner - ID" und "Group - ID" nachtrΣglich
zu Σndern ? Wenn ja wie ?
(Niesen, F2)
<<< mit 'fixmod' - wobei die dazu notwendige Option '-uo' NUR im Handbuch
beschrieben ist, nicht aber bei der Option '-?' erscheint ! >>>
@1-
Wo mⁿssen Procedure-Files untergebracht werden ,damit sie nach dem Booten
ausgefⁿhrt werden ?
Etwa im SYS - directory ? Und wie ?
(Niesen, F2)
<<< Beim Booten wird erstmal das 'startup'-File ausgefⁿhrt. Hier kann man
natⁿrlich weitere Befehle einbauen bzw. andere Files aufrufen. Weiterhin wird
bei jedem Einloggen im HOME-Directory des Benutzers ein File '.login' ( der
Punkt ist wichtig - er bewirkt, da▀ das File nicht im normalen Directory ange-
zeigt wird (nur mit 'dir -a')) ausgefⁿhrt - hier kann man also fⁿr jeden
Benutzer spezielle Kommandos ausfⁿhren lassen >>>
@1-
Was hat es mit dem File 'motd' auf sich ? Wieso wird das aufgerufen ?
Nur weil es im SYS - d. steht ?
(Niesen, F2)
<<< ja - das Kommando 'login' sucht im SYS-Directory nach der 'Message of today'
(motd) und zeigt diese an >>>
@1-
Nach Kreation einer 2. Shell '1.$' wird bei unregelmΣssiger,
wiederholter BetΣtigung zwischen '$' und '1.$' WAHLLOS hin und her
geschaltet.
(Niesen, F2)
<<< Das passiert nur, wenn Du die zweite Shell im Hintergrund startest (shell &)
Danach konkurrieren die beiden Shells natⁿrlich um die Eingabe - woher soll
das System wissen, wo die Eingabe hingehen soll ? Durch das Timesharing kommt
eben mal die eine, mal die andere dran - je nachdem, welche gerade 'Glⁿck'
hatte. Wenn man einfach nur 'shell' eingibt, ist man in der neuen - und nur in
dieser. >>>
@2-
Nach 'load umacs ' und spΣterem Aufruf ohne Systemdisk erfolgt eine
Fehlermeldung 'Unknown terminal type Gepard ! '.
Damit kann ich nichts anfangen.
(Niesen, F2)
<<< 'umacs' holt sich auch der Shell-Variable 'TERM' den Namen des verwendeten
Terminals - bei uns ist das normalerweise 'Gepard'. Um nun die Steuerzeichen
dieses Terminals zu erfahren, sucht 'umacs' im SYS-Directory nach dem File
'termcap'. Bei herausgenommener Systemdiskette wird es nicht gefunden - somit
kann 'umacs' nicht arbeiten. Andererseits kann sich 'umacs' dadurch an jedes
beliebige Terminal anpassen - nur durch ─ndern der Shell-Variable. Man sollte
deswegen bei der Erstellung von Arbeitsdisketten auch ein SYS-Directory mit
dem termcap-File anlegen. >>>
@2-
umacs hat Schwierigkeiten mit 'M- F' hinter das letzte Wort einer Zeile
zu kommen.
(Niesen, F2)
<<< 'M-F' steht fⁿr 'next-word' - und das nΣchste Wort hinter dem letzten einer
Zeile ist nun mal das erste auf der nΣchsten Zeile >>>
@1-
Beim Starten von Programmen aus dem Forum taucht bei mir immer der-
selbe Fehler auf:
' shell: can't execute "J" - Error #000:216 ' ,
obwohl statt 'J' der nur komplette Name des Programms angegeben wurde .?????
So konnte ich bis jetzt noch keines der Programme auprobieren.
(Niesen, F2)
<<< Wenn Programme einfach durch Angabe des Namens gestartet werden, nimmt das
System zunΣchst an, da▀ es sich um ein direkt ausfⁿhrbares Programm handelt und
im sog. Execution-Directory steht (normalerweise '/D0/CMDS' - kann mit
'chx <Directory> geΣndert werden). Mittels der Shell-Variablen 'PATH' kann man
noch andere Directories angeben, wo nach Programmen gesucht wird. Bleibt diese
Suche erfolglos, sucht die Shell noch im aktuellen Datendirectory nach einem
PROCEDURE FILE mit gleichem Namen. Ich nehme an, da▀ Du mittels 'chd' in das
CMDS-Directory der Forums-Diskette gegangen bist und dann versucht hast, die
Programme zu starten. Wie gesagt, die Shell wird versuchen, im CMDS-Directory,
dann ⁿber die Shell-Variable 'PATH' das Programm zu finden. Danach wird
das eigentlich direkt ausfⁿhrbare Programm als procedure file ausgefⁿhrt, also
als Text aufgefa▀t. Nun beginnt aber jedes OS-9-Modul mit den Hexzahlen $4A $FC.
Da $4A fⁿr das ASCII-Zeichen 'J' steht, versucht die Shell nun, ein Programm
namens 'J' zu starten - das natⁿrlich nicht gefunden wird.
Abhilfen: 1. 'chx' auf das Forums-CMDS-Directory oder
2. 'setenv PATH xxx', wobei xxx fⁿr das Forums-CMDS-Directory steht
3. Ausfⁿhren der Programme mit der gesamten Pfadliste, also z.B.
(wenn die Forumsdiskette in Laufwerk '/D1' liegt) mittels
'/D1/CMDS/<progname>'. >>>
@1-
Was ist zu tun wenn,...
nach dem Booten umacs gestartet wird und stattdessen der Fehler auftritt:
' Environment variable not defined !'
Ich gebe ein : ' setenv TERM Gepard '
danach gleiche Fehlermeldung
Wiederholung der Eingabe, wird akzeptiert,danach starten von umacs:
keine Probleme oder Fehler :'Unknown terminal type Gepard'
(Niesen, F2)
<<< prinzipiell sollte man im HOME-Directory (das ist zunΣchst mal das, in
dem man nach dem Einloggen steht) ein '.login'-File haben (siehe oben), in
dem man auch Shell-Variablen setzen kann, eben auch 'setenv TERM Gepard'.
Das unregelmΣ▀ige Verhalten, da▀ Du beschreibst, kann ich allerdings nicht
nachvollziehen - vielleicht vertippst Du Dich ja manchmal ? Mit 'printenv'
kannst Du Deine Eingabe ja noch einmal ⁿberprⁿfen. >>>
@1-
Bei folgender Befehlsfolge hΣngt die shell auf Term sich auf :
' echo ! date ! tee /Term2 '
(Niesen, F2)
<< Das liegt daran, da▀ auf '/Term2' auch eine Shell lΣuft, die Eingaben
vom Benutzer erwartet. Im Gegensatz zu UNIX werden die Ausgaben auf einem
Device blockiert, wenn von diesem Device eine Eingabe erwartet wird (um
nicht mitten in der Eingabe Meldungen von irgendwelchen Hintergrundpro-
grammen zu erhalten). Wenn Du in der Shell auf '/Term2' ein 'sleep'-
Kommando absetzt, verlangt die Shell keine Eingabe, die Ausgaben vom anderen
Terminal kommen durch. Das 'echo !' k÷nntest Du Dir ⁿbrigens sparen. >>>
@2-
umacs :
Lassen sich eigentlich auch mehrere Macros gleichzeitig definieren,
unterscheiden und ansprechen ?
(Niesen, F2)
<<< Mit dem neuen EMACS (em) gehts jetzt (bis zu 40 Macros) >>>
@1- @5-
Welche Register darf man bei Assembler-Routinen frei ver-
wenden?
(Tutzauer, F2)
<<< Bei eigenstΣndigen Assembler-Programmen ist die Verwendung der Register
v÷llig freigestellt. Als ▄bergabe-Register an Dein Programm bekommst Du das,
was im 'Technical Manual' unter F$Fork beschrieben ist. Ansonsten mu▀t Du nur
die ▄bergabekonventionen an das Betriebssystem beachten, wenn Du Betriebs-
systemaufrufe machst. Bei der Verwendung von Assembler-Routinen innerhalb von
C-Programmen sollten alle Register unverΣndert bleiben - bis auf Parameter und
Ergebnis-Register (momentan d0 und d1). Siehe dazu auch 'C-Compiler User's
Manual' - 'Interfacing to assembly language' - Page 3-3 >>>
@1-
Hat jemand eine Σhnliche Aktion durchgefⁿhrt (IBM's als Terminals am Gepard)
und k÷nnte mir von seinen Erfahrungen berichten?
Welche Software ist auf IBM-Seite erforderlich?
Reicht dort die Ausgabe ⁿber die serielle Schnittstelle, um mit
der 8fach-Seriellen-Karte im Geparden zu kommunizieren, wenn
dafⁿr der os9-Treiber fertig ist?
(Zamow, F2)
<<< Am besten ist auf IBM-Seite irgendein Terminal-Emulations-Programm, damit
auch vernⁿnftig mit einem Editor unter OS-9 gearbeitet werden kann. Ansonsten
wird es KEINE Schwierigkeiten geben - bis auf den Punkt, da▀ 8 Benutzer fⁿr
einen kleinen 68000 schon ein ziemlicher Happen ist. Au▀erdem mu▀ natⁿrlich
auch erst der Treiber fertig sein. >>>
@1-
Die M÷glichkeit eines Erwerbs von os9-68020 wurde angedeutet.
Liefe diese Version auch auf einem 'normalen' Geparden mit
der MPU 68000? WΣre sie speziell auf die 68020-Karte von
HS-Computer 'verschnitten'? Allgemein: Inwiefern wΣre damit
eine Investition in die Zukunft m÷glich auf der Basis der
augenblicklichen Hardware?
Was kostet diese -20 -Version?
(Zamow, F2)
<<< Der 68020 - Kernel lΣuft auch mit der 68000 und ist natⁿrlich von der
verwendeten Hardware v÷llig unabhΣngig. Allerdings macht momentan noch die
Stⁿckzahl (>=50 ! ) Probleme. Preis etwa 1000.- DM incl. 68020/68881 C-
Compiler >>>
@1-
Unser System benutzt eine aufgerⁿstete 1MByte-Ramkarte.Nach dem
Booten werden in 'mdir' ca. 101 kByte als geladen angezeigt. Hinzu
kommen 256 kByte Ramdisk. Und mfree zeigt 436 kByte an. Das
ergibt zusammen 793 kByte. Wohin sind die restlichen ca. 200 kByte
Ram diffundiert oder was stimmt an der Rechnung nicht?
(Zamow, F2)
<<< 'mdir' zeigt nur die LΣngen des Programm-Codes an - nicht aber den von
den aktiven Prozessen verbrauchten Variablen-Platz. So hat 'tsmon' eine
Code-LΣnge von 2438 Bytes, braucht aber pro Proze▀ 10.68 KByte Speicher
(siehe 'procs'). Da er achtmal vorhanden ist (fⁿr jedes Terminal einmal),
hat man hier schon 80KByte verloren. ▄berhaupt brauchen insbesondere die
virtuellen Terminals viel Platz. L÷sung: statt 8 virttueller Terminals
weniger benutzen (seufz). >>>
@1- @3- @5-
In 'Master Extension'/defs/oskdefs fehlt die Angabe fⁿr 0:
68000 - Code ?
(Zamow, F2)
<<< 'Objct' steht allgemeint fⁿr ausfⁿhrbarer Code - der Kommentar, es
handle sich um 6809 - Code, ist einfach ein ▄berbleibsel aus der Ver-
gangenheit. Gemischter 6809/68000-Code ist ja eh nicht m÷glich. >>>
@1-
Nach dem Booten in der Shell bitte ^S^D drⁿcken. Damit schicke
ich das System in die ewigen Jagdgrⁿnde. Soll das so sein?
(Zamow, F2)
<<< siehe dazu auch das erste Forum - ^S kann durch ^Q wieder rⁿckgΣngig
gemacht werden (im gleichen Terminal !). Siehe auch Brief.Wyss >>>
@1-
Wie lΣ▀t sich der automatische Suchvorgang auch auf '/d1/cmds'
vom data directory '/d0' erweitern?
'setenv mit path=/dd/cmds:/d0/cmds:/d1/cmds' reicht nicht!
(Zamow, F2)
<<< PATH bezieht sich nur auf das Execution-Directory, nicht auf das
Data-Directory. Ansonsten mu▀ PATH (genauso wie z.B. TERM) GROSS geschrieben
werden ! >>>
@3-
Umlaute, Sonderzeichen auf Drucker - wie?
<<< im Update zu 2.1 gibt es zum Druckertreiber eine Konvertierungstaballe>>>
@1-
Literatur ⁿber OS-9 scheint sehr selten zu sein. Ich habe jedenfalls bisher
noch nichts entdeckt. Kann mir jemand einen oder mehrere Titel nennen (Sie
k÷nnen auch in englisch sein)?
(BrΣuer, F3)
<<< Wenn jemand etwas wei▀, darf er das gleich auch noch mir mitteilen -
ich kenne nΣmlich auch keine OS-9 Literatur ! >>>
@1-
Gibt es in Deutschland Adressen, ⁿber die man an OS-9 - Public Domain -
Software herankommt?
<<< Bei mir z.B. ... - ich habe mich in letzter Zeit bemueht, die
wichtigsten Implementeure von PD-Software anzusprechen. Die Ergebnisse
werden dann auch auf den Forums-Disketten zu sehen sein. >>>
@3- @5-
Druckertreiber: Um endlich auch die Umlaute auf Papier zu bekommen,
wollte ich den Treiber um eine Konvertierungstabelle erweitern (Σhnlich
wie im letzten Forum Deine Erweiterung, Michael, nur kleiner). Dieser
neue Treiber lie▀ sich auch problemlos compilieren und linken, bei
Ansteuerung des Druckers verabschiedete er sich aber fⁿr immer. Ein Versuch
mit dem Original (OS9-Plus-DRIVERSOURCES-mth_par.a) ergab, da▀ nach meiner
Methode dieser auch nicht funktionierte. Vorgegangen bin ich dabei wie folgt:
- r68 mth_par.a -o=mth_par.r
- l68 mth_par.r -l=/DD/LIB/sys.l -o=/d0/DRIVER/mth_par
Fehler: load p, load mth_par und iniz p liefen ohne (erkennbaren) Fehler
Sobald jedoch ein Zeichen zum Drucker gesendet wird, wird keine Eingabe (auch
kein Break) mehr von der Tastatur angenommen. Lediglich die Terminal-
umschaltung wird noch ausgefⁿhrt. Jedes andere virtuelle Terminal hat
sich aber auch verabschiedet. Man kann also zwischen den Terminals hin-
und herschalten, mehr geht aber nicht! (Sogar der Cursor ist weg und
das gesendete Zeichen kommt auch nicht am Drucker an)
Wo ist der Fehler und warum blockiert er gleich alle Terminals?
(Hannemann, F3)
<<< Der Fehler liegt im Aufruf des Linkers. Der fⁿr den Druckertreiber
zustΣndige Filemanager SCF m÷chte nΣmlich im Variablenbereich des Treibers
auch noch ein paar (wichtige !) Informationen ablegen. Dazu mu▀ natⁿrlich vor
den treibereigenen Variablen entsprechend Platz geschaffen werden. Dies
geschieht durch die Linkerzeile
- l68 /DD/LIB/scfstat.r mth_par.r -l=/DD/LIB/sys.l -o=/D0/DRIVER/mth_par
^^^^^^^^^^^^^^^^^
In scfstat.r wird nΣmlich genau der vom SCF ben÷tigte Platz reserviert.
Wird dies unterlassen, so "teilen" sich Treiber und SCF die Variablen -
was zu allen nur denkbaren Effekten fⁿhren kann (ein Systemabsturz ist
dabei noch das harmloseste).
Allgemein: in den entsprechenden makefiles kann man alle ▄bersetzungsvorgΣnge
nachlesen - eine intensive BeschΣftigung mit diesem mΣchtigen Utility lohnt
sich sowieso (auch wenn oder gerade weil es nicht ganz einfach ist ...)
Au▀erdem gibt es jetzt (im Update) ja Druckerkonvertierungstabellen, wodurch
der Treiber nicht mehr geΣndert werdenn mu▀ ! >>>
@1-
WΣhrend des Experimentierens am Punkt 1) gab es nach
- load /d0/DESC/p
den Fehler: "Error #000:214 (E$FNA) File not accessible"
Mit - chd /d0/DESC
- load -d p
funktionierte es dann.
Soll das so sein?
(Hannemann, F3)
<<< ja - load geht normalerweise davon aus, da▀ es ein Programm laden soll.
Bei einem Programm ist das Execution-Attribut gesetzt, und so versucht es
load dann auch, das File mit diesem Attribut zu lesen. Deskriptoren und
Treiber werden aber normalerweise ohne dieses Attribut generiert (schlie▀lich
handelt es sich ja auch nicht um ausfⁿhrbare Programme), so da▀ es eine
Attributsverletzung gibt. Um trotzdem diese Files laden zu k÷nnen, gibt es
die '-d' Option im load. Damit k÷nnen dann auch nicht ausfⁿhrbare Module
geladen werden. In Deinem Fall hΣtte es also auch gleich
- load /D0/DESC/p -d
getan, ein 'chd' ist nicht notwendig. >>>
@2-
Fehler im emacs?
Wenn ich vom emacs die Shell aufrufe (egal ob mit i-shell oder
shell-command), so kann ich in der so generierten Shell problemlos
arbeiten. Der Versuch, in den emacs zurⁿckzugelangen (mit ESC), fⁿhrt
nach 3-4 Sekunden zu der Fehlermeldung: "Unknown terminal type Gepard".
Dabei befindet sich Termcap sowohl in /d0/SYS als auch /dd/SYS. Es wird auch
gar kein Laufwerk mehr angesprochen. Hieran kann es also nicht liegen.
umacs funktioniert unter gleichen Bedingungen ohne Probleme.
Ebenso wird nach dieser Fehlermeldung mit "em" der Editor ohne Probleme
aufgerufen.
(Hannemann, F3)
<<< Auch gemerkt ? Der Fehler ist in der neuen Version nicht mehr vorhanden >>>
@4-
Tastenbelegung: die Tastendefinition im emacs mit .emacsrc ist zwar
ganz sch÷n, aber leider kann man sie nur mit Funktionen des Editors
belegen. Wie kann ich beliebige Zeichenfolgen auf eine Taste bringen?
(Du hattest diese Frage im vorigen Forum schon einmal beantwortet:
sende $1c Taste Zeichen $00. Aber wohin senden und wie??)
(Hannemann, F3)
<<< einfach 'auf den Bildschirm' senden - z.B. mit
putchar('\x1c'); /* Definitions-Leadin */
putchar('\x80'); /* Code $80 ist die Funktionstaste 1 */
puts("Hallo"); /* Text */
putchar('\x00'); /* Endekennung */ >>>
@2-
Beim GDOS1.4-Editor hat man die Moeglichkeit, Attribute wie
`inverse' oder `underline' im Text unter zu bringen. - Wie macht
man das beim `eMacs' ? - Wenn man z.B. den Tasten-Code $13
direkt eingibt, kommt man in den Search-Modus! -
(Heil, F3)
<<< Da der EMACS eigentlich ein reiner Editor ist (also keine Textverarbeitung),
gibt es auch (noch) keine M÷glichkeit, Attribute darzustellen. Zumindest kann
man aber mit der 'Quote'-Funktion (default binding ^Q) beliebige Controlcodes
in den Text einfⁿgen, die dann jedoch auch als z.B. '^X' dargestellt werden. >>>
@1- @2-
Weiterhin habe ich gelegentlich Probleme mit dem Tabulator, weil der
`eMacs' und mein Drucker ueber die Anzahl der Stellen oft verschie-
dener Meinung sind! - Deshalb hier mein zweiter Wunsch:
Bitte, verwendet anstelle einer Tabulator-Angabe bis auf weiteres
nur die <Space>-Taste!
(Heil, F3)
<<< Tja die TABS - man kann dem SCF ja mitteilen (mit 'tmode' bzw.
'xmode'), wieviel Spaces er aus einem Tab machen soll - es kommt
aber erfahrungsgemΣ▀ wirklich immer wieder zu Problemen. Also auch
von mir der Tip: keine Tabs ! >>>
@1- @3-
Das `C-Kermit' habe ich leider nicht ans Laufen gebracht! - Ich be-
sitze eine Himmeroeder-Serial-Card im Apple und auch ein entspre-
chendes Kermit-Programm dafuer. Daher war es naheliegend, das `C-
Kermit' mit dieser Hardware-Umgebung zusammenzuschalten, um es aus-
zuprobieren. (Diese Verbindung hat sich uebrigens schon bewaehrt mit
`Com' auf dem Gepard und `ASCII Express' auf dem Apple, - die Hard-
ware-Voraussetzungen muessen also in Ordnung sein!) - Meine weitere
Vorgehensweise bestand nun darin, `Kermit' aufzurufen und nach Er-
scheinen des Prompts einzugeben:
C-Kermit> set speed 300 (1. Eingabe)
/t1: 300 baud (Antwort des Systems)
C-Kermit> connect (2. Eingabe)
Connecting thru /t1, speed 300. (Antwort des Systems)
The escape character is CTRL-\ (28)
Type the escape character followed by C to get back,
or followed by ? to see other options.
Und das war es dann auch schon! Das System verweigerte von nun an
jedwede Kooperation! - Weder <Ctrl><\><C> noch <F18><1><C><C>
konnten es zu einer weiteren Zusammenarbeit bewegen! -
Woran kann das nur liegen?
(Heil, F3)
<<< an zwei Dingen:
1. Obwohl der Kermit anscheinend mit 300 Baud arbeitet - die
Schnittstelle tut dies noch lange nicht. Aus verschiedenen
Grⁿnden ist es nicht so leicht m÷glich, die Baudrate in einem
laufenden Programm zu Σndern. Man sollte die Baudrate deswegen
VOR dem Aufruf des Kermit mit 'xmode' Σndern (und auch nicht
vorher 'iniz /t1' eingeben - das stellt die Schnittstelle ja
auch ein und die Baudrate lΣ▀t sich dann nicht mehr Σndern).
2. In der verwendeten Kermit-Version wurde der escape character
auch auf den Bildschirm ausgegeben - und \x1c ist gerade der
Leadin fⁿr die Funktionstastendefinition (uff). Danach werden
alle Eingaben bereits vom Treiber geschluckt - nur das Zeichen
mit dem ASCII-Code 0 kann hier noch Abhilfe schaffen (geht mit
F18). In der neuen Kermit-Version ist dieses Problem aber be-
hoben (und der escape character trotzdem auf ^B umbelegt - dies
kann aber im Kermit mit 'set esc <dez. ASCII>' beliebig ge-
Σndert werden. >>>
@1- @3-
Ausser meinem normalen Speicher ($E00000 - $FFFFFF = 2 MByte) hat
mein System noch einen Extra-Speicher bei $400000, den ich unter
GDOS 1.4 als `resetfeste Ram-Disk' benutze. Eine Umadressierung
dieser 3.Karte auf `$D00000' wuerde den gesamten Speicher auf 3 MByte
vergroessern. - Gibt es eine Moeglichkeit, diesen Speicherplatz auch
fuer OS-9 zugaenglich zu machen, OHNE die Karten-Adresse mit Hilfe
der Jumper zu aendern?
(Heil, F3)
<<< ja - man kann auch unter OS-9 eine RAM-Disk darauf installieren.
Hierzu mu▀ im RAM-Disk-Deskriptor die Hardware-Adresse statt auf 0
(was bedeutet, da▀ der RAM-Disk-Treiber den Speicher vom System an-
fordert) auf den Anfang des Speicherbereichs (in Deinem Fall $400000)
gelegt werden. Natⁿrlich sollte auch die Gr÷▀e stimmen. Schon hast
du ebenfalls eine 'resetfeste RAM-Disk' ! >>>
@5-
Beim Versuch, den Utility-File 'tansfer.c' (OS-9Forum 1) nach einer
kleinen Aenderung neu zu compilieren, tauchte folgender Fehler auf:
- Symbol 'tputs' unresolved.
- Referenced by psect 'transfer_c' in file 'ctemp.000014r'
- Symbol 'tgoto' unresolved. ...
- Symbol 'tgetstr' unresolved. ...
- Symbol 'tgetent' unresolved. ...
- l68: error - unresolved references
Waere es vielleicht moeglich, die offensichtlich fehlende Library
zu bekommen?
(Heil, F3)
<<< es handelt sich um die im Standardlieferumfang enthaltene
'termlib.l' ! >>>
@2- @1-
Wie lassen sich eigentlich die Diskrepanzen bei den Tabs (em <-> list,
edt, etc.) beseitigen? Mit em erzeugte Assemblerfiles sehen beim Printen
recht eigenartig aus.
(Mueller, F3)
<<< Tabs am besten gleich ganz vermeiden - mit
<ESC> 4 <TAB>
wird der EMACS z.B. dazu bewogen, statt echter tabs 4 spaces einzufⁿgen
(steht bei mir im emacsrc) >>>