Hallo Besucher, der Thread wurde 22k mal aufgerufen und enthält 112 Antworten

letzter Beitrag von FXXS am

Fragen zum DTV Flashen

  • Zitat

    Ob DAS dann wiederum auf ROM umschaltet um die Load-Routine des ROMs zu benutzen wäre allerdings (neben dem Akkubetrieb mit einem def. Akku) die nächste Hürde ....


    Tut es, soweit ich weiss. Dann müßte man eventuell TLRs Flashtool umbauen. Eventuell wäre er dabei sogar behilflich, der ist normalerweise sehr hilfsbereit.

  • Dann müßte man eventuell TLRs Flashtool umbauen. Eventuell wäre er dabei sogar behilflich, der ist normalerweise sehr hilfsbereit.

    Klingt auf jeden Fall machbar - vom Aufwand her mal ganz abgesehn.
    Auch wenn der Erfolg bei der ganzen Geschichte eher ungewiss ist: DAS wäre dann eine schöne Aufgabe für den Coder TheRyk :whistling:


    ICH mache das lieber mit dem Lötkolben und dem GALEP, da gibts für mich weniger Unbekannten und der Zeitaufwand für mich ist überschaubarer ;)

  • Interessant wäre, ob "Save" noch geht. Wenn ja, [...]

    Und wenn nicht, könnte man über Prüfsummen den Fehler eingrenzen, z.B. so:

    Code
    1. 0 b = 10 * 4096:rem basic
    2. 1 b = 14 * 4096:rem kernal
    3. 2 for p = 0 to 31
    4. 3 for i = 0 to 255
    5. 4 s = s + f * peek(b + p * 256 + i)
    6. 5 f = f + 1
    7. 6 next
    8. 7 print s;
    9. 8 s = 0:f = 0
    10. 9 next

    Ausgabe für Basic:

    Code
    1. 3981647 3033396 2653269 3710358
    2. 3707240 4174987 3702506 3756593
    3. 3639007 3586280 3711427 3661482
    4. 3711533 3349961 4093101 3884375
    5. 3580877 3511665 3962666 3926092
    6. 3781093 3701953 3635463 3899245
    7. 3739967 3438289 3493167 3593887
    8. 3954697 3577135 3868981 3754048

    Ausgabe für Kernal:

    Code
    1. 4012253 3742780 3731211 3864432
    2. 3331251 4624335 4576894 4637287
    3. 4578529 4541509 4113705 3742417
    4. 2569073 3957374 4409664 3963004
    5. 3095670 4110165 4245761 4209587
    6. 4325873 4493180 4280140 4708909
    7. 3870522 4440209 4449681 4225191
    8. 4324946 4350753 3613348 3797021

    Ich hab es in VICE laufen lassen, die Werte gelten also für Standard-ROMs.

  • Da mich MacBacon (vielen Dank) auf ein Fehlerchen hingewiesen hat (in seinem Code wurde jeweils das erste Byte einer Page mit Null multipliziert wegen Variable F), habe ich es angepasst wie folgt:

    Code
    1. 0 b=10*4096
    2. 22 forp=.to31:s=.:f=1:fori=.to255
    3. 24 s=s+f*peek(b+p*256+i):f=f+1
    4. 26 next:prints" ";
    5. 28 s=.:f=.:next


    Ergebnisse (immer zuerst WinVICE DTV, dann mein real DTV)
    1. BASIC-ROM
    BASICROM_CHECKSUM_VICEDTV.pngBASICROMRYKSDTV.JPG
    2. KERNEL-ROM
    KERNEL_CHECKSUM_VICEDTV.pngKERNELRYKSDTV.JPG
    Also ich entdecke keine Abweichungen der Prüfsummen. Starke Sache, das, die ROMs sind also - aller wahrscheinlichkeit nach - in Ordnung :)


    Nur blöd, dass man jetzt wieder so schlau ist wie vorher. :nixwiss:


    Woher kann dieses Verhalten denn sonst noch rühren?
    Einschalten/Reset -> Blue Screen/Ready -> Direktmodus
    LOAD"$" bzw. LOAD"$",8 -> kurzes aufflashen von "SEARCHING FOR" --> -> Blue Screen/Ready -> Direktmodus


    Für Eure Ideen und Tipps bedanke ich mich wie immer schonmal im Voraus!

  • Also ich entdecke keine Abweichungen der Prüfsummen. Starke Sache, das, die ROMs sind also in Ordnung :)

    nimm mal das originale DTV-ROM aus dem Vice und wiederhole mal den Test im DTV-Vice. Schaun wir mal, ob die Prüfsummen da auch gleich sind.


    Hast Du eigentlich immernoch den defekten Akku mit drin ?


    EDIT:

    Einschalten/Reset -> Blue Screen/Ready -> Direktmodus

    Sollte nach dem Einschalten nicht automatisch das DTVSlimIntro kommen ?

  • Hmh. Wobei da mein ROM ja auf WinVICE läuft, fand ich es naheliegend, erstmal das zu nehmen, so doof war das gar nicht.


    Aber zur Sicherheit: das "normale" DTV-ROM liefert auf WinVICE BASIC:

    Code
    1. 4014665 3059422 2673944 3738707
    2. 3736284 4205929 3732115 3787391
    3. 3668076 3615026 3741525 3690621
    4. 3739533 3374907 4124537 3914800
    5. 3608979 3540987 3993084 3956051
    6. 3811282 3730709 3664333 3929755
    7. 3769383 3466265 3521879 3623300
    8. 3986415 3605326 3900047 3784316
    9. ready.


    und fürs KERNEL

    Code
    1. 4043428 3772319 3760539 3895224
    2. 3357348 4643263 4612551 4673325
    3. 4614771 4578125 4146940 3771991
    4. 2594687 3983916 4410945 3994074
    5. 3122118 4140923 4278235 4241833
    6. 4359859 4528191 4313944 4384726
    7. 4538765 3896583 4342859 4259423
    8. 4321720 4362134 3641582 3826868


    Sehe auf Anhieb keinen Unterschied.


    Nicht immer über Akkus nörgeln, ich hatte die durchgemessen, lagen alle bei 1,2 +/- 0,1, also doch deutlich sinnvoller als sich die Tastatur mit Oneway 6 Volt zu grillen.

  • Nicht immer über Akkus nörgeln, ich hatte die durchgemessen, lagen alle bei 1,2 +/- 0,1, also doch deutlich sinnvoller als sich die Tastatur mit Oneway 6 Volt zu grillen.

    o.k. , mache ich nich mehr :P


    in meiner dtvlist.txt (welche zum Erstellen des ROM-Files ja die Programme und deren Reihenfolge festlegt) ist dtvslimintro an erster Stelle:


    und im Index-File von dtvslimintro_dtv.zip steht

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


    Du kannst auch mal folgendes versuchen:

    Code
    1. load"intr*",1
    2. run (oder "sys 2061")


    hast Du zufällig auch das tlr-flashtool ins ROM-File mit rein genommen ?
    könnte man dann vielleicht auch so starten:

    Code
    1. load"flashtoo*",1
    2. run (oder "sys 2069")


    EDIT:
    Ich hab Dir mal meine dtvslimintro_dtv.zip mit drangehängt.

    Code
    1. dtvslimintro_dtv.zip
    2. MD5: 2406E53A543D907DBBBB981A8A6A466E
    3. dtvslimintro.prg
    4. MD5: BB9080D8A06D1BA1503EF9CB31A6A280
    5. index.txt
    6. MD5: 07EEDF4D4A52BEB99F6364A864C5B0A4
  • Meine LIST sieht so aus:


    Bloß komme ich ja mit LOAD einfach immer nur wieder in den Blue Screen, egal, was ich versuche.


    PS: Sagt jetzt nicht, es liegt an den 16 Minuszeichen, die bei mir fehlen

    Code
    1. .\Programme\dtv-basic.dtv,----------------,49152,58260


    die hielt ich für eine Krücke beim Browsen, am WinVICE wie gesagt auch kein Problem

  • PS: Sagt jetzt nicht, es liegt an den 16 Minuszeichen, die bei mir fehlen

    neee, die hab ich nur als Trenner zwischen Tools und Games eingebaut ....


    EDIT:
    funzt ein "sys 64738" ??

  • funzt ein "sys 64738" ??

    Das wollte ich auch gerade vorschlagen - im VICE-DTV kommt dann wieder erst das DTV-Intro, und das wird ja wohl kaum im Kernal enthalten sein. Also ist evtl. das falsch geflasht, nicht das Kernal-ROM. Deshalb wird irgendwann ein BRK ausgeführt und damit kommt der Basic-Warmstart, aber auf einer Maschine, die nicht vollständig vom Kernal initialisiert wurde.
    Stimmen die LOAD/SAVE-Vektoren bei $330 und $332?

  • man könnte folgendes versuchen, um wieder Zugriff auf das Floppy-Laufwerk zu bekommen:


    Code
    1. sys64931:sys64789:sys65371
    2. sys58451:sys58402:new
    3. load"$",8
    4. list

    das macht so halbwegs das, was die reset-routine macht (ist noch ausbaufähig ...)
    wäre schön, wenn die letzten beiden Befehle funzen ;)


    Meine Vermutung ist, daß durch das Flashen der ganzen kleinen Stückchen beim Flashen/Zuordnen der Buffer-Adressen was schief gegangen ist und beim Sprung ins Intro kommt Grütze raus (oder wie Du schriebst - ein BRK). Sollte aber nach einem BRK nicht ein normales LOAD funzen ? OK, die Vektoren - hast Recht ! Die obigen sys-kommandos setzen u.a. auch die io-vektoren zurück.

  • Reset per Direktmodus habe ich natürlich auch schon probiert,
    SYS64738 bringt kurz black screen, dann wieder Blue Screen, Direktmodus, Eingabeaufforderung. Sieht irgendwie so aus, als WOLLTE er das Intro anschmeißen und verreckt dabei

    Zitat

    for i = 816 to 819:print peek(i):next
    rem auf x64dtv kommt:
    48
    247
    51
    247


    ja, tut es auch auf meinem DTV.

    Zitat

    wäre schön, wenn die letzten beiden Befehle funzen


    Nee, keine Änderung durch SYS-Orgie zu provozieren.


    Allmählich deutet einiges drauf hin, dass sich das Teil mal wieder auf den Weg an die Ostsee macht, um nun doch gebraten zu werden. Macht halt gern Urlaub in good old S.-H., dieser DTV, erst bei Mactron in Flensburg, Zwischenstop in Kiel jetzt noch einen schönen Altweiber-Sommer bei G.I. Joe in Lübeck.


    Bin auch das alles hier durchgegangen:
    http://jledger.proboards.com/board/4/dtvhacking?q=bricked


    Aber mit meinem Latein am Ende, was ich noch machen könnte. Wir konnten hier im Fred nun einiges ausschließen. Schätze mal, MacBacon hat recht, dass irgendwo im Bereich Intro der Hase im Pfeffer liegt. Aber wenn mir jetzt niemand erzählt, wie ich vom Direktmodus aus den Schreibschutz deaktiviere und das Intro neu code, hilft nur der Versuch, per Kabel zu flashen, oder? Und dann am besten das komplette ROM nochmal, dabei kräftig Daumen drücken und danach nie wieder DTV flashen. ^^


    PS: Falls wirklich das FlashTool angepasst werden soll/muss:

    Zitat

    ...Ob DAS dann wiederum auf ROM umschaltet um die Load-Routine des ROMs zu benutzen...


    Tut es, soweit ich weiss. Dann müßte man eventuell TLRs Flashtool umbauen. Eventuell wäre er dabei sogar behilflich, der ist normalerweise sehr hilfsbereit.


    Klingt auf jeden Fall machbar - vom Aufwand her mal ganz abgesehn.
    Auch wenn der Erfolg bei der ganzen Geschichte eher ungewiss ist: DAS wäre dann eine schöne Aufgabe für den Coder TheRyk


    Ich denke mal, NOTFALLS würde ich mich da reinhacken, aber eher würde ich Ulis Rat folgen und direkt TLR fragen, nicht dass am Ende eine "Brick-your-DTV easily" Version dabei rauskommt ;)

  • Setz den LOAD-Vektor doch einfach mal auf den Standardkernal-Wert. Der DTV-Kernal wird doch, um kompatibel zu sein, nicht das Original-LOAD verändert, sondern nur eine kurze Wrapperfunktion davor gesetzt haben (der andere Vektor deutet jedenfalls darauf hin).

  • Die Idee ist gut, also gesagt, getan.


    Es passiert folgendes:
    Liest man die gepoketen Werte aus, sind sie auch tatsächlich verändert
    Nach LOAD"$" oder auch LOAD"$",8
    wie gehabt: SEARCHING FOR flackert auf -> Blue Screen Direkt Modus
    Liest man die gepoketen Werte jetzt direkt nochmals aus, sind sie wieder auf DTV Werte zurück :/


    Edit:
    Sollte man nochmal ZeroPage und Pages $02 und $03 aulsesen?

  • Code
    1. 5 p=3:print"S";:rem clearscreen
    2. 10 forx=.to15:s=.:fory=.to15
    3. 20 s=s+peek(p*256+x*16+y):next
    4. 30 print"page"p"area"x*16"to"x*16+15,s
    5. 40 next


    Ergibt für Zeropage (Reihenfolge: X64 / VICE-DTV Standard-ROM / Ryk's DTV)
    WINVICEX64_page0.pngWinVICEDTV_page0.pngrykDTVp0.JPG