Top 10k strings from USB-fuer-SPC.rtf in <root> / doc / technical / RoelofKoning / usb.zip /

Back to the directory listing

   3 -------------------------------------------------\par
   1 {\rtf1\ansi\ansicpg1252\deff0\deflang1043{\fonttbl{\f0\fnil\fcharset0 Times New Roman;}{\f1\froman\fcharset0 Times New Roman;}{\f2\fmodern\fprq1\fcharset0 Courier New;}{\f3\fnil\fcharset0 Courier New;}}
   1 {\colortbl ;\red255\green0\blue0;\red0\green0\blue0;}
   1 {\*\generator Msftedit 5.41.15.1507;}\viewkind4\uc1\pard\f0\fs24 ####################################################################\par
   1 mein eigene Programmierarbeiten auf PC zu sichern. Und das nicht weil ich das PC Format\par
   1 mag, aber weil man auf PC-Ebene so einfach weitere Backup Kopien machen kann......  \par
   1 ein Port selbstaendig mit den eingebaute 'Monitor' (=Kommandos)  arbeitet. Beim VDIP1 kann diese zweite Anschluss einfach am IC Sockel angeloetet werden. Und dann gibt es noch den VDRIVE Modul, die nur fuer Seriell oder SPI Betrieb aufgebaut ist.  \par
   1 das wir noch mehr von diese neue Entwicklung hoeren/lesen sollen.\par
   1 das darf doch mal gesagt werden!  \par
   1 auf einfache Weise 5000 Games nach meine OPUS Festplatte ueber zu bringen, oder um\par
   1 \tab\tab\tab 1st parameter in the currently open file \par
   1 \tab\tab\tab 1st parameter from the currently open file \par
   1 \tab\tab\tab 1st data parameter to the currently open file \par
   1 \pard\sb100\sa100 Ich  rede hier von den Baustein VDIP1 von der brittische Firma Vinculum.   Ihre Webseite:   \b http://www.vinculum.com/prd_vdip1.html\b0    \cf1\b (foto 'module' ) \cf0\b0 Ein Baustein die ich jetzt am Lauf habe an meinen Spectrum, und womit ich alle Speicherkarten und USB-Speicher (Sticks) die ich besitze kan lesen und beschreiben. Obwohl Die doch fuer Verwendung mit PC formattiert sind und auch bleiben! USB-Speicher koennen direkt am USB-Port und fuer SpeicherKarten benuetze ich ein 6-in-1 Kartenleser (3 von die 4 Modelle die ich besitze tun es, obwohl immer nur eine Karte drin sein muss) \cf1\b (foto 'cardreaders'). \cf0\b0 Nicht nur wird der ganze USB-Steuerung durch diese VDIP1 gemacht wie man von so ein Baustein erwarten darf, aber daneben wird auch noch die ganze Buchfuehrung getan die man benoetigt um mit FAT 12, 16 und 32  "Disketten Formate" \cf1\b (Ich meine hier die Weise auf welche Disketten und Fp'en fuer DOS eingerichtet sind. Selber sage ich immer 'disk layout'. )\cf0\b0   
   1 \pard\ri-358 IN 127 und OUT 127. Die Schaltung bevor diese Punkte (mit ODER  Gatter und INVERTORS) wird hier nicht beschrieben, weil ich sicher bin das jede Erfinder das auf eigene Weise und fuer andere Portadresse (SAM, ZX81?) machen will! Machen wir weiter: Durch IN 63 werden die Werte von die Signale RFX und TXE auf Bits 0 und 1 gelesen. Durch IN 127 wird ein Byte vom VDIP1 eingelesen, durch OUT 127 wird ein Byte im VDIP1 geschrieben. Beachte das dieses Signal invertiert ist. Der\par
   1 \pard\cf0 Die VDIP1 Baustein ist gebaut rundum ein Firmen-eigene Chip die programmierbar ist. Die Bausteine werden programmiert verkauft und Updates von diese sogenannte " Firmware" koennen vom Site des Herstellers gratis gedownloaded \cf1\b (Deutsch?)\cf0\b0  worden. Die ganze "Upgrading" ist automatisiert, man braucht nur so ein Update Datei auf ein USB-Speicher abzulegen und diese Speicher dann im USB Port der VDIP1 anzubringen. Nach einige Kontrollen gehts dann los ohne das man es bemerkt. Die bei mir anwesende Firmware Version 2.08 habe ich so ausgetauscht gegen Version 3.61. Und dann abends (Montag) gesehen das schon ein Version 3.62 fertig stand. Der Entwicklung scheint noch in voller Gang zu sein! Mal abwarten was es kommende Freitag  gibt.... :-))\par
   1 \pard Puffer LS623 benoetigt ein positives Signal auf Pin GAB, und der VDIP1 Baustein hat auch seine Freude dran. Diese Schaltung genuegt fuer USB-Speicherbetrieb.\par
   1 \f3   20 IF n>1 THEN  GO TO 80: REM weil nichts zu lesen\par
   1 \f2\fs20\par
   1 \f0\fs24\par
   1 \cf0   10 GO SUB 1000: IF n = 3 THEN  GO TO 10\par
   1 [enter]\tab .....\tab Test presency of disk\par
   1 Wie gesagt lauft die Sache bei mir mit ein einfaches, nicht optimalisiertes, Programm zum Testen in BASIC. \cf1\b (foto 'nodisk')\cf2\b0   Ich werde das hierunter als Beispiel geben. Und gebe damit sofort den Beweis das die USB-Schnittstelle wirkt: Ich schreibe diese Text auf PC und moechte mein Test Programm in SpectrumBASIC hierunter geben. Und dann nicht durch eintippen sondern mittels USB-Speicher uebergeben! Die Uebersetzung von Keywords in Tekst mache ich mit Eine der uebliche Programme, und dann brauch ich nur noch auf irgendeine weise die Bytes an Port 127 zu schicken......  Mal sehen, jetzt zum Spectrum.... .....   \par
   1 Wie USB und SPECTRUM  zusammentrafen.    Roelof Koning, Oktober 2007\par
   1 Wenn man nur wusste wie, da muss noch viel experimentiert worden :-(( . Aber fuer mich reicht im Moment die Moeglichkeit um ohne weiteres mit PC-Speicher arbeiten zu koennen, um z.B.\par
   1 WRF dword .......\tab Write the number of bytes specified in the   \par
   1 Und kragluwetchekkritzikratz hier ist die Listung:  (Habe nur die REM Zeilen editiert....)\par
   1 Um diesen VDIP1 am Spectrum anschliessen zu koennen braucht man ein relativ einfache Schnittstelle. In mein Prototype \cf1\b (foto 'pcb2')\cf0\b0  sind zwei schwarze Chips zu sehen, wovon einer ein 74LS623 Puffer ist fuer die 8 Datenlinien, und die Andere ein Programmierte GAL16V8 . Hinterher war es einfacher gewesen um statt GAL zwei oder drei standard Chips aus der 74-er Familie zu verwenden. Mein Vorschlag-Schaltbild hierunter ist auf diese zweite Moeglichkeit basiert. \cf1\b (image 'diagram')\cf2\b0  In diesem Schaltbild findet man 3 mit 'X' angezeigte Punkte. Die\par
   1 USB port worueber man mit viele USB-Geraete reden kann, wie Drucker, Maus u.s.w.\par
   1 Signale an diese Stellen werden aktiv bei den unterschiedliche BASIC Kommandos IN 63,\par
   1 SEK dword .......\tab Seek to the byte position specified by the \par
   1 Roelof Koning\par
   1 REN file file\tab Rename a file or directory \par
   1 REM hier wird die 'Status' gelesen und auf 2-Bit Wert zurueckgebracht\par
   1 REM Zuerst Warteschleife wenn komplett Besetzt\par
   1 REM Ein Kommando kann eingegeben worden weil TXE='0'\par
   1 REM Da soll zuerst mal was gelesen werden solange RXF='0'\par
   1 RDF dword .......\tab Read the number of bytes specified in the \par
   1 RD file   .......\tab Reads a whole file \par
   1 PS: Es gibt uebrigens auch ein ein Version mit 2 USB ports (VDIP2) wovon aber nur\par
   1 OPW file  .......\tab Open a file for writing or create a new file \par
   1 OPR file  .......\tab Open a file for reading \par
   1 Neben die von mir benuetzte Moeglichkeit um den VDIP1 Baustein mit 8 Bits auf parallele Weise an zu steuern gibt es auch noch den Moeglichkeit fuer serielle Ansteurung. Die Datenblaetter und User Manuals die man auf die Vinculum Site finden kann geben mehr Auskunft darueber.\par
   1 Mit diesem BASIC Programm kann man alle Kommando's eingeben und die Meldungen zurueck lesen. Hierunter ein Auslese der moegliche Kommando's, die komplette Liste und genaue Beschreibung soll man bitte ins Firmware Manual nachlesen! (Leider alles englisch....) \cf1\b (foto 'frontpage')\cf0\b0 Wichtig ist der IPA Kommando, dadurch wirden Reihe von Buchstaben wie "123" und "$FFFF" als dezimale oder hexadizimale Wert akseptiert. Sonst muss man Zaehlen in Binair eingeben...\par
   1 MKD file  .......\tab Make a new subdirectory in the current directory \par
   1 Leider konnte ich die Bilder nicht einbauen.\par
   1 IPA\tab ...........\tab Accept ASCII values in Monitor commands\par
   1 IDD \tab ...........\tab Display information about the disk \par
   1 IDD Komanndo eingegeben wurde. \cf1\b (foto 'screen2')\cf2  \b0 Ich bin sicher \par
   1 FS \tab ...........\tab Returns the free space available on disk\par
   1 Es war Maerz 2007 als Rudy Biesma mir erzaehlte von eine USB-"Etwas" das er aufs Internet gesehen hat und das vielleicht interessant fuer uns Speccianer werden konnte. Sogenannte "Prototype Modules" wurden zum Verkauf angeboten. Wenn er mal Zeit haette wollte er Experimente machen und sehen was heraus kam. Zeit haben wir alle leider viel zu wenig (weil man ja soviele Sachen auf den PC zurechtbringen muss.....) und ich hab mir dan auch nich verwundert dass ich lange Zeit nichts von ihm hoerte. Dann bekam ich in November von Scott-Falk Huehn ein E-mail ueber ein USB-"Etwas" das genau Dass sein sollte was uns am Speccy fehlte, ja tatseachlich ins Internet gefunden und auch schon durch das Elektor Magazin besprochen..... Dieses Berich dann an Rudy Biesma weitergemailt und da kam sofort Antwort : genau diese Dinge hatte er schon monatenlang in PrototypeAusfuehrung zuhause im Schubladen liegen! Was er nicht wusste war das die Moeglichkeiten von diese Module immer weiter entwickelt waren und das Die jetzt einiges 
   1 Es freut mich das wir bei SPC Koeln wieder einmal als Erste dran sind,\par
   1 Entschuldigung fuer mein schlechtes Deutsch!\par
   1 DVL \tab ...........\tab Display disk volume label\par
   1 DSN \tab ...........\tab Display disk serial number \par
   1 DLF file  .......\tab Delete a file \par
   1 DLD file  .......\tab Delete subdirectory from current directory \par
   1 DIR file  .......\tab List specified file and size \par
   1 DIR \tab ...........\tab List files in current directory \par
   1 CLF file  .......\tab Close the currently open file \par
   1 CD file   .......\tab Change current directory \par
   1 CD ..     .......\tab Move up one directory level \par
   1 Ausser das hier oben beschriebene ist diese VDIP1 Baustein auch noch ein 'normalen'\par
   1 Am ende noch ein 'Screenshot' vom Spectrum Schirm nachdem das\par
   1 3=Besetzt,  2=Lesen erwartet, 1=Schreiben moeglich,  0= L+S moeglich\par
   1 1030 RETURN \par
   1 1010 LET n= n-(INT (n/4)*4)\par
   1 1000 LET n= IN 63\par
   1 ---------------------------------------------------------------------\par
   1 ####################################################################\par
   1  110 STOP \par
   1  100 PRINT BRIGHT 1;i$: GO TO 10\par
   1   90 FOR f=1 TO  LEN i$: OUT 127, CODE i$(f): NEXT f: OUT 127,13\par
   1   80 INPUT "Command ? ";i$\par
   1   70 GOTO 10\par
   1   60 IF n=0 OR n=2 THEN  GO TO 40\par
   1   50 PRINT CHR$ a AND a >= 32;""+ STR$ a+"" AND a<32; CHR$ a AND a=13;\par
   1   40 LET a= IN 127: GO SUB 1000\par