[abc80] Periodiskt återkommande osynk...?

Andreas Gustafsson andreas.gustafsson at gmail.com
Sat Dec 24 16:43:21 PST 2016


Fel av mig, hade missat en instruktion när jag tittade i ROM-assemblyn, 41
cykler skulle det vara!
När jag justerat för det får jag (vad som i alla fall i min ögon) ser ut
som 100% stabil hires!



2016-12-25 1:26 GMT+01:00 Andreas Gustafsson <andreas.gustafsson at gmail.com>:

> Efter att ha studerat koden lite ser det ut som om den kör en nedräkning
> av ett 24-bitars värde, där den sköter de lägsta 8 bitarna i den normala
> varianten, och så var 256:e frame så justerar den de övriga 16.
> Har jag räknat rätt så tar denna sekvens 21 klockcykler extra, så det
> borde bara vara att justera min timingkod till att vänta 21 cykler mindre i
> fallet där de lägsta 8 bitarna av 24-bitars räknaren står på 0, vilket
> betyder att den tagit den långa sekvensen. Dock så lyckas jag än så länge
> inte bli av med synk-flimret, kan vara jag som räknat fel antingen i
> ROM-koden eller i min justeringskod, eller så har jag missförstått något.
>
> För visst borde det funka så här (jag är lite dålig på hur Z80/NMI/Halt
> etc.) :
>
> 1. Jag kör HALT
> 2. VBL-interrupt inträffar
> 3. ROM-NMI kod körs
> 4. Jag får tillbaka kontroll i mitt program och koden efter
> HALT-instruktionen körs.
>
> Då borde ju det enda som händer vara attvar 256:e frame har 21 extra
> cykler ätits upp i steg 3, vilket jag lätt kan justera för.
>
> /Andreas
>
>
>
> 2016-12-24 21:56 GMT+01:00 juhasz <juhasz at abc.se>:
>
>> Liten paus (interrupt!) i julfirandet....
>>
>> ...för att kolla in disassemblyn som finns här på sidan 61!
>> http://www.abc80.org/docs/Programvaran%20i%20ABC80.pdf
>>
>> nmi-interrupt gör jr till adress 0:71 och där är det en del matematik för
>> klockan som säkert tar lite olika tid vid overflow etc. Om man är riktigt
>> noggrann borde man kunna räkna ut hur lång tid nästa nmi kommer ta genom
>> att läsa av klockvariablerna och se vilken väg i koden nmi-rutinen kommer
>> ta o därmed undvika osynk........
>>
>> ...nu tillbaka till glöggen! God jul! ;)
>>
>> RETI
>>
>> Robert
>>
>>
>>
>> Skickat från min Samsung Galaxy-smartphone.
>>
>> -------- Originalmeddelande --------
>> Från: Göran Åhling <goran at eadc.se>
>> Datum: 2016-12-24 21:32 (GMT+01:00)
>> Till: Andreas Gustafsson <andreas.gustafsson at gmail.com>
>> Kopia: abc80 <abc80 at abc80.org>
>> Rubrik: Re: [abc80] Periodiskt återkommande osynk...?
>>
>> "Klockan"?
>> INC på en byte, men vid Overflow efter 256 måste även nästa...
>> Jag har ett vagt minne av NMI, men jag kan mycket väl ha fel.
>>
>> Min disassemblering är ännu inte åtkomlig.
>>
>> Och, GOD JUL, alla på listan!
>> /Göran
>> Skickat från min iPhone
>>
>> > 24 dec. 2016 kl. 00:51 skrev Andreas Gustafsson <
>> andreas.gustafsson at gmail.com>:
>> >
>> > Hej igen!
>> >
>> > Jag har nu kommit en bit med mitt experimenterande med grafikuppdatering
>> > synkroniserad med rasterstrålen.
>> > Dock märker jag att det ibland "hoppar till" och verkar tappa mitt fina
>> > cykel-exakta synk.
>> > Det ser ut som det är återkommande, händer kanske var 4:e sekund eller
>> så,
>> > och verkar bara vara precis någon enstaka frame, sedan är allt i synk
>> igen.
>> > Känns som det är någon sorts interrupt eller något som går in och stör,
>> och
>> > det måste vara ett NMI för jag börjar mitt program med DI för att
>> disabla
>> > alla andra interrupts.
>> > Kan det vara någon sorts NMI som ligger och kör på varje VBL, men koden
>> som
>> > den exekverar råkar ta lite extra tid periodiskt efter några hundra
>> frames?
>> > _______________________________________________
>> > ABC80 mailing list
>> > ABC80 at abc80.org
>> > http://www.abc80.org/mailman/listinfo/abc80
>>
>>
>> _______________________________________________
>> ABC80 mailing list
>> ABC80 at abc80.org
>> http://www.abc80.org/mailman/listinfo/abc80
>>
>
>


More information about the ABC80 mailing list