Beiträge von Larry

    Fast ist schon wieder ein Monat vergangen. Irgendwie vergeht die Zeit gefühlt (mind. seit Corona) wie im Flug mit einem Überschall Flugzeug.


    Die letzten Tage habe ich mir mal ein paar andere C*BASE Mods angesehen, zwecks Ideensammlung. Schließlich bin ich beim "Villain Mod" hängen geblieben.

    Warum auch immer hatte ich diesen Mod von früher in guter Erinnerung. Ich fand den irgendwie toll. Also den flott die compilierten Files durch den Decompiler gejagt und nach bearbeitet.

    Dabei kribbelte es mir in den Fingern, mal Hand an den Code zu legen und den alten Mod für meine und heutige Bedürfnisse anzupassen -> gaaaanz schlechte Idee !

    Inzwischen habe ich aufgehört die Bugs zu zählen, die in den Code reingestümpert wurden. So eine Enttäuschung wenn man mal hinter die Kulissen schaut.

    Da fragt man sich wirklich, wie ein SysOp damit ein BBS betreiben konnte. Jede Wette, dass das damals mehrmals am Tag neu gestartet werden musste, weil es irgendwo abgestürzt ist.

    Naja, alles Jammern hilft ja nichts, also ran ans Werk. Inzwischen funktionieren die Access Groups Vorgaben wieder, Dinge wie Time Limit, Guest Acess ohne sich extra anmelden zu müssen, Prime Time Acess, die üblichen Transfer Protokolle, diverse Log Files, das ganze bis max. 230.400 bps etc. pp.

    Die ersten BBS Games / "Doors" wurden auch schon angetestet. Bis zum fertigen und stabil laufenden System ist es aber noch ein langer Weg...

    Das physical Release ist heute angekommen mit "Feelies" wie mit Poster, Holzkreuz, Anleitung, Stickern, etc. :thumbsup:

    Toll gemacht, und wie ich finde, ist das Paket seinen Preis wert.


    Da bin ich schon auf Hibernated 2 gespannt.

    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.