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

letzter Beitrag von TheRyk am

VIC-Bank umschalten.

  • mmmmh irgendwas scheint da bei mir nicht hinzuhauen:


    Das sollte doch eingentlich den schirm mit weißen bällen füllen, oder ?


    Was mache ich bloß verkehrt :nixwiss:

  • upps, warum das denn ?


    Ich habe schonmal einen fehler gefunden, also in der copycol: ab zeile 28 muss es natürlich sta $da00,x und sta $db00,x, heißen.
    Und wenn ich es richtig verstanden habe muss auch noch $D018 umgeschaltet werden.


    Wäre dankbar für jede Hilfe.

  • Auf den ersten Blick kannst du nix mehr am VIC setzen, wenn du die Roms ausschaltest.


    Dann hast du einen Fehler beim Color-ROM (die letzten zwei STAs müssen $da00 und $db00 lauten).


    Du hast vermutlich wie ich im Emulator getestet. Es wird alles gemacht, nur wenn du die VIC-Bank umschaltest, wird auch der Zeichensatz aus einer anderen Bank gelesen. Bei EMUs ist da meistens 0 drin, deshalb sieht man nichts.

  • Das macht die Sache etwas einfacher. Ich möchte aber noch ein Koala dazu anzeigen, deshalb muß bei mir $18 in $d018.
    Sehe ich doch richtig, oder ? (Fuktioniert auf jeden Fall schon mal mit meiner koala-loop und bild@$6000.)


  • Die ROMs haben damit nichts zu tun.


    Man kann doch die VIC-Register nicht mehr ansprechen, wenn man die ROMs ausblendet, oder liege ich da falsch?
    Ich benutze das, um unter den Registern Sprites abzulegen. Meine Sprites liegen z. Bsp. bei $D000, da würde ich ja sonst in die Register reinschreiben.

  • Man kann doch die VIC-Register nicht mehr ansprechen, wenn man die ROMs ausblendet, oder liege ich da falsch?
    Ich benutze das, um unter den Registern Sprites abzulegen. Meine Sprites liegen z. Bsp. bei $D000, da würde ich ja sonst in die Register reinschreiben.


    kommt drauf an, welchen wert man in die speicheradresse $0001 reinschreibt. hier wird ja $35 (= %0011 0101) benutzt. also roms aus, aber io-bereich an.


    http://sta.c64.org/cbm64mem.html


  • EDIT: Es geht darum, ein Koala nicht nach $2000, sondern nach $4000 zu packen...


    Vor Leichenschänder-Rufen bitte lesen: Es greift das Forum-Dilemma: Fred zu alt, aber es existiert schon ein ähnlicher Fred, wie man's macht, man macht's verkehrt


    Habe auch gerade mal "auf die Schnelle" versucht, Vic-Bank in ASM umzuschalten.
    An sich habe ich das auch nach etlichem rumprobieren und Googeln hingekriegt.
    Habe im Prinzip Puterman's "Display Koala at $2000" (Beispiel aus seinem Kurs, hier aus Codebase verlinkt) wie folgt modifiziert:
    1. Das Pic nicht an $2000, sondern an $4000 laden (klar)
    2. In den LDA-Zeilen jeweils +$2000 (auch klar)
    3. $d018 auf #$80 (Screenmatrix ändern)
    4. $dd00 auf #$02 (eigentliches Umschalten der VIC-Bank)


    Hier also der Kot


    Aber das Ergebnis haut leider nur bedingt hin.
    Statt dem hier (vor dem Ändern zum Zwecke des Switch alles gut)

    kriege ich das hier:

    Es ist zwar FAST gelungen, aber das heißt leider eben doch auch KNAPP vermurkst.
    Wieso denn bloß?
    DD00 passt, D011 und D016 müssen doch bleiben, und D018 müsste auch hinhauen.
    Mein Verdacht ist ja irgendwie, dass in der Copyloop was nicht stimmt.


    Wäre schee, wenn jemand mal mit dem Zaun winken täte, Danke im Vorwege!

  • Äh. Also so wie Du es konfiguriert hast, liegt jetzt Deine Bitmap bei $4000 und Dein Screen bei $6000 - wenn ich mich jetzt nicht auch noch verrechnet habe ;)
    Die Kopiererei nach $0400 bis $07e7 bringt natürlich gar nix. Und außerdem wird Dein Koala teilweise den Bereich ab $6000 überrschreiben.

  • Hmh. STA-Zeilen nicht modifiziert... Wo Du Recht hast: Das ist natürlich wirklich Murks... :rotwerd:


    Ich glaube, es sieht nach Kopieren nach $6000 ff besser aus, aber immer noch nicht perfekt.


    Liegt das vielleicht am von Dir erwähnten Überlagern des Screens durch das Koala?
    Sollte ich also eine andere Bank wählen oder das Screen woanders hintun?