<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[atari.area forum - scroll i smieci na ekranie]]></title>
		<link>https://www.atari.org.pl/forum/viewtopic.php?id=9560</link>
		<atom:link href="https://www.atari.org.pl/forum/extern.php?action=feed&amp;tid=9560&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Najświeższe odpowiedzi w scroll i smieci na ekranie.]]></description>
		<lastBuildDate>Tue, 20 Dec 2011 08:58:31 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Odp: scroll i smieci na ekranie]]></title>
			<link>https://www.atari.org.pl/forum/viewtopic.php?pid=142028#p142028</link>
			<description><![CDATA[<p>Jeśli masz jednego skrola, to ja bym go obsłużył na VBLKI. Jeśli skroli będzie więcej, to na DLI. W głównym kodzie możesz dać jmp *.<br />Te $06 w Display Liście też mogą wyświetlać śmieci. Nie wyświetlają, jeśli pamięć jest czysta.</p>]]></description>
			<author><![CDATA[null@example.com (Fox)]]></author>
			<pubDate>Tue, 20 Dec 2011 08:58:31 +0000</pubDate>
			<guid>https://www.atari.org.pl/forum/viewtopic.php?pid=142028#p142028</guid>
		</item>
		<item>
			<title><![CDATA[Odp: scroll i smieci na ekranie]]></title>
			<link>https://www.atari.org.pl/forum/viewtopic.php?pid=142027#p142027</link>
			<description><![CDATA[<p>Dzieki Fox,<br />Faktycznie zapomnialem o starszym bajcie... a gdy kod byl krotki to wszystko dzialalo w sumie przypadkiem;) Sprawdze Twoje patch&#039;e wieczorem.<br />One question: gdybys mial updatowac HSCROL w takim przypadku jak moj to gdzie to lepiej robic? tzn czekajac na ramke tak jak teraz czy lepiej probowac jest podpiac w DLI w jakiejs linii nizej?</p>]]></description>
			<author><![CDATA[null@example.com (mkm)]]></author>
			<pubDate>Tue, 20 Dec 2011 08:01:41 +0000</pubDate>
			<guid>https://www.atari.org.pl/forum/viewtopic.php?pid=142027#p142027</guid>
		</item>
		<item>
			<title><![CDATA[Odp: scroll i smieci na ekranie]]></title>
			<link>https://www.atari.org.pl/forum/viewtopic.php?pid=142023#p142023</link>
			<description><![CDATA[<p>Tekst scrolla przekracza wtedy granicę strony, a ty zmieniasz tylko młodszy bajt adresu. Zmień:<br /></p><div class="codebox"><pre><code>        ldy LINE_PTR
        iny
        sty LINE_PTR</code></pre></div><p>na:<br /></p><div class="codebox"><pre><code>        inw LINE_PTR</code></pre></div><p>oraz:<br /></p><div class="codebox"><pre><code>        lda INIT_LINE_PTR
        sta LINE_PTR</code></pre></div><p>na:<br /></p><div class="codebox"><pre><code>        mwa #scrollText    LINE_PTR</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Fox)]]></author>
			<pubDate>Mon, 19 Dec 2011 22:27:19 +0000</pubDate>
			<guid>https://www.atari.org.pl/forum/viewtopic.php?pid=142023#p142023</guid>
		</item>
		<item>
			<title><![CDATA[scroll i smieci na ekranie]]></title>
			<link>https://www.atari.org.pl/forum/viewtopic.php?pid=142021#p142021</link>
			<description><![CDATA[<p>Napisalem sobie prostego scrolla. Polaczenie coarse i fine scrollingu... Dziala, ale nie do konca plynnie wiec chcialem wrzucic aktualizacje HSCROL do DLI w jakas dolna linie albo przynajmniej czekac na ramke przed aktualizacje tej wartosci. Jest plynniej, ale jest jakas sciema ze smieciami ktore mi sie w pewnym momencie pokazuja na ekranie... Efekt wystepuje wtedy gdy w kodzie odkomentuje procedure czekania na ramke - nawet bez jej wywolania. </p><p>Kod:<br /></p><div class="codebox"><pre><code>        org $4000   

        lda #0
        sta 559
    
        ldx &lt;antic     
        ldy &gt;antic     
        stx 560        
        sty 561   

        lda #%00100010
        sta 559      
      
        ; color setup
        ; text
        lda #$38
        sta COLOR1_SH
        lda #$38
        sta COLOR2_SH

COLOR1_SH equ $02C4
COLOR2_SH equ $02C5
INIT_LINE_PTR equ $00
HSCROL equ $D404
FS_COUNT equ $A000
CS_COUNT equ $A001

        lda LINE_PTR
        sta INIT_LINE_PTR
        
        lda #8
        sta FS_COUNT
        ;jsr frameWait
        sta HSCROL
        
scrollInit
        lda #100
        sta CS_COUNT

scrollCoarse
        jmp scrollFine
scrollFineRet
        
        ldy LINE_PTR
        iny
        sty LINE_PTR

        ldx CS_COUNT
        dex
        stx CS_COUNT

        beq endOfText
        jmp scrollCoarse

endOfText
        lda INIT_LINE_PTR
        sta LINE_PTR
        jmp scrollInit
    
scrollFine
    
        ldx FS_COUNT
        dex
        stx FS_COUNT
        ;jsr frameWait
        stx HSCROL

        jsr delay

        cpx #0
        bne scrollFine

        ldx #8
        stx FS_COUNT    
        ;jsr frameWait
        stx HSCROL
    
        jmp scrollFineRet
    
delay
        pha
        txa
        pha
        tya
        pha
        
        ldx #$0F
        ldy #$FF

xLoop        
yLoop        
        dey
        beq yOut 
        jmp yLoop
        
yOut    dex
        beq xOut
        jmp xLoop
    
xOut    
        pla
        tay
        pla
        tax
        pla

        rts

;frameWait
;      lda 20   
;      cmp 20
;      beq *-2
;      rts
        
antic dta b($70,$70,$70)
      dta b($00)
      dta b($06,$06,$06)
      LINE_PTR equ *+1  
      dta b($56),a(scrollText)
      dta b($46),a(emptyText)
      dta b($06,$06,$06)
      dta b($41),a(antic)  

scrollText dta d&#039;                                          OTO MOJ SUPER SCROLL TEST 123 HALLO ATARI 123456789 !!!!!!&#039;
emptyText dta d&#039;                                                                                          &#039;</code></pre></div><p>Odomentujcie sobie procedurke frameWait. (wszystkie jej wywolania sa zakomentowane). Wtedy po jednym kolku linii scrolla na ekran wpadna smieci. <br />Any idea? Pewnie to jakis banal, ale jakos nie moge na to wpasc...</p>]]></description>
			<author><![CDATA[null@example.com (mkm)]]></author>
			<pubDate>Mon, 19 Dec 2011 21:58:58 +0000</pubDate>
			<guid>https://www.atari.org.pl/forum/viewtopic.php?pid=142021#p142021</guid>
		</item>
	</channel>
</rss>
