Auf'm Mega65 funktioniert der Collision Interrupt von Sprite-Hintergrund nicht, wenn ich im Graphic Mode bin.
Hatte das schon mal auf'm Discord angebracht, aber da herrscht leider auch nur schweigen.
Da kann man doch eigentlich nicht viel falsch machen.
Oder gibt's da noch irgendwas zu POKEn, damit es funktioniert?
Collision Sprite-Data im Graphic Mode
-
- Bug!
- Wirsing
- Thread is marked as Resolved.
-
-
Ich frag mal zur Info: Bist du dabei in Assembler oder BASIC unterwegs?
-
Ich frag mal zur Info: Bist du dabei in Assembler oder BASIC unterwegs?
Aktuell versuche ich in Basic was auf die Reihe zu bekommen
-
Kann das mit der altbekannten Pitfall auf dem VIC-II zu tun haben, dass im Multicolor-Modus nur die Bitpaare 11 und 10 eine Kollision mit Sprites triggern?
-
Ich frag mal zur Info: Bist du dabei in Assembler oder BASIC unterwegs?
Aktuell versuche ich in Basic was auf die Reihe zu bekommen
Okay, ich schau mir das mal an.
-
Auf'm Mega65 funktioniert der Collision Interrupt von Sprite-Hintergrund nicht, wenn ich im Graphic Mode bin.
Ich habe es gerade mal mit dem aktuellen ROM 920377 im Emulator ausprobiert.
Ich öffnen einen Grafikschirm (320x200) und lasse in der Mitte von links nach rechts eine Linie zeichnen.
Dann bewege ich ein Sprite (einfach aus dem Speicher genommen, sieht nicht einmal wie ein Kaktus aus!) von unten nach oben.
In Zeile 120 weise ich COLLISION an, dass es bei "Sprite-Hintergrund" (2) zu Zeile 190 springen soll, wo dann ein "Sprite-Daten"-BUMP (2) ausgegeben werden soll.
Zeile 140 dient dazu, ein bisschen zu warten (habe ich aus dem Beispiel im Handbuch übernommen).
Beim Testlauf wird die Linie 8 Mal vom Sprite überquert und am Ende werden auch die 8 PRINT-Zeilen sichtbar.
Das scheint soweit auch im Grafikmodus zu klappen.
Ich muss es auch mal auf dem Nexys-Board testen. Vielleicht ist es da anders?
-
-
Kann das mit der altbekannten Pitfall auf dem VIC-II zu tun haben, dass im Multicolor-Modus nur die Bitpaare 11 und 10 eine Kollision mit Sprites triggern?
Kannst du mir vielleicht erklären um welche Bitpaare es sich hier handelt? Kann mir da so gar nichts drunter vorstellen.....
-
Ich hoffe, ich bringe Dich nicht komplett auf den falschen Pfad, da ich vom Mega65 keine Ahnung habe. Aber am C64 (sprich: VIC-II) werden im Multicolormode ja immer Paare aus benachbarten Bits verwendet, um aus den 4 möglichen Farben eines Pixels zu wählen (daher sind die Multicolorpixel auch doppelt so breit). Ein Byte beschreibt also 4 Pixel. Es gibt 4 mögliche Bitpaare: 00, 01, 10 und 11. Nur die letzteren beiden davon lösen eine Kollision mit Sprites aus, die ersten beiden zählen quasi als Hintergrundfarben.
-
Ich hoffe, ich bringe Dich nicht komplett auf den falschen Pfad, da ich vom Mega65 keine Ahnung habe. Aber am C64 (sprich: VIC-II) werden im Multicolormode ja immer Paare aus benachbarten Bits verwendet, um aus den 4 möglichen Farben eines Pixels zu wählen (daher sind die Multicolorpixel auch doppelt so breit). Ein Byte beschreibt also 4 Pixel. Es gibt 4 mögliche Bitpaare: 00, 01, 10 und 11. Nur die letzteren beiden davon lösen eine Kollision mit Sprites aus, die ersten beiden zählen quasi als Hintergrundfarben.
Danke dir. Habs verstanden. Ob es was hilft weiß ich auch noch nicht....
Ich denke ich setzte mich aber mit dem neu erworbenen Hintergrundwissen heute Abend nochmal dran. -
Auf'm Mega65 funktioniert es dümmlicherweise nicht.
Leider muss ich das auch für das Nexys-Board bestätigen.
Ich habe es gerade mal mit diesem Setting ausprobiert:
Das Linie wird im Grafikmodus gezeichnet und das Sprite bewegt sich auch von unten nach oben drüber.
Aber, die Kollisionen werden nicht erkannt.
Hier ist der Emulator tatsächlich besser gestellt als die "echte" Hardware.
-
Wird am ROM eigentlich noch gearbeitet? .... gibt es noch Hoffnung, dass das korrigiert wird?
Ich blicke da leider nicht mehr durch..... -
Wird am ROM eigentlich noch gearbeitet? .... gibt es noch Hoffnung, dass das korrigiert wird?
Ich blicke da leider nicht mehr durch.....Wenn's am Emu mit 920377 Rom funktioniert liegt es hier wohl eher am Core oder nicht
-
Wird am ROM eigentlich noch gearbeitet? .... gibt es noch Hoffnung, dass das korrigiert wird?
Ich blicke da leider nicht mehr durch.....Das ROM funktioniert ja im Emulator.
Das Problem dürfte hier Core liegen, also dem Code für die FPGA. Ich weiß es nicht, aber ich nehme an, dass das noch ausgebügelt wird. Spritekollisonen sind ja doch nicht ganz unwichtig.
-
Ohja, ihr habt Recht.
So ein Elend. Jetztist auch noch die ganze Karre verfriemelt.
-
Mist...
-
-
crsc könnte das ja mal melden
... oder reparieren.
-
Erst melden (bitte Issue machen!) dann reparieren. Danke.
Merke: melden macht frei!
-
Erst melden (bitte Issue machen!) dann reparieren. Danke.
Merke: melden macht frei!
Wir sind hier nicht beim Bund.