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/04/10 07:58] volkerpz9001:cpm:raf2008 [2021/02/18 08:50] (aktuell) – [Downloads] volkerp
Zeile 3: Zeile 3:
 **Die 2MB/4MB-RAM-Floppy RAF2008** **Die 2MB/4MB-RAM-Floppy RAF2008**
  
-In der DDR gab es verschiedene RAM-Floppys als Alternative zu schwer beschaffbaren "richtigen" Floppylaufwerken. An meinem Z1013 habe ich z.B. 2 NANOS-RAM-Floppys a 256 KByte angeschlossen. Auch von der Akademie der Wissenschaften gab es eine RAM-Floppy für K1520-Systeme, die sich durch modularen Ausbau, nachladbare Treiber u.a. hervorhob und so eine recht große Verbreitung fand (s.  {{http://www.robotrontechnik.de/html/eigenbau/raf2008.htm|www.robotrontechnik.de}})+In der DDR gab es verschiedene RAM-Floppys; auch als Alternative zu schwer beschaffbaren "richtigen" Floppylaufwerken. An meinem Z1013 habe ich z.B. 2 NANOS-RAM-Floppys a 256 KByte angeschlossen. Auch von der Akademie der Wissenschaften gab es eine RAM-Floppy für K1520-Systeme, die sich durch modularen Ausbau, nachladbare Treiber u.a. hervorhob und so eine recht große Verbreitung fand (s.  {{http://www.robotrontechnik.de/html/eigenbau/raf2008.htm|www.robotrontechnik.de}})
  
 Vorgestellt wurde die RAM-Floppy in der rfe 4/1987, S. 268. Vorgestellt wurde die RAM-Floppy in der rfe 4/1987, S. 268.
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 47: Zeile 48:
   prl2com treiber.prl   prl2com treiber.prl
  
 +===== Ansteuerung =====
 +
 +
 +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_D = RAF-Data-I/O Port zum Schreiben/Lesen von max. 128 zusammenhängenden Bytes mit einem INIR-/OTIR-Befehl mit einem 7-bit Byte-Index "LoAdr" auf dem A-bus 8...14 (B-Reg)
 +
 +<WRAP clear></WRAP>
 +
 +<code>
 +               :-----  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:
 +               :                                     :                    :
 +    15 14 13 12:11 10  9  8    7  6  5  4  3  2  1  0:                    :
 +   +--+--+--+--+--+--+--+--+ +--+--+--+--+--+--+--+--+                    :
 +         B-Register      ! !       r-Register      !                    :
 +   +--+--+--+--+--+--+--+--+_+--+--+--+--+--+--+--+--+                    :
 +     ! !!!!!  !    _________!_________              7: 6  5  4  3  2  1  0:
 +     ! für    !    ! OUT(C),r-Befehl !            +--+--+--+--+--+--+--+--+ 
 +     ! >512k  !    !__auf_Ctrl-Adr___!            !//:  B-Reg (INIR/OTIR) ! 
 +            !                                   +--+--+--+--+--+--+--+--+ 
 +            AOV                                   __________!__________
 +            Adressüberlauf-Bit (RAF 512)          ! oberer Adr.bus in !
 +                  (Bit 10 bei RAF 128)            ! INIR-/OTIR-Befehl !
 +     PROT                                           !______(7_bit)______!
 +     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)!
  
  • z9001/cpm/raf2008.1334044681.txt.gz
  • Zuletzt geändert: 2012/04/10 07:58
  • von volkerp