[abc80] Periodiskt återkommande osynk...?

Andreas Gustafsson andreas.gustafsson at gmail.com
Ons Dec 28 13:57:07 PST 2016


Det kommer definitivt bli ett litet demo av detta, ja! :)

Täntke också på det där med ljud-output, men kom fram till att det stjäl
alldeles för många cykler per rad, då hade man fått minska storleken i
x-led på hires-området alldeles för mycket.



2016-12-25 10:51 GMT+01:00 juhasz <juhasz at abc.se>:

> Coolt! Nu väntar vi alla på ett hr-demo! ;) vill du dela med dig av koden
> vore det kul också!
>
> Det slog mig också att man har goda möjligheter att generera ljud eftersom
> man iaf under bildritning är i synk med varje linje. då kan man passa på
> att vid linjeslut göra ett klick i högtalaren o vips kan man göra 1-bit
> pcm-ljud med 15624 hz (eller 7812 hz?) grundfrekvens samtidigt med
> bildritningen...
>
> Robert
>
> Skickat från min Samsung Galaxy-smartphone.
>
> -------- Originalmeddelande --------
> Från: Andreas Gustafsson <andreas.gustafsson at gmail.com>
> Datum: 2016-12-25 01:43 (GMT+01:00)
> Till: juhasz <juhasz at abc.se>
> Kopia: Göran Åhling <goran at eadc.se>, abc80 <abc80 at abc80.org>
> Rubrik: Re: SV: Re: [abc80] Periodiskt återkommande osynk...?
>
> 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