Hallo Besucher, der Thread wurde 5,6k mal aufgerufen und enthält 32 Antworten

letzter Beitrag von TheRyk am

VIC-Bank umschalten.

  • Heieiei... Hmh. Ich verstehe das Problem... Erstmal Danke für die vielen Ratschläge. Aber denkt daran, dass Ihr mit einem Assembler-Super-N00b redet, da fällt der Groschen ldieder nur pfennigweise... ;)


    Wie das mit dem Koala-Zerlegen geht, kann ich nur erahnen, auch wenn mir grundsätzlich die Speicheraufteilung eines Koalas klar ist. Da bräuchte ich wirklich konkrete Hilfe.


    Und wenn man es einfach nach $6000 lädt (wo es ja eigentlich hingehört), brauche ich keine Copy-Loop mehr? Das Farbram weiß auch Bescheid? Ich muss nur noch nach Bank 1? Was muss man noch mit $D018 machen? Nix? Oder einfach #$18?

  • Heieiei... Hmh. Ich verstehe das Problem... Erstmal Danke für die vielen Ratschläge. Aber denkt daran, dass Ihr mit einem Assembler-Super-N00b redet, da fällt der Groschen ldieder nur pfennigweise... ;)


    Wie das mit dem Koala-Zerlegen geht, kann ich nur erahnen, auch wenn mir grundsätzlich die Speicheraufteilung eines Koalas klar ist. Da bräuchte ich wirklich konkrete Hilfe.


    Und wenn man es einfach nach $6000 lädt (wo es ja eigentlich hingehört), brauche ich keine Copy-Loop mehr? Das Farbram weiß auch Bescheid? Ich muss nur noch nach Bank 1? Was muss man noch mit $D018 machen? Nix? Oder einfach #$18?

    HÄ? *kratzamkopf*
    Also nochmal langsam:
    1.) welche Bank willst Du nutzen?
    2.) wenn Du Probleme hast das Koala korrekt zu zerschnibbeln oder Dir einfach nicht so sicher bist, häng es eben an, dann zerschnibbel ich es Dir.
    3.) Copyloop brauchst Du eben dann nicht, wenn Du das Screenram aus der Koaladatei direkt an die Speicheradresse lädst, an der Du das Screenram haben willst.
    EDIT: Copyloop für Colorram brauchste natürlich dann immer noch.

  • Hehe, sorry, ich weiß, ich nerve, aber ich bin verwirrt.


    1.) Ich dachte eigentlich an Bank #$02 (war nur durch Feuertonnes Tipp wieder bei 1 gelandet.)


    2.) Koala hänge ich nochmal dran. Dass Du es buchstäblich in 2 Files zersägen wolltest, war mir nicht klar, leuchtet aber jetzt ein. Wenn Du mir noch mal'n Tipp gibst, wie man das macht (Monitor?), dann mach ich das auch gern selbst.


    3.) Hat sich nach Verstehen von 2.) wohl erledigt.


    Vielleicht bräuchte ich auch noch einmal einen Arschtritt in Sachen $D018, was ich mir da am besten nochmal anschauen sollte, um in Zukunft weniger dumm zu fragen...

  • 2.) Koala hänge ich nochmal dran. Dass Du es buchstäblich in 2 Files zersägen wolltest, war mir nicht klar, leuchtet aber jetzt ein. Wenn Du mir noch mal'n Tipp gibst, wie man das macht (Monitor?), dann mach ich das auch gern selbst.

    ungefähr so (je nach Syntax des Monitors)


    Code
    1. L "KOALABILD",8
    2. S "BITMAP",8,6000,7F40
    3. S "SCREEN",8,7F40,8328
    4. S "COLRAM",8,8328,8711


    Die Datei "BITMAP" bindest Du dann in Dein Programm wie gehabt bei Adresse $4000 ein.
    Die Datei "SCREEN" bei $6000
    Die Datei "COLRAM" wo Du möchtest. Ich empfehle $6400, dann bleiben Dir die Spritepointer erhalten.


    Bezüglich $d018 guck doch nochmal hier:
    http://codebase64.org/doku.php…e:vicii_memory_organizing


    In meinem Beispiel ging ich jetzt davon aus, dass der Wert #$80 drin ist.

  • Sooo.


    Ich habe das Koala nach Spiders Anweisungen zerhackt.
    Da ich es mit dem Action Replay wohl "syntaktisch" nicht hinbekommen habe,
    bin ich in den doofen VICE-Monitor gegangen:

    Es kam etwas nach reiner Blockzahl Plausibles heraus:
    32 Bitmap
    4 Screen
    4 Colram
    -------------------------------------------
    40 Blocks hat ein Koala, Hurra


    Ich will ja in folgende VIC-Bank (Zitate von Codebase)

    Code
    1. $DD00 = %xxxxxx10 -> bank1: $4000-$7fff


    Richtig? Also habe ich das mal auch genauso spießig eingegebe, damit zwischen 0 bis 3 bzw. 1 bis 4 gar nicht erst wieder dezimale Verwirrung aufkommt.


    Sooo. In $D018 muss doch wohl bei Ziel $6000 für Screen eine $#8 in den ersten Teil, gell? Zweiter Teil soll jetzt mal nicht interessieren, also lassen wir #$80.


    Bis auf Farbram $D800 ff. sollte ich mir ja das Herumkopiere jetzt sparen können.
    Also folgenden Code mit den von Spider empfohlenen Lade-Werten.


    F6 wie "Feuer" bei Relaunch gedrückt und erwartungsfroh "SYS 4096" bei VICE eingegeben.

    NARF! Wo ist der Fehler... Sieht irgendwie nach falscher Bank aus, irgendwie aber auch ziemlich leer...
    Vielleicht ist mit Vice was schiefgegangen? <-- EDIT: Wenn man sich die Files (siehe unten) anschaut, sehen die ziemlich leer aus...
    Vielleicht habe ich doch noch Mist im Code?

  • Geil, genau das hier war's

    Vielleicht ist mit Vice was schiefgegangen? <-- EDIT: Wenn man sich die Files (siehe unten) anschaut, sehen die ziemlich leer aus...


    Und zwar habe ich vor dem Sprung in den Monitor in Basic mit komma 8 geladen... (beknackt)
    komma 8 komma 1 war die Lösung.
    Schön, wenn's mal so einfach ist.


    Der Code war also okay und ich habe dank Euch wieder was gelernt!


    Besten Dank! :winke:

  • "Aus gegebenem Anlass" ergänze ich hier mal, dass man natürlich "Spiders" (also die Koala-Standard-)END-Werte für Bitmap, Screen und Farben auch beim Splitten reduzieren kann, wenn man ohnehin auf einem Teil des Screens Scrollen will. Spart von Vornherein Speicher (warum sollte man was in den Speicher klatschen, was man nicht braucht/nicht sehen will/gleich wieder überschreibt) und Extra-Abknipsen des Bildes im Assembler-Programm.


    Wieviel man abschneidet, um keinen Müll im Scrolltext zu haben, hängt wohl vom Scroller, dem Bild und weiteren Faktoren ab. Ich habe z.B. für 1X1-Scroller am unteren Screenrand mit folgenden Werten ganz gute Erfahrungen gemacht:
    7a40
    8288
    8671
    Nur als Beispiel gedacht, experimentieren darf jeder selbst.


    PS: Wenn der Scroll oben ist, müssen natürlich die Anfangswerte und nicht die Endwerte modifiziert werden ;)