You are not logged in.

Dear visitor, welcome to Forum64. If this is your first visit here, please read the Help. It explains in detail how this page works. To use all features of this page, you should consider registering. Please use the registration form, to register here or read more information about the registration process. If you are already registered, please login here.

StoneQuader

Nullzeiger

  • »StoneQuader« is a verified user
  • "StoneQuader" started this thread

Posts: 195

Date of registration: Jul 6th 2006

Location: Wuppertal

  • Send private message

member since 72 month member since 72 month member since 72 month member since 72 month

1

Friday, March 25th 2011, 12:25am

Fehler beim DTV-Flashen

Hallo zusammen,

Ich habe gerade versucht, mittels dtvtransplus meinen DTV zu flashen. Kabel ist über Joystickport 2 an den PC(Windows XP) angeschlossen. Autotype und Transfer des DTVTRANS-Programms hat problemlos geklappt, beim Flashen des ersten Blocks kam aber dann schon ein Fehler. Der PC meldet:

Source code

1
2
3
4
5
6
7
8
9
10
11
C:\Dokumente und Einstellungen\Johannes\Desktop\dtvtransplus-1.0>dtvtrans sync "
C:\Dokumente und Einstellungen\Johannes\Desktop\flashdump.bin" "C:\Dokumente und
 Einstellungen\Johannes\Desktop\dtvgames.bin"
transferring flash helper.
going to flash 64k block at $010000 (erase needed)...
transferring block data.
transferring flash helper program options.
flashing block. wait 20 seconds.
checking for errors.
ERROR: got block, chk=$3F (expected $1C)
dtvtrans: Transfer error 


Danach bootete der DTV natürlich nicht mehr, weil der Löschvorgang schon durchgelaufen war. Per Tastatur komme ich noch ins Basic, könnte also theoretisch das Programm nochmal von hand eintippen und einen zweiten Versuch wagen. Gibt es irgendetwas, was meine Chance auf Erfolg erhöhen könnte?

peiselulli

Professional

  • "peiselulli" is male

Posts: 944

Date of registration: Sep 14th 2006

  • Send private message

member since 72 month member since 72 month member since 72 month member since 72 month

2

Friday, March 25th 2011, 9:27am

Quoted

ERROR: got block, chk=$3F (expected $1C)


Das sieht nach einem defekten Kabel aus ...

StoneQuader

Nullzeiger

  • »StoneQuader« is a verified user
  • "StoneQuader" started this thread

Posts: 195

Date of registration: Jul 6th 2006

Location: Wuppertal

  • Send private message

member since 72 month member since 72 month member since 72 month member since 72 month

3

Tuesday, March 29th 2011, 12:21am

Ich habe dann doch mal die 2 Meter Telefonleitung durch ein geschirmtes, kurzes Kabel ersetzt. Dann hab ich mühevoll von Hand das BASIC-Transferprogramm abgetippt (gut, dass ich nicht gleich auf die Idee gekommen bin, was am Kernel ändern zu wollen!) und dtvtrans wieder laden können. Der erste Block ging dann auch durch (gelöscht war er ja schon!) und dann hing das System wieder mit der gleichen Meldung, während der DTV einfach kommentarlos ins BASIC zurückgekehrt ist.

Kaputt kann das Kabel jetzt eigentlich nicht mehr sein - oder? Noch irgendwelche Ideen?

peiselulli

Professional

  • "peiselulli" is male

Posts: 944

Date of registration: Sep 14th 2006

  • Send private message

member since 72 month member since 72 month member since 72 month member since 72 month

4

Tuesday, March 29th 2011, 12:26am

Versuch mal bei dtvtrans die Option "-f"
Das bedeutet "force pre 1.0 protocol"

Langsamer, aber eventuell sicherer.

CrazyIcecap

- Teilelieferant der Connected ;)

  • "CrazyIcecap" is male
  • »CrazyIcecap« is a verified user

Posts: 2,406

Date of registration: Jan 31st 2006

Location: Stiepelse

  • Send private message

member since 72 month member since 72 month member since 72 month member since 72 month

5

Tuesday, March 29th 2011, 6:20am

Wenn alle Stricke reissen, könntest Du z.B. mit nem SD2IEC und dem Program "Flash" alles direkt zurückspielen. Damit habe ich meinen Kernal getauscht, weil das Kabel bei mir absolut nicht lief.
Elektrogeräte werden mit Rauch betrieben. Kommt der 'raus, ist das Gerät kaputt.

Der Norden lebt RETRO !
! [connected] 12 - 31.05. bis 02.06.2013 !

StoneQuader

Nullzeiger

  • »StoneQuader« is a verified user
  • "StoneQuader" started this thread

Posts: 195

Date of registration: Jul 6th 2006

Location: Wuppertal

  • Send private message

member since 72 month member since 72 month member since 72 month member since 72 month

6

Tuesday, March 29th 2011, 7:06pm

-f habe ich jetzt ausprobiert. Hat leider auch nicht viel gebracht. Der PC bringt zwar jetzt keine Fehlermeldung mehr, aber der DTV ist nach dem zweiten Block abgestürzt. Das BASIC-Transferprogramm kenne ich bald auswendig :-)

Wenn alle Stricke reissen, könntest Du z.B. mit nem SD2IEC und dem Program "Flash" alles direkt zurückspielen. Damit habe ich meinen Kernal getauscht, weil das Kabel bei mir absolut nicht lief.


Wenn das so weitergeht, löte ich wirklich nachher noch die IEC-Anschlüsse an den DTV. Dann muss ich wenigstens nicht immer wieder dieses Transferprogramm tippen...

Muss ich vielleicht noch irgendwas an meinem PC einstellen? Den Parallelport-Modus im BIOS vielleicht? Oder ist der für dtvtrans irrelevant?

StoneQuader

Nullzeiger

  • »StoneQuader« is a verified user
  • "StoneQuader" started this thread

Posts: 195

Date of registration: Jul 6th 2006

Location: Wuppertal

  • Send private message

member since 72 month member since 72 month member since 72 month member since 72 month

7

Tuesday, March 29th 2011, 8:24pm

So - ich war nun erfolgreich. Als Hilfestellung für andere, die auch auf dieses Problem stossen sollten, hier meine Lösung.

Wie zuvor schon beschrieben, stürzte das Flash-Programm auf dem DTV immer nach einem Block ab. Beim nächsten Versuch wurde dann der darauffolgende Block geflascht usw. Also bin ich davon ausgegangen, dass das Problem wohl beim Löschen des Flash-Chips lag. Ich habe in meinem DTV übrigens einen Atmel AT47BV161T. Folgendermaßen bin ich vorgegangen, um den DTV nun zu flashen:

1. Starten des DTV mit gedrücker STRG-Taste der PS2-Tastatur.
2. BASIC-Loader abtippen (boot.txt, liegt bei dtvtrans+ bei)
3. erst mlboot, dann dtvtrans laden. (Vgl. dtvtrans-Doku)
4. Das DTV FLASH UTILITY (http://picobay.com/dtv_wiki/index.php?title=Flash_utility) laden und starten: dtvtrans load "flash.prg" + run
5. mit ERASE RANGE den Flash ab &010000 bis &1F0000 löschen (ACHTUNG! Unbedingt die Adressen beachten. Damit kann man sich leicht den DTV zerstören!)
6. DTV resetten, STRG gedrückt halten, um ins Basic zu kommen
7. Im Basic per SYS53000 wieder zu dtvtrans wechseln
8. DTVTRANS nochmal neu laden: dtvtrans load "dtvtrans_joy2.prg" + run (Wichtig, weil man sonst nicht flashen kann)
9. Flashen mit vorbereitetem (und mit VICE getestetem) Flash-Image: dtvtrans -f sync newflash.bin

Viel Erfolg beim Nachmachen. Und ich übernehme natürlich keine Garantie für eure kaputtgeflashten DTVs.

giox

Beginner

Posts: 1

Date of registration: Jan 31st 2008

  • Send private message

member since 54 month member since 54 month member since 54 month

8

Thursday, March 31st 2011, 2:16pm

I had same errors with my Parallel port C64 DTV Transfer cable.
Better to use the following USB based solution
http://lallafa.de/blog/dtv2ser/arduino

1570

Professional

Posts: 1,258

Date of registration: May 1st 2007

Location: D

  • Send private message

member since 72 month member since 72 month member since 72 month member since 72 month

9

Wednesday, April 6th 2011, 9:06pm

Danach bootete der DTV natürlich nicht mehr, weil der Löschvorgang schon durchgelaufen war.

Also gehangen hat er da beim Holen des Flash-Ergebnisses (Ok/Fehler) vom DTV mit einem Prüfsummenfehler (beim Transfer der paar Bytes mit dem Ergebniscode, sehr komisch). Auf dem DTV sollte der Block erfolgreich gelöscht und neu geschrieben worden sein. Es würde helfen, da zu wissen, was *genau* auf DTV-Seite zu sehen war. Evtl. lief noch nicht wieder die DTV-Seite von DTVTrans, als die PC-Seite den nächsten Transfer machen wollte, dann wäre aber interessant zu wissen, was der DTV die ganze Zeit gemacht hat.

Neben "-f" kannst Du auch "-n" ausprobieren, wie es auch im Wiki steht.

StoneQuader

Nullzeiger

  • »StoneQuader« is a verified user
  • "StoneQuader" started this thread

Posts: 195

Date of registration: Jul 6th 2006

Location: Wuppertal

  • Send private message

member since 72 month member since 72 month member since 72 month member since 72 month

10

Wednesday, April 6th 2011, 11:29pm

Es würde helfen, da zu wissen, was *genau* auf DTV-Seite zu sehen war.

In der Regel ein BASIC-Prompt auf blauem Grund. Manchmal aber auch ein halber dtvtrans-Bildschirm in seltsamen Farben und ein Basic-Prompt irgendwo mitten auf dem Screen. Manchmal aber auch einfach gar nichts und das System hängt.

Und wie gesagt: Das Problem tritt nur auf, wenn der zu beschreibende Block nicht leer ist. Löscht man vorher das Flash, läuft der Schreibvorgang komplett durch.

1570

Professional

Posts: 1,258

Date of registration: May 1st 2007

Location: D

  • Send private message

member since 72 month member since 72 month member since 72 month member since 72 month

11

Thursday, April 7th 2011, 10:30am

Danke. Sehr komisch. Das Programm, was "in" DTVTrans+ das Flash bzw. die einzelnen Blöcke löscht, ist ja auch einfach nur TLRs "Flash", also das gleiche Programm, mit dem Du da das Flash von Hand gelöscht hast. Und bei den meisten Leuten funktioniert DTVTrans+ inkl. Löschen ja richtig (bei mir u.a. auch mit dem gleichen Flash-Chip). Gleichzeitig bist Du anscheinend nicht der einzige mit genau diesem Problem. Jedenfalls weiß ich leider eben mal schnell auch nicht weiter; falls Du mal wieder an der Stelle bist und Zeit hast, würde ein Video vom Laden von DTVTrans+ bis zum Fehler, am besten mit beiden Bildschirmen sichtbar, evtl. helfen.

DerSchatten

Nichts hält länger als ein Provisorium

  • "DerSchatten" is male
  • »DerSchatten« is a verified user

Posts: 4,053

Date of registration: Jul 9th 2005

Location: Wien

Marketplace entries: 1

  • Send private message

member since 90 month member since 90 month member since 90 month member since 90 month member since 90 month

12

Thursday, April 7th 2011, 2:01pm

Ich hatte das gleiche Problem.
Bei mir ist die Software am DTV auch nach jedem Block schreiben ausgestiegen und ich mußte sie neu laden.
Meine RetroComputer-Sammlung
--------------------------------------------
10 PRINT CHR$ (205.5 + RND (1)); : GOTO 10

twinpeaks

DTV Quereinsteiger

  • »twinpeaks« is a verified user

Posts: 92

Date of registration: Oct 18th 2011

Marketplace entries: 1

  • Send private message

member since 18 member since

13

Sunday, February 19th 2012, 4:52pm

Hi,
bin gerade dabei meinen DTV zu flashen und bin ebenfalls über dieses Problem gestolpert. Genaugenommen sind es bei mir sogar zwei.
1.) Mir ist aufgefallen, dass dtvtrans+ nach der Anzeige von "flashing block. wait 20 seconds." NICHT 20 s wartet sondern sofort mit "checking for errors." weitermacht, was dann fehlschlägt.
Ein Blick in den Source zeigt bei mir (Win XP, Pentium 4, 3 GHz) einen Überlauf beim Aufruf von

Source code

1
2
3
static USleep sleeper;
...
sleeper.usleep(20000000);

in main.cpp. Wenn man das ändert in

Source code

1
2
3
static SSleep sleeper;
...
sleeper.sleep(20);

geht zumindest das mal.

2.) Auch bei mir fliegt der DTV nach jedem Block, der gelöscht wird, zurück ins BASIC. Wenn man da aber schnell RUN eintippt, läuft es weiter und der Speicher wird geschrieben.
Blöcke, die ohne Löschen auskommen, laufen durch.

Ein anschließendes Auslesen des kompletten Speichers zeigt, dass alles korrekt geschrieben wurde.

Gruß,
twinpeaks
"Eingeschlafene Piloten bedeuten eine Gefährdung für die Flugsicherheit."
Jörg Handwerg, Sprecher der Vereinigung Cockpit

1570

Professional

Posts: 1,258

Date of registration: May 1st 2007

Location: D

  • Send private message

member since 72 month member since 72 month member since 72 month member since 72 month

14

Sunday, February 19th 2012, 6:26pm

2.) Auch bei mir fliegt der DTV nach jedem Block, der gelöscht wird, zurück ins BASIC. Wenn man da aber schnell RUN eintippt, läuft es weiter und der Speicher wird geschrieben.
Blöcke, die ohne Löschen auskommen, laufen durch.

Mach' mal ein Video von. Wann wie genau kommt das BASIC-Prompt? Nach dem Löschen, vor dem Programmieren?

Das mit dem sleep hilft auf jeden Fall schonmal weiter... kein Wunder, dass das bei mir unter Linux problemlos lief ;) .

twinpeaks

DTV Quereinsteiger

  • »twinpeaks« is a verified user

Posts: 92

Date of registration: Oct 18th 2011

Marketplace entries: 1

  • Send private message

member since 18 member since

15

Sunday, February 19th 2012, 11:19pm

Bitteschön, hier hab ich ein kurzes Video. Es zeigt das Flashen des letzten Blocks $1C0000 - $1D0000. Er fliegt nach oder während des Löschens raus (bei ca. 12s), nach Eingabe von RUN flasht er dann diesen Bereich. Währenddessen wartet DTVTrans seine 20 Sekunden.

twinpeaks
"Eingeschlafene Piloten bedeuten eine Gefährdung für die Flugsicherheit."
Jörg Handwerg, Sprecher der Vereinigung Cockpit

1570

Professional

Posts: 1,258

Date of registration: May 1st 2007

Location: D

  • Send private message

member since 72 month member since 72 month member since 72 month member since 72 month

16

Monday, February 20th 2012, 9:50pm

Danke! Anscheinend rennt er da nach dem Löschen des Blocks, aber vor dem Programmieren, in einen NMI oder sowas. Sehr komisch. Ich habe blöderweise keine Hardware mehr hier, um nochmal zu schauen. Ich habe mir ein flash_auto zusammengepatcht, was das Testen sollte (die Flash-Parameter sind da einfach Konstanten), das läuft aber im Emulator wie geplant durch... insofern weiß ich auch nicht weiter, leider. Kannst Du mir die dtvtrans.exe mit dem sleep(20) zuschicken? Dann packe ich die noch ins Wiki, ebenso wie den "RUN"-Tipp, das ist ja auch schonmal was.