Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
z9001:cpm:raf2008 [2012/06/17 12:06] volkerpz9001:cpm:raf2008 [2021/02/18 08:50] (aktuell) – [Downloads] volkerp
Zeile 15: Zeile 15:
 ===== Unterlagen ===== ===== Unterlagen =====
  
-Auf http://www.robotrontechnik.de/html/eigenbau/raf2008.htm gibt es die Geschichte, Treiber und die Unterlagen des Entwicklers zur RAF2008. Bei U. Zander liegen aufbereitete Stromluafpläne u.v.a.m.: http://www.sax.de/~zander/z9001/module/raf.html.+Auf http://www.robotrontechnik.de/html/eigenbau/raf2008.htm gibt es die Geschichte, Treiber und die Unterlagen des Entwicklers zur RAF2008. Bei U. Zander liegen aufbereitete Stromlaufpläne u.v.a.m.: http://www.sax.de/~zander/z9001/module/raf.html.
  
 ===== Downloads ===== ===== Downloads =====
  
-  * {{:cpm:prl2com.zip|}} Binary und Quellcode zu Standard-Treiber und zum Treiber mit Parität+  * {{:cpm:prl2com.zip|}} Binary und Quellcode zu Standard-Treiber und zum Treiber mit Parität, 2021 Version für BIC ergänzt 
 +  * die kompletten orig. Treiber gibt's bei robotrontechnik (s.o.)
  
 Wie immer gibt es im Downloadpaket die kompletten Quelltexte und weitere Informationen. Wie immer gibt es im Downloadpaket die kompletten Quelltexte und weitere Informationen.
Zeile 39: Zeile 40:
 Die nachladbaren Treiber schreiben sich ans obere RAM-Ende TPA und verringern so dauerhaft den für Programme zur Verfügung stehenden Speicher. Erst mit einem Kaltstart (Reset) ist der Treiber wieder entladen! Die nachladbaren Treiber schreiben sich ans obere RAM-Ende TPA und verringern so dauerhaft den für Programme zur Verfügung stehenden Speicher. Erst mit einem Kaltstart (Reset) ist der Treiber wieder entladen!
  
-Wem die beiden Treiber nicht reichen, der kann sich weitere Treibervarianten kompilieren. Ich habe die Programme reassembliert und neue Assemblerquellen geschrieben. Beim Treiber kommt das PRL-Format [[cpm:rsm|]] zum Einsatz, um den Treiber ans aktuelle TPA-Ende zu schieben. Beim Kompilieren eigener Treibervarianten muss dieses Format erzeugt und um einen Loader ergänzt werden.+Wem die beiden Treiber nicht reichen, der kann sich weitere Treibervarianten kompilieren. Ich habe die Programme reassembliert und neue Assemblerquellen geschrieben. Beim Treiber kommt das PRL-Format (-> [[cpm:rsm|]]zum Einsatz, um den Treiber ans aktuelle TPA-Ende zu schieben. Beim Kompilieren eigener Treibervarianten muss dieses Format erzeugt und um einen Loader ergänzt werden.
  
 Der eigentliche Treiber wird mit dem M80-Assembler und CSEG (ohne ORG-Adresse!) assembliert. Der Digital Research- Linker LINK131.COM erzeugt daraus beim Aufruf mit dem Parameter //op// eine PRL-Datei; diese umfasst den Treiber (auf Adresse 100h gelinkt) und die Verschiebe-Informationen. Mit meinem Patcher PRL2COM wird in diese PRL-Datei der Loader gepatcht und der Dateityp in COM geändert, so entsteht die gewünschte residente Systemerweiterung. Der eigentliche Treiber wird mit dem M80-Assembler und CSEG (ohne ORG-Adresse!) assembliert. Der Digital Research- Linker LINK131.COM erzeugt daraus beim Aufruf mit dem Parameter //op// eine PRL-Datei; diese umfasst den Treiber (auf Adresse 100h gelinkt) und die Verschiebe-Informationen. Mit meinem Patcher PRL2COM wird in diese PRL-Datei der Loader gepatcht und der Dateityp in COM geändert, so entsteht die gewünschte residente Systemerweiterung.
Zeile 50: Zeile 51:
  
  
-Die zur Ansteuerung nötige Adresse wird ähnlich wie bei der RAM-Disk nach mp 3/88 gebildet:+Die zur Ansteuerung nötige Adresse wird ähnlich, aber nicht genauso, wie bei der [[z1013:module:raf#k|RAM-Disk nach mp 3/88]] gebildet:
  
   * Raf_C = RAF-Control Port  zum Laden der Track- & Sector-Adresse "HiAdr" via  D-bus 0...7 und A-bus 8...14 (B-Reg).   * Raf_C = RAF-Control Port  zum Laden der Track- & Sector-Adresse "HiAdr" via  D-bus 0...7 und A-bus 8...14 (B-Reg).
Zeile 57: Zeile 58:
 <WRAP clear></WRAP> <WRAP clear></WRAP>
  
 +<code>
                :-----  Vollständige 19 bit RAM-Adresse (1 RAF 512)  ------:                :-----  Vollständige 19 bit RAM-Adresse (1 RAF 512)  ------:
     22 21 20 19:18 17 16 15   14 13 12 11 10  9  8  7: 6  5  4  3  2  1  0:     22 21 20 19:18 17 16 15   14 13 12 11 10  9  8  7: 6  5  4  3  2  1  0:
Zeile 73: Zeile 75:
      PROT                                           !______(7_bit)______!      PROT                                           !______(7_bit)______!
      Zugriffsschutz-Bit (1=geschützt)       Zugriffsschutz-Bit (1=geschützt) 
 +</code>
  
 Die In-Sektor-Adressen (LoAdr 6...0) entsprechen dem B-Register bei OTIR/INIR, so daß die Bytes innerhalb eines Sectors in fallender Reihenfolge gespeichert werden (B beginnt mit 128 bzw. 127)! Die In-Sektor-Adressen (LoAdr 6...0) entsprechen dem B-Register bei OTIR/INIR, so daß die Bytes innerhalb eines Sectors in fallender Reihenfolge gespeichert werden (B beginnt mit 128 bzw. 127)!
  
  • z9001/cpm/raf2008.1339934808.txt.gz
  • Zuletzt geändert: 2012/06/17 12:06
  • von volkerp