Posts by amithlon

    Auch keine Ahnung ;)
    Ne, im Ernst, vorige Woche hat mich irgendsoein Infekt erstmal ziemlich kaltgestellt...


    Zum Stand: ich hatte ja irgendwo am Amfang mein Testprogrammgerüst angehängt.
    Was ansteht, ist jetzt etwas Fleißarbeit und für mich auch C-Übung...
    Stand ist immernoch, daß FAT-Routinen, Display, Encoder und Debug-UART drin sind und laufen.
    Auswahl eines D64-Images und bestätigen mit Taste listet die ersten 256 Byte des Track 18.


    Jetzt ist dran: D64-Track-Encode fertig machen (G64 wäre einfacher, aber unübersichtlicher testbar und D64 muß sowieso rein).
    Also 8k Track-Buffer für den Track einrichten
    512Byte Buffer für SD-Daten einrichten.


    Dann Sektor-Loop bauen, also 3x Sync in Trackbuffer, mit den aktuellen Zeigern beider Buffer entprechend oft im Loop GCR-Encode aufrufen.
    Das ist logischerweise auch noch nicht da, es muß 4Byte aus dem SD-Card-Buffer holen, diese GCR-encoden und in den Trackbuffer schreiben.
    So den Sektorheader encoden, dann 4 GAP Bytes in den Outbuffer (muß ich noch schauen, ob die immer reichen).
    3x Sync für Datenblock, im Loop dann den Dateblock encoden
    GAP-Bytes zum nächstrn Sektor-Header-Sync und dann von vorn.
    So alle Sktoren des Tracks bereit stellen.
    Ich muß bloß schaueh, daß ich das in C halbwegs ordenlich hinbekomme, in ASM wäre es wohl nur ein Abend...
    Ich lasse mir den Trackbuffer dann mal per UART ausgeben und schau mal rein, ob es glaubwürdig ausieht.


    Wenn das steht (wollte ich eigentlich schon fertig haben), mache ich aus dem Steckbrettaufbau erstmal Lochraster, um die Leitungslängen an der Floppy in Grenzen zu halten.
    Dann eben Drähte ran und die Ausgabeschleife des Trackbuffers fertig machen.
    Also SOE und MotorOn abfragen und entsprechend Buffer im Kreis ausgeben. Wenn Sync im Buffer -> Sync setzen, bei erstem Byte danach Sync wegnehmen und nach Bytezeit Byteready für eine Bitzeit setzen. Das läuft mit der Bytezeit der Hardware der Floppy.
    Das schaue ich mir dann nochmal mit dem LA an bzw. im Rom-Code.


    Eigentlich sollte der 64er dann ein Direktory anzeigen können...


    Falls jemand da Lust hat praktisch mit zu tun, gerne.
    Ich bringe dann mein Chaos auf den für mich sinnvollen Stand und hänge das hier nochmal an.
    Die meiste Zeit verbinge ich da leider damit, C-Struktur hinzubekommen, Obiges müßte sicher in ein eigenes C-File mit ordentlichem Headerfile für die Sachen, die zwischen Filsesystem und Trackbuffer ablaufen. Da kommt dann sicher auch G64 rein usw.
    Genauso müßte wohl alles, was zwischen Trackbuffer und Floppy-Hardware passiert, in ein Modul.
    Ich programmeire gern hardware-nah, da sehe ich keinerlei Probleme, das Zusammenspiel mit der 1541 in Gang zu bekommen.
    Für mich wird also auch hier C nur Mittel zum Zweck sein, das Zeil zuereichen, weil ich mir ein FAT-Filesysten in ASM schon aus Zeitgründen nicht antun will.
    Ich will auch keine Eierlegende Wollmilchsau, wo jetzt schon 100 Zusatzfunktionen angedacht werden, an denne dann die Zeit verbracht wird, obwohl die Basis noch nicht geht.
    Es wird auch sicher bei mir nur ein ATMega1284D sein, auf dem das läuft, mit einem 2x16 Display und dem Drehencoder.


    Gruß aus berlin
    Michael

    Hallo,


    Eine "richtige" PC-Workbench, also nicht als Emulator, gab es auch schon, nannte sich Amithlon. Es wurde lediglich ein Linux-Kernel und eine Handvoll Treiber von Linux als Unterbau verwendet, darüber war eine 680x0-Emulation und ein vollständiges AmigaOS 3.9. Das lief ganz hervorragend, leider gab es dann irgendwelche Klagen von Amiga, Inc. und die Sache wurde eingestellt.


    naja, was da genau zwischen AInc, Bernd Meyer und Harald Frank ablief, wird wohl keiner mehr aufdröseln wollen...
    H&P mit seinem Versuch, die QNX-Version unbedingt unter die Leute bringen zu wollen usw.



    Es gibt noch inoffizielle Kernel-Updates, um Amithlon auf neueren PCs zu installieren, aber auf legalem Wege bekommt man seit 15 Jahren kein Amithlon mehr. Sehr, sehr schade, denn das wäre bei konsequenter Weiterentwicklung heute sehr viel weiter und nutzbarer als Aros oder AmigaOS 4.x. Ich habe hier noch einen alten (11 Jahre) PC mit einer Amithlon-Installation. Läuft sehr gut.


    ich habe mal unter http://www.roehres-home.de/amithlon/ den Ordner meiner alten inoffiziellen Amithlon-Seite hochgeladen, sollte eigentlich fast alles aufrufbar sein.
    Sind u.a. ein paar Benchmarks bei, meine erste Version von AmiTV (WinTV mit BT848 unter Amithlon in AmigaE geschrieben).
    Der Kram hätte soviel Potenzial gehabt...
    Statt dessen wurden neue Games programmiert, die mit RTG nicht klarkamen, neue Software, die möglichst noch auf einem nicht erweiterten A1200 lief, die Kleinkriege um ppc.library und Warp gepflegt,
    Endlosdiskussionen um TD64 und NSD geführt usw.
    Wer da Langeweile hat, kann ja bei google-groups mal auf de Suche gehen.
    Das ist nun schon 13 Jahre her, die Parameter von Amtithlon (Speicherdurchsatz usw.) dürfte mit halbwegs aktueller PC-Hardware jede sogenannte "neue Amiga-Hardware" unter ferner liefen landen lassen.


    Gruß aus Berlin
    Michael

    Das Layout spielt auf jeden Fall zuverlässig bei mir.
    Du wirst vermutlich Probleme bekommen, wenn nicht noch jemand ein hex oder bin-File der alten 0.6.?? für den Mega 32 hat.
    Das waren die letzten 32k-Versionen, ab 0.7 mußte es mindestens ein 64k (644) sein.


    Ich habe einen 644P drauf mit der 1.0.0alfa, läuft alles, was ich benutze.
    Komischerweise lief aber keine Mega1284 Version bei mir, warum auch immer.


    Kannst Du einen Meag644 auftreiben? Dann hättest Du wahrscheinlich keine Probleme.


    Gruß aus Berlin
    Michael

    Was soll er da mithören? Es gibt da nichts außer der Aufforderung der C64-Software an den User, Diskette xy einzulegen und wenn man das macht und bestätigt, versucht die 64er Software eben das gewünschte zu laden. Die Floppy weiß von all dem nichts.
    Man kann die Diskettenseiten eines Games z.B. in einen Unterordner legen. Dann ist die Auswahl auf dem Display ohnehin nur zwischen diesen Files, aussuchen, Taste drücken, Disk liegt drin.


    Gruß aus Berlin
    Michael

    Ich will die Widerstände auch nicht in Abrede stellen, ich habe mir in mehr als 30 Jahren IC-Kram nur viel öfter beim Testen die Finger an einem Bauteil verbrannt und das Bauteil hat überwiegend besser überlebt als mein Finger...
    Ich will nur sagen, daß Potenzialdifferenzen zwischen Schaltungsteilen fast immer für einen Ein-/Ausgang tödliche endeten, Überlastungen aber kaum.
    Alles auf Bastelprojekte bezogen, wo man den Blick ohnehin ständig auf den Baugruppen hat und zumindest ich bei unerwartetem Verhalten generell auf Erwärmung teste und im Zweifel eben erstmal alles abschalte.


    Das ging auch speziell an Diddl und seiner Hardware-Anmerkung, nur keine Hemmungen eben. ;)


    Gruß aus Berlin
    Michael

    übliche ICs, auch VIA und CIA, sind da viel härter im Nehmen, als man meist meint.
    Bei sich prügelnden Ausgängen gibt es erstmal Wärme wegen relativ hoher Ströme. Ein kompletter Port so festgenagelt, heizt dann merklich besser.


    Bisher sind solche Sachen bei mir wohl immer durch Potenzialdifferenzen gestorben. Sicherstellen, daß alle GND beteiligter verschiedener Geräte fest verbunden sind und nicht das gedankenlose Abziehen des ISP-Steckers die letzte Verbindung trennt. Die Spannungsdifferenz zwischen den Massen von Steckernetzteilen, Schutzleitern und sonstigen Kram, den man benutzt, erreicht durch Entstörfilter usw. ganz schnell 120V.
    Da hilft es nichts, wenn da nur 1-2mA fließen können. Eine durchgeschlagene Sperrschicht im IC ist sofort und dauerhaft kaputt, ein FET/Transistor mit Überstrom ist erstmal ziemlich lange heiß, bis er stirbt.


    Die Angstwiderstände helfen gegen Überspannung garnicht, deshalb baue ich sie fast nie ein.


    Gruß aus Berlin
    Michael

    Wie Du an den Einwänden siehst, hab ich's auch nicht begriffen *schäm*


    Ok, durch den Gleichrichter fällt die Spannung nochmal um ca. 1.4V, oder? Da reicht es nicht mehr als Eingangsspannung für einen 7812.


    Bei 9V Wechselspannung wäre die Spannung nach einem Brückengleichrichter und großem Ladeelko 9 * 1,141 = 12,76V - 2x Flußspannung der Gelichrichterdioden, also -(2*0,7V) = 11,33V
    Das wären also so schon keine 12V, ein 7812 will 2V (max. 2,5V für sich, um regeln zu können, also mindestens 14V.
    Dazu kommen -10% Netzspannungs-Toleranz nach unten und schon ist ein Verdoppler wie im C64 fällig.


    Man sollte beachten: übliche Multimeter messen Sinus-Effektivwerte (denken sie zumindest). Spannungen in irgendwelchen Gleichrichter- oder Verdopplerschaltungen sind das aber nicht, die Messwerte
    weichen also durchaus merklich von der Realität ab.
    Das wissen um solche Zusammenh#nge ist wicjtig, man muß einen Meßwert interpretieren können.
    Hat man es mit älterer Technik zu tun, kommt noch etwas dazu: der Innenwiderstand des Meßgerätes in den Spannungsbereichen (hier heute meist 10MOhm in allen Bereichen).
    Früher (tm) wurde dieser in den Schaltplänen angegeben und wenn da z.B. steht 20kOhm/Volt und ich messe im 50V Bereich, hat das Ding eben 1000kOhm Innenwiderstand.
    Jetzt denke man sich, man misst hinter einem 1MOhm Widerstand von +200V die Spannung gegen - mit dem alten Meßger#t und mit dem aktuellen...


    Gruß aus Berlin
    Michael


    Gruß aus Berlin.


    Mit Magnetisierungswechsel 1 und ohne 0 ^^


    Naja, war ich doch ziemlich dicht dran? :(
    Eigentlich logisch, wie soll sonst ein Sync mit lauer Einsen gehen...



    Wobei Byte_Ready nur erzeugt wird wenn CA2 vom VIA HIGH ist. Das muss auf jeden Fall sein weil sich die Firmware darauf verlassen wird. Die Synchronisierung von Byte_Ready mit dem Bit-Takt vom Taktteiler kann man sich hingegen u.U. sparen.


    Ich hänge am Wochenende den LA nochmal ran und schaue mir das an.
    Wenn ich den Track 18 um Ringbuffer liegen habe und zyklisch ausgeben kann, dann löte ich die 1541 an den AVR.
    Steckboard wird dann gegen Lochraster getauscht, damit die Leitungen erstmal nicht unnötig lang werden.



    Thorsten
    Ok, ich hab mich unpräzise ausgedrückt. Im Prinzip setzt amithlon eine Theorie um, die bei mir (seit ich die 1541U2 gekauft habe) im Kopf rumspukt. Mangels Wissen hätte ich mich aber nicht getraut, das öffentlich zu machen und das Projekt wäre vermutlich mitsamt einer oder zwei verhunzten 1541 in der Schublade gelandet.
    Ich hab größten Respekt vor Leuten, die einfach die Ärmel hochkrempeln und machen!


    Naja, AVR, Steckboard, Lochraster, Lötkolben, AVR-Dragon und STK500 usw. liegen sowieso rum.
    Der Ploppy passiert maximal, was ein Bekannter es in 2 Minuten geschafft hat: VIA breit, CIA breit. Man steckt kein Parallelkabel in den USerort, wenn das serielöl nicht drin steckt UND die Floppy an der (Schutzleiter-)Steckdose hängt UND ein Monitor ohne Schutzleiter am 64er hängt.
    Da hilft auch nicht, daß es alles ausgeschaltet ist, Y-Kondensator und Schutzleiter sorgen treotzdem für rund 120V Spannungsdifferenz zwischen VIA-Daten und CIA-Daten.


    Allerdings sind für mich bis jetzt 64er und 1541 Geräte zum benutzen, Teile habe wir noch da zum reparieren und Ersatz ist einfacher und billger zu bekommen, als ein Betterie-Röhrensatz eines USA-Weltempfängers von 1953, da kontrolliere ich definitiv öfter, ob alles stimmt.


    Gruß aus Berlin
    Michael

    Ich habe sowas ähnliches wie oobdoo.
    Kurzfassung: verzögerungsfreier Durchgangsprüfer mit Piep ist exterm wichtig.
    Nichts ist nervender, als mal einen Kurzschluß oder eine Verbindung auf einer Bastelei zu suchen und entweder immer zum Meßgerät hinschauen zu müssen oder nicht zu wissen, ob man nur zu kruz zum Piepen dran war...


    Transistormessung: braucht kein Mensch. Ob er tot ist, sagt mir auch der Diodentest und die tatsächliche Verstärkung ist zeimelich uninteressant.
    Temperaturmessung: nett, aber wenn ich es wirklich mal brauche, weil mein Finger am 7805 zu ungenau ist ;) , ist sowieso der Sensor verschwunden...


    Böse Falle: Strom messen, 200mA zeigt Überlauf, also auf 5A umgestekct, festgestellt, daß es eben 210mA waren.
    Dann natürlich vergessen, zurückzustecken und die 12V Betriebsspannung nochmal kontrolliert.
    Erzeugt mindestens einen Sicherungswechsel, weil die Messbereich-Umschaltungen an den 5A Buchsen wirkungslos sind, da hängt immer der 5A Shunt dran und der ist nur ein dicker Draht...


    Digitalmultimeter verführen dazu, genauer messen zu wollen, als nötig ist. Wenn das Ding an einem 5V Steckernetzteil irgendwas zwischen 4,9V und 5,1V anzeigt, kann der AVR da ran.


    Gruß aus Berlin
    Michael

    Sollte einfach genug sein, CB2 vom VIA schaltet den Rest der Schaltung zwischen Lesen und Schreiben um.


    Genau, Mode entscheidet darüber, AVR ist immer Eingang, außer Mode = H, dann auf Ausgang schalten.


    Den Rest hast Du ja oben schon schön zusammengefasst.
    ByteReady dürfte genau eine Bitzeit aktiv sein, es wird Zählerstand 7 ausgewertet, freigegeben wird der Zähler, wenn SYNC auf H geht, der nächste Takt der Rückgewinnung nimmt ByteReady wieder zurück.


    Wert will kann gerne Experimente auf der analogen Seite machen, es ändert sich ja nur die Art, wie der Ringbuffer ausgegeben wird.
    Die Pegel für den Leseverstärker passend machen, sollte kein Problem sein.
    Ich müßte jetzt nachsehen, 0-Bit war Flankenwechsel und 1-Bit war keiner?


    Gruß aus Berlin
    Michael

    Noch kurz zu den anderen Anmerkungen:
    Gerrit hat schon richtig angemerkkt: eigentlich kann man mit der Floppy machen, was man will, es muß alles laufen können.
    Schnittstelle ist die zum mechanischen Laufwerk und die an dieses gebundene Elektronik.
    Drehzahl, Stepzeiten, Wartezeiten zur Kopfberuhigung usw. stehen im gegeben Toleranzbereich fest.
    Kein Speeder, Umbau o.ä. kann an diesen mechanischen Grenzen ewas ändern.


    Aufwand: ein AVR, ein Display, ein Drehgeber, ein SD-Slot und 2 Adaptersockel mit Drähten dran ist der maximale Aufwand.


    Lesekopf/Lichtschranke usw: mit einem AVR ist die Bitrate nicht machbar. Außerdem müßten die analogen Signale erzeugt werden, damit die Floppy-Hardware damit klarkommt.
    Der Punkt dazwischen ist günstiger, TTL-Pegel, 8Bit-Paralleldaten statt alles seriell usw.


    Sinn? Keine Ahnung, macht Spaß...
    Das Timing an der VIA müßte es zulassen, mit TriState-Buffern sowhl das LW an die Floppy-Logik schalten zu können (Originalzustand), den AVR an die Floppy-Logik (Emu des Laufwerks durch den AVR) und prinzipiell auch den AVR an das LAufwerk. Dann könnte man auch direkt Floppy rein -> D64/G64 auf SD-Card schreiben oder D64/G64 von SD-Card direkt auf Diskette schreiben.


    Gruß aus Berlin
    Michael

    Alsooooo... ;)
    FAT-Bibliothek ist die von Roland Riegel drin, war für mich übersichtlich, gut lesbar und hat ein paar Debugsachen drin, die mir das Leben leichter machten.
    Drangeknotet ist eine LCD-4Bit-Lib vom Peter Dannecker (war gerade da und meine eigene wäre in ASM gewesen).
    Drehencoder ebenfalls vom Peter, die kommt eigentlich mit allem klar, was sich dreht, auch mit meinem Pollin-Encoder.


    Was geht: MMC/Sd/SHDC zumindest vom 128MB bis 16GB werden erkannt, gelesen und geschrieben.
    Auswahl der Datei per Drehgeber und Anzeige im Display ist provisorisch drin (nur Root, begrenzte Anzahl Dateien usw.).
    Beim Druck auf den Button wird die Datei als Hex-Dump per UART ausgegeben.


    Mein Versuch, "mal schnell" einen Seek auf Beginn Track 18 und ein Ausgeben über UART endete im Moment mit einem File-Open-Error...


    Zur Hardware: prinzipiell muß alles gehen, was wie eine 1541 funktioniert, also die VIA zur Laufwerkssteuerung hat und einen 6502, der SO benutzt.
    Also eigentlich alles...
    Die Umschaltung 1541-LW/AVR liegt erstmal auf Eis, ist kein sonderliches Problem (2-3x 74LS245 o.ä), ist mir nur gerade noch unwichtig und zu fummelig. ;)
    Wenn mein Seek geht, werde ich (oder wer gerne will...) das GCR-Encoding machen und dien Track im Ram aufbauen, also mit allen Syncbytes, GAPs, Header, Daten usw.


    Die VIA bekommt einen Adapersockel, wo Port A und B ziemlich komplett vom AVR bedient wird.


    Der ganze Dateikram ist erstmal unkritsch, weil die 1541-Logik da sowieso denkt, es liegt keine Disk im Laufwerk.
    Dann erstmal MotorOn überwachen und den Rambuffer mit dem Track als Endlosloop rausschieben. Dazu passend Sync, SOE, ByteReady bedienen, das müßte schon reichen, damit ein 64er das Direktory anzeigt.


    Gruß aus Berlin
    Michael



    Ich hänge mal ein Bild des temporären Aufbaus ran, das Archiv mit den Sourcen auch.
    Ist AVR-Studio letzte 4er Version und WinAVR-20100110.
    Ich weiß auch nicht, ob ich da von meinen Gewohnheiten weichen werde, bei mir soll es nur laufen. ;)

    Schimpf doch nicht so auf den armen Z80. ;)
    Der Akku ist nunmal zentrales Register der ALU, nicht nur beim Z80 damals.


    Der 6800 z.B. ein 16Bit Indexregister und 2 8bit-Akkus, 16Bit Stackpointer 8und PC und das wars dann.


    Man muß einen Z80 eben als Z80 nehmen. HL ist Adressregister für alles mögliche, DE teilweise (Blockbefehle), mit einem Befehl kann man DE und HL tauschen.
    BC ist Zählregister, B speziell für kleine Schlefen (DJNZ ist da einfach praktisch).
    Mit PIO/CTC/SIO Vektor-Interrupts, nicht jedesmal abfragen müssen, wer da geklingelt hat, hat auch Vorteile.
    Solange man keine nested Interrupts braucht, reicht ein Tauschbefehl, um den Rigistersatz am Beginn der ISR zu tauschen und am Schluß zurück.


    Natürlich sind die Universalregister nicht so universell, wie es die Hersteller wohl bei allen CPUs behaupten, die Tücken liegen doch immer im Detail.
    Genaiu die Adressierungsart, die man gerade braucht, gibt es auch beim 6502 genau dann nicht und man schaufelt zwischen den Registern um.
    Genauso, wie man sich da schnell dran gewöhnt, was man besser in X und was besser in Y läßt, ist es auch beim Z80.


    Man kann mit dem Z80 und einem 7474 eine Melodieklingel mit mehreren Melodien bauen, nur Eprom und Takt braucht man noch, Ram nicht, die Register reichen.


    Gruß aus Berlin
    Michael

    Die Lochrasterversion entspricht nicht ganz meiner Bauteilanordnung, es dürfte aber mein Schaltplan Pate gestanden haben.
    Ich selbst habe nur noch eine Nordic-Power aus der Zeit und ein 2x Pagefox existiert noch, einmal Lochraster, 1x Leiterplatte.
    Wenn die Leiterplatte durchkontaktiert ist, dürfte sie in Dresden gefertigt worden sein.
    Ein Bekannter hat mir am Freitag noch seine Leiterplatte vom Quickbyte-II mitgebracht, er meinte nur, es wäre wohl damals die Wende dazwischen gekommen. ;)


    Ich habe erst überlegt, den Quickbyte zu bestücken, wenn ich die restlichen Unterlagen noch finde,
    allerdings: die Leiterplatte nicht nicht komplett gebohrt und ob ich da noch Lust habe???


    Gruß aus Berlin
    Michael

    Die Pins verlaufen im Gehäuse als Blechstreifen weiter bis zum Platz in der Mitte neben dem Die. Wenn da eine Ecke warm wird, dann weil sie von unten über die Pins geheizt wird. Dazu muß aber auch der nötige Strom fließen können.
    Wenn ich richtig geschaut habe, ist Pin 1 Phi In und Pin 2 Ready. Keine Ahnung, wie da ein Stromfluß geeigneter Stärke zustandekommen soll.
    Wie sieht denn das Board da von unten aus?
    Welche Spannungen liegen an Pin 1 und 2 überhaupt an?


    Irgendwie ergibt eine Erwärmung der CPU an dieser Gehäusestelle wirklich keinen Sinn.


    Gruß aus Berlin
    Michael

    Nur mal als Frage: haben die eine Typenbezeichnung? Und was heißt Module? Also keine einzelnen ICs?
    Der Grund der Frage: SRAM, 10ns und 5V klingt für mich nach Cache-Rams oder Cache-Ram-Modulen.


    Die sind aber beachtliche Stromfresser.


    Neuere SRAM sind eigentlich nur noch in 3,3V zu finden.


    Gruß aus Berlin

    Hallo,


    vor ein paar Wochen spukte mir eine Überlegung durch den Kopf:
    warum nicht nur das Laufwerk einer 1541 durch eine SD-Card -Lösung ersetzen?
    Die Geschichte wäre theoretisch 100% kompatibel, die Diskette kann sich nicht plötzlich mit anderer Drehzahl drehen, die Bitraten können nicht anders sein, als C= es wollte.


    Dann gab es eine Bemerkung von OlsenG in einem anderen Thread:



    Zum Stand der Dinge: ich will zwischen Original-Laufwerk und SD-Card-Modul umschalten. Das kostet 2 (vermutlich eher 3) 74LS245 o.ä.)
    In der Floppy müssen VIA2 und die CPU gesocklet sein (an der CPU mu nur SO vom Board getrennt und per Leitung zurm VIA2-Pin verbunden werden).


    Das Ding braucht natürlich ein LCD-Display und einen Drehgeber mit Taste als Bedienelemente.
    CPU wird ein AVR ATMega1284P (bei mir auch nur dieser...), weil DIP-Gehäuse und 16k Ram.
    Ich habe mir jetzt erstmal eine SD-Card Bibliothek gesucht, die ich nicht erst nach 3 Monaten Studium verstehe. Display- (2*16 im Momet) und Drehgeber sind dran, alles erstam auf ein Stecjbrett gesteckt, ich hatte diesmal keine Lust, gleich Lochraster zu bemühen.


    Auf der SD-Card Seite baue ich jetzt erstmal nur die minimalren Funktionen zusammen, also die Files aus einem Direktory per Drehgeber anzeigen und mit Tastedruck diese Disk einlegen.
    Vorerst .d64, obwohl .g64 eigentlich Arbeit sparen würde.
    Dieses Handlicng ist völlig unkritsch, die Floppy bekommt vom "Laufwerk" nur mitgeteilt, daß keine Disk drinliegt (bzw. sie merkt das alleine, wenn sie angesprochen wird und weder Sync noch Sektorheader findet).
    Auf SD-Card-Seite muß nach Auswahl des Images der Track 18 gelesen werden, bei .d64 nach GCR codiert und Sync und Sektorheader zusammengebastelt werden.
    Das liegt dann im Ram des AVR (deshalb sind die 16k nötig, dafür gehen schon 8kB drauf) und wenn die Floppy MotorOn setzt, bekommt sie in einem Loop den Track mit den passenden Signalen (Sync, ByteReady usw.) byteweise an die VIA.
    Reagiert werden muß erst wieder, wenn die Floppy entweder den Motor aus macht oder Stepimpulse kommen. Dann müssen jeweis die angefahrenen Trackdaten von der SD-Card in den AVR-Ram gebracht werden und wenn die Floppy dann erwartet, daß Daten kommen, geht es wie oben weiter.
    Das gesammte Timing sieht bisher sehr unkritisch aus, ist je von den mechanischen Parametern des Laufwerkes bestimmt.


    Die Hardware macht mir bis jetzt kein Kopfzerbrechen, außer der Umschaltung ist es nur der Mega1284, SD-Card-Slot, Display und Drehgeber.
    6502 kann ich sowohl programmieren als auch die Romlisting lesen, ich war schon früher immer dicht an der Hardware, deshalb normalerweise auch Assembler bei Bedarf auch mit Takte zählen...


    Wegen der FAT-Routinen ist nun aber C angesagt und das ist nicht unbedingt meine stärkste Seite. Will sagen: ich kann das programmieren, was ich da will, es wird vermutlich für C alles andere als elegant sein und irgendwer wird sicher kommen und mir erklären, daß das nicht ins .c File oder dieses nicht ins .h File gehört.


    Wenn jemand das also interessant findet, sich beteiligen will, kann er das gern machen.
    Schön wäre es natürlich, wenn er eine 1541 zur Verfügung hat, wo CPU und VIA2 gesockelt sind, dann wären da erstmal nur 2 Adapter in der üblichen DIL-Version zu basten, wo divere Leitungen der VIA vom Board getrennt und zum AVR gelegt werden.
    AVR-seitig wäre es schön, wenn er ein 2*16 Display o.ä. verfügbar hätte und einen Drehgeber. Tasten könnte man natürlich auch nehmen, ich möchte aber nicht mit 50 Tastendrücken zu einem File kommen müssen...


    So, ich höre hier jetzt erstmal auf und warte die Reaktionen ab.


    Gruß aus Berlin
    Michael

    Z80 ist so verdammt lang her...
    Ich habe gerade mal versucht, die mul-Tabelle wegzulassen.
    Keine Ahnung, ob ich noch die richtigen Shift-Befehle gefunden habe.


    Ich wollte eigentlich die Laufzeiten abschätzen, habe aber nichtmal eine Tabelle mit den Zyklen-Anzahlen gefunden...



    Gruß aus Berlin
    Michael

    Zitat von »Roderic McBrown«
    Anstelle die 1541 komlett zu emulieren, könnte man noch eine "einfachere" Schaltung bauen die die auf die Laufwerks Elektronik zugreift?


    Das hab ich auch schon oft gedacht. Es wäre schade um die 1541, wenn sie ausstirbt, nur weil die Mechanik irgendwann nicht mehr will. Den Magnetkopf durch eine Simulation/Emulation ersetzen (SD->GCR). Das ganze auf einer Platine im 5,25"-Format und vorne ist ein kleiner Micro-SD-Slot. Man baut diese "Adapter-Diskette" fest in die 1541 ein (rein/raus geht ja nicht wegen der Bauteilen) und gut ist. Ist natürlich, wie das ganze Hobby, ein ziemlicher Blödsinn. Aber ich würde es kaufen.


    Genau über diesen Blödsinn habe ich vor ein paar Wochen nachgedacht...
    Adapter-Diskette geht nicht, es muß ein kleines Display und vermutlich ein Drehgeber ran, um die Images auswählen zu können. Das und der SD-Card-Slot müssen dann irgendwo landen...
    Wenn es da wirklich Interesse gibt, mache ich am Wochenende mal einen Thread in Basteleien auf.
    Basis wird ein Mega 644 oder 1288 werden, ähnlich der SD2IEC.
    Ich plane eigentlich eine Umschaltung Laufwekr / SD-Karte. Ich sortiere noch die nötigen Signale und die AVR-Pins.
    Außerdem muß ich mich wegen der FAT-Routinen mit C rumschlagen, das ist nicht meine starke Seite. ;)
    Vom Timing und möglichen Probleme ist das eigentlich alles sehr entspannt. Könnte vom Prinzip her natürlich nur Disk-Image-Formate nutzen, also .d64 oder .g64.
    Nach Lage der Dinge müssen CPU und VIA2 gesockelt sein.


    Gruß aus Berlin
    Michael