kategoria: Sprzęt
[#1] Interlace x2
Czy może ktoś odpowiedzieć na pytanie: czy prędkość zegara CLK dla procesora wzrasta x2 gdy przełaczymy do tryby interlace oraz czy wzrasta częstotliwość odchylenia pionowego x2 do 31 kHz?

Jeden ko-procesor (coper) pracuje za dwa? (dwa razy szybciej) Dwa komplety coperlisty Cop1 i Cop2 coś o tym mówią. Agnus pobiera sygnał MasterClock 28 MHz i synchronizuje cały komputer, rozsyłając odpowiednie sygnały. Jeśli przechodzi do trybu x2, czy podwaja niby niechcący, predkość pracy procesora na lini CLK, czy trzyma dokładnie tylko 7 MHz? Można zmierzyć oscyloskopem jak ktoś ma (2.000 PLN).
[#2] Re: Interlace x2

@mrcha_67, post #1

To będzie standard telewizyjny przesyłu do telewizora, np. standardem
dla telewizji ntsc jest 480i intelaced. Nie wydaje mi się, żeby to
miało coś wspólnego z szybkością cpu w Amidze, która jest stała.

A chyba Agnus się zaczyna grzać jak w wyższej rozdzielczości
vga działa, w 31khz.
[#3] Re: Interlace x2

@mrcha_67, post #1

nie
1
[#4] Re: Interlace x2

@mrcha_67, post #1

Częstotliwość zegara procesora w Amidze nie zależy od trybu wyświetlania, więc reszta wywodu pozbawiona sensu.
Co do samego sposobu wyświetlania, to z trybach lace linie obrazowe są produkowane z taką samą częstością (15 kHz) co nolace, tyle że na przemian: w 20 ms wszystkie nieparzyste, a w kolejnych 20 ms wszystkie parzyste (oczywiście mamy po drodze krótkie czasy wygaszania, ale dla uproszczenia pominąłem)... i tak w kółko. W nolace obraz mamy także wyświetlany w cyklach 20 ms, tyle że wyświetlane za każdym razem są wszystkie linie. Nieważne więc czy lace, czy nolace, częstotliwość odchylania poziomego to 15 kHz (około), a pionowego 50 Hz. Taki trik telewizyjny... dosyć stary zresztą.
Oczywiście podane timingi dotyczą PAL.

Ostatnia aktualizacja: 17.05.2022 01:40:13 przez wali7
1
[#5] Re: Interlace x2

@wali7, post #4

Ja ekspertem nie jestem ale z tego co pamiętam to amiga w NTSC ma zegar nieznacznie szybszy niż w pal. Z C64 było podobnie Chyba, że się mylę?
[#6] Re: Interlace x2

@Wankowicz, post #5

Nie, nie myli się pan. Jest trochę wyższy w wersji ntsc. Ale jakby
przerobić pal Amigę na ntsc, to zegar zostanie ten sam, kwarc
ten sam będzie. Mozna mieć czasami niewielkie glitche
w grafice, ale na monitorze crt i przez rgb nie będzie tego
widać.
Co innego przez chinch, obraz byłby czarno biały.
[#7] Re: Interlace x2

@mmarcin2741, post #6

Tak z ciekawości z czego to wynika? Jak tak patrzę po sieci to nawet stare konsole pracują w ntsc nieco szybciej.
[#8] Re: Interlace x2

@Wankowicz, post #7

Pisałem o różnicach taktowania między lace i nolace, których nie ma w ramach wybranego standardu wyświetlania. O to było pytanie w poście #1.
Co do różnic między PAL a NTSC:
W przypadku PAL i NTSC chodzi o to, że mają one inne częstotliwości podnośnej koloru (poza kilkoma innymi poważnymi różnicami w rodzaju rozdzielczości i częstotliwości odświeżania pionowego). Te częstotliwości muszą być "wyprodukowane" z przebiegów wewnątrz Amigi. Amiga jako maszyna powstała w USA naturalnie przystosowana jest do NTSC - 3.579545 MHz będące podnośną koloru NTSC powstaje przez podzielenie x8 sygnału 28.63636 MHz z kwarca, z sygnału tego powstaje także przebieg 7.15909 MHz taktujący CPU (i kilka innych przebiegów)
W przypadku PAL mamy częstotliwość podnośnej koloru 4.43361875 MHz, co nie jest zbyt łatwo wyprodukować z 28.63636 MHz, tak więc zmieniono częstotliwość kwarca na 28.37516 MHz który wystarczy podzielić na 4, a potem na 1,25 i mamy to co trzeba. Ceną jest odrobinę inna częstotliwość CPU - bo jego zegar powstaje w tym samym kwarcu, a ten w przypadku PAL jest trochę inny.
Zrobiono tak z konieczności zachowania podobnych timingów w wersjach NTSC i PAL, a w Amigowym chipsecie niezwykle ważne jest synchroniczne działanie jego poszczególnych elementów (CPU, blitter, copper, Agnus, Denise), stąd odpada proste dodanie jakiś dodatkowych kwarców - wszystko musi iść z jednego. I to się udało, bo niekompatybilności między Amigami PAL a NTSC nie są zbyt wielkie.
[#9] Re: Interlace x2

@Wankowicz, post #7

Jak tak patrzę po sieci to nawet stare konsole pracują w ntsc nieco szybciej.

Bo w ntsc jest 60 klatek na sekundę a w palu tylko 50kl/s. Większość
gier powstała w Japonii lub USA, gdzie obowiązuje
standard ntsc a wydawcy nie optymalizowali gier pod pal, tylko
po prostu spowolniki o 20 procent do standardu pal.

Dlatego mam konsolę Sega MegaDrive przerobioną, włożyłem
przełącznik pal/ntsc.

Amiga była głównie popularna w Europie, dlatego też europejscy
developerzy gier pisali od razu na pal.

Ostatnia aktualizacja: 17.05.2022 03:51:27 przez mmarcin2741
[#10] Re: Interlace x2

@Wankowicz, post #7

Wynika z różnicy częstotliwości w sieci elektrycznej. Kraje NTSC 60Hz, kraje PAL/SECAM 50Hz. Tu siedzi to 20%. To się bezpośrednio przekłada na pracę np. silników elektrycznych na prąd zmienny i, w jakiś sposób - analogowych telewizorów. A że Amigi i konsole są zgodne ze standardami analogowej TV, więc na nie, z automatu, też.

Ostatnia aktualizacja: 17.05.2022 07:19:50 przez Daclaw
1
[#11] Re: Interlace x2

@Daclaw, post #10

Pytanie było o przyczynę różnicy w taktowaniu CPU, a nie częstotliwości odchylania pionowego.
[#12] [post oznaczony jako OT] wyświetl Re: Interlace x2
[#13] [post oznaczony jako OT] wyświetl Re: Interlace x2
[#14] Re: Interlace x2

@ZbyniuR, post #12

NTSC US i J kodują tak samo kolor, różnica jest w poziomie czerni, więc trzeba wyregulować jasność i tyle. Amiga NTSC przez chinche daje obraz czarno-biały na PALu. Jeśli jest kolorowy to telewizor rozumie NTSC albo Amiga nie jest NTSC. Przełączenie europejskiej Amigi w tryb NTSC powoduje wysyłanie sygnału PAL60, a nie NTSC.
[#15] [post oznaczony jako OT] wyświetl Re: Interlace x2
[#16] Re: Interlace x2

@ZbyniuR, post #12

Obraz w PAL ma mniej klatek na sekundę niż NTSC, ale za to ma więcej linii w poziomie(...)

W pionie!!!
1
[#17] [post oznaczony jako OT] wyświetl Re: Interlace x2
[#18] [post oznaczony jako OT] wyświetl Re: Interlace x2
[#19] Re: Interlace x2

@ZbyniuR, post #18

Dzięki,smith wszyscy potwierdzili, że trzyma stabilnie - zawze 7 MHz, niezależnie od trybu graficznego.
Swoją drogą pozostaje intrygujące, jak jest realizowana współpraca Agnusa z pamięcią CHIP i dwoma Coperami.
Jak realizuje się wykorzystanie dwóch kompletów coperlisty dla dwóch Coperów?
Mam na myśli nawet wiedzę z zakresu programowania w ASM. Można zaadresować dwa oddzielne komplety w jednej ramce?
Po zaadresowaniu obu, czy ruszą oba na raz, czy trzeba je przełaczać komendami JMP? [dff088-1']
Jak można wykorzystać efektywnie drugi komplet i do czego w praktyce?

Jak analizuje wzorcowe coperlisty i to po przechwyceniu z sytemu operacyjnego [tak!, można to zrobić]
to wydaje się mało efektywne, zwłaszcza w trybie interlace. Dwa copery w jednej ramce, po rozłożeniu konwertyerem na linie niepazryste i parzyste i tak co ramkę, to obraz by nic nie drżał. A tak na zmianę nieparzyste idą zróżnicą jednej klatki do parzystych. pokłony pokłony pokłony... Można tak programować, bo działa i jest enumerycznym klasykiem dla coperlisty w trybie interlace. A gdzie drugi coper?
jupi!
[#20] Re: Interlace x2

@mrcha_67, post #19

Nie wiem skad bierzesz te informacje, bo na pewno nie z dostepnej literatury...
Sa dwie Copper listy ale NIE MA dwoch Copperow, jest tylko JEDEN - dlatego tez tylko jedna lista moze byc wykonywana w danym cyklu zegara. Mozna za pomoca komend Coppera przelaczac miedzy dwiema listami i moze to by wykorzystywane np. do efektow, ktore maja dynamicznie generowane fragmenty listy.
[#21] Re: Interlace x2

@docent, post #20

Właściwie prawda. Nieporozumienie co do dwóch fizycznych coperów. Jeden na dwie coperlisty jak rydwan rzymski. Tylko czy podczas jednej ramki można przełaczać obie coperlisty. Niby tak dzięki rozkazom umieszczonym w rejestrach natychmiastowego skoku
COPJMP1 - $088 skok do pierwszej coperlisty
COPJMP2 - $08a skok do drugiej coperlisty

Skoro już ustalilśmy, że można skakać po dwóch coperlistach, to zwiekszona częstotliwość pionowa w trybie interlace dałaby obraz 512 linii w pionie: 256 linii nieparzyste -cop1, 256 linii parzyste -cop2.
Warunek jest taki: w trybie interlace musi podbić częstotliwość z 15 kHz, do 31 kHz czyli VGA. Dziwne że Amiga nie podbija, bo tak się ogólnie definiuje ten trick: tylko 15 kHz.

Jeszcze innym trickiem jest pobieranie danych przez system. Definiując coperlistę musimy to określić: jak system będzie pobierał dane: wąsko, normalnie czy szeroko. To jak rozmiary B,W,L.
Moim zdaniem wiąże się to z częstotliwością współpracy z pamięcią CHIP, bo rozmiar szyny DATA BUS pozostaje niezmienny, 16 bit. Jak przestawimy do szeroki lub maksymalny (?) to musi z 16 bit danych pobierać 32. Dwa razy więcej w tym samym czasie!

Można zakończyć spory w tym momencie. Na wszystkie pytania tego typu, głównie o częstotliwości pracy, może odpowiedzieć oscyloskop. Urządzenie nadal drogie i trudno dostępne. Ja nie posiadam. Chętnie bym to zmierzył w praktyce, zamiast wywodów teoretycznych na podstawie książek i Amiga RKM.



Mogę napisać proste kody testowe w ASM, jak ktoś zechce pomierzyć dostępnym oscyloskopem.

Ostatnia aktualizacja: 18.05.2022 08:45:31 przez mrcha_67
[#22] Re: Interlace x2

@mrcha_67, post #21

Tu nie ma czego mierzyć żadnym oscyloskopem. Szybki rzut okiem na schematy maszyn z AGA pozwala dowiedzieć się jak Amiga uzyskuje dwukrotnie większą przepustowość potrzebną w trybach 31kHz.
Otóż ścieżka danych pamięci Chip jest 32-bitowa...
[#23] Re: Interlace x2

@alt_, post #22

A do tego częstotliwość taktowania szyny w chipsecie AGA jest podwojona, finalnie więc mamy przepustowość 4x większą...
[#24] Re: Interlace x2

@mrcha_67, post #1

predkość pracy procesora na lini CLK, czy trzyma dokładnie tylko 7 MHz? Można zmierzyć oscyloskopem jak ktoś ma (2.000 PLN).


A to miernikiem z pomiarem Hz nie da się zmierzyć?

może odpowiedzieć oscyloskop. Urządzenie nadal drogie i trudno dostępne.

Trudno dostępne? Od ręki można kupić. Sprawdziłbym, ale mam bałagan w warsztacie
[#25] Re: Interlace x2

@snifferman, post #24

No to dzięki. Ktoś nareszcie ma oscyloskop.(..tu i teraz..) Rozumie się, że nie jestem aż tak na kasie, to znaczy dla mnie trudno dostępny. Miałem na myśli A500/+ bo wielbię ten model. [ECS].
Gdyby była wolna chwila dla Ciebie, to potwierdź pomiarami, proszę. Mam listę pomiarów jak się zgodzisz dla ECS/OCS


pokłony
[#26] Re: Interlace x2

@wali7, post #23

To jak w ECS/ocs uzyskamy 640/512 [bez overscanu]?
[#27] Re: Interlace x2

@mrcha_67, post #26

Tak samo jak w No-laced z tą różnicą ze dzięki interlace ilość danych jest taka sama (rozdzielczość 2x większa ale o połowę mniej klatek/s) jak w trybie bez przeplotu.

Tryby productivity itp uzyskiwane są dzięki ograniczeniu palety do 4 kolorów. To również zmniejsza ilość danych potrzebnych do przepchania przez szynę ChipRAM. Mniej bit planów - mniej danych.
[#28] Re: Interlace x2

@alt_, post #27

Przy tej standardowej coperliście to na pewno tak jest. Kluczuje pół-obrazy po dwóch klatkach i używa do tego jednego copera. Drugi pół-obraz od startu przesunięty jest o jedną linię czyli obniżony
.................................................................frame 1.........................frame 2
NNNNNNNNNNNNNNNNNNNNNNNNNNNNNN NNNNNNNNNNNNNNNNN ___________________
PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP ____________________ PPPPPPPPPPPPPPPPPPPP
NNNNNNNNNNNNNNNNNNNNNNNNNNNNNN NNNNNNNNNNNNNNNNN ___________________
PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP ____________________ PPPPPPPPPPPPPPPPPPPP
NNNNNNNNNNNNNNNNNNNNNNNNNNNNNN NNNNNNNNNNNNNNNNN ___________________
PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP ____________________ PPPPPPPPPPPPPPPPPPPP


To wyświetla jeden komplet coperlisty. Najczęściej coper1 : adres $dff080
Coperlista tak jest ułożona, że wyświetla się sama.

RECORD STARTED: Sunday, 14-Nov-21 at 23:35:22
3.DH0:> cd dh0:copper
3.DH0:Copper> copdis.exe

Currently active LOF copper list:
   wait   vpos=42,hpos=0; instruction 2A01, FFFE

   move   $0AAA,color0
   move   $0000,color1
   move   $0FFF,color2
   move   $0FE0,color3
   move   $000F,color4
   move   $0F0F,color5
   move   $00FF,color6
   move   $0FFF,color7
   move   $0620,color8
   move   $0E50,color9
   move   $09F1,color10
   move   $0EB0,color11
   move   $0E44,color12
   move   $05D5,color13
   move   $004D,color14
   move   $0E90,color15
   move   $0000,color16
   move   $0E44,color17
   move   $0000,color18
   move   $0EEC,color19
   move   $0444,color20
   move   $0555,color21
   move   $0666,color22
   move   $0777,color23
   move   $0888,color24
   move   $0999,color25
   move   $0AAA,color26
   move   $0BBB,color27
   move   $0CCC,color28
   move   $0DDD,color29
   move   $0EEE,color30
   move   $0FFF,color31
   move   $2C81,diwstrt	;display window start (upper left vert-horiz position)
   move   $C204,bplcon0	;bit plane control bits
   move   $0024,bplcon2	;bit plane priority control
   move   $0C00,bplcon3	;bit plane control (enhanced features)   (ECS only)
   move   $2CC1,diwstop	;display window stop (lower right vert-horiz position)
   move   $0038,ddfstrt	;display bit plane data fetch start (horiz. position)
   move   $00D8,ddfstop	;display bit plane data fetch stop (horiz. position)
   move   $0000,bplcon1	;bit plane scroll values for PF1 & PF2
   move   $022C,bpl1mod	;bit plane modulo for odd planes
   move   $022C,bpl2mod	;bit plane modulo for even planes
   move   $1002,bpl1pth	;blitter plane 1 pointer (high 3 bits, 5 under ECS)
   move   $D346,bpl1ptl	;blitter plane 1 pointer (low 15 bits)
   move   $1002,bpl2pth	;blitter plane 2 pointer (high 3 bits, 5 under ECS)
   move   $D396,bpl2ptl	;blitter plane 2 pointer (low 15 bits)
   move   $1002,bpl3pth	;blitter plane 3 pointer (high 3 bits, 5 under ECS)
   move   $D3E6,bpl3ptl	;blitter plane 3 pointer (low 15 bits)
   move   $1002,bpl4pth	;blitter plane 4 pointer (high 3 bits, 5 under ECS)
   move   $D436,bpl4ptl	;blitter plane 4 pointer (low 15 bits)
   move   $2100,diwhigh	;display window---upper bits for start, stop   (ECS only)
   move   $1000,cop2lch	;copper second location (high 3 bits, 5 under ECS)
   move   $60A0,cop2lcl	;copper second location (low 15 bits)
   wait   vpos=255,hpos=127; instruction FFFF, FFFE


Currently active SHF copper list:
   wait   vpos=42,hpos=0; instruction 2A01, FFFE

   move   $0AAA,color0
   move   $0000,color1
   move   $0FFF,color2
   move   $0FE0,color3
   move   $000F,color4
   move   $0F0F,color5
   move   $00FF,color6
   move   $0FFF,color7
   move   $0620,color8
   move   $0E50,color9
   move   $09F1,color10
   move   $0EB0,color11
   move   $0E44,color12
   move   $05D5,color13
   move   $004D,color14
   move   $0E90,color15
   move   $0000,color16
   move   $0E44,color17
   move   $0000,color18
   move   $0EEC,color19
   move   $0444,color20
   move   $0555,color21
   move   $0666,color22
   move   $0777,color23
   move   $0888,color24
   move   $0999,color25
   move   $0AAA,color26
   move   $0BBB,color27
   move   $0CCC,color28
   move   $0DDD,color29
   move   $0EEE,color30
   move   $0FFF,color31
   move   $2C81,diwstrt	;display window start (upper left vert-horiz position)
   move   $C204,bplcon0	;bit plane control bits
   move   $0024,bplcon2	;bit plane priority control
   move   $0C00,bplcon3	;bit plane control (enhanced features)   (ECS only)
   move   $2CC1,diwstop	;display window stop (lower right vert-horiz position)
   move   $0038,ddfstrt	;display bit plane data fetch start (horiz. position)
   move   $00D8,ddfstop	;display bit plane data fetch stop (horiz. position)
   move   $0000,bplcon1	;bit plane scroll values for PF1 & PF2
   move   $022C,bpl1mod	;bit plane modulo for odd planes
   move   $022C,bpl2mod	;bit plane modulo for even planes
   move   $1002,bpl1pth	;blitter plane 1 pointer (high 3 bits, 5 under ECS)
   move   $D486,bpl1ptl	;blitter plane 1 pointer (low 15 bits)
   move   $1002,bpl2pth	;blitter plane 2 pointer (high 3 bits, 5 under ECS)
   move   $D4D6,bpl2ptl	;blitter plane 2 pointer (low 15 bits)
   move   $1002,bpl3pth	;blitter plane 3 pointer (high 3 bits, 5 under ECS)
   move   $D526,bpl3ptl	;blitter plane 3 pointer (low 15 bits)
   move   $1002,bpl4pth	;blitter plane 4 pointer (high 3 bits, 5 under ECS)
   move   $D576,bpl4ptl	;blitter plane 4 pointer (low 15 bits)
   move   $2100,diwhigh	;display window---upper bits for start, stop   (ECS only)
   move   $1000,cop2lch	;copper second location (high 3 bits, 5 under ECS)
   move   $5F78,cop2lcl	;copper second location (low 15 bits)
   wait   vpos=255,hpos=127; instruction FFFF, FFFE

3.DH0:Copper> recorder OFF
Recorder output complete.



bitdecoder:
bplcon0 1100 0010 0000 0100


Mam na myśli wykorzystanie obsługi przerwania VBlank

copperlist:
move.l adres (N),$dff080 ;COP1LCH
move.l adres (P),$dff084 ;COP2LCH
rte

Czyli ...
FRAME 1 ... FRAME 2
(N) Cop1 ...(N) Cop1
(P) Cop2 ...(P) Cop2

Muszę przyznać jeszcze tego nie wpisałem, jak się bawiłem asemblerem i drugim kompletem coperlisty w/g własnego pomysłu, to tylko mi błysnął RAZ obrazem na drugim komplecie COP2 i ciemność...
A coperlista była dobra, sama się adresowała. Testowałem natępnie nowe tryby graficzne i inne copperlisty, temat odkładając na później. Do tej pory nie wpadłem na ten pomysł.pomysł
Trzeba się zabrać do testów choćby tylko software'owych.
[#29] Re: Interlace x2

@mrcha_67, post #21

Skoro już ustalilśmy, że można skakać po dwóch coperlistach, to zwiekszona częstotliwość pionowa w trybie interlace dałaby obraz 512 linii w pionie: 256 linii nieparzyste -cop1, 256 linii parzyste -cop2.
Warunek jest taki: w trybie interlace musi podbić częstotliwość z 15 kHz, do 31 kHz czyli VGA. Dziwne że Amiga nie podbija, bo tak się ogólnie definiuje ten trick: tylko 15 kHz.

Tu nie bylo co ustalac - to bylo od poczatku wiadome. Kazdy, kto by zajrzal do np. Hardware Rerference Manual czy do internetu by to wiedzial.
Można zakończyć spory w tym momencie.

Nikt sie tu nie spiera - to ty tworzysz rozne teorie bazujac na tym, co ci sie wydaje a nie na faktach i dodatkowo w bardzo metny sposob je przedstawiasz. np tu:
Jeszcze innym trickiem jest pobieranie danych przez system. Definiując coperlistę musimy to określić: jak system będzie pobierał dane: wąsko, normalnie czy szeroko. To jak rozmiary B,W,L.

Jaki system? hardware czy software? Chodzi ci o chipset? Jesli tak to o jaki - OCS, ECS czy AGA?
Co chcesz definiowac w copperlscie - FMODE?
Moim zdaniem wiąże się to z częstotliwością współpracy z pamięcią CHIP
Czestotliwosc jest stala, co najwyzej zmienia sie rozmiar danych, pobieranych w jednym cyklu.


Proponuje zaczac najpierw od poszerzenia wiedzy - HRM jest dobrym zrodlem wiedzy jak dziala hardware Amigi.
[#30] Re: Interlace x2

@docent, post #29

Chipset ECS

Czytam




Na stronie www.PPA.pl, podobnie jak na wielu innych stronach internetowych, wykorzystywane są tzw. cookies (ciasteczka). Służą ona m.in. do tego, aby zalogować się na swoje konto, czy brać udział w ankietach. Ze względu na nowe regulacje prawne jesteśmy zobowiązani do poinformowania Cię o tym w wyraźniejszy niż dotychczas sposób. Dalsze korzystanie z naszej strony bez zmiany ustawień przeglądarki internetowej będzie oznaczać, że zgadzasz się na ich wykorzystywanie.
OK, rozumiem