+-------------------------------+
| Das neue AMSDOS-ROM : AMSDOC! |
+-------------------------------+

AMSDOC Beta v1.23


Ich, Doc Bartoc, schreibe gerade an einem neuen DOS-ROM und  rufe
hiermit  alle ROM-RAM-Box Besitzer auf, die Beta Version  dieses  ROMs
zu  testen.  Jeglichen Fehler, Verbesserungs- und Aenderungsvorschlaege
bitte melden bei:

Roland Barthel
Gerhart-Hauptmann-Str.15
73630 Remshalden

Telefon (mit Anrufbeantworter): 07151/72603
E-mail: Roland.Barthel@studbox.uni-stuttgart.de (laengerfristig sicherer!)
  oder  rdbarthe@trick.informatik.uni-stuttgart.de


Soweit, so gut. Jetzt wollt Ihr sicher wissen, was das neue ROM  so
drauf  hat. Als erstes muss  gesagt  werden,  dass  es  zum  normalen
ROM  moeglichst  100% kompatibel sein sollte.

Ab  Version  v1.23  fehlen  die  Befehle  |TAPE.IN  und  |TAPE.OUT.
Diese  sind eigentlich  auch  unnoetig,  erzielt  man  denselben  Effekt
doch  durch   eine Kombinaion von |TAPE und |DISC.IN oder |DISC.OUT.

Man kann nun jedoch kein CPM mehr starten (hab' ich seit  Jahren
sowieso  nicht mehr gemacht) und die User-Angabe bei |ERA und |REN
funktioniert nicht mehr. Als zweites muss ich gestehen, dass es noch
nicht fertig ist.  Der  |COPY-Befehl will einfach nicht funktionieren
und es fehlen noch neue Ideen von euch. Geplant ist noch sowas wie eine
einfache Amiga-Workbench und eine Shell. Ob's  was  wird steht in den
Sternen.

Nun zu den neuen und 'neuen' alten Befehlen:


+--------------+
| DIE BEFEHLE: |
+--------------+

Die Parameter in eckigen Klammern koennen von links  nach  rechts  weg
gelassen werden! Das heisst, dass z.B. der zweite von links nur weg
gelassen werden kann, wenn der ganz linke weg gelassen wird!


|FORMAT,[Format],[Kopf 0/1],[Tracks 0-83],Laufwerk 0/1
------------------------------------------------------
Formatiert eine Diskette. Mittels Parameter Format wird entschieden, ob
dies  im IBM-Format (&01), im CPM-Format (&41) oder im Data-Format (&C1)
passieren  soll. Der Head-Parameter ist nur bei zweikoepfigen Laufwerken
sinnvoll. Wird der Befehl  ohne  Parameter  aufgerufen,  so  erfolgt
eine  Abfrage  aller Parameter.


|UNERA,"<x:Pfad/File>"
----------------------
Schreibt geloeschte Files wieder auf User 0 um.


|TYPE,"<x:Pfad/File>"
---------------------
Ein Type-Befehl fuer ASCII-Dateien. Listet Inhalt auf. Type eben!


|INFO,"<x:Pfad/File>"
---------------------
Gibt  Infos  ueber  angegebenes  File  aus.   Filetyp,   Laenge,
Startadresse, Entryadresse.


|DUMP,<Adresse>
---------------
Billiger Hex-Dump.


|CHMOD,Mode,"<x:Pfad/File>"  (CHange MODe)
---------------------------
Hiermit kann der Mode von Files geaendert werden. Verschiedene Modi:

0 - Normal
1-Read Only
2-Systemfile (versteckt)
3-Read Only & Systemfile


|CD,"<x:Pfad>"  (Change Directory)
--------------
Hiermit kann  das  Verzeichnis  gewechselt  werden.  |CD,".."  wechselt
in  das Vaterverzeichnis (naechst hoeheres). |CD,"/" wechselt ins
Wurzelverzeichnis. Man kann auch mit |CD,"A:" oder |CD,"B:" ins
Wurzelverzeichnis gelangen.


|MD,"<x:Pfad/Directory>"  (Make Directory)
------------------------
Erstellt ein neues Verzeichnis.


|RD,"<x:Pfad/Directory>"  (Remove Directory)
------------------------
Loescht ein (leeres) Verzeichnis.


|MV,"<x:Pfad/Old Files>","<x:Pfad/[New Files]>"  (MoVe files)
-----------------------------------------------
Funktioniert wie  |REN,  nur  dass  die  Parameter  in  umgekehrter
Reihenfolge angegeben werden! (Unix-Notation)


|LS,"<x:Pfad/>"  (List Structure)
---------------
Listet nur den Verzeichnisbaum auf. Entspricht |DIR,"??", jedoch mit
Pfadangabe.


|LA,"<x:Pfad/>"  (List All)
---------------
Listet den Verzeichnisbaum mit allen Files auf. Entspricht |DIR,"**",
jedoch mit Pfadangabe. Sowohl bei |LS als auch bei |LA kann  die
Auflistung  mit  ESCAPE  unterbrochen werden.


Folgende Befehle sind leicht modifiziert worden:
------------------------------------------------

|USER,<0-255>
-------------
Wechseln des Users (und damit des Verzeichnisses). Parameter jetzt von
0-255! Im User 229 liegen alle geloeschten Files.


|ERA,"<x:Pfad/File>"
--------------------
Gibt jetzt alle Files, die geloeschte werden, auf dem Screen aus!


|DIR,"<x:Pfad/File>"
--------------------
Wie bisher. Neu ist: |DIR,"<x:**>" - Listet Verzeichnisbaum auf.
Und |DIR,"<x:??>" - Listet Verzeichnisbaum mit allen Files auf.


|REN,"<x:Pfad/[New Files]>","<x:Pfad/Old Files>"
------------------------------------------------
Hiermit kann man wie bisher Files  umbenennen,  allerding  kann  man
nun  Joker beliebig verwenden und Files in neue Verzeichnisse bewegen.

Beispiele:

|REN,"*.EXE","*.BAS" : nennt alle Files mit Endung BAS in Files
gleichen  Namen mit Endung EXE um.

|REN,"games/","spiele/*.*" : Bewegt alle Files aus dem
spiele-Verzeichnis in das game-Verzeichnis.

Mit |REN kann logischerweise nicht kopiert werden (sonst waere der
|COPY-Befehl ja schon fertig!!!!). Beide Pfadangaben muessen auf
demselben Laufwerk sein!


|CPM  (Cornflakes Per Minute)
----
Listet alle neuen Kommandos auf!


LOAD, SAVE & RUN
----------------
Kann man nun auch mit Pfadangaben benutzen! Es wurden einfach DISK IN
OPEN (&BC77) und DISK OUT OPEN (&BC8C) manipuliert! Es wird immer in das
jeweilige Verzeichnis gewechselt.

Beispiel: RUN"B:spiele/bo"   Startet das Programm "bo" im Verzeichnis "spiele".



+----------------+
| VERZEICHNISSE: |
+----------------+

Nun noch ein paar Worte zu den  Verzeichnissen.  Ein  Verzeichnisname
muss  mit einem Buchtabe beginnen, ist maximal 8 Zeichen lang und es
duerfen  auch  Zahlen und die Sonderzeichen &,!,_ und - verwendet
werden.

Bei den Befehlen bedeutet 'x:' immer, dass man  ein  Laufwerk  (A  oder
B)  mit angeben kann. Auch  die  Pfadangabe  kann  man  weglassen,  wenn
die  Files  im aktuellen Verzeichnis sind. Die Pfadangabe  geht  sowieso
immer  vom  aktuellen Verzeichnis aus. Um mich eindeutig von MS-DOS zu
distanzieren habe ich nicht '\' als Trennzeichen zwischen Verzeichnissen
gewaehlt, sondern das Unix- und  Amiga- typische '/'. Wenn es von Euch
viele Proteste hagelt, lasse ich mich  vielleicht zaehneknirschend
darauf ein, beides zu erlauben. Aber nur vielleicht.

Die Verzeichnisse werden ueber verschiedene USER simuliert. Damit man
auch  mit dem alten ROM stets weiss, welches  Verzeichnis  durch
welchen  USER  simuliert wird, steht die USER-Nummer als Extension des
Verzeichniseintrags.

Beispiel:

directory.002 : bedeutet, dass das Verzeichnis 'directory' gleich USER 2 ist!

Man kann also mittels |CD,"directory" in dieses Verzeichnis wechseln,
oder ueber den User-befehl (|USER,2).

Dummerweise kann man mit dem alten ROM nicht in einen User groesser 15
wechseln. Was also tun? Der aktuelle User steht normalerweise an Adresse
&A701. Man  poket dort also einfach die neue Usernummer hin (der
|USER-Befehl  macht  auch  nicht mehr!!). Falls der RAM-Bereich des
AMSDOS jedoch verschoben sein sollte, muss man  zuerst ueber die
Adressen &BE7D/&BE7E die Startadresse des RAM-Bereichs  auslesen.  Zum
Beispiel mit PRINT HEX$(PEEK(&BE7D)+256*PEEK(&BE7E)). Der  aktuelle
User  steht an der ausgegeben Adresse plus  eins.  Normalerweise  (ohne
zusaetzliche  ROMs) liegt der RAM-Bereich des AMSDOS ab &A700.


+---------------+
| INSTALLATION: |
+---------------+

Am Besten mit dem Softbrenner auf den Platz sieben legen, so  kann  man
mittels Dipp-Schalter stets zwischen altem und neuem DOS-ROM umschalten.


+--------------+
| ENTWICKLUNG: |
+--------------+

Neu an Version Beta v1.23:

- |CD,"/"
- LOAD,SAVE,RUN mit Pfadangabe
- Umbenennung von |MKDIR und |DELDIR in |MD und |RD
- |REN-Parameter Reihenfolge wie im AMSDOS (neu,alt)
- |MV: Parameter in Unix-Notation (alt,neu)
- statt |TAPE.IN und |TAPE.OUT: |LS und |LA


+-----------+
| GARANTIE: |
+-----------+

Ich uebernehme keinerlei Garantie fuer mein ROM! Falls es  euch
ploetzlich  die Diskette formatiert, habt ihr Pech gehabt (ist mir aber
nie passiert!). Desweiteren uebernehme ich keinerlei Garantie fuer  die
Rechtschreibung  (weder vor noch nach der Reform!).


+--------------+
| Noch Fragen? |
+--------------+

Dann schreiben, mailen oder ausprobieren!!!

Also Boxen-Besitzer, ich zaehl auf euch!!

Doc Bartoc, November 1996
