SDRIVE Next Generation

1, 2

Re: SDRIVE Next Generation

von kbr » Do 19. Jun 2014, 21:25
Snatchbit hat geschrieben:Nach dem flashen des bootloaders den ATmega in das SDrive gesteckt, eingeschaltet und er fing sofort an die beiden Dateien (SDrive.eep und Sdrive.hex) zu flashen.


Dann hattest du zufällig die SDrive.bin wohl auch auf der Karte, denn nur diese wird vom Bootloader erkannt. Da sind quasi beide vereint und mit einer Prüfsumme versehen.

Beim drücken vom Reset passiert folgendes:
Alle Leds gehen aus.
Rote Led geht wieder an.
Grüne LED blinkt kurz.
Alle 4 gelben LEDs gehen an. (Bootdrive)


Dann tritt das Problem wohl nur ohne Bootloader auf.

Das einzige was mich Persönlich ein bischen stört ist die Aufteilung bzw. Statusmeldungen der Leds. Da bin ich der Meinung man könnte das ein bischen Informativer gestalten durch eine andere Aufteilung.


Ja mal überlegen...

Bei der Demo ist noch ein anderes Problem aufgetaucht und zwar kann die Demo nur mit einem Laufwerk umgehen. In der Demo kommt dann der Hinweis "Flip your Disk and wait a moment" Also beide Disks von dem gleichen Laufwerk laden. Geht das bei SDrive auch schon irgendwie (2 Images auf ein Laufwerk laden und dann bei Bedarf umschalten wie A+B Seite von einer Floppy) ?


Das müsste schon gehen, indem man die beiden Images z. B. in D1 und D2 lädt, und dann einfach über den Switch-Right-Knopf auf D2 umstellt. Dann wird quasi D1 und D2 getauscht. Analog geht das mit D3 und D4. Also immer jeweils das Image, welches aufleuchtet, wird mit D1 getauscht.

Läuft die Verbindung zur Sio auch mit Highspeed (Hias Patch)?


Highspeed geht, wenn es das OS anfordert, sonst nicht. Also z. B. mit Turbo Dos. Was Hias da genau gemacht hat, muß ich mir noch anschauen...

Re: SDRIVE Next Generation

von Snatchbit » Fr 20. Jun 2014, 18:24
Dann hattest du zufällig die SDrive.bin wohl auch auf der Karte, denn nur diese wird vom Bootloader erkannt. Da sind quasi beide vereint und mit einer Prüfsumme versehen.


Meinte auch die Sdrive.bin aber stimmt ich hatte alle Dateien auf der Karte.

Das müsste schon gehen, indem man die beiden Images z. B. in D1 und D2 lädt, und dann einfach über den Switch-Right-Knopf auf D2 umstellt. Dann wird quasi D1 und D2 getauscht. Analog geht das mit D3 und D4. Also immer jeweils das Image, welches aufleuchtet, wird mit D1 getauscht.


Hatte es schon ausprobiert und es funktioniert in diesem Fall nicht. Kann es sein das bei der Atari Floppy ein Commando gesendet wird das ein Diskettenwechsel vollzogen wurde. Die grüne Led ist ständig leicht am leuchten bzw. sehr schnelles blinken der Led was man aber nicht mehr sieht. Wechsel dann über den Switch-Right-Knopf auf das andere Laufwerk aber es passiert nichts weiter.Der genau Wortlaut ist "Flip Your Disk AUTO LOAD IF DISKSIDE IS RIGHT".

Aber ich habe es dann doch noch hinbekommen und zwar man wechselt das Laufwerk über den Switch-Right-Knopf bevor man die Demo auswählt. Dann läd er auch direkt das 2 Image.

Re: SDRIVE Next Generation

von kbr » Fr 20. Jun 2014, 19:56
Das klingt sehr interessant, sowas hatte ich bislang noch nie gesehen. Kannst du mir die Images mal zukommen lassen, oder einen Download-Link, das würde ich mir nämlich gerne mal näher anschauen...

Prinzipiell ist es sicher irgendwie möglich, die Verriegelung abzufragen, der Kontakt geht ja auch nur auf einen IO-Port, aber das geht dann natürlich nur mit der echten Floppy, denn von diesem IO-Port weiss das SDrive ja nichts :( Aber mal sehen, vielleicht kann man da ja was reinhäcken...

Re: SDRIVE Next Generation

von Snatchbit » Sa 21. Jun 2014, 08:41
Hi,

hier mal ein Link mit Download von der Demo: http://www.page6.org/pd_lib/demos/pd_thebigdemo.htm

Mit Select auf Digi Musix gehen und dann Start drücken. Dann kommt ein neues Menue mit den 2 Digi Musik Files eines dann mit Start auswählen. Dies ist auch die Demo die Schreibzugriffe verlangt.

Re: SDRIVE Next Generation

von kbr » Sa 21. Jun 2014, 14:55
Hm seltsam, bei mir kommt da immer nur "FLIP YOUR DISK - PRESS START TO CONTINUE!" mit einer echten Floppy und am SD2IEC. Für's SDRIVE muß ich erst in den Keller gehen...

Wenn ich aber versehentlich von Seite B boote, dann kommt auch "FLIP DISK AND WAIT A MOMENT!". Die XF551 läuft dabei kontinuierlich weiter, bis man die Disk gewechselt hat, aber dann passiert nichts weiter. Das funzt also nur mit einer echten 1050, übler Hack.

EDIT: Ok, daß die XF551 nicht so ganz kompatibel ist, ist ja bekannt. Die Status-Register kommen ja z. T. direkt vom WD2793, den die XF aber nicht hat.

Am SD2IEC sieht man schön, daß in dem Moment ständig der Befehl $53(Get Status) an die Floppy geschickt wird. Ich vermute, daß er hier das "Not Ready" Flag, oder "Motor on" Flag überwacht, aber die Antwort von der Floppy seh ich leider nicht. Damit kann ich aber mal bischen rumspielen...

Re: SDRIVE Next Generation

von kbr » Sa 21. Jun 2014, 16:02
Hm seltsam, bei mir kommt da immer nur "FLIP YOUR DISK - PRESS START TO CONTINUE!" mit einer echten Floppy und am SD2IEC. Für's SDRIVE muß ich erst in den Keller gehen...


Also am SDRIVE gleiches Verhalten, was ist bei dir anders?

Allerdings scheint mir diese Demo schon sehr hardwarespezifisch programmiert zu sein, die ersten beiden Music-Demos z. B. laufen bei mir am 600XL mit 64K auch nicht, da friert das Menü ein. Daher weiß ich nicht, ob es sich wirklich lohnt, da weiteren Aufwand reinzustecken. Gibt mir ein 2. Beispiel, wo das auftritt, dann mach ich's :)

Re: SDRIVE Next Generation

von kbr » Sa 21. Jun 2014, 17:03
Das mit dem Schreibzugriff ist auch sehr seltsam, er schreibt da nämlich nicht wirklich auf Disk, sonst würde auch die rote LED aufläuchten, sondern an Tracks ab $8000 :?: Das wird nur mit Fehlern quittiert, aber möglicherweise gibts irgendwelche Speeder, die sowas unterstützen, und dann ins eigene RAM schreiben, k. A.

Re: SDRIVE Next Generation

von kbr » Sa 21. Jun 2014, 17:41
Ein Blick in den Debugger verrät mir nun auch, daß er hier wie vermutet das Motor-Flag prüft:

Code: Alles auswählen
0631: 20 50 06  JSR $0650   ;->Get Status
0634: AD EA 02  LDA $02EA   ;DVSTAT
0637: 29 10     AND #$10
0639: D0 EE     BNE $0629


Wartet, bis Motor aus geht.

Code: Alles auswählen
0643: 20 50 06  JSR $0650   ;->Get Status
0646: AD EA 02  LDA $02EA   ;DVSTAT
0649: 29 10     AND #$10
064B: F0 EE     BEQ $063B
064D: 4C 77 E4  JMP $E477   ;COLDSV


Wartet, bis Motor wieder an geht, und macht dann Reset.

Das wäre schon irgendwie zu implementieren, müsste man halt über einen Timerinterrupt lösen, aber ein gewisser Aufwand wäre das schon...

Re: SDRIVE Next Generation

von CharlieChaplin » Sa 21. Jun 2014, 18:22
Nun,

bei der 1050 gibt es eine Hebelabfrage, die man (so man möchte) in eigenen Programmen nutzen kann. Der AMC hat dazu mal eine Demo released, namens 1050-Write-Switch-Demo, eigentlich eine Demo für den Schreibschutzschalter vom AMC, die aber auch die Hebelstellung der 1050 u.a. Dinge anzeigt.

Die "Big Demo" von HTT war tatsächlich ursprünglich für die 1050 gedacht und hat wohl die Hebelabfrage genutzt, es gibt aber einen Patch dafür (wurde glaube ich auch einmal in einem Abbuc Magazin released), wodurch diese Demo auch mit der XF laufen sollte (und vermutlich auch mit anderen Laufwerken oder SIO-Geräten)...

Re: SDRIVE Next Generation

von kbr » Sa 21. Jun 2014, 18:51
Dann hab ich wohlmöglich schon die gepatchte Version, da bei mir die Abfrage ja nur noch auf der Rückseite kommt. Also lohnt sich der Aufwand wohl eher doch nicht...

EDIT: Im Emulator klappt das übrigens auch nicht :mrgreen:

Re: SDRIVE Next Generation

von Snatchbit » Sa 21. Jun 2014, 20:51
Hi,
Sorry, wusste nicht das es mehrere Versionen von der Demo gibt. Den Link hatte ich auf die schnelle mal herausgesucht. Dann hab ich wohl noch die alt Version bei mir gefunden. Falls noch Interesse besteht kann ich die ja zumailen.

Re: SDRIVE Next Generation

von kbr » Mo 23. Jun 2014, 00:22
Ne passt schon, das hat sich ja nun geklärt.

Re: SDRIVE Next Generation

von kbr » So 29. Jun 2014, 22:48
kbr hat geschrieben:Somit funzt meins jetzt auch, bis auf den Reset, da kann er die SD-Karte nicht mehr initialisieren, blinkt 1x rot. Geht das bei dir?

Könnte an dem externen Ladekondensator liegen, den hab ich mir nämlich auch gespart, weil der AVR das eigentlich schon intern hat, aber dadurch ergeben sich natürlich längere Verzögerungen. Ich vermute, daß hier bei mir die Pause nicht lang genug ist für die SD-Karte, aber das krieg ich auch noch in den Griff.


Nein, Timingproblem war es keins, es lag an einer ungünstigen Reihenfolge der Initialisierung der Ports. Dadurch wurde dann fälschlicherweise bereits ein Clock-Impule erzeugt, was die Karte aber nur störte, wenn sie bereits initialisiert war.
Der Bootloader hat das kaschiert, weil er die Initialisierung bereits richtig gemacht hat, und dadurch dann kein Pegelwechsel mehr stattgefunden hat.

Bei der Fehlersuche bin ich aber noch auf ein anderes, unschönes Verhalten gestoßen, und zwar geht der Data-Out Pin von der SD-Karte direkt zum AVR, und dort ist dann der interne Pull-Up aktiviert. Dieser geht an seine 5V, das sollte jedoch nur 3,3V sein! Es wäre daher besser, dort einen externen Pull-Up nachzurüsten, und den Internen dann abzuschalten. Da dies aber dann eine Abhängigkeit zwischen Software und Hardware darstellt, weiß ich noch nicht, ob ich diesen Schritt machen soll?
Das SIO2SD und das SD2IEC machen es übrigens genauso falsch, von daher scheint es wohl nicht wirklich ein Problem zu sein. Ich messe da ca. 3,8V, die sich da einstellen bei High-Pegel, und der Pull-Up im AVR hat 10K, also wirklich viel Strom fliesst da nicht.

Re: SDRIVE Next Generation

von kbr » Di 3. Nov 2015, 01:30
Hi,

hier gibts auch mal wieder was Neues, und zwar kann man jetzt auch neue Disk Images erstellen mit der Firmware V1.3. Gibts wie immer hier:

http://www.kbrnet.de/projekte/sdrive-ng/index.html

Viel Spaß damit!

Klaus

Re: SDRIVE Next Generation

von Snatchbit » So 8. Nov 2015, 20:03
Hi,

Super. :notworthy: Werde es demnächst mal testen.
1, 2