Beiträge von Larry

    Letzte Woche liefen leider die Punter Transfers nicht mehr (außer mit CGTerm so halbwegs), da das TC64 nicht in den 1MHz Modus geschaltet wurde.

    Da hatte ich leider den Umschaltcode verbuggt. Dank der Tipps hier aus dem Forum ist das nun zum Glück erledigt.

    Der Turbo Modus wird nun im richtigen Moment deaktiviert und nach dem Transfer wieder aktiviert. :)


    Als nächstes müsste ich nun noch das letzte Update von darkvision 's cbmscsi Copy in die Version für's BBS übertragen und 1x durchtesten.

    Das spare ich mir aber für den Montag auf. Jetzt ist erst mal Wochenende :)

    Hallo zusammen,


    ich versuche per ASM den Turbomodus vom TC64 zu steuern, d.h. an oder aus zu schalten.

    Im Handbuch ist dazu die Adresse $D0F3 angegeben. Wenn ich das richtig verstehe, wird über Bit 7 von $D0F3 der Modus geschaltet, wenn das TC64 vorher in den Config Mode ($2a in $D0FE scheiben) versetzt wird.


    Folgenden ML Code habe ich dazu ausprobiert:


    Es lässt sich so der Turbo Modus aber leider damit nicht ausschalten. Sieht man direkt an der Anzeige vom VGA Overlay.

    Was mache ich denn hier falsch ?

    Heute war es endlich so weit, Hardware Umzug !

    Die CMD SuperCPU und das Turbo232 dürfen nach rund 2 Jahren Dauerbetrieb wieder in Rente gehen.


    Ab jetzt läuft das BBS auf einem Turbo Chameleon64 mit Silversurfer Karte auf dem Clockport und ist damit das erste und einzige C64 BBS mit dieser Hardware.

    Damit hab ich nun keine Sorge mehr die teure Hardware zu verheizen. Das TC64 ist eh etwas schneller mit dem BASIC Code als meine SCPU V1, von den Kosten für die Hardware mal ganz abgesehen...

    Die RTC und REU Ramdisk läuft damit auch. Fehlt eigentlich nur noch eine HD oder SD2IEC parallel anschlißen zu können.


    Weiterer Vorteil gegenüber vorher: Viel weniger Platzverbrauch auf dem Schreibtisch.

    Das Problem und die Lösung hat übrigens aus was mit Faulheit zu tun. Sinn und Zweck der Übung war es, für das BBS Programm C*BASE die Tageswerte wie Anzahl Anrufe, Anzahl Nachrichten etc. pp. in einer Datei abzulegen, damit diese im Fall von einem Reboot wieder ausgelesen und verwendet werden. Besser als alle Zähler wieder auf 0 stehen zu haben, bzw. die vor dem Reboot von Hand per POKE in den Speicher zu schreiben.

    An dem vom Gefühl her trivialen Problemchen habe ich nun 3 Abende geflucht.....

    Warum postest du nicht einfach mal das Prorgamm so wie es aussieht, dann muss man nicht rumraten.

    Weil du zu faul bist, das Programm zu posten.

    1. Weil das komplette Programm 40 Blocks groß ist und Sachen enthält die mit meiner Frage nichts zu tun haben und

    2. weil ich tatsächlich zu faul war, da copy / paste mit SDL VICE nicht geht. Und SDL VICE nutze ich deswegen weil GTK VICE mir zu verbuggt ist (z.B. immer wieder den IEC Bus einfriert und damit ein speichern / laden nicht mehr möglich ist).

    Sollte ich nun jemand unnötig Lebenszeit gekostet haben, dann möge man mir das bitte verzeihen.

    Ja denn jetzt geht es. Ich glaube, ich hatte den o.g. Code im VICE dann nicht mehr ausprobiert, d.h. da habe ich noch mit VAL anstatt ASC gearbeitet :platsch:

    Trotzdem danke für die Hilfe.

    Die Datei enthält Werte, also im Prinzip Strings.


    Ich glaube ich habe es gelöst. War schon auf dem richtigen Weg, hatte aber eine Möglichkeit noch nicht probiert.


    Aktuell spare ich mit die Trennzeichen und das abschließende <CR> in der Datei. D.h. es sind nur 10 Bytes im SEQ File.

    Diese lese ich per GET#,i$ aus und hänge je ausgelesenem Zeichen ein chr$(0) an. Das muss wohl sein, da GET# ein Byte mit $00 als Leerstring zurück gibt.

    Um den Wert des Zeichens als Zahl zubekommen und dann in den Speicher per POKE Befehl schreiben zu können, mache ich POKE adresse,ASC(i$).


    Und siehe da, es geht endlich.

    Hallo zusammen,


    ich habe mal wieder eine Frage, und hoffe dass mir jemand weiterhelfen kann.


    Folgendes Problem:
    Ich schreibe in ein SEQ File 10 Werte aus Speicheradressen mit "," ($2c) getrennt und abschließendem chr$(13). Der Inhalt des SEQ Files sieht im Diskmonitor dann so aus:


    $01,$2c,$00,$2c,$01,$2c,$00,$2c,$03,$2c,$04,$2c,$05,$2c,$06,$2c,$07,$2c,$08,$0d


    Soweit so gut.

    Nun versuche ich die Datei wieder auszulesen. Aber alle Versuche mit GET# und INPUT# scheitern.

    Beispiel:

    Code
    1. dim a$(20)
    2. open 8,8,8,"file,s,r":for i=1 to 20:get#8,i$:if i$="" then i$=chr$(0)
    3. a$(i)=i$:next_close 8
    4. // Ausgabe der Werte
    5. for i=1 to 20:print asc(a$(i));:next

    Als Ergebnis bekomme ich nichts angezeigt. Also keine 20 Werte. Gleiches mit val(a$(i))

    Versuche ich per INPUT#8 einzulesen, dann bleibt das Programm stehen.

    Ich hatte gestern noch ein paar Kopierläufe gestartet und dabei festgestellt, dass hin und wieder am Ende das aktive SCSI Gerät nicht auf die Quelle (HD) zurückgesetzt wird.

    Daher kommt es zu einem 77er Error -> Illegal Partition selected, beim CP Befehl, da das JAZ diese Partition nicht hat. Das Programm gibt dann "Disk Error" aus.

    Das JAZ ist aktiv, erkennt man auch daran, dass das Directory nicht von der HD, sondern vom JAZ ausgegeben wird. Kann das ggf. ein Timing Problem sein, wenn Turbo Modus an ist ?

    Oder habt ihr dieses Problem nicht, dann könnte es ggf. am ThunderDrive liegen ?

    So Hardware Umbau und Testlauf sind nun fertig.

    Die Zeile mit @p0 ist raus, die letzten Updates im Code drin und 1x neu durch dem Blitz Compiler gejagt.

    Also Hardware habe ich nun:


    C64C, SuperCPU V2, RamLink und die Thunderdrive HD mit dem 1GB JAZ wie letztes Mal.

    Die HD ist nur über das Parallelkabel mit der RamLink verbunden.


    Erst die gute Nachricht: Es funktioniert ohne Probleme. 16 MB Partition wurde anstandslos kopiert.


    Jetzt die schlechte Nachricht: Das ist ja mal richtig lahm im Vergleich mit TC64 und seriellen Kabel.

    Vorher dauerte das Backup der Partition 16:03 Minuten und jetzt 37:10 !!! :schreck!:


    Dann ein Blick auf die SCPU: Die LED ist aus, auch nachdem das Backup fertig ist ? Das wird doch eigentlich nicht in den 1MHz Modus geschaltet, oder ?