SD-Kartenleser für EuroPC

  • Hallo Zusammen,


    da der Amstrad NC100 sich ja anhaltender Unbeliebtheit erfreut, habe ich die Tage mal meinen eigentlich für den NC100 entwickelten Parallelport-SD-Kartenleser genommen und angefangen, diesen an den etwas eigenwilligen EuroPC anzupassen und dafür einen DOS-Treiber zu schreiben. Erste Ergebnisse könnt ihr euch unten in den Bildern ansehen. Bis jetzt arbeitet der Treiber nur im Lesezugriff und auch mit einer Beschränkung auf 32MB Partitionsgröße - aber daran arbeite ich noch.


    An die Geschwindigkeit eines SCSI-Drives mit passendem Controller im ISA-Slot kommt so ein Parallelport-Leser natürlich nicht ran. Zudem der Parallelport des EuroPC ja auch den ganzen Schnickschnack mit ECP oder EPP gar nicht beherrscht. Der Treiber ist noch eine ganz frühe Beta und ich habe auch noch keine Messungen gemacht, aber geschätzt ist das Gerät ähnlich schnell wie die Floppy. Bei den Datenmengen, die man üblicherweise an einer Maschine mit 512K RAM so hin- und herbewegt, dürfte das auch nicht so tragisch sein. Vielleicht wird das Ganze ja trotzdem eine interessante Alternative zur schwer zu findenden, lauten und inzwischen auch unzuverlässigen Schneider HD20.

    Nilquader of SPRING

  • Das sieht ja klasse aus!!


    xesrjb

    "Der Wein mit der Pille ist im Becher mit dem Fächer. Im Pokal mit dem Portal ist der Wein gut und fein

  • Coole Sache find ich das! Das is ideal für alte PCs wo Festplatten immer seltener werden! Gibts die Hardware irgendwann mal zu kaufen? Das wäre der Hammer - mal eben schnell von einem PC zum anderen Daten schieben. :) Is selbst beim 486 mit CD-LW teilweise schwierig wenn sich die Datenmenge in dem Bereich bewegt, das es mehrere Disks sind, aber für eine CD zu wenig. So mal eben das Teil anklemmen, fertig. Und noch was... der Treiber...gibts da einen Sourcecode für? Wenn die HW mal fertig ist / verkauft wird, würd ich den - mit deiner Erlaubnis - gerne an BDOS/286 anpassen. Und lass dir nix einreden wegen alter PC und so - der PC bietet sehr gute Möglichkeiten. Gerade was das Programmieren angeht. Es ist quasi ein großer CPC mit vielen Features, für die man im 8-Bit-Bereich - wenn überhaupt erhältlich - extrem viel kohle hinblättern musss und dann am Ende trotzdem nix vernünftiges machen kann :)

  • Zitat von "TFM"


    ABER ich wusste ja gar nicht, dass Du soetwas für den NC100 entwickelt hast! Das ist ja SUPER GENIAL!!! Schreib doch darüber mehr oder poste einen Link auf den Thread, falls ich den übersehen habe. Ausserdem wär es super darüber mal was im CPCWiki (auch im Forum) zu schreiben. Für NC Nutzer ist es ja quasi das NC-Symbiface II :D:D:D


    Die Hardware ist für NC100 und PC die gleiche, wird eben an den Parallelport des Rechners angeschlossen. Einen Thread dazu gibt's nicht, einfach weil ich das Interesse an dieser Maschine (zumindest hier im Forum) als zu gering einschätze. Am NC100 wird das Gerät auch nicht ins Dateisystem eingebunden, das NC ist viel zu sehr darauf ausgelegt, nur auf RAM-Disks zu arbeiten. Aber du kannst, ähnlich wie bei der Floppy vom NC200 die Dateien zwischen RAM und FAT16-formatierter SD-Karte hin- und herkopieren. Oder gleich ganze Speicherkarten-Images sichern oder wiederherstellen.


    Zitat von "Bruegge"

    Coole Sache find ich das! Das is ideal für alte PCs wo Festplatten immer seltener werden! Gibts die Hardware irgendwann mal zu kaufen? Das wäre der Hammer - mal eben schnell von einem PC zum anderen Daten schieben. :)


    Kaufen? Mal sehen - wenn das Interesse groß genug ist, mache ich noch ein paar davon. Ich hab im Moment Material für etwa 10 Exemplare des Vorserienmodells. Wenn man davon wirklich noch ein paar mehr machen sollte, sind noch ein paar kleine Hardware-Änderungen erforderlich. Auch die Stromversorgung muss man bei jedem Rechner anders lösen. Beim EuroPC hole ich den Strom aus dem Joystickport, beim NC100 von der Batterie und bei anderen PCs könnte man vielleicht den USB- oder PS2-Port anzapfen. Für gute Ideen bin ich da auch immer offen...


    SCHNELL ist das Ding leider wirklich nicht. Es bleibt ein Parallelportgerät mit einfachem und günstigen Hardwareaufbau, was auch noch an Unidirektionalen Parallelports funktionieren soll. Wie gesagt - orientiere dich eher an der Geschwindigkeit einer Floppy als an der einer Festplatte.


    Zitat von "Bruegge"

    Is selbst beim 486 mit CD-LW teilweise schwierig wenn sich die Datenmenge in dem Bereich bewegt, das es mehrere Disks sind, aber für eine CD zu wenig. So mal eben das Teil anklemmen, fertig.


    Hier könnte man natürlich auch gleich IDE-zu-SD-Adapter einsetzen. Die sind natürlich schneller, haben aber den Nachteil, dass man die Karte im Betrieb nicht herausnehmen kann. Oder USB-Sticks und einen passenden DOS/Win3.1-Treiber.


    Zitat von "Bruegge"

    Und noch was... der Treiber...gibts da einen Sourcecode für? Wenn die HW mal fertig ist / verkauft wird, würd ich den - mit deiner Erlaubnis - gerne an BDOS/286 anpassen. Und lass dir nix einreden wegen alter PC und so - der PC bietet sehr gute Möglichkeiten. Gerade was das Programmieren angeht. Es ist quasi ein großer CPC mit vielen Features, für die man im 8-Bit-Bereich - wenn überhaupt erhältlich - extrem viel kohle hinblättern musss und dann am Ende trotzdem nix vernünftiges machen kann :)


    Der Treiber ist in 8086-Assembler geschrieben, allerdings noch ziemlich unfertig, wie ich oben bereits geschrieben habe. Für Betriebssystem-Entwickler kann ich sicherlich die nötigen Low-Level Routinen (Initialisieren, Sektor lesen, Sektor schreiben) und ggf. Hardware zur Verfügung stellen, sobald Hard- und Software eine gewisse Stabilität erreicht haben.

    Nilquader of SPRING

  • Die Geschwindgkeit ist nicht so das ausschlaggebende. Wir reden ja auch nicht von hunderten MBs die da hin- und hergeschaufelt werden :) Genau das macht die Erweiterung interessant, man kann die Karte im Betrieb einstecken - und wenn ich dran denke das viele alte PCs keinen Auto-Detect für IDE-Geräte haben, spart man da viel Aufwand. Außerdem hat man den Vorteil, das man das Gerät zu einer vorhandenen HD betreiben kann. Mein 486er z. B. mag nur ein IDE-Gerät plus CD-ROM. Das BIOS würde es garnicht erlauben, eine zweite Platte/Karte anzustecken.


    Da ich ebenfalls ausschließlich in Assembler programmiere würde ich mich natürlich über die Anpassung stürzen :) Ich bin mal gespannt was dadraus wird - wenn du irgendwie Hilfe brauchst, melde dich.

  • Kleines Update: Schreibzugriffe und 32-Bit-Sektoradressierung sind jetzt ebenfalls implementiert. Damit können nun SD-Karten bis 2GB angesprochen werden. Wechseln während des Betriebs geht übrigens (zumindest unter DOS) noch nicht. Kommt aber, sobald ich mich durch Microsofts Wechseldatenträger-Spezifikationen gewühlt habe. Und auch nur, wenn das den Treiber nicht nennenswert aufbläht...

    Nilquader of SPRING

  • Der DOS-Treiber läuft inzwischen recht stabil. Ich habe in meinen letzten Tests (Herumkopieren, Defragmentieren, Löschen etc.) keine Fehler mehr gefunden.


    Was jetzt noch fehlt wäre Wechseldatenträger-Support (Derzeit muss die Karte bereits beim Booten im Leser stecken) und etwas höhere Kompatibilität (Im Moment wird zwar schon ein großer Teil der SD-Karten erkannt, aber halt nicht alle). Das sind aber alles Software-Eigenschaften - die Hardware ist ja soweit fertig. Viel wird aber wahrscheinlich auch auf Software-Seite in den nächsten Wochen nicht passieren, da ich mit anderen Dingen (Studium) zu beschäftigt sein werde. (Außerdem haben sich schon CPC-User darüber beschwert, daß ich doch mal an der Z80-Version des Treibers weiterarbeiten soll... :mrgreen: )


    Wenn du deinen BDOS/286-Treiber schreiben möchtest, meld dich am besten mal per PN - dann kann ich dir gerne (gegen Materialkosten) einen Kartenleser zukommen lassen.

    Nilquader of SPRING

  • Habe dir bereits eine PN geschrieben :)


    Das hört sich prima an. Nachdem BDOS/286 ja wieder kräftig geupdated (auch das erste Spielchen ist fertig geworden) wurde und ich seit tagen damit beschäftigt bin, alle neuerungen zu testen, könnte ich mich dann ja drüber machen, und einen passenden FAT-Treiber schreiben :)


    Kommt besonders "pünktlich" weil mein Floppy-Laufwerk im Dell-Rechner die Grätsche gemacht hat. Die Geschwindigkeit ist dabei nicht so wichtig - floppy-Speed reicht mir. Hauptsache ich kann weiterhin Daten hin- und herschieben (und wenn dann mehr als 1.44 MB draufpassen, noch besser).

  • Zitat von "Ludwig63"

    Geht es auch mit dem CPC oder


    Die Hardware funktioniert auch am CPC - also am Plus. Am klassischen CPC braucht man einen Adapter für den Druckerport (kann man sehr einfach selbst bauen - Anleitung dazu habe ich ins Cpcwiki gestellt)


    Problematisch ist eher die Software. Da fehlt es noch an einem passenden DOS, das die SD-Karte ansprechen kann. So schwer wird das auch wahrscheinlich nicht sein, da man ziemlich viel vom Code für den NC100 übernehmen kann. Aber Arbeit muss man halt trotzdem noch reinstecken. Und ich müsste mal die nötige Motivation aufbringen... Daher wird das wohl noch eine Weile dauern, bis das am CPC vollständig nutzbar ist.

    Nilquader of SPRING

  • leider hab keinen Monitor und kein Netzteil mehr...sonst hätt ich gesagt, ich pass BDOS (also die CPC-Version) an... :)
    Du könntest mir bei der gelegenheit mal eine Bankdaten geben, damit ich dir schonmal überweisen kann.

  • Ich bin derzeit leider ziemlich ausgelastet - Studieren ist ganz schön zeitaufwändig. Ich denke, dass das nochmal 1-2 Wochen dauern wird, bis ich die Reader zusammengelötet habe. Wird aber auf jeden Fall vor Weihnachten klappen - für den Fall, dass 8bittiges unterm Weihnachtsbaum liegen soll :mrgreen:


    Die Funktionen zum Lesen und Schreiben von Sektoren hab ich auf der Xzentrix auf den CPC portiert. Ist also eigentlich gar nicht mehr so viel Arbeit, ein DOS anzupassen, wenn man nicht unbedingt auch FAT lesen/schreiben will. Allerdings muss ich die nochmal überarbeiten, denn für die PC-Version hab ich deutlich kompatiblere Routinen geschrieben, die mit mehr Kartenherstellern funktionieren. Vielleicht ist das ja ein nettes Projekt fürs Mittwintermeeting im Januar...

    Nilquader of SPRING

  • Noch ein kleines Update:


    Ich verwende den Treiber jetzt sowohl am EuroPC und auf einem Pentium-Rechner und hatte bisher keine Abstürze oder Datenverlust. Die Stabilität sollte also inzwischen recht gut sein. Als kleines neues Feature habe ich eine Zugriffskontrolle über die CAPS-LOCK LED eingebaut. Bei Datenträgern, wo man den Zugriff nicht mehr hören kann, möchte man halt doch gerne wissen, ob gerade noch irgendwas passiert. Diese Funktion gibt's natürlich nur auf AT-Rechnern, der EuroPC und andere XTs bleiben außen vor. Die nächste Hardwareversion bekommt aber ganz bestimmt eine echte Laufwerks-LED!


    Der aktuelle Treiber kann auf meiner Webseite heruntergeladen werden.

    Nilquader of SPRING

  • Danke nochmals - auch bei mir gibt es bisher keine Probleme mit dem Gerätchen. Lediglich diese Mini-Gender-Changer haben etwas Probleme bereitet bzw. bereiten es noch. Die sitzen ein weng "straff" so das der Leser gerne mal einfach abfällt vom Druckerport. Fester rein gehen die aber auch nicht. Aber ansonsten - guter Treiber. Läuft bei mir hauptsächlich unter MS-DOS 6.22 und Win 3.x sowie unter Win98.


    Ach ja, wo im Inc-File ist denn der Init-String für die KArte bzw. die Bytes? Die fehlen mir noch - dann kann ich mich auf die BDOS-Version stürzen :)

  • Ja, die Gender-Changer fallen in der nächsten Hardwareversion weg. Ich könnte versuchen, mich damit rauszureden, dass ich ursprünglich dort ein Kabel eingeplant habe, aber eigentlich hatte ich einmal einen schwachen Moment beim Layouten und setzte versehentlich einen weiblichen Stecker statt eines männlichen in den Schaltplan....


    Bis dahin hilft: GC umdrehen und ggf. mit dem Druckerport verschrauben. Wenn du die Kunststoffgehäuse verwenden solltest, kannst du ja sogar alles miteinander verschrauben.


    Die Befehlssequenzen gehören natürlich definitiv mit zum SDK. Kommt mit der nächsten Version und hier vorab, damit du loscoden kannst:

    Code
    ; SD-Karten Befehlssequenzen
    CRESET  db 0FFH, 040H, 000H, 000H, 000H, 000H, 095H ; CMD0
    CINIT   db 0FFH, 041H, 000H, 000H, 000H, 000H, 001H ; CMD1
    CSTATUS db 0FFH, 04DH, 000H, 000H, 000H, 000H, 0FFH ; CMD13


    Ich werde jetzt erstmal Wechseldatenträger-Unterstützung einbauen und dann mal an der neuen Hardware schrauben. Ideen für Hard- und Software sind natürlich immer erwünscht...

    Nilquader of SPRING

  • Vielen Dank :)


    Der Vorteil unter Windows ist natürlich, das man sieht wie weit eine Datei bereits gelesen/geschrieben wurde. Unter MS-DOS ist das etwas ungünstig gelöst - da sieht man nie, wo der Rechner gerade ist. Ideen hätte ich ansonten eigentlich keine - außer mehr Speed durch Nutzung des Bi-Direktionalen Druckerports und aller 8 Datenleitungen :) So ein Druckerport ist ja nicht selten - selbst mein IBM 286er PS/2 hatte so einen schon verbaut. Natürlich wäre ich bei so einer Version sofort wieder am Start und würde mir wieder welche davon gönnen :)


    Bleibt mir nur noch zu sagen: Durch deine Hardware habe ich mir bereits jetzt eine Menge Zeit erspart - statt Nullmodemkabel geht das Backup von meiner alten DOSe jetzt wesentlich bequemer per Speicherkarte :)

  • Zitat von "Bruegge"


    Der Vorteil unter Windows ist natürlich, das man sieht wie weit eine Datei bereits gelesen/geschrieben wurde. Unter MS-DOS ist das etwas ungünstig gelöst - da sieht man nie, wo der Rechner gerade ist.


    Du könntest ein Tool wie Norton Commander verwenden. Das zeigt dir auch bei Kopieroperationen unter DOS den Fortschritt an.


    Zitat von "Bruegge"


    Ideen hätte ich ansonten eigentlich keine - außer mehr Speed durch Nutzung des Bi-Direktionalen Druckerports und aller 8 Datenleitungen :) So ein Druckerport ist ja nicht selten - selbst mein IBM 286er PS/2 hatte so einen schon verbaut. Natürlich wäre ich bei so einer Version sofort wieder am Start und würde mir wieder welche davon gönnen :)


    Daran habe ich auch schon gedacht. Doch macht das die Hardware ein Stück komplizierter, da man nun das serielle Signal der SD-Karte im Adapter parallel-wandeln müsste. Und man braucht natürlich immer noch als Fallback den seriellen Modus für nicht-bidirektionale Ports, wie z.B. beim NC100 oder dem EuroPC oder anderen XT-Rechnern.


    Da überlege ich schon eher, ob man nicht das ganze als Karte für den ISA-Bus auslegen sollte. Wäre noch schneller und man könnte den Rechner sogar davon starten...

    Nilquader of SPRING

  • Als ISA-Karte... das wäre natürlich mega krass :) Weil so langsam meine HDs sowieso die Grätsche machen (2 sind schon kaputt - defekte Sektoren), 1 ist noch ganz, und die, auf der meine Quellcodes liegen fängt schon das "singen" an. Vielleicht Lagerschaden?


    Egal - ich bin auch so zufrieden, das ich meine Files nun auf Karte kopieren kann. Das war vorher ja überhaupt nicht möglich an den DOSen. :)


    Bin echt mal gespannt, wohin dich das Projekt noch führt :)


    P.S.: Ich glaube ISA-Karten lohnen sich nicht. Hab mal geschaut per Google. Es gibt sogar ISA-USB-Controller für alte PCs - aber mit 160€ pro Karte ist das eher ein schlechter Witz. Da kann man sich gleich nen alten P1 oder P2 holen - der hat sowas schon On-Board.

  • Zitat von "Bruegge"


    P.S.: Ich glaube ISA-Karten lohnen sich nicht. Hab mal geschaut per Google. Es gibt sogar ISA-USB-Controller für alte PCs - aber mit 160€ pro Karte ist das eher ein schlechter Witz. Da kann man sich gleich nen alten P1 oder P2 holen - der hat sowas schon On-Board.


    Lohnt sich nicht? Wieso nicht? Und was hat das mit USB zu tun? Meinst du diese ISA-Slots, die man per USB an neue PCs dranklemmen kann oder USB-Karten für in den ISA-Slot? Und die Frage ist natürlich, ob DOS und vor allem das BIOS (ich würde ja dann auch INT13 Support für Massenspeicher haben wollen!) dann was damit anfangen kann.


    Ich will jedenfalls für meine alten Kisten keine drehenden Scheiben mehr haben. Die gehen kaputt und sind groß und laut :mrgreen: Und die Kapazitäten, die man da braucht, gibt's heute für wenige Euros als Flashmedium - in welcher Form auch immer.

    Nilquader of SPRING

  • Nee, meinte ISA-Karten mit USB-Controller drauf. Naja, direkt mit USB hat das nix zu tun. Sollte nur verdeutlichen, was sowas dann am Ende kosten könnte. Und ob man 100-200 Euro in sowas steckt für nen alten DOS-Rechner.. Mhh.. Also ich würde es nicht. Dann könnte man sich gleich einen CF-nach-IDE-Adapter kaufen. Der ist günstiger :) Allerdings sind die Dinger auch recht..naja... mein 486er mag sowas garnicht. Der bringt - wenn überhaupt - gerade mal die Einschaltmeldung.


    Grundsätzlich geb ich Dir aber recht - das mit den Festplatten ist so ne Sache. Ideal sind sie nicht mehr. Dafür ist halt alles schon zu alt. DAS Speichermedium gibts wohl nicht. Leider. Trotzdem - interessant ist der Gedanke schon mit der ISA-Karte und INT $13 (auch erweiterter int $13?)-Support. Wenn das dann noch mit diverser Software, wie Ontrack Disk Manager, läuft... Aber hallo! :) Wenn hier jemand mitliest und noch eine alte DOSe hat: Ontrack ist spitze. Wenn man die 500-MB-Grenze des BIOS knacken will, sollte man mal einen Blick drauf werfen. Immerhin kann mein 486 damit jetzt 8 GB ansprechen :)

  • So teuer wie die USB-Karte wird eine SD-Controllerkarte sicherlich nicht werden. Für deine ISA-USB Karte bekommst du wahrscheinlich3 Stück von den ISA-SD-Controllern. Natürlich ist die Platine etwas größer und man braucht auch ein paar mehr Bausteine, um auf dem ISA-Bus zu kommunizieren. Aber solche Dinge wie Adressdecoder kann man heute problemlos in einen einzelnen programmierbaren Baustein packen. Und das macht es wieder klein ung günstig!


    Und ich würde bei 8Bit-ISA bleiben wollen und auch nur PIO-Transfers unterstützen (ISA-DMA bringt sowieso keinen nennenswertern Geschwindigkeitsgewinn am AT). Damit sollte man mindestens die 10fache, vielleicht auch 20fache Transferrate des Druckerport-Adapters erreichen.


    Dazu käme natürlich das (optionale) EPROM mit eigenem BIOS für die Int13h-Unterstützung. Und ob das jetzt CHS-Adressierung, 28- oder 32-Bit LBA unterstützt, hängt natürlich allein vom BIOS-Code ab. Eine zusätzliche Software wie Ontrack Disk Manager würde ich dann gar nicht mehr brauchen. Außer natürlich, wenn ich auch noch mechanische Platten einsetzen möchte.


    Naja, das sind alles erstmal grobe Pläne. Ich muss ja auch Zeit haben, diese umzusetzen...

    Nilquader of SPRING

  • Interessante Gedankengänge. Muss aber nochmal meinen Senf dazugeben. Is auch nicht bös gemeint - eher als Anregung zu verstehen :) Letztendlich muss man im BIOS CHS und LBA unterstützen - oder nur CHS. Zumindest nach Außen hin. Denn DOS & Co. kennen halt nur CHS. Ob das BIOS jetzt in Wirklichkeit LBA draus macht - das ist wieder ne andere Geschichte. Wäre aber zumindest anfänglich uninteressant - denn CHS wäre Aufgrund der Software, die zum Einsatz kommt die erste Wahl :) Klar, Zeit haben ist wieder ne andere Geschichte :-/ Kenn ich nur allzu gut.


    Edit: Sicher hast du da mehr Ahnung als ich - aber LBA steht ja nicht über die normalen INT $13-Routinen zur Verfügung, die u.A. DOS nutzen. Der Int $13 wurde ja irgendwann erweitert - bei den neuen Funktionen (die DOS halt nicht kennt) wird nicht mehr über CX/DX die Sektoradresse übergeben, sondern über bestimmte Strukturen im RAM. Und auch das ist nervig, weils von dem neuen int $13-kram wieder mehrere Versionen gibt und nicht alle Versionen alles unterstützen. Das ist auch das, was ich am PC nicht leiden kann. Ich sag nur HMA freischalten... :D War ja auch so ne Geschichte bis BDOS auf jedem PC das geschafft hat... gibts ja auch wieder mind. 3 Arten das zu tun :) Manchmal kommts mir so vor, als hätte man am PC nur schlecht geplant, das dann gemerkt, den Murks durch weiteren Murks noch mehr verschlechtert, bis man dann im 3. Anlauf oder so die Methode durchgezogen hat, die man eigentlich von Anfang an hätte nehmen können :D
    Siehe Grafikkarten, Festplatten und und und :)

  • :roll: Jetzt geht das wieder los...
    Musst Du ja auch nicht am PC programmieren - aber lass uns doch unseren Spaß.


    Nilquader: Gibts eigentlich schon eine neue Version bzw. eine Neuerung?

  • Nein, bisher keine neue Version. Momentan fehlt mir die Zeit dafür. Aber viele Ideen hab ich.


    Auf jeden Fall denke ich über einen High-Speed-Modus nach, der auf PCs mit bidirektionaler paralleler Schnittstelle einen ordentlichen Geschwindigkeitsvorteil bringen sollte.

    Nilquader of SPRING

  • Wenn entsprechendes Interesse besteht, wollte ich in 2012 nochmal ein paar Platinen für den NC100-Kartenleser machen. Ich überlege nur noch, was man da noch verbessern könnte...Vielleicht integriere ich noch einen Digiblaster.


    Und was das Programmieren angeht: Unter DOS in Assembler auf einem 16Bit-8088 zu programmieren ist jetzt konzeptionell vom CPC/Z80 gar nicht so weit weg... Beim SD-Kartenleser sind sogar große Teile des Codes bis auf Register und Mnemonics fast identisch. Vom Spaßfaktor würde ich die Programmierung jetzt als gleichwertig einschätzen. Unter Windows, in Java oder .net irgendwelche Fenster zusammenzuklicken - dieses ganze High-Level-Dreckszeug, oder gar Sktiptsprachen wie PHP und Python programmieren zu müssen, macht natürlich keinen Spaß! :mrgreen:

    Nilquader of SPRING