USB-VDrive-Interface und internes HRG-RAM - Die Sparversion

ZX-Team Forum
holmatic
User
Beiträge: 123
Registriert: 13.10.2009, 23:53
Wohnort: Bremen

USB-VDrive-Interface und internes HRG-RAM - Die Sparversion

Beitrag von holmatic » 06.01.2011, 00:05

Sir Clives Grundprinzip bei der Entwicklung der Zeddies war bekanntlich, stets nach der jeweils einfachsten Lösung für ein Problem zu suchen.

Dieses Prinzip habe ich mir bei meiner Winterbastelei zum Vorbild genommen, um eine VDRIVE-USB-Stick + HRG-Speicher - Lösung für den ZX81 zu realisieren.

Das Ergebnis möchte ich hier zur Diskussion stellen.


Die geniale und mühevolle Pionierarbeit auf den Gebieten USB-Drive und HRG/RAM-Erweiterung hat das ZX-Team freilich in den letzten Jahren schon geleistet, hier geht es nur noch ums Einsparen:



- Kostenersparnis: VDRIVE-Interface ohne EPROM, PIO und GAL, nur mit "Standard-TTLs", die Lösung benötigt also keinen GAL-Brenner und keinen EPROM-Brenner

- Zeiterparnis: Das TTL-Vdrive-Interface erlaubt durch direkte Kopplung eine deutlich schnellere Ansteuerung des Vdrive beim Lesen/Schreiben

- Speicherersparnis: Toms Treiber habe ich so geändert, dass nun kein RAM für temporäre Variablen mehr benötigt wird (im Prinzip also jetzt ROM-fähig)

- Stromersparnis: Durch eine klare Deaktivierung des RAM im Standby-Modus sollte ein Puffer-Akku sehr lange durchhalten

- Adressersparnis: Sparsamer Umgang mit dem I/O-Adressraum - eine kleine IN-Adresse reicht.

- Platzersparnis: Interne Zwei-IC-Lösung (RAM+Dekoder) für den HRG-fähigen Speichervollausbau mit Platz für den VDRIVE-Treiber




Fangen wir an beim "TTL-VDrive-Interface":

Ein intensiver Blick ins Datenblatt des Vdrive2 verrät, dass man die Schnittstelle dieses modernen Bauteils mit sehr viel höheren
Taktraten (12MHz) ansteuern kann als sie ein IO-Port am Zeddy liefern kann (<1 MHz).

Der SPI-Bus Takt kann daher problemlos direkt von Z80-Bus ohne die Zwischenschaltung eines Latches geliefert werden, Setup- und Hold-Zeiten passen. Damit spart man sich auch das zeitraubende softwaremäßige Ansteuern der seriellen Clock-Leitung. Das einzige gelatchte Signal ist dann noch CS, das Latch wird dabei aus einem rückgekoppelten Buffer gebildet. Der 74HCT367 liefert neben der Pufferung der benötigten Bussignale also ein Latch und einen Rücklesekanal auf D7. Ein Kniff dabei ist, dass im Prinzip immer nur per IN x,(C) gelesen wird, dabei als 'Nebeneffekt' dann aber auch die Signalausgabe vom B Register stattfindet.
TTL_VDR2_IF_Schematic.png
Schaltung des VDrive2-Interface mit Standard-Logik-ICs.
TTL_VDR2_IF_Schematic.png (28.24 KiB) 15993 mal betrachtet
Zur Unterdrückung von möglichen Reflexionen am nicht terminierten Ende von langen VDrive-Zuleitungskablen wurde die SCLK-Leitung treiberseitig mit einem Serienwiderstand versehen. Die anderen Signale sollten nicht so kritisch sein. Das bei mir benutzte Kabel ist mit etwa 25cm allerding recht kurz.

Die Treibersoftware ist von TOMs GAL-VDRIVE-Variante abgeleitet und wird genauso benutzt.


Nun zum Speicher - eine interne Speichererweiterung mit Datenpufferung. Damit kann der VDrive-Treiber - einmal per Cassette geladen - über längere Zeit im Speicher gehalten werden, ohne dass ein Erweiterungs-ROM nötig ist. Das Laden des VDrive-Treibers per EAR-Eingang dauert dabei etwa 40 Sekunden (1,4 KByte) und ist immer nötig, wenn der Pufferakku platt war oder eine gemeine Software den Treiber überschrieben hat, denn der liegt ja ab Adresse 8192 im RAM.
Mod_Willi_RAM_Schematic.png
Schaltplan zur internen RAM-Erweiterung
Mod_Willi_RAM_Schematic.png (47.48 KiB) 15993 mal betrachtet
Ausgangspunkt der Schaltung war das akkugepufferte "Willi-RAM". Bei der hier vorgestellten Lösung wird der 74HCT139 Dekoder auch im Standby mitversorgt, damit dieser den Speicherbaustein sauber im Stromsparmodus hält. Die Erkenntnisse von Siggi bezüglich HRG sind auch eingeflossen: /MREQ ist beim Refresh-Zyklus für HRG mitunter zeitlich zu kurz für die ULA, daher wird hier /RFSH mit einbezogen. Das RAM steht wie gesagt ab Adresse 8192 aufwärts zur Verfügung. Mit einem 128K RAM IC (2 Euro) kann man dann wie bei einer Memotech-64K-Erweiterung volle 56K nutzen, ein Bankswitching ist nicht vorgesehen.


Das RAM-VDRIVE-Gespann verrichtet bei mir inzwischen zuverlässig gute Dienste, Dank gebührt an dieser Stelle natürlich TOM, Siggi und Co, die das Feld schon so weit beackert haben. Vielen Dank auch an Jens, der seine Erfahrungen und die passende Firmware beigesteuert hat und an Klaus für die Schaltpläne und Anregungen zum RAM.
ZX81_56K_mit_VDR.jpg
Im Betrieb. Das VDrive-Interface ist oben auf der Erweiterungskarten eben einem Tastaturpuffer realisiert.
ZX81_56K_mit_VDR.jpg (73.14 KiB) 15993 mal betrachtet
Monochrome Grüße

Oliver
Zuletzt geändert von holmatic am 06.01.2011, 09:19, insgesamt 1-mal geändert.

Benutzeravatar
Paul
User
Beiträge: 2788
Registriert: 10.03.2010, 12:01
Wohnort: Germanys west end

Re: USB-VDrive-Interface und internes HRG-RAM - Die Sparvers

Beitrag von Paul » 06.01.2011, 08:38

Hi Oliver,
das ist eine sehr schöne Lösung! Besonders die eingesparten Gatter durch RD-Logik gefallen mir.
Welche Übertragungsrate erreichst du jetzt und mit welcher Taktrate wird das Vdrive nun betrieben?
Würdest du uns bitte noch die Software zur Verfügung stellen?
(ich verstehe Software immer wesentlich leichter als Hardware :D)

Das neue Jahr fängt ja wirklich super an!
Habt ihr euch alles in der Krise für jetzt aufgespart? :)

Schönen Gruß
Paul
Theoretisch ist zwischen Theorie und Praxis kein Unterschied.
Praktisch allerdings wohl.

holmatic
User
Beiträge: 123
Registriert: 13.10.2009, 23:53
Wohnort: Bremen

Re: USB-VDrive-Interface und internes HRG-RAM - Die Sparvers

Beitrag von holmatic » 07.01.2011, 20:05

Hi Paul

hier wie versprochen die eigentliche VDrive-Leseroutine, die sich prinzipbedingt stark von Toms Code unterscheidet:

Code: Alles auswählen


#define IPORT	07Fh ; Portadresse
#define IP_OFF	00h  ; Nicht selektiert (CS low)
#define IP_S0	02h  ; Selektiert, Datenbit low
#define IP_S1	03h  ; Selektiert, Datenbit high

;*
;* Lese ein Byte
;*
; Return: Byte in A
;         Zeroflag : 0 = old data / 1 = valid data

READB:
	PUSH BC
	PUSH DE
	LD C,IPORT
	; Dummy clock, not selected
	LD B,IP_OFF
	IN D,(C)
	; Start bit, selected
	LD B,IP_S1
	IN D,(C)
	; Read indication bit
	LD B,IP_S1
	IN D,(C)
	; Read from data indication
	LD B,IP_S0
	IN D,(C)
	; Daten seriell in A einlesen
	XOR A
	LD E,8	; ein Byte hat 8 Bit ( hab's nachgeschlagen :-)
	LD B,IP_S0

RDBITLOOP:	  ; Geschwindigkeitskritische innere Schleife
	ADD A,A	  ;  schiebe die Bits
	IN D,(C)  ;  Takt und lesen
	JP P,RDNEXTBIT
	INC A	  ;  war ein gesetztes Bit
RDNEXTBIT:
	DEC E
	JR NZ,RDBITLOOP

	; Jetzt noch den Status: 0=new data , 1=old
	LD E,A    ; Sichere gelesenes Zeichen
	XOR A
	LD B,IP_S0
	IN D,(C)
	JP P,RDNEWDATA
	INC A	 ; Status sagt es waren alte Daten
RDNEWDATA:
	; Zum Schluss noch ein Dummy Clock Impuls, not selected
	LD B,IP_OFF
	IN B,(C)
	OR A	; Zeroflag entsprechend dem Status in A setzen
	LD A,E
	POP DE
	POP BC
	RET


<<< Veraltete Dateien hier entfernt, aktuelle jetzt weiter unten! >>>


Für die Taktrate müsste man mal die Zyklen der inneren Schleife genauer zählen, sind wohl etwa 80kHz netto. Jedoch ist die low-Phase des Taktes nur wenige 100ns lang, die restliche Zeit ist SCLK high. Das Laden von 25THANNI.P dauert jedenfalls ca. drei Sekunden von ENTER bis zur Anzeige des Bildschirms. Vielleicht findet sich ein Besitzer eines GAL- oder PIO-VDrives und meldet entsprechende Zeiten!?

-oliver
Zuletzt geändert von holmatic am 08.01.2011, 18:25, insgesamt 1-mal geändert.

Benutzeravatar
siggi
User
Beiträge: 2419
Registriert: 06.12.2005, 08:34
Wohnort: D, Hessen, tiefste Werreraa
Kontaktdaten:

Re: USB-VDrive-Interface und internes HRG-RAM - Die Sparvers

Beitrag von siggi » 07.01.2011, 22:28

Hallo Oliver,
bei meinem Laptop-Zeddy mit PIO-kompatiblem USB-Interface komme ich auf Ladezeit bei 25thanni von ca. 6 Sekunden. Da ist Dein Interface schon deutlich schneller. Aber m. E. könnte man da noch viele Taktzyklen einsparen und es noch flotter machen:
erstmal würde ich die 8 Bit-Zählerei rausschmeißen und restlichen Befehle zum Einsammeln der Bits halt 8 mal hinschreiben. Kostet dann zwar ein paar mehr Byte an Platz, spart aber Taktzyklen....

Und ich würde, statt die eingelesenen Bits einzeln zu prüfen, diese ungesehen(via CARRY-BIT von Bit7/D in A "reinrotieren"). Dies würde beim Lesen dann ungefähr so aussehen:

Code: Alles auswählen

   ; Daten seriell in A einlesen (alle 8 Datenbits in A werden nach  und nach überschrieben, also braucht A nicht gelöscht zu werden)

   LD B,IP_S0


   IN D,(C)  ;  Takt und lesen
   RL D       ; Bit 7 von D ins Carry Bit schaufeln
   RLA        ; Carry Bit an niederste Stelle in A schaufeln und alle anderen Bits hochschieben
 
   und das nun 8 mal hintereinander ...

   
Analog kann man das auch für die Schreib-Routine umsetzen.

Gruß und noch fröhliches Basteln
Siggi

holmatic
User
Beiträge: 123
Registriert: 13.10.2009, 23:53
Wohnort: Bremen

Re: USB-VDrive-Interface und internes HRG-RAM - Die Sparvers

Beitrag von holmatic » 07.01.2011, 23:30

Hallo Siggi,

vielen Dank für den Hinweis. Ich hatte an der Schleife schon ziemlich lange herumgeknobelt, aber deine Methode ist viel viel eleganter und schneller! Gekonnt ist halt gekonnt :wink:

Die Schleife hatte Tom übrigens bereits durch "8mal nacheinander" optimiert (neudeutsch heißt das dann glaub ich "loop unwinding"), und ich hab's wieder zur Schleife gemacht, um Speicherplatz zu sparen.

25THANNI liegt jetzt mit deiner Optimierung bei etwa 2 Sekunden, das ist aber bei so kurzen Zeiten zunehmend schwierig zu messen. Da aber auch die 6 Sekunden der PIO schon voll im Bereich "schnell genug" liegen, ist das eh ein rein theoretisches Thema.

Gruß
-oliver

holmatic
User
Beiträge: 123
Registriert: 13.10.2009, 23:53
Wohnort: Bremen

Re: USB-VDrive-Interface und internes HRG-RAM - Die Sparvers

Beitrag von holmatic » 08.01.2011, 18:22

Hier nochmal die überarbeitete Version nach Siggis Optimierungstipp. Ich habe jetzt auch den vollen Quelltext nochmal durchgeschaut und beigepackt.

Wie gesagt, die wesentlichen Neuerungen sind neben der Anpassung an die Hardware:

- Kein Extra RAM-Bereich mehr nötig für das Zwischenspeichern von Variablen - die ZXCode-ASCII-Konvertierung geschieht jetzt während des Schreibens, daher ist der Puffer nicht mehr nötig, die anderen Variablen wurden durch Umstellungen oder Nutzung des Stacks eingespart.

- Beim Laden wird nun Adresse und Länge VOR dem Ladevorgang angezeigt. Damit wird jetzt auch das großartige und bis aufs letzte Byte vollgepackte QFROG.P korrekt geladen.

- Ach ja, der Help-Befehl "H" zeigt nun die Treiberversionsnummer an.
TTL_VDR.zip
Quelltext und Lader und Binärdatei in Version 1.02
(8.69 KiB) 406-mal heruntergeladen

t0m
Site Admin
Site Admin
Beiträge: 582
Registriert: 04.03.2004, 13:32
Wohnort: CH-5506 Mägenwil
Kontaktdaten:

Re: USB-VDrive-Interface und internes HRG-RAM - Die Sparvers

Beitrag von t0m » 08.01.2011, 19:52

Hallo holmatic,

sehr elegante Variante, die Du Dir da ausgedacht hast. Besonders intressant finde ich, wie Du den Stack verwendest. Muss mir diesen Assembler-Code mal genauer anschauen, damit wird die Software natürlich auch im Speicher verschiebbar. Cool. Auch das Interface ist bemerkenswert, kommt es doch mit nur 2 TTL's aus. Ev. könnte man das ganze sogar in ein einziges GAL hauen..., mal sehen... :wink:

Aber es ist halt schon bemerkensert, solche Enwicklungen zu sehen, für ein doch immerhin gut 30 jähriges Computersystem. :D
t0m

There are 10 types of people in this world: those who understand binary and those who don't.

Benutzeravatar
siggi
User
Beiträge: 2419
Registriert: 06.12.2005, 08:34
Wohnort: D, Hessen, tiefste Werreraa
Kontaktdaten:

Re: USB-VDrive-Interface und internes HRG-RAM - Die Sparvers

Beitrag von siggi » 09.01.2011, 10:45

t0m hat geschrieben:Besonders intressant finde ich, wie Du den Stack verwendest. Muss mir diesen Assembler-Code mal genauer anschauen, damit wird die Software natürlich auch im Speicher verschiebbar.
Nö, wird sie nicht. Zumindest nicht, so lange sie noch absolute Spünge in sich selbst (JP ... , CALL ...) enthält oder über absolute Adressen auf eigene Datentabellen (LD HL, ASCII) zugegriffen wird.

Siggi

t0m
Site Admin
Site Admin
Beiträge: 582
Registriert: 04.03.2004, 13:32
Wohnort: CH-5506 Mägenwil
Kontaktdaten:

Re: USB-VDrive-Interface und internes HRG-RAM - Die Sparvers

Beitrag von t0m » 09.01.2011, 11:04

Morgen siggi,

Da hast Du natürlich recht, verschiebbar wird sie nicht.

Weiss eigentlich jemand, wie gross der Stack werden darf? Der überschreibt doch irgendwann die Variablen?
t0m

There are 10 types of people in this world: those who understand binary and those who don't.

Benutzeravatar
Paul
User
Beiträge: 2788
Registriert: 10.03.2010, 12:01
Wohnort: Germanys west end

Re: USB-VDrive-Interface und internes HRG-RAM - Die Sparvers

Beitrag von Paul » 09.01.2011, 12:02

Die Frage hast du gerade selbst beantwortet.
Es findet keine Kontrolle statt. Der für den Stack verfügbare Platz geht eben von Ramtop bis zu den Variablen. Da der Stack recht intensiv von allen Programmen, u.a. Basic verwendet wird muss man genau darauf achten genau so oft zu Poppen wie man pusht.
Sonst hat man den gefürchteten Stacküberlauf.
Gibt es bei benutzen des Stacks dann nicht Probleme wenn man ein Programm lädt das den Speicher ganz benutzt?
Ich habe mir den Code noch nicht angesehen. Das könnte bei Benutzung des Stacks Probleme bereiten.
Gruß Paul
Zuletzt geändert von Paul am 09.01.2011, 13:39, insgesamt 1-mal geändert.
Theoretisch ist zwischen Theorie und Praxis kein Unterschied.
Praktisch allerdings wohl.

Benutzeravatar
siggi
User
Beiträge: 2419
Registriert: 06.12.2005, 08:34
Wohnort: D, Hessen, tiefste Werreraa
Kontaktdaten:

Re: USB-VDrive-Interface und internes HRG-RAM - Die Sparvers

Beitrag von siggi » 09.01.2011, 13:05

Paul hat geschrieben: Gibt es bei benutzen des Stacks dann nicht Probleme wenn man ein Programm lädt das den Speicher ganz benutzt?
Hallo Paul
die Frage hast Du zuvor ja selbst beantwortet :wink:

Klaro gibt's Ärger, wenn ein großes Programm geladen werden soll UND der Stack intensiv genutzt wird. Das Problem habe ich z. B. bei meinem FAT32-Programm beim Laden großer Basic-Programme von einer FAT32-MMC-Karte: das FAT32-Programm ist in C programmiert, wo ja (siehe C-Kurs) lokale Variablen und die Parameter für Funktionsaufrufe auf dem Stack liegen. Und da das FAT32-Programm, das zwar über 32K läuft, aber den "normalen" Stack unter 32K "mitbenutzt", kriege ich Abstürze, wenn das Basic-Programm, das ich lade, zu groß ist und den Stack zerhaut ....

Gruß
Siggi

Benutzeravatar
sbetamax
User
Beiträge: 494
Registriert: 04.03.2006, 22:01
Wohnort: Deutschland / Hessen / Nidda
Kontaktdaten:

Re: USB-VDrive-Interface und internes HRG-RAM - Die Sparvers

Beitrag von sbetamax » 05.04.2011, 21:03

Moin,
ich hab da mal ein Problem ;-)

Hallo Oliver, ich habe deine Schalung mal nach gebaut. Sie ist ja recht einfach und auch platzsparend. Und sie in den ZX2000 implantiert. Nur leider will sie nicht.

Aber der Reihe nach.
Zu erst wollte ich das Programm per MD-Player über EAR laden, danke an Jens fürs konvertieren.
Hab mich aber doch dafür entschieden, ASDIS aus dem EPROM gegen USB zu tauschen. Hat auch funktioniert.
Poke 8,12
print usr 8192,"H" bringt die Hilfe
print usr 8192,"I" bringt nach zweimal flackern "ERR"

Prima erste hürde geschafft.

Nun habe ich die Schaltung aufgebaut und auf der Display-Adapter-Platine fest verdrahtet. Zeddy an Hilfe aufgerufen - kommt. Warum auch nicht.
Info aufgerufen Zeddy strüzt ab. OK USB angesteckt leider keine Änderung.

Beim einschalten blinkt die LED zweimal rot grün. Stecke ich eine Stick ein LED bleibt dunkel. Die Update Datei auf einen Stick und Prozedur durchgeführt . Nix
Schaltung geprüft, ich kann keine Fehler feststellen.
Verkabelung Richtung Zeddy geprüft. Adressleitungen RD IOREQ kommen an der CPU an. D7 kommt auf der Haupplatine an, geht ja nicht direkt zur CPU. Das Sparinterface funktioniert am Zeddy also sollte D7 Ok sein.

Nun kommt folgendes in Betracht.

V-Drive defekt
ZX-2000 Mag die Schaltung nicht.
Ich bin zu blöd und hab was übersehen.

Hab die Schaltung wider abgelötet und noch mal Dir ausgeführt. ERR kommt.

Ich werde die Schaltung nun mal an einen Busstecker löten da kann ich besser messen.
Gruß Stephan
_______________
ZX80 (nachbau), ZX81, ZX 2000, ZX NU, IQ8300, ZX Spectrum, ZX Spectrum plus, ZX Spectrum 128, Harlequin, C64

holmatic
User
Beiträge: 123
Registriert: 13.10.2009, 23:53
Wohnort: Bremen

Re: USB-VDrive-Interface und internes HRG-RAM - Die Sparvers

Beitrag von holmatic » 05.04.2011, 23:57

Hallo Stephan,

ich möchte eigentlich nicht wie ein Windows-Helpdesk klingen, aber erstmal könntest du die neueste Treiber-Version 1.04 benutzen, wenn du die noch nicht hast (sollte per "H" angezeigt werden.)
TTL_VDR_v1_04.zip
Quelltext und Lader und Binärdatei in Version 1.04
(8.98 KiB) 392-mal heruntergeladen
Version 1.04 hat ein etwas toleranteres Timing gegenüber 1.03, damit geht bei mir auch ein VDRIVE2 mit neuer Firmware-Version (3.68). Sollte in jedem Fall nicht schaden.

Welches VDRIVE-Update hast du denn duchgeführt (Version)?

Stürzt der Zeddy komplett ab oder kannst du mit der "Space"-Taste noch eine Reaktion hervorrufen? Wenn ich bei mir das VDRIVE abklemme, wartet "I" einfach ewig und lässt sich dann mit Space abbrechen. Flackern oder Abstürze sehe ich so nicht.

Oliver

Benutzeravatar
siggi
User
Beiträge: 2419
Registriert: 06.12.2005, 08:34
Wohnort: D, Hessen, tiefste Werreraa
Kontaktdaten:

Re: USB-VDrive-Interface und internes HRG-RAM - Die Sparvers

Beitrag von siggi » 06.04.2011, 08:48

Hi Stephan,
hast Du denn so elementare Dinge wie die richtige Jumperung des VDRIVE2 beachtet? M. W. ist der im Auslieferungszustand für 'ne RS232-Kommunikation gejumpert. Erst durch Umstecken eines Jumpers babbelt der dann über SPI. Und diesen Modus mußt Du benutzen.

Gruß
Siggi

Benutzeravatar
sbetamax
User
Beiträge: 494
Registriert: 04.03.2006, 22:01
Wohnort: Deutschland / Hessen / Nidda
Kontaktdaten:

Re: USB-VDrive-Interface und internes HRG-RAM - Die Sparvers

Beitrag von sbetamax » 06.04.2011, 19:14

Hallo,
und danke für die Tips.
Ich hatte 1.02 drauf nun 1.04 space brake hab ich nicht versucht. :oops:

Der Jumper sollte richtig stehen. Auf der Innenseite Richtung "Kabelbaum"

Es ist die Firmware mit der Tom die beste Erfahrung hatte. Hab ich im passenden Fred unter geladen. Aber installiert wurde es wohl auch nicht.

Ich brutzel die Schaltung gerade an einen Bus Stecker.

In 30 min weiß ich mehr
Gruß Stephan
_______________
ZX80 (nachbau), ZX81, ZX 2000, ZX NU, IQ8300, ZX Spectrum, ZX Spectrum plus, ZX Spectrum 128, Harlequin, C64

Benutzeravatar
Jens
User
Beiträge: 1142
Registriert: 23.08.2005, 13:31
Wohnort: D-31582 Nienburg/Weser

Re: USB-VDrive-Interface und internes HRG-RAM - Die Sparvers

Beitrag von Jens » 06.04.2011, 19:30

Hi Stephan!

Die Firmware (3.62) mußt Du einfach auf einen leeren Stick (FAT) packen und diesen Einstecken und dann: Strom an - sollte nach ein paar Sekunden blinken und dann ist alles drauf.

Warscheinlich weißt Du das aber schon :-)

Gruß
Jens
Der ZX81 rechnet mit allem, nur nicht mit seinem Besitzer...
Neues aus der KI-Welt... Die Automate kann sich selbst essen.

Benutzeravatar
sbetamax
User
Beiträge: 494
Registriert: 04.03.2006, 22:01
Wohnort: Deutschland / Hessen / Nidda
Kontaktdaten:

Re: USB-VDrive-Interface und internes HRG-RAM - Die Sparvers

Beitrag von sbetamax » 06.04.2011, 20:16

Hallo Jens,
genau die Version sollte es sein.

Und siehe da es geht. Warum kann ich nun nicht genau sagen.

Ich bekomme die Info angezeigt und es ist nun 3.62 drauf. Dir geht auch.
Laden ging mit dem winzig 1Gb Stick leider nicht. Aber mein alter Kingsten 1GB funktioniert bestens. Laden und Schreiben kein Problem. Nun muß ich die Platine wider an den Bildschirmadapter löten und das "Gehäuse" fertig machen. (loch feielen)

Hallo Oliver, macht es Sinn eine neuere Firmware zu installieren?
Gruß Stephan
_______________
ZX80 (nachbau), ZX81, ZX 2000, ZX NU, IQ8300, ZX Spectrum, ZX Spectrum plus, ZX Spectrum 128, Harlequin, C64

holmatic
User
Beiträge: 123
Registriert: 13.10.2009, 23:53
Wohnort: Bremen

Re: USB-VDrive-Interface und internes HRG-RAM - Die Sparvers

Beitrag von holmatic » 06.04.2011, 20:29

Hallo Stephan,

Erstmal Glückwunsch zu den ersten Signalen!

Bei mir habe ich 3.68 auf dem VDRIVE, nach Info des VDRIVE-Herstellers könnten damit Unverträglichkeiten mit einigen USB-Sticks behoben worden sein. Ob's für den winzig-Stick auch hilft weiß ich nicht. Ausprobieren ist wohl sinnvoll - man sollte nach Jens' Anleitung ja immer wieder zurückgehen können.

Oliver

Benutzeravatar
sbetamax
User
Beiträge: 494
Registriert: 04.03.2006, 22:01
Wohnort: Deutschland / Hessen / Nidda
Kontaktdaten:

Re: USB-VDrive-Interface und internes HRG-RAM - Die Sparvers

Beitrag von sbetamax » 06.04.2011, 20:43

Hallo Oliver,
danke für den Tipp. Klingt ja gut.
Ich hab die Seite von dem Hersteller durchgewühlt. Irgendwie finde ich den Treiber nicht. Hast du mal einen Link?
Gruß Stephan
_______________
ZX80 (nachbau), ZX81, ZX 2000, ZX NU, IQ8300, ZX Spectrum, ZX Spectrum plus, ZX Spectrum 128, Harlequin, C64

holmatic
User
Beiträge: 123
Registriert: 13.10.2009, 23:53
Wohnort: Bremen

Re: USB-VDrive-Interface und internes HRG-RAM - Die Sparvers

Beitrag von holmatic » 06.04.2011, 20:57

http://www.ftdichip.com/Firmware/Precompiled.htm


Dort dann die VDAP-Reflash Datei.

Benutzeravatar
sbetamax
User
Beiträge: 494
Registriert: 04.03.2006, 22:01
Wohnort: Deutschland / Hessen / Nidda
Kontaktdaten:

Re: USB-VDrive-Interface und internes HRG-RAM - Die Sparvers

Beitrag von sbetamax » 06.04.2011, 21:34

Hallo Oliver,
noch mals Danke!

Hier mal das Bin für das ROM das ich im ZX2000 verwende:
Dateianhänge
zx2000_TTL usbV4.zip
(20.23 KiB) 347-mal heruntergeladen
Gruß Stephan
_______________
ZX80 (nachbau), ZX81, ZX 2000, ZX NU, IQ8300, ZX Spectrum, ZX Spectrum plus, ZX Spectrum 128, Harlequin, C64

Benutzeravatar
sbetamax
User
Beiträge: 494
Registriert: 04.03.2006, 22:01
Wohnort: Deutschland / Hessen / Nidda
Kontaktdaten:

Re: USB-VDrive-Interface und internes HRG-RAM - Die Sparvers

Beitrag von sbetamax » 12.04.2011, 22:20

Moin,
ich habe nun etwas mit dem 3,68 rumgetestet. Funktioniert super! Nun geht auch der Mini USB Stick und auch ein 8GB von Maxell der nicht wollte.

Nur einmal bekam ich nach "I" links oben auf dem Bildschitm "CF" BRAKE brachte dann lauter "B" auf dem Schirm erst als der Bildschirm voller "B"'s war reagierte er wieder.
Gruß Stephan
_______________
ZX80 (nachbau), ZX81, ZX 2000, ZX NU, IQ8300, ZX Spectrum, ZX Spectrum plus, ZX Spectrum 128, Harlequin, C64

Benutzeravatar
sbetamax
User
Beiträge: 494
Registriert: 04.03.2006, 22:01
Wohnort: Deutschland / Hessen / Nidda
Kontaktdaten:

Re: USB-VDrive-Interface und internes HRG-RAM - Die Sparvers

Beitrag von sbetamax » 18.04.2011, 20:39

Hallo Oliver,
mir ist da noch was aufgefallen.
Ich hab da so ein kleines Programm zum Laufzeit testen. Da ist eine Schleife drinnen.

20 FOR N=1 TO 100
30 PRINT AT 1,1;N
40 NEXT N

Zu erst hab ich sie per MEFISDOS auf das Flasch gespeichert.
Und zurück geladen. Und getestet.

Dann auf USB kopiert.
Alles vor dem treffen. Funktioniert so wie es soll.

Gestern Abend noch ein bischen damit rum gespielt, läuft.
Beim aptippen auf den Power 3000 ist mir dann etwas merkwürdiges in Zeile 20 aufgefallen.
20 FOR N=1 TO 1 TO 0
Das Programm läuft damit ganz normal. :shock:
In der Zeile 20 wurde aus 0 TO, Nach einem gekippten Bit sieht es nicht aus.
Dann hab ich es verbessert und unter eine anderen Namen gespeichert. Geht, ein paar mal gespeichert und irgendwann konnte ich es nicht mehr laden.
Ich hab den Stick mal unter Windows geprüft. Alles ok es ist der kleine 1GB. Ich werde mal weiter testen und auch mal einen anderen testen.

Hast du eine Idee? Ich hab an der Schaltung einen 0,1µ F Kondensator und nicht weit davon entfernt einen 10µ Kondensator. Kann es sein das die Spannung ein bricht? Habe leider zu Hause kein Oszi.
Gruß Stephan
_______________
ZX80 (nachbau), ZX81, ZX 2000, ZX NU, IQ8300, ZX Spectrum, ZX Spectrum plus, ZX Spectrum 128, Harlequin, C64

holmatic
User
Beiträge: 123
Registriert: 13.10.2009, 23:53
Wohnort: Bremen

Re: USB-VDrive-Interface und internes HRG-RAM - Die Sparvers

Beitrag von holmatic » 19.04.2011, 22:06

Hallo Stephan,

ich habe mein Vdrive gestern mal einige Stunden mit einem Basic-Programm gequält, welches sich selber abspeichert, immer wieder neu lädt und erneut startet. Das zeigte nach einigen tausend Ladezyklen und diversen Speicherzyklen keinerlei Probleme (Versionen 1.04+3.68, USB-Stick von Trekstor).

Ich denke 0,1µF keramisch plus 10µF Elko zum Abblocken sind voll ausreichend. Kritisch könnte ansonsten noch die Zuleitungslänge zum Interface und zum Vdrive sein, da auf der Taktleitung keine großen Reflektionen auftreten dürfen. Alles unterhalb 30cm würde ich aber als unbedenklich ansehen.

Benutzeravatar
sbetamax
User
Beiträge: 494
Registriert: 04.03.2006, 22:01
Wohnort: Deutschland / Hessen / Nidda
Kontaktdaten:

Re: USB-VDrive-Interface und internes HRG-RAM - Die Sparvers

Beitrag von sbetamax » 19.04.2011, 23:34

Hallo Oliver,
danke für den Test.
Ich hab auch mal eine schleife programmiert. Laden geht ohne Ende. Speichern nur wenige mal, dann ist es vorbei.
Die Leitung vom Interface zum Vdrive ist ca 12 cm lang. Die Leitung von der CPU zum Interface eher etwas länger. Insgesamt sind es dann fast 30cm. Ist das so schon im kritischen Bereich? Oder meinst du jeweils 30 cm.
Dann werde ich an Ostern sicherheitshalber mal die Leitungen etwas kürzen.
Gruß Stephan
_______________
ZX80 (nachbau), ZX81, ZX 2000, ZX NU, IQ8300, ZX Spectrum, ZX Spectrum plus, ZX Spectrum 128, Harlequin, C64

Antworten