Aktualności: C64 Power - online od stycznia 2000 !

Autor Wątek: TDC little - dyskusja  (Przeczytany 4923 razy)

0 użytkowników i 1 Gość przegląda ten wątek.

Nitro__

  • Gość
TDC little - dyskusja
« Odpowiedź #15 dnia: 11 Lutego 2011, 21:10 »
Ja trzymac lutownice potrafie, i tak kabelki do SID\'a trzeba lutowac aby miec dzwiek w porzadku.

fenek__

  • Gość
TDC little - dyskusja
« Odpowiedź #16 dnia: 11 Lutego 2011, 21:11 »
                   
kisiel napisal:

PS. przydala by sie pomoc kodera co bym sie dowiedzial czy ta krecha w efektach to wina sprzetu, czy kodowania. Raster time na 2Mhz jest bardzo stabilny.


Nie wiem jak dziala dopalka, obstawiam ze w tej linii gdzie jest krecha nastepuje przelaczenie $d018 albo $dd00 (zestaw znakow na wektory albo ksztalty sprajtow, numer ekranu) i jest docyklowane albo przecyklowane.

Zeby prawidlowo dzialaly na tym nowe efekty/dema pewnie przed kazdym
dostepem do VICa trzeba by zapamietac stan $d030, przejsc w 1Mhz zrobic docyklowanie w 1Mhz przelaczyc VICa i przywrocic stan $d030 i wtedy byloby bez krechy.

Nitro__

  • Gość
TDC little - dyskusja
« Odpowiedź #17 dnia: 11 Lutego 2011, 21:13 »
One more thing, czym jest SHARP?

Offline Kisiel

  • Level 7
  • *******
  • Wiadomości: 11447
  • Number 7 in all users competition...
    • http://wiki.projekt64.filety.pl/doku.php
TDC little - dyskusja
« Odpowiedź #18 dnia: 11 Lutego 2011, 21:15 »
No dobra to na ile cykli zatrzymywac CPU w 1Mhz ?
Dziala to mniej wiecej tak
if CPU dostep do CIA do wait clkounter 0. Ile bedzie trwalo cykli 1Mhz przesyl danych?
Sharp ? otworz obudowe i zobacz czy masz duzego scalaka.
@fenek mysle ze cmp #d012 i nopy wystarcza, a wlasciwie to nawet IRQ z vica by styklo.
idz wyprostowany wśród tych co idą na kolanach

...w przypadku checi zakupu UK1541,GA,MA,T8500,T7501 prosze o kontakt na Facebooku, haslo: UK1541....

fenek__

  • Gość
TDC little - dyskusja
« Odpowiedź #19 dnia: 11 Lutego 2011, 21:26 »
                   
kisiel napisal:

@fenek mysle ze cmp #d012 i nopy wystarcza, a wlasciwie to nawet IRQ z vica by styklo.

No wlasnie to moze nie wystarczyc bo, jezeli w 1 MHz wszystko dziala OK to masz np.
cmp $d012
bne *-3
nop,nop     - 4 cykle
sta $d018  - zmiana VICa - i zakladam ze tutaj wykonanie rozkazu sta $d018 jest wykonane dokladnie co do cyklu! (albo z takim chamskim marginesem przelaczania Vica)
np. zmiana ksztaltu fontow !!!
Jezeli beda 2Mhz to nopy 4 cyklowe zamienia sie w 2 cykle, a czasem stosuje sie tych nopow wiecej i z 20 cykli zrobi sie 10 i zmiana Vica nastapi wczesniej. No chyba ze ta dopalka inaczej dziala.

Nitro__

  • Gość
TDC little - dyskusja
« Odpowiedź #20 dnia: 11 Lutego 2011, 21:31 »
kisiel: hmm, nie rozumiem, loadery sa docyklowane na 1MHz, tak wiec chyba jedyna opcja aby dzialaly jest staly tryb 1MHz podczas ich dzialania, ciagle CIA nie jest uzywany, np. loader Krill\'a depakuje dane w locie, dlatego sugeruje jakis delay przed powrotem do 2MHz, ktory bylby przedluzany przez ciagly dostep do CIA.

Offline Kisiel

  • Level 7
  • *******
  • Wiadomości: 11447
  • Number 7 in all users competition...
    • http://wiki.projekt64.filety.pl/doku.php
TDC little - dyskusja
« Odpowiedź #21 dnia: 11 Lutego 2011, 21:47 »
Nitro zrobie to po swojemu, bo za dlugo mi wyjdzie tlumaczenie, wazne czy dziala czy nie \"Wink\" Uklad nie zgadnie ze procek zamierza miec dostep do CIA2 wiec jesli koder cyklowal cos do vica to i tak sie wszystko popierdoli.

@Fenek jakby bylo cyklowanie po irq z vica to vic wykona irq zawsze w tym samym miejscu, w tym samym cyklu i procek ma dokladnie tyle samo czasu do momentu jak nie machnie cos do rejestru VIC (lub opcja SID, CIA2), czyli masz dokladnie x2 cykle w linii.

Aha na zdjeciu widac jak cyklowane sa rozkazy, tylko cykl zapis/ odczyt jest spowalniany wiec jak jest LDA $d012 to fizycznie powinno to zajac 4 znaki.
idz wyprostowany wśród tych co idą na kolanach

...w przypadku checi zakupu UK1541,GA,MA,T8500,T7501 prosze o kontakt na Facebooku, haslo: UK1541....

fenek__

  • Gość
TDC little - dyskusja
« Odpowiedź #22 dnia: 11 Lutego 2011, 22:20 »
                   
kisiel napisal:

@Fenek jakby bylo cyklowanie po irq z vica to vic wykona irq zawsze w tym samym miejscu, w tym samym cyklu i procek ma dokladnie tyle samo czasu do momentu jak nie machnie cos do rejestru VIC (lub opcja SID, CIA2), czyli masz dokladnie x2 cykle w linii.

Ja nie umiem tlumaczyc, moga byc 2 przypadki.
1.Po wejsciu w IRQ ktorego zrodlem jest $d012 z VICa, zawsze jest ten tzw. cyklowy jitter (w zaleznosci jaka instrukcja wykonywana przez CPU zostala przerwana) i dlatego do uzyskania mega-super-vic-efektow musi nastapic w IRQ docyklowanie.

2. Ale czasem jest tak ze jitter wystepuje w okreslonym/stalym miejscu w rasterliinii i wystarczy go tylko przesunac o iles znakow (cykli w prawo)
np. fonty wystepuja na ekranie od 20 do 40 znaku i zmiana generatora fontow ma nastapic w linii 80 (n), IRQ wywolane jest w 79 (n-1) i jitter jest np.3-7 cykli i wystepuje od znaku 30+.
Jezeli teraz zmienisz $d018, numer generatora fontow (nie numer ekranu!) to moze powstac krecha od 33 do 40 znaku w lini (n-1).
Po wejsciu w przerwanie nie wykonuje sie zadnych odczytow $d012 tylko po chamsku wrzuca nopy na przecyklowanie jittera (sam jitter nadal wystepuje) ale jezeli dasz 10 cykli to ze znaku 30+ przechodzi na prawy sideborder i jezeli teraz nastapi zmiana $d018 to krecha bedzie od 0 do 19 znaku w linii (n) ale ze nie ma tam fontow to jest niewidoczna dla oka.

2 MHz maja wplyw na to, ze zmiana rejestru $d018/$dd00 wykonywana jest w innym cyklu niz w 1 MHz, albo za wczesnie albo za pozno, moze tez jitter sie zmienia skoro procek chodzi w 2 MHz.

Dlatego tez we wczesniejszym wpisie zaznaczylem, ze konieczne jest odczytanie $d030 -> przelaczenie w tryb 1 MHz->chamskie przecyklowanie w trybie 1Mhz wraz ze zmiana $d018/$dd00-> przywrocenie $d030.

Inaczej nie umiem tego wytlumaczyc.

edit: lewo/lewy -> prawo/prawy  \"Embarassed\"

Offline Kisiel

  • Level 7
  • *******
  • Wiadomości: 11447
  • Number 7 in all users competition...
    • http://wiki.projekt64.filety.pl/doku.php
TDC little - dyskusja
« Odpowiedź #23 dnia: 12 Lutego 2011, 21:03 »
@fenek bazujac na Twojej wiedzy jak to jest zakodowane w Dawnfall mam teraz zmniejszona kreche i dzialajaca plazme zabiera to 128-256 cykli po kazdym przerwaniu.
Co do opozniania przy dostepie do stacji... normal zaczyna dzialac przy 65K cyklach po dostepie do CIA2.. jak dla mnie kicha.
idz wyprostowany wśród tych co idą na kolanach

...w przypadku checi zakupu UK1541,GA,MA,T8500,T7501 prosze o kontakt na Facebooku, haslo: UK1541....

fenek__

  • Gość
TDC little - dyskusja
« Odpowiedź #24 dnia: 12 Lutego 2011, 21:58 »
Nie wiem jaka jest zasada dzialania TDC to mam 2 pytania ?
1. Czy ma ona wplyw na dzialanie zegarow/timerow CIA.
Uruchamiam program normalnie w 1MHz i ustawiam timery na zadana wartosc i wlaczam odliczanie np. 4096 cykli.
Czy jak jest wlaczone TDC to timery zlicza szybciej czy nadal zajmie to 4096 cykli ?
Moze to glupie pytanie, pytam bo zastanawialem sie jak wykryc TDC.
Efekty same w sobie wygladaja brzydko jak sie je przyspiesza poniewaz
zyskuja one na szybkosci ale nie na plynnosci.
Jak efekt jest wolny i jakas delta obrotu wynosi np. 4 przy 1MHz, to gdyby byla mozliwosc wykrycia TDC i wtedy ta delte zmodyfikowac z 4 na 2. Efekt bedzie dzialal nie tyle szybciej co plynniej.

2. Czy mozesz sledzic jakie rozkazy wykonuje TDC, jesli mozesz to moze sprawdzac po wywolaniu przerwania IRQ czy jest zadanie wykonania rozkazu modyfikujacego $d011 ?
Jezeli jest modyfikacja to przez jakis czas nie wlaczac (128 cykli) turbo.

Krecha moze byc powodowana tez przelaczaniem $d011, #$1b<>#$3b
fonty<>bitmapa, multikolor<>hires $d016.

Offline Kisiel

  • Level 7
  • *******
  • Wiadomości: 11447
  • Number 7 in all users competition...
    • http://wiki.projekt64.filety.pl/doku.php
TDC little - dyskusja
« Odpowiedź #25 dnia: 12 Lutego 2011, 22:48 »
1. TDC podkreca zegar proca, sid,cia. Wiec wszystkie timery beda dzialaly ca. dwa razy szybciej. Jezeli ustawisz timery to badajac linie rastra po wyzerowaniu timera bedziesz wiedzial z jaka szybkoscia dziala procek.
Prostym sposobem moze byc dowolny bit w d030, ktory np. bedzie non-stoper wyzerowany albo ustawiony, niezaleznie od zapisu do komorki.

2. Ustawilem ze kazdy dostep do vic\'a albo irqvic ustawia mi licznik ktory bije do zera,dla wartosci 128-256 chodzi nawet doom w oneder. Niestety krecha nadal jest widoczna ale juz mala.

Czy mozna sledzic: TDC-liittle , koncza sie zasoby, TDC-full to ja moge nawet VIC-a wrzucic do srodka, wiec moge sledzic kazdy zapis do rejestru lacznie z jego podmianka na wartosc jaka bys chcial (R/W)
idz wyprostowany wśród tych co idą na kolanach

...w przypadku checi zakupu UK1541,GA,MA,T8500,T7501 prosze o kontakt na Facebooku, haslo: UK1541....

Offline Kisiel

  • Level 7
  • *******
  • Wiadomości: 11447
  • Number 7 in all users competition...
    • http://wiki.projekt64.filety.pl/doku.php
TDC little - dyskusja
« Odpowiedź #26 dnia: 13 Lutego 2011, 01:04 »
Ok to dla niedowiarkow....
Demo Applause .. na TDC
http://www.megaupload.com/?d=GT43B24C

I to chyba tyle w temacie TDC little by bylo. Za duzo czasu mnie kosztuje ta zabawa w cyklowanie demek \"Wink\"
idz wyprostowany wśród tych co idą na kolanach

...w przypadku checi zakupu UK1541,GA,MA,T8500,T7501 prosze o kontakt na Facebooku, haslo: UK1541....

Offline Skull

  • Level 6
  • ******
  • Wiadomości: 2034
TDC little - dyskusja
« Odpowiedź #27 dnia: 13 Lutego 2011, 11:19 »
dla mnie - w ostatnim filmiku - kreska spowodowana jest zmiana ksztaltow na sprites (pewnie jest za wczesnie i pokazuje ostatnia linie nastepnej warstwy  (tzn nie wszystkie sprites (niektore lapia w pore) znaczy sie ze kazdy z ksztaltow zmieniany jest oddzielnie (zamiast np zmiana mapy d018)) d018 d011 nie uczestnicza.

@kisiel czyli cia tez zlicza dwa razy szybciej - jest 2x63 cykle na linie (PAL) czy jakos inaczej?

Offline Kisiel

  • Level 7
  • *******
  • Wiadomości: 11447
  • Number 7 in all users competition...
    • http://wiki.projekt64.filety.pl/doku.php
TDC little - dyskusja
« Odpowiedź #28 dnia: 13 Lutego 2011, 11:28 »
Jak podkrecasz cala plyte to tak to wychodzi, co do SID-a to narazie nie chce mi sie kabelkow lutowac bo TDC testuje na kilku konfiguracjach, docelowo bedzie mial miejsce na plycie c64+ , a tam to juz inna bajka.

Dziwnie te dema wygladaja na TDC, widac jak koderzy kodowali efekty, np. ComaLight 12 plomienie sie w pewnym momencie koncza i zostaja same napisy.... wyglada to jak zwis.

Proponuje ze zrobie tak, dwa tryby pracy:
1. zgodny z D030, po przelaczeniu bitow karta chodzi na full 2Mhz,
2. Tryb wymuszony przyciskiem, karta chodzi w trybie dem/gier dyskowych.
idz wyprostowany wśród tych co idą na kolanach

...w przypadku checi zakupu UK1541,GA,MA,T8500,T7501 prosze o kontakt na Facebooku, haslo: UK1541....

Nitro__

  • Gość
TDC little - dyskusja
« Odpowiedź #29 dnia: 13 Lutego 2011, 16:26 »
Brawa ode mnie za kompatybilnosc z loaderami, proponowalbym dla pewnosci sprawdzenie jeszcze czegos korzystajacego z loadera krill\'a, ktory depakuje dane w locie, np. ostatnie dema Fairlightow.

edit:
Error 23 wersja 91%(jest na csdb: error23_91percent) obsluguje $d030.