BlitzMode Interlace - Druckversion +- AmiBlitz³ (https://www.amiblitz.de/community) +-- Forum: Blitzbasic2 (https://www.amiblitz.de/community/forum-5.html) +--- Forum: Basics & Manual (https://www.amiblitz.de/community/forum-19.html) +--- Thema: BlitzMode Interlace (/thread-255.html) |
BlitzMode Interlace - hackball - 15.10.2021 Es scheint immer mal wieder die Frage aufzutauchen, wie man ein Interlace-Display aufbaut. Dabei steht es doch in der Anleitung. Ok, die Anleitung ist nicht immer fehlerfrei und AGA macht gelegentlich einen Strich durch die Rechnung, aber was soll's. Interlace erfordert normalerweise eine besondere Behandlung der Copperliste, aus der das Display aufgebaut ist. Da das Display nur noch halb so schnell aufgebaut wird (immer erst ein Halbbild, gerade, dann das andere, ungerade), und der Vblank Interrupt dies auch bei jedem Wechsel anzeigt, können wir dies benutzen, um das jeweilige Halbbild anzuzeigen. Damit das funktioniert, muß aber das angezeigte Halbbild natürlich jede zweite Zeile überspringen. Das erreichen wir, indem wir die Zeilenbreite (Modulo, was übersprungen wird, um die nächste Zeile anzusteuern), die das Display (Slice) erwartet, verdoppeln. Die unnütze nächste Zeile verschwindet quasi rechts von der aktuellen im Nichts. Slice 0,44,`1,`2 / 2,$fff8,`3,8,32,`1+`1,`1+`1 Außerdem müssen wir das LACE Bit setzen in einem Spezialregister. Dafür hat Blitz2 eine Abkürzung eingebaut: SetBplcon0. Hier ist der Sourcecode im Beispiel. Macro benutzt, einfach mal so. Code: Macro laceblitz ;w, h, d Beispiel Screenshot: [attachment=110] RE: BlitzMode Interlace - hackball - 16.10.2021 Mal sehen, wie das mit der 'neuen' displaylib funktioniert... |