Hallo Besucher, der Thread wurde 11k mal aufgerufen und enthält 9 Antworten

letzter Beitrag von stevedee78 am

HowTo: DTV per SD2IEC flashen

  • Flashen des DTV per SD2IEC


    Vorwort:


    Immer wieder wird gefragt, wie es möglich ist, ein DTV per IEC-Port (Disketten-Anschluss) zu beschreiben.
    Nicht jeder kann oder mag sich ein DTV-Transkabel basteln oder sich durch die vielen, meist englischsprachigen Anleitungen im Internet durchkämpfen.
    Da sich SD-Karten-basierende Massenspeicher-Lösungen wie z.B. das SD2IEC mittlerweile immer mehr verbreiten, dachte ich es wäre an der Zeit eine Anleitung speziell für diese Zeilgruppe zu schreiben.


    Ich übernehme keinerlei Schadenersatz für Schäden an Hard und Software. Ihr 'flashed' auf eigenes Risiko.



    Voraussetzungen:


    Folgende Hardware wird benötigt:


    - Windows-kompatibler Rechner mit XP (sollte jedoch auch auf anderen Windows-Plattformen funktionieren)
    - C64-DTV V.2 / V.3, gemoddet mit:
    a. Keyboard-Mod: http://picobay.com/dtv_wiki/index.php?title=Keyboard_port
    b. IEC-Floppy-Mod: http://picobay.com/dtv_wiki/index.php?title=IEC_port
    c. SST-Flash-Mod: http://www.kahlin.net/daniel/dtv/sstfix.php (nur bei SST-Flash-Baustein)


    - SD2IEC am Serialport http://www.c64-wiki.de/index.php/SD2IEC



    Folgende Software wird benötigt:


    - dtvmkfs.exe ( Download hier: http://symlink.dk/nostalgia/dt…dtvmkfs-win32bin-0.91.zip
    - dtvslimintro ( Download hier: https://viceplus.svn.sourcefor…limintro/dtvslimintro.prg
    - flash1.0 ( Download hier: http://www.kahlin.net/daniel/dtv/flash/flash-1.0.zip
    - dtvrom.bin ( im Ordner C64DTV von VICE)
    - x64dtv.exe (aus WinVice, Download hier: http://vice team.org/
    - die gewünschten Programme welche auf's DTV geflasht werden sollen.
    Eine Auswahl von angepassten Spielen findet man z.B. hier: http://symlink.dk/nostalgia/dtv/fixed/




    Erstellen eines neuen Flash-Images per dtvmkfs:


    1. Wir erstellen einen Ordner und kopieren folgende Dateien hinein:


    - dtvmkfs.exe
    - dtvslimintro
    - dtvrom.bin
    - die gewünschten Programme welche auf's DTV geflasht werden sollen.



    2. Jetzt erstellen wir in diesem Ordner mit dem Editor eine Batch-Datei, z.B. mit dem Namen ' make_flash1.bat '
    und folgendem Inhalt:


    Code
    1. dtvmkfs -1lddki dtvrom.bin @files.txt -H "mactron's dtv"


    Diese Datei dient später dazu das erstellte Flash-Image bequem im VICE zu testen.



    3. Eine zweite Datei wird in diesem Ordner mit ähnlichem Inhalt und dem Namen ' make_flash2.bat ' erstellt.


    Code
    1. dtvmkfs -2lddki dtvrom.bin @files.txt -H "mactron's dtv"


    Diese Datei rufen wir erst ganz am Ende unserer Arbeit auf, wenn das erstellte Flash-Image zufriedenstellend im VICE funktioniert.
    Der Parameter -2lddki bewirkt, daß das Flash-Image nun in 2 Teile aufgesplittet wird und per SD2IEC in den Flashbuffer des DTV geladen werden kann.



    4. Wir erstellen eine weitere Datei mit dem Namen files.txt. Diese Datei enthält ein Liste mit den Programmen die wir in unser DTV flashen wollen.


    Dabei gilt folgende Syntax: dateiname.endung,name im flash,ladeadresse,startadresse,endung im flash
    Beispiel:

    Code
    1. minestorm.prg,MINESTORM,,2061,prg

    (die Ladeadresse kann in den meisten Fällen ignoriert werden, daher wurden hier einfach 2 Kommata eingetragen)
    Beispiel:

    Code
    1. moonpatrol_dtv.zip

    (die Files aus dem Spiff-Repository sind gepackt und alle Parameter bereits im Archiv hinterlegt)


    An erster Stelle in der Datei files.txt sollte das dtvslimtintro stehen.
    Syntax:


    Code
    1. dtvslimintro.prg,INTRO,,0,PRG,NOLIST


    (Anm.: Der Parameter NOLIST bewirkt, daß das File nicht in der Programmliste von dtvslimintro aufgeführt wird. Der Name INTRO muss zwingend verwendet werden, damit das DTVSlimIntro automatisch gestartet wird.)


    Beispiel für eine files.txt Datei:




    5. Wenn alle gewünschten Dateien in der Datei 'files.txt' eingetragen sind kann die Batchdatei make_flash.bat ausgeführt werden.
    So sieht das dann aus, wenn alles richtig gemacht wurde:
    bild1.jpg


    Diese Batch-Datei erzeugt in dem oben erstellten Ordner eine Datei mit dem Namen flashfs.bin welche wir direkt im DTV-Emulator des VICE-Emulators ausprobieren können.
    Dazu wählt man im x64dtv - Menü 'file -> DTV flash rom image -> attach flash rom file' unser soeben erstelltes Flashfile flashfs.bin an.
    Das Slimintro mit einer Liste unserer gewählten Programme sollte erscheinen. Jetzt hat man die Gelegenheit alle Programme ausgiebig zu testen.
    Erst wenn alles wie gewünscht funktioniert, sollte man mit dem nächten Punkt, dem Flashen beginnen.


    (Anm.: Bei meiner alten x64dtv-Version von Winvice musste das Image jeweils vor dem 'attachen' einmal 'detached' werden damit nachträgliche Änderungen am Flashfile angezeigt wurden.)




    Flashen des DTV mit Flash1.0:


    Zuerst erstellen wir mit unserer o.g. Batchdatei ' make_flash2.bat ' die beide Teile des Flash-Images, T000000.bin und T100000.bin und kopieren sie auf die SD-Karte ins Stammverzeichniss. Dann kopieren wir das Flashprogramm flash.prg ebenfalls auf diese SD-Karte ins gleiche Verzeichnis. Nachdem wir die Karte korrekt am PC ausgeworfen haben, stecken wir sie in unser SD2IEC welches am DTV angeschlossen ist und starten das DTV mit gedrückter linker strg-Taste um ins Basic zu gelangen.
    Jetzt laden wir das Flash-Programm mit load "flash",8,1 und starten es mit Run


    Nachdem wir die Sicherheitshinweise gelesen und mit Space quittiert haben landen wir im Hauptmenü des Flashprogramms.
    Jetzt wird die Taste L gedrückt um den ersten Teil des Flash-Images in den Buffer zu laden.
    Wir wählen den ersten Teil des Flash's (T000000.bin) aus und laden diesen in den Buffer.
    Folgende Parameter geben wir also an:
    FILENAME : T000000.bin , START OFFS $000000 und RAW DATA Y
    Der Ladevorgang dauert 'etwas'.
    bild2.jpg



    Dann entfernen wir den Schreibschutz für den Low-Mem Bereich mit dem Befehl: W im Hauptmenü.
    Folgende Meldung bestätigen wir mit Y.
    ACHTUNG: damit ist es möglich den DTV zu bricken, ihn also funktionslos zu machen, falls etwas schiefgeht
    bild3.jpg



    Als nächstes schreiben wir den Buffer in den Flash-Speicher.
    Dazu drücken wir die Taste P im Hauptmenü.
    Als Programm-Range für den ersten Teil geben wir als Startdresse $000000 und als Endadresse $100000 ein.
    Nach der Bestätigung mit Y beginnt der Flashvorgang und die Bildschirmausgabe sollte in etwa wie unten aussehen.
    ! Achtung: Während des Flashvorgangs keinesfalls die Stromversorgung unterbrechen, das könnte u.U zu einem irreparablen Schaden am DTV führen !
    bild4.jpg



    Nachdem der Flashvorgang für den ersten Teil abgeschlossen ist, wird der zweite Teil geladen und geflasht. Dazu gehen wir analog wie oben vor mit dem Unterschied, das jetzt natürlich das zweite Flashfile (T100000.bin) in den Buffer geladen werden muss und an die Startadresse $100000 geflasht wird.
    Achtung ! Das zweite Flashfile wird wieder an die Buffer-Startadresse $000000 geladen.
    Also L im Hauptmenü drücken und folgende Eingaben tätigen:
    bild5.jpg



    Jetzt wird der zweite Teil des Flash Images in den Buffer geladen. Geduld haben und abwarten bis die Operation abgeschlossen ist.
    Nachdem wir mit einer beliebigen Taste wieder in das Hauptmenü zurückgekehrt sind drücken wir die Taste P um den zweiten Teil zu flashen.
    Wir geben folgende Parameter ein:
    Start: $100000
    End: $200000
    und bestätigen mit Y


    Nach Beendigung des Vorgangs kehren wir mit einer beliebigen Taste in Hauptmenü zurück.


    Herzlichen Glückwunsch ! Dein DTV ist erfolgreich geflasht, viel Spass.




    Danksagungen:


    Mein herzlicher Dank für die o.g. Soft-/Hardware geht an:


    - TLR
    - Spiff
    - Roland
    - Vice-Team
    - Jeri
    - Unseen


    / by Mactron 2013


    eof

  • Das Programm Minestorm.prg wird unter dem Namen 'MINESTORM' im Flash abgelegt. Die Start-Adresse des Programms ist bei dezimal 2061, es bekommt die Endung PRG im Flash. Die Startadresse kann natürlich von Programm zu Programm variieren. Bei Programmen mit Basic-Startzeile kann die Ladeadresse wegelassen werden, bei Programmen ohne Basiczeile auch :P Nur bein Bin's muss die Ladeadresse angegeben werden.

  • Zuerst erstellen wir mit unserer o.g. Batchdatei ' make_flash2.bat ' die beide Teile des Flash-Images, T000000.bin und T100000.bin

    Bei mir erstellt die Batchdatei nur die T000000.bin. Was läuft da falsch?



    Kann ich trotzdem flashen?

  • Bei mir erstellt die Batchdatei nur die T000000.bin. Was läuft da falsch?

    versuche mal das so zu machen:


    dtvmkfs -2ldddddki dtvrom.bin @dtvlist.txt -H "Gero's DTV"

  • Hallo, die T000000.bin reicht zum flashen. Eine Frage noch wie flashe ich ein Image was ich mit dtvedit erstellt habe? Die Flashfs.bin (mit dtvmkfs erstellt) läuft nicht richtig in VICE (X64DTV) z.B DTVTRANS startet nicht sowie DTVDETECT auch nicht. Ändere ich mit DTVedit die Startadressen auf $0100 läuft alles bestens.


    im Anhang ein Screenhotdtvmkfs.png

  • Sei vor allem vorsichtig, dass du keine VICE KERNAL ROMs flashst, damit hätte ich mir meinen DTV mal fast gebrickt, man darf sich dann mit ROMRAM-Trick (!) das KERNAL im Direktmode selber wieder so poken, dass man überhaupt Drive Zugriff hat, will man eher nicht!

  • ist jedenfalls ein heisses eisen...und bei mir ewig her. aber ich hab diesen bereich meines wissens auf dem dtv nach dem kernal patchen nicht mehr angerührt. das image, was ich mit dtvmkfs erstellt hatte, habe ich in zwei hälften gespeichert und ausschliesslich den inhalt mit menu und spielen zurückgeflasht. allenfalls noch das alternate kernal... alle angaben ohne gewähr!!


    DTVFS-Edit: So habe ich ohne DTVTrans mein DTV geflasht!