Generator sygnalu PAL na AT90s2313 - w budowie :)

Jul 06, 2004 26 Replies

Witam , Chciałem się pochwalić ,że wypociłem już do mojego testera



3 testy a mioanowicie :


- pasy kolorowe



- szachownice (cz-b)



- bialy ekran (po zwarciu odpowiedniego pinu rgb mozna uzyskać inny kolor)



całość zajmuje jakieś 500Bajtów pamięci w tym RETI od przerwań :)



co wy na to ? bo ja jestem w szoku - myślałem że ten asm na AVR to bedzie nie do przebrnięcia



pzdr,


A jak generujesz sygnal PAL ? Bo chyba podnosnej programowo nie wytwarzasz ?

A co sie tu szokowac - na Sinclair ZX81 procesorek Z80 sam [no prawie] wyswietlal dane i jeszcze program uzytkownika wykonywal :-)

J.

MC1377? ;-)))

E... to nie tak. Tam by³a s³ynna ULA, w zasadzie tylko fragment RAM by³ wspólny z prcesorem. ULA "zabiera³a" sobie dane do wy¶wietlenia, które umieszcza³ w RAM procesor. To zmienia chyba troszkê zakres [prawie] ;-)))

Jacek

W artykule news:cceqra$apm$ snipped-for-privacy@news.dialog.net.pl, niejaki(a): Jacek Bogusz z adresu snipped-for-privacy@ep.com.pl> napisa³(a):

To co opisujesz by³o w ZX Spectrum. W ZX81sygna³ TV by³ generowany programowo przez program obs³ugi przerwania niemaskowalnego NMI. Dok³adnie tak jak to opisa³ J.F.

[...]

ULA była dopiero w Spectrum. W ZX80 i ZX81 obraz generowany był czysto programowo.

Tak bardzo czysto to nie, ale faktem jest ze to procesor adresowal dane w pamieci do wyswietlania .. jak jest zapotrzebowanie to moge sprobowac rozruszac skleroze i opisac ..

J.

Przerwanie niemaskowalne owszem by³o, ale wydaje mi siê, ¿e w celu nie tyle generowania obrazu ile obs³ugi zadañ zwi±zanych z wy¶wietlaniem. ZX81 z ca³± pewno¶ci± zawiera³ uk³ad ULA, nie mam jednak pewno¶ci co do stopnia jego udzia³u w generowaniu obrazu. Mo¿e troszkê siê wysilê i poszukam tej dokumentacji ;-). Kiedy¶ dosyæ mocno analizowa³em kod Spectrum i ZX81. Budowali¶my, na 8080 co prawda, zbli¿ony funkcjonalnie mikrokomputer.

Jacek

Czysto na pewno nie. ULA by³a w ZX81 z ca³± pewno¶ci±. Pewnego piêknego dnia pad³a w moim ZX-ie i tak trafi³ na ¶mietnik historii, bo uk³ad w owym czasie by³ poza moim zasiêgiem i terytorialnym, i finansowym ;-)

Jacek

nie generuje , używam do tego kostki MC1377 :) troche ciężko generować podnośną 4.43MHz uprocem o kwarcu 4MHz :P maksymalnie moge 2 mega wydusić !!

Do wyswietlania bylo bardziej uzyte maskowalne - linia INT przylaczona prosto do linii A6 - procek sam sobie przerwanie generowal.

W ZX80 bylo kilka ukladow TTL ktore w tym generowaniu braly udzial, w ZX81 zapakowano je w jeden chip.

Jak ktos ma ochote zobaczyc

formatting link
a jak zrobic
formatting link
zyje kynar !!!

J.

[...]
[...]

chyba nie o to mi chodziło jak zaczynałem ten temat :( A teraz nadszedł czas aby go zakończyć (przynajmniej z mojej strony :)

Otóź zakończyłem pisanie kodu (asm) do 90s2313 i oto fakty :

- 5 testów (pasy, szachownica, krata, bialy ekran, punkty)

- 1 switch przełacza testy

- kolory na MC1377

- ############################## # Errors: 0 # # Warnings: 0 # # Bytes: 952 # ##############################

- 100% satysfakcji, no bo działa !! :)

ps. ten asm na AVR nieźle wciąga , to nie to samo co 8051 :P

To teraz dorzuć wyświetlanie czasu w prawym górnym rogu ekranu. Akurat starczy pamięci.

Wysyłając taki oto zestaw znaków dnia 04-07-09 02:24 Adam Dybkowski nakarmił(a) stado głodnych newsserwerów:

I może jeszcze taką planszę testową jak ma np. TVP - można wszystko sprawdzić na jednym ekranie ;-)

Potraktuje to jako <jołk> :) Szkoda mi czasu , następne projekty czekają !

Nie trzeba od razu tak z grubej rury. Przecież wyświetlanie wielgachnych znaków na TV jest bardzo proste i każdy AVRek się z tym wyrobi. Nawet na prostym PICu widziałem projekt gry TV typu "tenis". A w EP był kiedyś projekt chyba woltomierza z wyświetlaniem na TV.

JAK to zrobić??? Zakładając 624 linie w pionie i format 4:3, w poziomie jest 832, co daje pixel-clock rzędu 13MHz (T = 77ns) !!! Jak dla mnie

- tylko bezpośredni odczyt ze statycznego RAMu + odpowiednia logika zeby móc do tego ramu coś wpisywać, zapewne w czasie pionowego powrotu plamki. A może się mylę? Są gotowe układy do tego? Czy trzeba robić na logice programowalnej?

P.

576 linii.
768 punktów.

73 ns (zapomniałeś o powrocie linii - 8 us), prawie 14 MHz. Ale możesz czytać na raz 8 bitów, czyli 8 kolejnych punktów. I już masz tylko 1.7 MHz. [...]

Skąd mi się ubzdurało 624 linie (ew. 625)?

No tak - ale dochodzi dodatkowa logika. Jeśli chcesz poprzestać na

1-bitowym kolorze. A przy RGB już jest co robić, nawet przy kolorze indeksowanym. Równe 14 MHz. Na czym można to zrobić? Pytam, bo chciałem zrobić takie urządzonko...

P.

Bo łącznie jest 625 linii. Ale powrót 'ramki' też zabiera czas...

A musisz wykorzystywać pełną rozdzielczość i mieć migający obraz z wybieraniem międzyliniowym? Załóż rozdzielczość max. 288x384 i już masz dwa problemy z głowy. Nawet trzeci przy okazji - rzeczywista rodzielczość kineskopu jest też na takim poziomie. I kolejny, czwarty: łatwiej to oprogramować bez zabawy w 312 i _pół_ linii na półobraz.

Co do kolorów - musiałbyś albo wejść przez wejście SCART na RGB albo budować modulator...

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required