OldComp.cz

Komunitní diskuzní fórum pro fanoušky historických počítačů


Právě je 28.03.2024, 17:12

Všechny časy jsou v UTC + 1 hodina [ Letní čas ]




Odeslat nové téma Odpovědět na téma  [ Příspěvků: 116 ]  Přejít na stránku Předchozí  1 ... 3, 4, 5, 6, 7, 8  Další
Autor Zpráva
 Předmět příspěvku: Re: Bakalarska praca
PříspěvekNapsal: 08.07.2021, 11:10 
Offline
Óm Nejvyšší

Registrován: 16.06.2014, 12:23
Příspěvky: 3676
Bydliště: Jesenice u Prahy
Has thanked: 28 times
Been thanked: 280 times
l00k píše:
no a toto musíš mít uložené pro aktuálně zobrazovaný snímek, a ještě jednou pro aktuálně generovaný snímek (těm 2 bufferům se prostě nevyhneš)

A co ty dva buffery přináší ? Nech si to projít hlavou :D

_________________
Diagnóza: Touretteův syndrom, Koprolálie, Dyslexie, Obsedantně kompulzivní porucha.
Kalkulačky: Privileg PR56, TI51-III, TI57, TI58, TI59, TI83, TI-83 Premium CE, TI89
Počítadla: BOBO64, ZX48 plus, DG-88, Didaktik-M, C16, C64C, Amiga 500+, MZ800, MUPID C2A2


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Bakalarska praca
PříspěvekNapsal: 08.07.2021, 11:14 
Offline
Óm Nejvyšší

Registrován: 22.05.2013, 21:14
Příspěvky: 3642
Bydliště: Bratislava
Has thanked: 371 times
Been thanked: 788 times
l00k píše:
V borderu se daj vyčasovat parádní věci, zkus si např. hru The Sentinel od Firebirdu, ta má nahoře v Borderu rolující text pro výběr ovládání. A samozřejmě ani ve strojáku se ti nepodaří to tak rychle měnit aby si měl šířku 8 pixelů, pomocí DMA dělal BUSY tuším 16, jinak je to 24 (dáno dobou instrukce out/outi
Sentinel pouziva sekvenciu OUTI, t.j. outuje kazdych 16T, co urobi sirku bodu 4 atributy alebo 32 pixelov.
V mojom DMA deme Level 3 mam sirku bodu prave jeden atribut alebo 8 pixelov, lebo DMA vie outovat kazde 4T.
danhard píše:
Aha sorry, blbě si to pamatuju, jsou to memory cykly, taktů 16, bodů 32, taky to podle toho vypadá.
Alebo si si iba poplietol Z80 so 6502 :) :D Pretoze prave na 6502 ma rovnaky CLK a FSB (strojove cykly alebo tiez aj FSB = frekvencia komunikacie po zbernici, ako sa to vola pri x86). Z80 ma interny takt vyssi ako FSB, podobne ako moderne x86.
danhard píše:
Ale je to nejrychlejší, jak to strojákem jde.
Samotná instrukce OUT je nanic, protože potřebuješ taky měnit obsah.
Nie je tak celkom pravda, obsah si mozes predpripravit do registrov a potom uz len robit 12-taktovy OUT (C),vhodny_register. Takto mam robeny scroll textu v MDA deme, kde som vdaka tomu schopny robit ciary hrube 24 pixelov.
danhard píše:
A když použiješ OTIR, tak budou úseky dlouhé 10 pixelů.
Aj keby si cisto teoreticky dokazal OUTovat do borderu kazdych 10 pixelov, tak useky budes mat 8 a 16 pixelove, pretoze border sa "updatuje" len kazdych 8 pixelov.
ce4aser píše:
Cize rovnaky border nie 8x8 ani 1x1 ale 8x1.
Border sa interne v ULE generuje tak, ze do rotujuceho registra pixelov vlozis same jednotky a do atributoveho registru dolne 3 bityv portu #FE a ono to uz zobrazi 8 pixelov tejto farby, presne tak ako keby pixely pochadzali z pixelovej videoramky a atribut z atributovej.

Inak, niektore klony ZX Spektra dokazu menit border aj castejsie, napriklad Pentagon zmeni border okamzite po OUT #FE,... takze tam je mozne do borderu kreslit aj s vyssou jemnostou, nez 8 pixelov na sirku. Ale s tym by som sa asi vobec nezaoberal.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Bakalarska praca
PříspěvekNapsal: 08.07.2021, 11:19 
Offline
Profík

Registrován: 26.11.2018, 16:59
Příspěvky: 580
Bydliště: Holešov
Has thanked: 13 times
Been thanked: 90 times
danhard píše:
l00k píše:
no a toto musíš mít uložené pro aktuálně zobrazovaný snímek, a ještě jednou pro aktuálně generovaný snímek (těm 2 bufferům se prostě nevyhneš)

A co ty dva buffery přináší ? Nech si to projít hlavou :D


přinese to to, že se bude vždy zobrazovat celý generovaný snímek při jiné frekvenci VGA, a ne že budeš mít půlku snímku starou a půlku snímku novou


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Bakalarska praca
PříspěvekNapsal: 08.07.2021, 11:55 
Offline
Óm Nejvyšší

Registrován: 16.06.2014, 12:23
Příspěvky: 3676
Bydliště: Jesenice u Prahy
Has thanked: 28 times
Been thanked: 280 times
To ale vede k opakování stejného snímku, což se projeví trhaným pohybem.

_________________
Diagnóza: Touretteův syndrom, Koprolálie, Dyslexie, Obsedantně kompulzivní porucha.
Kalkulačky: Privileg PR56, TI51-III, TI57, TI58, TI59, TI83, TI-83 Premium CE, TI89
Počítadla: BOBO64, ZX48 plus, DG-88, Didaktik-M, C16, C64C, Amiga 500+, MZ800, MUPID C2A2


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Bakalarska praca
PříspěvekNapsal: 08.07.2021, 12:19 
Offline
Profík

Registrován: 26.11.2018, 16:59
Příspěvky: 580
Bydliště: Holešov
Has thanked: 13 times
Been thanked: 90 times
ano, jak psal Suksoft 10x za sekundu při 60Hz, bohužel to jinak nejde, je to ale menší zlo než změna v části kreslení snímku


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Bakalarska praca
PříspěvekNapsal: 08.07.2021, 12:28 
Offline
Pan Generální
Uživatelský avatar

Registrován: 18.05.2013, 14:56
Příspěvky: 2331
Has thanked: 303 times
Been thanked: 637 times
l00k píše:
přinese to to, že se bude vždy zobrazovat celý generovaný snímek při jiné frekvenci VGA, a ne že budeš mít půlku snímku starou a půlku snímku novou
V praxi není potřeba tohle řešit. Z letité zkušenosti se "scandoublerem" alias Faudraj (novejší verze téhož), který v podstatě přesně tohle dělá. Mám to v ZX Spectru, které používám nejčastěji.

http://www.8bit.8u.cz/Faudraj31/index.htm

Faudraj sampluje RGBI signály ze 128k ULA (ty jsou TTL, snadno se zpracovávají), ukládá do vlastní RAM a z ní zároveň generuje 60Hz VGA v 640x480. Funguje to velmi dobře, za běžných okolností tearing není postřehnutelný, protože programů, které by stíhaly skutečně plynule měnit obraz s frameratem 50Hz je málo, mnohem důležitější je, že ULA obraz vygeneruje správně, že sedí multicolory, border efekty (vč. pruhů LOAD/SAVE) a takové věci.

Kde to může vadit jsou programy, které se rychlým přepínáním obrazovek / 25Hz blikáním snaží namíchat barvy, které by jinak na ZXS zobrazit nešly (je pár takových her a dem). To vs. chování LCD monitorů může být všelijak divné a nepředvídatelné, může to blikat nepravidelně atp... Ale normální animace spritů ve hrách to viditelně neovlivní.
viz např.
Kód:
10 BORDER 1: PAUSE 1: BORDER 2: PAUSE 1: GO TO 10

_________________
https://cygnus.speccy.cz ZX Spectrum 128k, Betadisk, DivIDE, ESXDOS


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Bakalarska praca
PříspěvekNapsal: 08.07.2021, 13:24 
Offline
Profík

Registrován: 26.11.2018, 16:59
Příspěvky: 580
Bydliště: Holešov
Has thanked: 13 times
Been thanked: 90 times
takže téma zobrazování je téměř detailně vyčerpáno :) už záleží na ce4aserovi jakou cestou se vydá... ono to fpga bude asi pekelně rychlé, takže tady by kolize v paměti kdy v jeden moment bude chtít "paprsek" zapsat data a VGA číst data neměla nijak kritická


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Bakalarska praca
PříspěvekNapsal: 11.07.2021, 13:35 
Offline
Kecka

Registrován: 03.07.2021, 20:10
Příspěvky: 31
Has thanked: 0 time
Been thanked: 0 time
Tak uz som doma a pustil som sa na dotvorenie drivera. Ten port 254 je kde ? Hladam to na scheme aj na ULA pinoch, ale nevidim tam take oznacenie portu.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Bakalarska praca
PříspěvekNapsal: 11.07.2021, 13:50 
Offline
Pan Generální
Uživatelský avatar

Registrován: 23.03.2014, 20:13
Příspěvky: 2773
Has thanked: 224 times
Been thanked: 601 times
https://cs.wikipedia.org/wiki/Port_254

_________________
Plesnivý sýr z Tesca, zatuchlé kuřecí řízky z Albertu, oslizlé hovězí a myší trus z Lidlu.
Nákup potravinářské inspekce v ČR, říjen 2023.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Bakalarska praca
PříspěvekNapsal: 11.07.2021, 14:01 
Offline
Óm Nejvyšší

Registrován: 16.06.2014, 12:23
Příspěvky: 3676
Bydliště: Jesenice u Prahy
Has thanked: 28 times
Been thanked: 280 times
UAL má neúplné adresování, takže vidí akorát že A0 = 0.

_________________
Diagnóza: Touretteův syndrom, Koprolálie, Dyslexie, Obsedantně kompulzivní porucha.
Kalkulačky: Privileg PR56, TI51-III, TI57, TI58, TI59, TI83, TI-83 Premium CE, TI89
Počítadla: BOBO64, ZX48 plus, DG-88, Didaktik-M, C16, C64C, Amiga 500+, MZ800, MUPID C2A2


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Bakalarska praca
PříspěvekNapsal: 11.07.2021, 14:04 
Offline
Kecka

Registrován: 03.07.2021, 20:10
Příspěvky: 31
Has thanked: 0 time
Been thanked: 0 time
Tak port 254 nie je port ale adresa ? Lenze ak vsetky adredy xxFE je port 254 , tak co potom adresy 40FE, 41FE, 42FE to zasahuje do video ram, pripadne 00FE , 01FE ... to je ROM a tam zapis nie je mozny.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Bakalarska praca
PříspěvekNapsal: 11.07.2021, 14:10 
Offline
Pan Generální
Uživatelský avatar

Registrován: 23.03.2014, 20:13
Příspěvky: 2773
Has thanked: 224 times
Been thanked: 601 times
Ne, s operační pamětí se pracuje pomocí POKE/PEEK, tohle je vstupně-výstupní port a sahá se na něj IN/OUT. Teda v BASICu.

Hardware to rozliší podle MREQ a IORQ, tebe teď zajímá jen ten druhý signál a bit 0 adresní sběrnice.

_________________
Plesnivý sýr z Tesca, zatuchlé kuřecí řízky z Albertu, oslizlé hovězí a myší trus z Lidlu.
Nákup potravinářské inspekce v ČR, říjen 2023.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Bakalarska praca
PříspěvekNapsal: 11.07.2021, 14:18 
Offline
Kecka

Registrován: 03.07.2021, 20:10
Příspěvky: 31
Has thanked: 0 time
Been thanked: 0 time
Takze chapem to teraz spravne ak poviem toto ? MREQ=0, IORQ=0 a A0=0 mam aktivny port 254 a na D0-D7 mam data na tom porte. v ktorom ma ohladom borderu budu zaujimat najnizsie 3 bity ?


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Bakalarska praca
PříspěvekNapsal: 11.07.2021, 14:30 
Offline
Óm Nejvyšší

Registrován: 16.06.2014, 12:23
Příspěvky: 3676
Bydliště: Jesenice u Prahy
Has thanked: 28 times
Been thanked: 280 times
Ne, buď máš IORQ = 0, pak tě zajímá A7-A0 aby to bylo xxxxxxx0 a je to v sw port 254, čili I/O prostor,
nebo je MREQ = 0 a pak tě zajímá A15-A14 aby bylo 01, a je to adresa 16k memory bloku 4000-7FFF.

_________________
Diagnóza: Touretteův syndrom, Koprolálie, Dyslexie, Obsedantně kompulzivní porucha.
Kalkulačky: Privileg PR56, TI51-III, TI57, TI58, TI59, TI83, TI-83 Premium CE, TI89
Počítadla: BOBO64, ZX48 plus, DG-88, Didaktik-M, C16, C64C, Amiga 500+, MZ800, MUPID C2A2


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Bakalarska praca
PříspěvekNapsal: 11.07.2021, 14:32 
Offline
Pan Generální
Uživatelský avatar

Registrován: 23.03.2014, 20:13
Příspěvky: 2773
Has thanked: 224 times
Been thanked: 601 times
Ne, MREQ=1, protože nechceš paměť. Buď paměť nebo porty.

Takže procesor pošle na adresní sběrnici nějaké číslo, potom stáhne IORQ na nulu, a totéž provede buď s WR nebo RD, podle toho jestli chce do portu zapisovat nebo ho číst. A pokud to číslo adresy bylo sudé, ULA to bere jako požadavek na port 254.

Prostě to u Sinclaira vo*ebali a nedali tam žádný dekodér, další dvě libry k dobru ;-)

_________________
Plesnivý sýr z Tesca, zatuchlé kuřecí řízky z Albertu, oslizlé hovězí a myší trus z Lidlu.
Nákup potravinářské inspekce v ČR, říjen 2023.


Nahoru
 Profil  
 
Zobrazit příspěvky za předchozí:  Seřadit podle  
Odeslat nové téma Odpovědět na téma  [ Příspěvků: 116 ]  Přejít na stránku Předchozí  1 ... 3, 4, 5, 6, 7, 8  Další

Všechny časy jsou v UTC + 1 hodina [ Letní čas ]


Kdo je online

Uživatelé procházející toto fórum: breki_j a 16 návštevníků


Nemůžete zakládat nová témata v tomto fóru
Nemůžete odpovídat v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete přikládat soubory v tomto fóru

Hledat:
Přejít na:  
cron
Založeno na phpBB® Forum Software © phpBB Group
Český překlad – phpBB.cz