FremdeProjekte/MeGALoDOS/FMON: Unterschied zwischen den Versionen

Aus
Wechseln zu: Navigation, Suche
(Dateien)
 
(9 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 5: Zeile 5:
 
__TOC__  
 
__TOC__  
 
<br />
 
<br />
'''### IN ARBEIT ###    ### IN ARBEIT ###    ### IN ARBEIT ###    ### IN ARBEIT ###    ### IN ARBEIT ###    ### IN ARBEIT ###    ### IN ARBEIT ###    ### IN ARBEIT ###    '''
 
 
 
<br />
 
<br />
 
== FMON - der Floppy Monitor für MeGALoDOS ==
 
== FMON - der Floppy Monitor für MeGALoDOS ==
Zeile 21: Zeile 19:
 
Die FMON Befehle werden über den Kommando Kanal #15 an das Laufwerk gesendet. Dazu muss ein 'U3:' vorangestellt werden. <br />
 
Die FMON Befehle werden über den Kommando Kanal #15 an das Laufwerk gesendet. Dazu muss ein 'U3:' vorangestellt werden. <br />
 
Zum Beispiel der Befehl 'FEN' aktiviert das Flash Banking und wird aufgerufen durch: '''''@U3:FEN'''''
 
Zum Beispiel der Befehl 'FEN' aktiviert das Flash Banking und wird aufgerufen durch: '''''@U3:FEN'''''
 +
 +
<br />
 +
==== Benutzung des FMON im Open-CBM ====
 +
 +
Der FMON kann vom PC aus in Scripts verwendet werden indem man Open-CBM Befehle sendet. Anbei ist ein ZIP Archiv mit Beispiel Scripts, die zeigen wie man FMON Befehle einsetzen kann. Diese Scripts können frei benutzt oder für eigene Bedürfnisse modifiziert werden.
 +
 +
 +
<u>Liste der Script Dateien</u>:
 +
 +
* fcFMon08.cmd: lädt den FMON in den Floppy Speicher an die Adresse $0800
 +
* fcFMon30.cmd: lädt den FMON in den Floppy Speicher an die Adresse $3000
 +
 +
* fcFMonBlankTest.cmd: macht einen Blank Test des MeGALoDOS Flash Speicher von Bank 00 bis Bank 3F. Normal wird Bank 00 bis 24 benutzt.
 +
* fcFMonFlashCompare.cmd: vergleicht Flash Bank 00 bis 24 mit der RAM Bank 00 bis 24
 +
* fcFMonFlashCompare-1D-1F.cmd: vergleicht Flash Bank 1D bis 1F mit der RAM Bank (da liegt der ROM Code im Modus Super-RAM DD)
 +
* fcFMonFlashCopy.cmd: kopiert den Inhalt der Flash Bank 00 bis 24 in die RAM Bank 00 bis 24
 +
* fcFMonFlashWriteTest.cmd: testet schreiben in den Flash Speicher (Flash Bank 22 --> RAM, Blanktest Bank 30, flashen Bank 30, Erase, Blanktest)
 +
* fcFmonRamBankDownload.cmd: Download der RAM Bank 00 bis 24 (Dateien: memFlashBank_XX.bin)
 +
* fcFmonRamBankDownload_1D-1F.cmd: Download der RAM Bank 1D bis 1F (1D-1F: die Banks wo das Super-RAM DD liegt)
 +
* fcFmonRamBankUpload.cmd: Upload der Dateien in die RAM Bank 00 bis 24 (Dateien: memFlashBank_XX.bin)
 +
* fcFmonRamBankUpload_1D-1F.cmd: Upload der Dateien in die RAM Bank 1D bis 1F  (1D-1F: die Banks wo das Super-RAM DD liegt)
 +
* fcFMonRamFill55.cmd: füllt den Hex Wert '55' in die RAM Bank 00 bis 24
 +
* fcFMonRDTest.cmd: Test der RAM Disk #1
 +
 +
 +
Diese Scripts demonstrieren und testen die Funktionen des FMON.<br />
 +
Man kann damit aber auch die Funktion des MeGALoDOS Board überprüfen.<br />
 +
Es dient auch als Ausgangsbasis für eigene Scripts.
  
 +
 +
<u>Manche Scripts sind nur in Kombination mit anderen Scripts sinnvoll</u>:
 +
 +
* Test von FMON Befehle: RamFill55, FlashCompare, FlashCopy, FlashCompare
 +
* Test des Flash Speicher Inhalt: RamBankUpload, FlashCompare
 +
* Sichern des Flash Speicher: FlashCopy, RamBankDownload
 +
* Flash einer neuen Software: RamBankUpload_1D-1F, FlashWrite_1D-1F
 +
* ...
 +
 +
<br />
 +
 +
==== Benutzung des FMON als BASIC Programme ====
 +
 +
Das BASIC Programm macht genau das selbe: es demonstriert und testet FMON Befehle
 +
 +
Der einzige Unterschied: es kommt als Diskette (D64 Image) und läuft am C64.
 +
 +
 +
Der BASIC Code ist selbsterklärend. Die folgenden Screenshots zeigen die Funktionen des Programm. Die Screenshots stammen au dem VICE Emulator. Da der VICE die meisten Funktionen des MeGALoDOS nicht emulieren kann, sind die Ergebnisse in den Screenshots natürlich nicht aussagekräftig.
 +
 +
 +
<u>Screenshots des BASIC Programmes</u>:
 +
 +
<gallery mode="traditional" widths=90px heights=90px perrow=9 caption="">
 +
Image:MeGALoDOS_FMON_01.png
 +
Image:MeGALoDOS_FMON_02.png
 +
Image:MeGALoDOS_FMON_03.png
 +
Image:MeGALoDOS_FMON_04.png
 +
Image:MeGALoDOS_FMON_05.png
 +
Image:MeGALoDOS_FMON_06.png
 +
Image:MeGALoDOS_FMON_07.png
 +
Image:MeGALoDOS_FMON_08.png
 +
</gallery>
  
 
<br />
 
<br />
Zeile 375: Zeile 434:
  
 
@U3:TDD <br />
 
@U3:TDD <br />
@U3:TDD 2
+
@U3:TDD 02
  
 
In dem ersten Beispiel wird der Track Buffer des Super-RAM DD getestet. Im zweiten der Track Buffer im 2 MHz Modus getestet. Ist der Test erfolgreich, dann meldet die Floppy im Fehler Kanal '00,ok,00,00'. Ansonsten kommt die Standard Fehlermeldung: 25,write error,00,00
 
In dem ersten Beispiel wird der Track Buffer des Super-RAM DD getestet. Im zweiten der Track Buffer im 2 MHz Modus getestet. Ist der Test erfolgreich, dann meldet die Floppy im Fehler Kanal '00,ok,00,00'. Ansonsten kommt die Standard Fehlermeldung: 25,write error,00,00
Zeile 393: Zeile 452:
  
 
@U3:TDD <br />
 
@U3:TDD <br />
@U3:TDD 2
+
@U3:TDD 02
  
 
In dem ersten Beispiel wird der Track Buffer des Super-RAM DP getestet. Im zweiten der Track Buffer im 2 MHz Modus getestet. Ist der Test erfolgreich, dann meldet die Floppy im Fehler Kanal '00,ok,00,00'. Ansonsten kommt die Standard Fehlermeldung: 25,write error,00,00
 
In dem ersten Beispiel wird der Track Buffer des Super-RAM DP getestet. Im zweiten der Track Buffer im 2 MHz Modus getestet. Ist der Test erfolgreich, dann meldet die Floppy im Fehler Kanal '00,ok,00,00'. Ansonsten kommt die Standard Fehlermeldung: 25,write error,00,00
  
 
<br />
 
<br />
 +
 
= Dateien =
 
= Dateien =
  
* [[Medium:MeGALoDOS-FMON.zip|MeGALoDOS FMON - Floppy Monitor]] - bestehend aus einem Disketten Image und Tools für Windows (OpenCBM)
+
* [[Medium:MeGALoDOS-FMONdisk_01.zip|MeGALoDOS FMON - Floppy Monitor - BASIC Code Diskette (D64)]]
 +
* [[Medium:MeGALoDOS-FMONscripts_01.zip|MeGALoDOS FMON - Floppy Monitor - Open-CBM Scripts]]  
  
 
<br />
 
<br />

Aktuelle Version vom 28. März 2021, 16:10 Uhr

---
---
---
---



FMON - der Floppy Monitor für MeGALoDOS

Der Floppy Monitor ist ein Tool für den erfahrenen Benutzer/Coder. Man kann damit das Banking steuern, den Flash Speicher verwalten, RAM testen und Dateien laden.

Das Tool ist speziell für die Modi 'Super-RAM DD' und 'Super-RAM PD' ausgelegt, funktioniert aber teilweise auch in den anderen MeGALoDOS Modi.

Der FMON muss zuerst in den RAM des MeGALoDOS geladen werden. Dazu dient der Befehl '@&FMON', der den FMON von der Diskette in den RAM ab $3000 lädt. Alternativ kann man den FMON auch extern in die Floppy laden, zB. mit dem OpenCBM Upload Befehl. Um die FMON Befehle komfortabel nutzen zu können, wird im Buffer #2 der Floppy ein Sprungbefehl zum FMON CLI eingetragen.

Solange der Buffer #2 nicht überschrieben wird, können FMON Befehle über den U3 Befehl des DOS ausgeführt werden. Wenn der Inhalt des Buffer #2 überschrieben wird, dann kann man den Inhalt wieder herstellen durch Aufruf eines Programm an der Adresse $3004. Alternativ kann man natürlich den FMON auch einfach erneut laden.

Die FMON Befehle werden über den Kommando Kanal #15 an das Laufwerk gesendet. Dazu muss ein 'U3:' vorangestellt werden.
Zum Beispiel der Befehl 'FEN' aktiviert das Flash Banking und wird aufgerufen durch: @U3:FEN


Benutzung des FMON im Open-CBM

Der FMON kann vom PC aus in Scripts verwendet werden indem man Open-CBM Befehle sendet. Anbei ist ein ZIP Archiv mit Beispiel Scripts, die zeigen wie man FMON Befehle einsetzen kann. Diese Scripts können frei benutzt oder für eigene Bedürfnisse modifiziert werden.


Liste der Script Dateien:

  • fcFMon08.cmd: lädt den FMON in den Floppy Speicher an die Adresse $0800
  • fcFMon30.cmd: lädt den FMON in den Floppy Speicher an die Adresse $3000
  • fcFMonBlankTest.cmd: macht einen Blank Test des MeGALoDOS Flash Speicher von Bank 00 bis Bank 3F. Normal wird Bank 00 bis 24 benutzt.
  • fcFMonFlashCompare.cmd: vergleicht Flash Bank 00 bis 24 mit der RAM Bank 00 bis 24
  • fcFMonFlashCompare-1D-1F.cmd: vergleicht Flash Bank 1D bis 1F mit der RAM Bank (da liegt der ROM Code im Modus Super-RAM DD)
  • fcFMonFlashCopy.cmd: kopiert den Inhalt der Flash Bank 00 bis 24 in die RAM Bank 00 bis 24
  • fcFMonFlashWriteTest.cmd: testet schreiben in den Flash Speicher (Flash Bank 22 --> RAM, Blanktest Bank 30, flashen Bank 30, Erase, Blanktest)
  • fcFmonRamBankDownload.cmd: Download der RAM Bank 00 bis 24 (Dateien: memFlashBank_XX.bin)
  • fcFmonRamBankDownload_1D-1F.cmd: Download der RAM Bank 1D bis 1F (1D-1F: die Banks wo das Super-RAM DD liegt)
  • fcFmonRamBankUpload.cmd: Upload der Dateien in die RAM Bank 00 bis 24 (Dateien: memFlashBank_XX.bin)
  • fcFmonRamBankUpload_1D-1F.cmd: Upload der Dateien in die RAM Bank 1D bis 1F (1D-1F: die Banks wo das Super-RAM DD liegt)
  • fcFMonRamFill55.cmd: füllt den Hex Wert '55' in die RAM Bank 00 bis 24
  • fcFMonRDTest.cmd: Test der RAM Disk #1


Diese Scripts demonstrieren und testen die Funktionen des FMON.
Man kann damit aber auch die Funktion des MeGALoDOS Board überprüfen.
Es dient auch als Ausgangsbasis für eigene Scripts.


Manche Scripts sind nur in Kombination mit anderen Scripts sinnvoll:

  • Test von FMON Befehle: RamFill55, FlashCompare, FlashCopy, FlashCompare
  • Test des Flash Speicher Inhalt: RamBankUpload, FlashCompare
  • Sichern des Flash Speicher: FlashCopy, RamBankDownload
  • Flash einer neuen Software: RamBankUpload_1D-1F, FlashWrite_1D-1F
  • ...


Benutzung des FMON als BASIC Programme

Das BASIC Programm macht genau das selbe: es demonstriert und testet FMON Befehle

Der einzige Unterschied: es kommt als Diskette (D64 Image) und läuft am C64.


Der BASIC Code ist selbsterklärend. Die folgenden Screenshots zeigen die Funktionen des Programm. Die Screenshots stammen au dem VICE Emulator. Da der VICE die meisten Funktionen des MeGALoDOS nicht emulieren kann, sind die Ergebnisse in den Screenshots natürlich nicht aussagekräftig.


Screenshots des BASIC Programmes:


Befehle für Modus Wechsel

FMON ist ein Tool für das MeGALoDOS das speziell für die neuen Modi 'Super-RAM DD' und 'Super-RAM PD' entwickelt wurde. Prinzipiell funktioniert FMON auch in andere Modi des MeGALoDOS, allerdings gibt es einige Befehle die nur Sinn machen im Super-RAM Modus.

Man kann den aktuell eingestellten Modus abfragen mit Hilfe des U3 Befehl ohne weitere Parameter:

@U3
00,FMON DD,00,00

Der FMON antwortet im Fehlerkanal der Floppy mit '00,FMON DD,00,00' wenn er sich im Modus 'Super-RAM DD' befindet.
Der FMON antwortet im Fehlerkanal der Floppy mit '00,FMON PD,00,00' wenn er sich im Modus 'Super-RAM PD' befindet.


Befehl SDD (set DD)

Dieser Befehl schaltet FMON in den Modus 'Super-RAM DD': @U3:SDD

In diesem Modus geht FMON von einer bestimmten Speicher Konfiguration aus:

  • 8KB RAM-Bank (Track Buffer) an der Adresse $4000 - $5FFF
  • 8KB banked Flash an der Adresse $6000 - $7FFF


Befehl SPD (set PD)

Dieser Befehl schaltet FMON in den Modus 'Super-RAM PD': @U3:SPD

In diesem Modus geht FMON von einer bestimmten Speicher Konfiguration aus:

  • 8KB RAM-Bank (Track Buffer) an der Adresse $8000 - $9FFF
  • 8KB banked Flash an der Adresse $A000 - $BFFF


Befehle die den Flash betreffen

Der Flash Speicher des MeGALoDOS hat eine Größe von 512KB. Der Flash Speicher wird in den 'Super RAM' Modi stückweise (als 8KB Block) eingeblendet. Der gesamte Flash besteht aus 64 Blöcken zu je 8KB. Über das Flash Bank Register kann man wählen, welcher 8KB Block des Flash Speicher gerade sichtbar ist. Die Flash Bank geht dabei von 0 bis 63 ($00 bis $3F).


Befehl FEN (Flash enable)

Das MeGALoDOS kann den Flash Speicher ein- und ausschalten. Der Befehl FEN schaltet den Flash Speicher ein.

Die meisten Befehle die mit dem Flash Speicher zu tun haben, die schalten den Flash automatisch ein. Weil der Befehl bei ausgeschaltetem Flash keinen Sinn machen würde.


Befehl FDA (Flash disable)

Das MeGALoDOS kann den Flash Speicher ein- und ausschalten. Der Befehl FDA schaltet den Flash Speicher aus.


Befehl FSB (Flash set Bank)

Der Befehl FSB setzt die aktuelle Flash Bank, also die Bank die gerade sichtbar ist. FSB benötigt einen Parameter, der als Hex Zahl angegeben wird.
Zum Beispiel:

@U3:FSB 1E

In dem Beispiel wird die Flash Bank 1E (dezimal 30) selektiert. In dem 8KB Flash Fenster sieht man nun die Flashspeicher Bank 1E, das entspricht der Adresse $3C000 im Flash Speicher. Aus der MeGALoDOS Doku sehen wir, was in Flash Bank 1E gespeichert ist: LOROM - Super RAM DOS DD


Befehl FRD (Flash read)

Der Befehl liest den Inhalt der aktuellen Flash Bank in die RAM-Bank (Track Buffer). Dem Befehl kann man einen optionalen Parameter mitgeben, der als Hex Zahl angegeben wird. Wenn der Parameter mitgegeben wird, dann wird der Inhalt der angegebenen Flash Bank gelesen.

Zum Beispiel:

@U3:FRD
@U3:FRD 1A

In dem ersten Beispiel wird die aktuelle Flash Bank in die RAM-Bank kopiert. Im zweiten Beispiel wird Flash Bank 1A in die RAM-Bank kopiert. Es wird der gesamte Inhalt der Flash Bank (8KB) kopiert. Ist der Kopiervorgang erfolgreich, dann meldet die Floppy im Fehler Kanal '00,ok,00,00'. Ansonsten kommt die Standard Fehlermeldung: 25,write error,00,00


Befehl FCP (Flash compare)

Der Befehl vergleicht den Inhalt der aktuellen Flash Bank mit der RAM-Bank (Track Buffer). Dem Befehl kann man einen optionalen Parameter mitgeben, der als Hex Zahl angegeben wird. Wenn der Parameter mitgegeben wird, dann setzt er die aktuelle Flash Bank.

Zum Beispiel:

@U3:FCP
@U3:FCP 22

In dem ersten Beispiel wird die aktuelle Flash Bank mit der RAM-Bank verglichen. Im zweiten Beispiel wird Flash Bank 22 mit der RAM-Bank verglichen. Der Vergleich umfasst den gesamten Inhalt der Flash Bank (8KB). Sind der Inhalt von Flash und RAM identisch, dann meldet die Floppy im Fehler Kanal '00,ok,00,00'. Ansonsten kommt die Standard Fehlermeldung: 25,write error,00,00


Befehl FER (Flash erase)

Bitte Vorsicht mit dem Befehl FER!

Die Betriebssoftware (DOS) ist im Flash gespeichert. Wird der Flash Speicher gelöscht, dann läuft die Floppy nicht mehr richtig. Also zumindest der MeGALoDOS Modus, der betroffen ist durch diese Flash Bank.

Dieser Befehl löscht den Inhalt der aktuellen Flash Bank. Dem Befehl kann man einen optionalen Parameter mitgeben, der als Hex Zahl angegeben wird. Wenn der Parameter mitgegeben wird, dann wird die angegebene Flash Bank gelöscht.

Zum Beispiel:

@U3:FER
@U3:FER 22

In dem ersten Beispiel wird die aktuelle Flash Bank gelöscht. Im zweiten Beispiel wird Flash Bank 22 gelöscht. Ein gelöschter Flash Speicher enthält nur noch $FF. Wenn der Löschvorgang erfolgreich ist (gesamter Inhalt der Bank ist $FF), dann meldet die Floppy im Fehler Kanal '00,ok,00,00'. Ansonsten kommt die Standard Fehlermeldung: 25,write error,00,00


Befehl FBT (Flash Blank Test)

Der Befehl prüft, ob die aktuelle Flash Bank leer ist (Blank Test). Dem Befehl kann man einen optionalen Parameter mitgeben, der als Hex Zahl angegeben wird. Wenn der Parameter mitgegeben wird, dann wird der Inhalt der angegebenen Flash Bank geprüft. Der optionale Parameter kann hier auch ein '*' sein, in diesem Fall werden alle 64 Flash Banks geprüft (Blank Test des gesamten Flash).

Zum Beispiel:

@U3:FBT
@U3:FBT 21
@U3:FBT *

In dem ersten Beispiel wird geprüft, ob die aktuelle Flash Bank leer ist (alle Byte sind $FF). Im zweiten Beispiel wird die Flash Bank 21 geprüft, ob sie leer ist. Im dritten Beispiel wird ein Blank Test auf den gesamten Flash Speicher (512KB) durchgeführt. Ist der Flash Speicher leer (alle Bytes sind $FF), dann meldet die Floppy im Fehler Kanal '00,ok,00,00'. Ansonsten kommt die Standard Fehlermeldung: 25,write error,00,00


Befehl FCE (Flash Chip erase)

Bitte Vorsicht mit dem Befehl FCE!

Die Betriebssoftware (DOS) ist im Flash gespeichert. Wird der Flash Speicher gelöscht, dann läuft die Floppy nicht mehr richtig.

Der Befehl FCE löscht den Inhalt des gesamten Flash Speicher!! Dem Befehl muss man einen Pseudo Parameter mitgeben, der als Schutz vor ungewollter Benutzung dient. Der Parameter muss '5A' sein, dann wird der Flash Speicher komplett gelöscht.

Zum Beispiel:

@U3:FCE 5A


Befehl FWR (Flash write)

Der Befehl schreibt den Inhalt der RAM-Bank (8KB) in die aktuelle Flash Bank. Dem Befehl kann man einen optionalen Parameter mitgeben, der als Hex Zahl angegeben wird. Wenn der Parameter mitgegeben wird, dann wird die angegebene Flash Bank beschrieben.

Zum Beispiel:

@U3:FWR
@U3:FWR 1A

In dem ersten Beispiel wird die aktuelle Flash Bank beschrieben. Im zweiten Beispiel wird die Flash Bank 1A beschrieben. Es wird immer die gesamte Flash Bank (8KB) beschrieben. Ist der Schreibvorgang erfolgreich, dann meldet die Floppy im Fehler Kanal '00,ok,00,00'. Ansonsten kommt die Standard Fehlermeldung: 25,write error,00,00

Es wird automatisch vor dem Schreibvorgang ein Flash-Erase ausgeführt. Nach dem Schreibvorgang wird der Inhalt des Flash verglichen mit der RAM-Bank (flash compare). Die beiden Vorgänge können ebenfalls zu einer Fehlermeldung führen.


Befehle die RAM-Bank betreffend


Befehl RBE (RAM Bank enable)

Das MeGALoDOS kann die RAM-Bank (Track Buffer) ein- und ausschalten. Der Befehl RBE schaltet die RAM-Bank ein.

Die meisten Befehle die mit der RAM-Bank zu tun haben, die schalten den Speicher automatisch ein. Weil der Befehl bei ausgeschalteter RAM-Bank keinen Sinn machen würde.


Befehl RBD (RAM Bank disable)

Das MeGALoDOS kann die RAM-Bank (Track Buffer) ein- und ausschalten. Der Befehl RBD schaltet die RAM-Bank aus.


Befehl RBS (RAM Bank set)

Der Befehl setzt die aktuelle RAM-Bank, also die Bank die gerade sichtbar ist. RBS benötigt einen Parameter, der als Hex Zahl angegeben wird.
Zum Beispiel:

@U3:RBS 1E

In dem Beispiel wird die RAM-Bank 1E (dezimal 30) selektiert. In dem 8KB RAM-Bank Fenster sieht man nun die Bank 1E.


Befehl RBF (RAM Bank fill)

Der Befehl füllt alle Speicherzellen der aktuellen RAM-Bank mit einem Füll Byte. Der Befehl RBF benötigt einen Parameter, der als Hex Zahl angegeben wird.
Zum Beispiel:

@U3:RBF A3

In dem Beispiel wird die aktuelle RAM-Bank mit dem Wert $A3 befüllt.


Befehl RBT (RAM Bank Test)

Der Befehl überprüft eine RAM-Bank, ob der RAM in Ordnung ist. Dem Befehl kann man einen optionalen Parameter mitgeben, der als Hex Zahl angegeben wird. Wenn der Parameter mitgegeben wird, dann wird der Inhalt der angegebenen RAM Bank getestet. Der optionale Parameter kann hier auch ein '*' sein, in diesem Fall werden alle 60 RAM Bänke geprüft (Test der gesamten RAM Bank).

Zum Beispiel:

@U3:RBT
@U3:RBT 21
@U3:RBT *

In dem ersten Beispiel wird die aktuelle RAM-Bank getestet. Im zweiten Beispiel wird die RAM-Bank 21 getestet. Im dritten Beispiel wird der gesamte RAM Bank Speicher (512KB) getestet. Ist der RAM in Ordnung, dann meldet die Floppy im Fehler Kanal '00,ok,00,00'. Ansonsten kommt die Standard Fehlermeldung: 25,write error,00,00


Befehl RLD (RAM Bank Load)

Der Befehl ladet eine Datei von Diskette in die aktuelle RAM-Bank. Es werden maximal 8KB der Datei geladen. Ist die Datei kürzer als 8KB, dann werden nur die verfügbaren Bytes geladen. Der Befehl RLD benötigt einen Parameter, der als Dateiname angegeben wird. Wenn auf der Diskette keine Datei mit dem angegebenen Namen existiert, dann kommt die Fehlermeldung '39,file not found,00,00'

Zum Beispiel:

@U3:RLD BLOCK1

In dem Beispiel wird die Datei "BLOCK1" (PRG) in die aktuelle RAM-Bank geladen.


Befehle die RAM-Disk betreffend


Befehl RDE (RAM Disk enable)

Das MeGALoDOS kann die beiden RAM-Disks ein- und ausschalten. Der Befehl RDE schaltet beide RAM-Disks ein.

Die meisten Befehle die mit der RAM-Disks zu tun haben, die schalten diese automatisch ein. Weil der Befehl bei ausgeschalteter RAM-Disk keinen Sinn machen würde.


Befehl RDD (RAM Disk disable)

Das MeGALoDOS kann die beiden RAM-Disks ein- und ausschalten. Der Befehl RDD schaltet beide RAM-Disks aus.


Befehl RDS (RAM Disk Setbank)

Das MeGALoDOS hat zwei RAM Disk zu je 256KB. Damit kann man zwei ganze Disketten (oder zwei Disketten Seiten) im Speicher halten. Im Adressraum der Floppy belegt jede RAM-Disk gerade mal 1KB (beide RAM-Disks belegen 2KB). Die RAM-Disk hat 256 Bänke, gerade soviel wie ein Daten Block auf der Diskette braucht. Jede RAM-Disk hat Platz für 1024 solcher Daten Blöcke. Eine Diskette in der 1541 hat normalerweise nur 660 Blöcke. Für die genaue Doku zur RAM Disk siehe TurboTrans Manual.

Der Befehl setzt die aktuelle Bank der beiden RAM-Disk, also die Bank die gerade sichtbar ist. RBS benötigt einen Parameter, der als Hex Zahl angegeben wird.

Zum Beispiel:

@U3:RDS E1

In dem Beispiel wird die RAM-Disk Bank E1 selektiert. In dem 2KB RAM Disk Fenster sieht man nun die Bank E1, was dem Byte 225 in jedem Daten Block enspricht.


Befehl RDT (RAM Disk Test)

Der Befehl testet die RAM-Disks. Dem Befehl kann man einen optionalen Parameter mitgeben, der als Hex Zahl angegeben wird. Wenn der Parameter mitgegeben wird, dann werden nur die gewählten Tests durchgeführt. Wird der Befehl ohne Parameter aufgerufen, dann werden alles Tests durchgeführt.

Optionen:

Bit 0 --- Test der RAM-Disk 1
Bit 1 --- Test der RAM-Disk 2
Bit 2 --- einfacher RAM Test RAM-Disk 1
Bit 3 --- einfacher RAM Test RAM-Disk 2
Bit 4 --- RAM-Disk Banking Test

Es kann jede Kombination der Tests durchgeführt werden, indem die richtigen Bits im Parameter Byte gesetzt werden.


Zum Beispiel:

@U3:RDT 02
@U3:RDT 10
@U3:RDT

In dem ersten Beispiel wird die RAM-Disk 2 getestet. Im zweiten Beispiel wird nur der Banking Testdurchgeführt. Im dritten Beispiel werden beide RAM-Disks getestet, genauer gesagt werden alle Tests durchgeführt.

Ist die RAM-Disk in Ordnung, dann meldet die Floppy im Fehler Kanal '00,OK,00,00'.
Bei Problemen mit dem Banking kommt '50,RECORD NOT PRESENT,00,00'.
Ansonsten kommt die Standard Fehlermeldung '25,WRITE ERROR,00,00'.


Hardware Test Befehle

Das MeGALoDOS besteht aus RAM, Flash, CPLD und einem ATmega. An sich keine große Sache auf den ersten Blick. Der Clou ist die raffinierte Logik in dem CPLD Baustein. Erst diese Logik macht dieses Board zu einem kleinen Wunderwerk. Es macht die Speicherbausteine sichtbar im Adressraum der CPU, es emuliert zahlreiche verschiedene Speeder Hardware, es ermöglicht blitzschnelle GCR Dekodierung und zwei RAM Disks.

Folgende Befehle dienen dazu, die CPLD Logik im MeGALoDOS zu testen bzw. die Funktion zu überprüfen.


Befehl TRA (Test RAM available)

Dieser Befehl überprüft, ob an der angegebenen Adresse RAM existiert und ob dieser richtig funktioniert. Es wird jedes Byte im angegebenen Adressraum überprüft, wobei jedes Bit gesetzt und gelöscht wird. Der Befehl zerstört den Inhalt des RAM nicht (non destructive). Dadurch kann man auch sensible Bereiche testen, wie ZP und Stack, ohne dass der Betrieb des DOS gestört wird. Allerdings kann man den RAM in dem sich FMON befindet NICHT testen. Der FMON überprüft dies und meldet beim Versuch: 31,syntax error,00,00

Der Befehl benötigt einen Parameter, der als Hex Zahl angegeben wird. Der Parameter bestimmt den RAM Bereich (Adresse, Länge) der überprüft werden soll.


Mögliche RAM Bereiche

00 ... testet 2KB ($0000-$07FF)
08 ... testet 2KB ($0800-$0FFF) --- MeGALoDOS Zusatz RAM
28 ... testet 2KB ($2800-$2FFF) --- RAM-Disk 1 und 2
30 ... testet 4KB ($3000-$3FFF) --- MeGALoDOS Zusatz RAM
40 ... testet 8KB ($4000-$5FFF) --- Super-RAM DD : RAM-Bank
60 ... testet 8KB ($6000-$7FFF) --- normal kein RAM
80 ... testet 8KB ($8000-$9FFF) --- Super-RAM PD : RAM-Bank
A0 ... testet 8KB ($A000-$BFFF) --- normal kein RAM


Befehl TRW (Test RAM Write)

Dieser Befehl schreibt ein Daten Muster (Pattern) an der angegebenen Adresse im RAM. Es wird jedes Byte im angegebenen Adressraum beschrieben. Der Befehl zerstört den Inhalt des RAM (destructive). Dadurch kann man diesen Befehl in sensible Bereiche nicht benutzen, zB. im DOS Bereich wie ZP und Stack. Der Befehl kann auch nicht in dem RAM Bereich benutzt werden, in dem sich FMON befindet. Der FMON überprüft dies und meldet beim Versuch: 31,syntax error,00,00

Das Daten Muster wird nur geschrieben und nicht überprüft.

Der Befehl benötigt einen Parameter, der als Hex Zahl angegeben wird. Der Parameter bestimmt den RAM Bereich (Adresse, Länge) der überprüft werden soll.


Befehl TRV (Test RAM Verify)

Dieser Befehl überprüft, ob sich ein bestimmtes Daten Muster (Pattern) an der angegebenen Adresse im RAM befindet. Es wird jedes Byte im angegebenen Adressraum überprüft. Das Daten Muster wird nicht geschrieben sondern nur überprüft. Wenn das Daten Muster richtig gelesen wird, meldet die Floppy dies im Fehlerkanal mit 00,ok,00,00. Im Fehlerfall kommt die Standard Fehlermeldung: 25,write error,00,00

Der Befehl benötigt einen Parameter, der als Hex Zahl angegeben wird. Der Parameter bestimmt den RAM Bereich (Adresse, Länge) der überprüft werden soll.


Befehl TRP (Test RAM pattern)

Dieser Befehl schreibt und prüft ein Daten Muster (Pattern) an der angegebenen Adresse im RAM. Es wird jedes Byte im angegebenen Adressraum beschrieben. Der Befehl zerstört den Inhalt des RAM (destructive). Dadurch kann man diesen Befehl in sensible Bereiche nicht benutzen, zB. im DOS Bereich wie ZP und Stack. Der Befehl kann auch nicht in dem RAM Bereich benutzt werden, in dem sich FMON befindet. Der FMON überprüft dies und meldet beim Versuch: 31,syntax error,00,00

Das Daten Muster wird zuerst vollständig geschrieben und danach überprüft. Wenn das Daten Muster richtig gelesen wird, meldet die Floppy dies im Fehlerkanal mit 00,ok,00,00. Im Fehlerfall kommt die Standard Fehlermeldung: 25,write error,00,00

Der Befehl benötigt einen Parameter, der als Hex Zahl angegeben wird. Der Parameter bestimmt den RAM Bereich (Adresse, Länge) der überprüft werden soll.


Befehl TGP (Test GCR-decoding Prof-DOS)

Das Professional DOS bietet eine Hardware unterstützte GCR Dekodierung. Diese Funktion macht das PD so schnell, und es wird vom MeGALoDOS unterstützt in den Modi, die für Professional DOS vorgesehen sind (Prof. DOS und Super-RAM PD).

Der Befehl TGP überprüft die Hardware für die GCR Dekodierung. Ist diese Hardware okay, dann meldet die Floppy im Fehler Kanal '00,ok,00,00'. Ansonsten kommt die Standard Fehlermeldung: 25,write error,00,00


Befehl TGM (Test GCR-Decoder MeGALoDOS)

Das MeGALoDOS bietet einen vollwertigen GCR Dekoder. Diese Funktion ist einzigartig in einem 1541 Floppy Laufwerk. So eine Funktion bieten sonst nur die professionellen Floppy Laufwerke von Commodore (4040, 8050, 8250, SFD-1001).

Der Befehl TGM überprüft die GCR-Dekoder Hardware des MeGALoDOS. Ist diese Hardware aktiv und okay, dann meldet die Floppy im Fehler Kanal '00,ok,00,00'. Ansonsten kommt die Standard Fehlermeldung: 25,write error,00,00


Befehl TDD (Test Super-RAM DD)

Das MeGALoDOS bietet einen neuen Modus mit spezieller Speicher Konfiguration: Super-RAM DD

Dieser Befehl testet den 512KB großen Track Buffer (RAM-Bank) des Super-RAM DD im MeGALoDOS. Ist der Track Buffer aktiv und okay, dann meldet die Floppy im Fehler Kanal '00,ok,00,00'. Ansonsten kommt die Standard Fehlermeldung: 25,write error,00,00

Es kann ein optionaler Parameter (2) angegeben werden. Dieser Parameter schaltet für die Dauer des Test in den 2 MHz Modus der CPU.


Zum Beispiel:

@U3:TDD
@U3:TDD 02

In dem ersten Beispiel wird der Track Buffer des Super-RAM DD getestet. Im zweiten der Track Buffer im 2 MHz Modus getestet. Ist der Test erfolgreich, dann meldet die Floppy im Fehler Kanal '00,ok,00,00'. Ansonsten kommt die Standard Fehlermeldung: 25,write error,00,00


Befehl TPD (Test Super-RAM PD)

Das MeGALoDOS bietet einen neuen Modus mit spezieller Speicher Konfiguration: Super-RAM PD

Dieser Befehl testet den 512KB großen Track Buffer (RAM-Bank) des Super-RAM PD im MeGALoDOS. Ist der Track Buffer aktiv und okay, dann meldet die Floppy im Fehler Kanal '00,ok,00,00'. Ansonsten kommt die Standard Fehlermeldung: 25,write error,00,00

Es kann ein optionaler Parameter (2) angegeben werden. Dieser Parameter schaltet für die Dauer des Test in den 2 MHz Modus der CPU.


Zum Beispiel:

@U3:TDD
@U3:TDD 02

In dem ersten Beispiel wird der Track Buffer des Super-RAM DP getestet. Im zweiten der Track Buffer im 2 MHz Modus getestet. Ist der Test erfolgreich, dann meldet die Floppy im Fehler Kanal '00,ok,00,00'. Ansonsten kommt die Standard Fehlermeldung: 25,write error,00,00


Dateien