Hello, Guest the thread was called3.1k times and contains 65 replays

last post from kinzi at the

Dead Test Rev 781220 Update 002 bis 004

  • Dead Test ist ja nur zum "warm" werden bei der Diagnostik.

    Dead Test hat einen ganz anderen Fokus als das Diag8k. ;)

  • Alternativ halt auf das Check64 warten.

    Das CHECK64 ist keine Alternative. :D

  • Vermutlich eine doofe Frage, die schon irgendwo beantwortet wurde, aber ich finde irgendwie nichts dazu:

    Die LED (+Vorwiderstand) an Sense kann man ja direkt zwischen Pin 6/F und Masse (A/1) anschließen, aber von Motor (3/C) zur Masse existiert ja bereits ein Pfad über zwei Widerstände des 586220-Diagnosesteckers (typischerweise 320Ohm + 150Ohm -> 470Ohm. wenn man die Diode mit 1k Vorwiderstand parallel dazu anschließt, dürfte das mit der LED schwierig werden. Im Quelltext sieht man, daß auch die Richtung von Write umgeschaltet wird, aber Motor und Write sind im Diagnosekabelbaum ja auch per 150Ohm verbunden. Also von wo nach wo soll die Moto-LED angeschlossen werden. Ode ist es überhaupt nicht möglich, diese Diode mit dem normalen 586220-Diagnosestecker zu verwenden?

  • Wenn wir schon mal dabei sind: ich habe mir den Quellcode der Version 004 angesehen und kann keinen Hinweis finden, daß MOTOR und SENSE überhaupt jemals unterschiedlich (MOTOR!=SENSE) angesteuert werden.

    Ganz am Anfang werden MOTOR und SENSE auf 0 gesetzt (streng genommen auch WRITE) und dann werden MOTOR und SENSE auf Ausgang geschaltet und WRITE auf Eingang.

    Code
    1. lda #$c7 ; xx000xxx : CASS MOTOR = 0, CASS SENSE = 0, CASS WRITE = 0
    2. sta $01
    3. lda #$37 ; xx110xxx : CASS MOTOR = out, CASS SENSE = out, CASS WRITE = in
    4. sta $00

    Danach werden immer nur gleichzeitig MOTOR und SENSE invertiert (0x37 <-> 0x07):

    Code
    1. lda #$30 ; xxMSWxxx : CASS MOTOR = "M", CASS SENSE = "S", CASS WRITE = "W"
    2. eor $01 ; 00110000 ; flip CASS MOTOR and CASS SENSE
    3. sta $01

    Ich kann beim besten Willen keine Stelle finden, wo unterschiedliche Werte in MOTOR und SENSE geschrieben würden.


    Weil ich seit >30 Jahren keinen Assemblercode für einen C64 mehr angeschaut habe, bin ich so seit gegangen, das BIN in ein CRT zu verwandeln, in Vice reinzuladen und zu debuggen:
    Habe mit "break store 1" einen Breakpoint auf das Schreiben auf Adresse 0x01 gesetzt, habe das Programm mit "g" immer bis zum nächsten Breakpoint laufen lassen und mir dann mit "m 0" den Start der Zeropage angeschaut.

    Aber wie schon die Quelltextanalyse ergeben hatte, sind an Adresse 0x1 immer nur die beiden Werte 0x07 (MOTOR und SENSE aus) oder 0x37 (MOTOR und SENSE ein) erschienen.

    Warum also zwei LEDs???

  • Zwei LEDs deshalb, weil ...

    • sie beim Check64 bereits da sind;
    • ja ein Port-Bit des 6510 kaputt sein könnte;
    • der Datassetten-Transistor defekt sein könnte;
    • ...

    Da du den Sourcecode ja schon gefunden hast kannst du ihn ja nach eigenem Gutdünken adaptieren. Wenn du deine Version veröffentlichst nimm bitte meinen Namen aus der Titelzeile raus und setze ein anderes Kennzeichen ein, damit es unterschieden werden kann.


    Übrigens, das mit der LED an CASS MOTOR "ist nicht schwierig", sondern funktioniert; das haben bereits mehrere Leute getestet. Im Check64 ist überdies noch ein Treiber (freie Gatter des 4066) dazwischen. Vielleicht solltest du mal ein wenig weg von der Theorie hin zur Praxis kommen und es einfach ausprobieren. (SCNR)

  • Na ja, im Quellcode steht halt

    Code
    1. ; Startup = light gray CASS MOTOR = 1 ; CASS SENSE = 1 (CPU default)
    2. ; Initial RAM Test = cyan CASS MOTOR = 0 ; CASS SENSE = 0
    3. ; Main Test = (standard) CASS MOTOR = 0 ; CASS SENSE = 1 (swap every TOD clock update)

    Das klang jetzt nicht unmittelbar danach, als würden MOTOR und SENSE immer gleich angesteuert und von redundanter Ansteuerung war auch keine Rede, aber OK.

    Was die Verdrahtung angeht: hast Recht, ich war durch den Diodentest meines Multimeters irritiert.


    Ich habe nicht wirklich vor, meine eigenen Dead-Tests zu veröffentlichen. Aber ich fand es interessant, meinen eigenen zu bauen und habe dafür den Quelltext für das C64Studio angepaßt und eine CRT zum Testen erzeugt. Leider unterstützt C64Studio keine Ultimax-Cartridges, also muß man noch zwei Bytes im CRT-Header patchen. Wäre aber wohl eine Kleinigkeit, das noch einzubauen.

  • Hatte ich dich nicht gebeten, eine andere Kennung zu verwenden, wenn du selbst was rausgibst? Ich hätte bitte gerne, dass das, was "kinzi" im Namen trägt von mir ist.


    Ich hab nämlich keine Lust, Supportanfragen für Dinge zu beantworten, die ich nicht gebaut habe.

  • ist Deine Version,

    Es ist ein neues Archiv. es fehlt meine Beschreibung, meine Version ist für ACME; es hat einen anderen Timestamp -> es ist nicht von mir.


    Wenn ich dich nicht ein Post vorher ausdrücklich darum gebeten hätte, würde ich nichts sagen. Gibt es einen Grund, warum du meiner Bitte nicht nachkommen möchtest?

  • Einen 'fork' ist da nicht sinnvoll.

    Ein Fork kann und soll sein, das ist nicht das Problem. Ich hätte nur gerne, dass es dann anders heißt. Keine Ahnung, was daran nicht zu verstehen ist. :nixwiss:

  • Kriegt Euch wieder ein. In meinem Zip ist nicht mal eine BIN. Es gibt keinen Fork und keine funktionalen Änderungen sondern nur minimale Änderungen am Quelltext, damit man ihn mit C64Studio assemblieren kann.

    Das entstandene CRT entspricht nach dem Header 1:1 dem "offiziellen" Modul. Selbst wenn sich jemand die Mühe machen würde, das CRT zu einer BIN umzupatchen, wäre es also immer noch genau die gleiche Binärdatei wie das Original.

    -> Viel Aufregung um nichts.

  • Kriegt Euch wieder ein

    Ich denke nicht, dass ich dir Gelegenheit für so einen Spruch gegeben habe. Das Urteil, wer hier eine Charakterschwäche zeigt überlasse ich jedem einzelnen. Zur Frage, warum du meine Bitte ignorierst hast du dich noch nicht geäußert. Warum du in deinem 7z-Archiv, das du mit meinem Nick schmückst mein TXT weglässt hast du auch noch nicht erklärt.


    Dass hier jetzt ein "halbes" Archiv mit einem "CRT", das mit C64-Studio erstellt worden ist - welches ich nicht supporten kann, da ich kein Windows verwende - mit meinem Nick versehen zum Download steht stinkt mir.

    Das entstandene CRT entspricht nach dem Header 1:1 dem "offiziellen" Modul.

    Wo genau siehst du den "Bedarf" für ein CRT? Und wieso kann man es dann nicht einfach mit "cartconv" erzeugen?

    -> Viel Aufregung um nichts.

    Ach, weißt du was: *PLONK*.