OldComp.cz

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


Právě je 25.04.2024, 18:19

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




Odeslat nové téma Odpovědět na téma  [ Příspěvků: 20 ]  Přejít na stránku Předchozí  1, 2
Autor Zpráva
 Předmět příspěvku: Re: Kreslení bloků 16x16 assembler
PříspěvekNapsal: 10.11.2013, 22:26 
Offline
Kecálek
Uživatelský avatar

Registrován: 18.05.2013, 11:46
Příspěvky: 183
Bydliště: Ústí nad Orlicí
Has thanked: 11 times
Been thanked: 63 times
Ještě jsem zapomněl dodat, že ovládání je nastaveno na Kempston joystick.

_________________
https://zx-spectrum.cz
https://maps.speccy.cz
https://www.zx-spectrum.cz/collection/
https://cs.speccy.cz
https://spectrumcomputing.co.uk/


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Kreslení bloků 16x16 assembler
PříspěvekNapsal: 17.11.2013, 22:37 
Offline
Óm Nejvyšší

Registrován: 22.05.2013, 21:14
Příspěvky: 3674
Bydliště: Bratislava
Has thanked: 373 times
Been thanked: 798 times
pavero píše:
O kolik je vlastně pomalejší contended memory?
To sa neda takto vseobecne napisat. Spomalena pamet je o tom, ze ked chce CPU aj ULA naraz pristupit do ramky, je CPU zastavene a moze pokracovat az ked si ULA vybavi svoju poziadavku. Takze zalezi aj na tom ako casto chce CPU pristupovat do ramky. Pokial je v spomalenej ramke priamo vykonavana rutinka, za pristup do ramky sa povazuje aj nacitavanie bajtov vykonavanych instrukcii.
Navyse, toto spomalenie zavisi nielen od toho, co chce CPU robit, ale zavisi aj od typu ZX Spektra. Ine je na 48k/Gama/Delta/128/+2, ine je na +2A/+3, a uplne ine na Didaktikoch M/Kompakt. Na M/Kompakt je dokonca spomalena uplne cela pamet.
pavero píše:
Pokud budu mít výše uvedenou rutinu s rychlostí 600T v conteded memory nebude nakonec její vykonání pomalejší než rutina s rychlostí 800T umístěná v rychlé paměti?
Na Didaktikoch M/Kompakt, alebo na ostatnych ZX platformach pocas zobrazovania borderu, bude 600T rutinka urcite rychlejsia ako 800T, kedze cela pamet ma rovnaku rychlost. Pocas zobrazovania paperu na ostatnych platformach to odhadujem tak ze 600T rutinka v pomalej pamati bude o kusok pomalsia ako 800T rutinka v rychlej pameti. Ale v priemere za celu 1/50 sec to moze byt raz tak a raz zase onak - zalezi aj od casoveho rozlozenia vykreslovania v ramci pedesiatiny. Najlepsie bude konkretne spomalenie konkretnej rutinky v konkretnej aplikacii na konkretnej ZX platforme prakticky vyskusat a zmerat.

Pokial mas ULA book, skus pozriet, tam by nieco o tom malo byt.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Kreslení bloků 16x16 assembler
PříspěvekNapsal: 17.11.2013, 23:06 
Offline
Óm Nejvyšší

Registrován: 22.05.2013, 21:14
Příspěvky: 3674
Bydliště: Bratislava
Has thanked: 373 times
Been thanked: 798 times
pavero píše:
A jak že se to dá prakticky vyzkoušet a změřit? Pouhým okem jsem to zatím neodchytil :D.
Dobrym testom je tzv. zobrazenie casu v borderi. Mas slucku, kde na zaciatku slucky spravis halt, hned po nom nastav border na (napr.) cerveny - ld a,2:out(#fe),a - potom zavolaj svoju rutinku (napr. 60x vykreslenie tvojho bloku), potom nastav border na modry a skoc na zaciatok slucky kde je halt.

Ked toto spustis, v borderi uvidis kolko casu z pedesiatiny sekundy trva vykonavanie tvojich rutiniek - podla toho kolko cerveneho borderu (ked CPU maka na tvojom kode) je voci modremu (ked CPU iba caka na dalsi snimok). Samozrejme tvoje rutinky by sa mali stihnut do 1/50 sec. Ked sa nestihnu, border bude neprijemne blikat.
pavero píše:
A ještě jedna věc ohledně ZX128K. Když mám nastavenu první videoram (banka 2), bude tímto způsobem zpomalena i paměť v bance 7? Nebo ta bude zpomalena jen v případě aktivní druhé vramky?
Prva videoram je v banke 5 :) Ale k veci: na Spektrach 128 je vzdy 64kB ramky rychlej a 64kB ramky spomalnenej. Na 128 a +2 su rychle banky 0,2,4,6 a ostatne 1,3,5,7 su spomalene, na +2A/+3 su zase 0,1,2,3 rychle a 4,5,6,7 spomalne. Toto plati nezavisle od toho ktoru videoramku prave ULA zobrazuje alebo ktora banka je prave nastrankovana v hornych 16kB.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Kreslení bloků 16x16 assembler
PříspěvekNapsal: 17.11.2013, 23:43 
Offline
Kecálek
Uživatelský avatar

Registrován: 18.05.2013, 11:46
Příspěvky: 183
Bydliště: Ústí nad Orlicí
Has thanked: 11 times
Been thanked: 63 times
Ano banka 5, jsem se sekl o 16 kilo :D. No je to čím dál lepší, paradoxně na 128K zjišťuji, že mám po ruce daleko méně paměti než na 48K (s nadsázkou řečeno). Při scrollování obrazu na adrese $c000 neustále přepínám banky 5 a 7. Takže jedinou rychlou paměť, kterou mám při tom k dispozici je banka 2.

A ještě k tomu ten bordel s contended memery 128K/+2 vs. +2A/+3. :D

_________________
https://zx-spectrum.cz
https://maps.speccy.cz
https://www.zx-spectrum.cz/collection/
https://cs.speccy.cz
https://spectrumcomputing.co.uk/


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Kreslení bloků 16x16 assembler
PříspěvekNapsal: 18.11.2013, 21:55 
Offline
Kecálek
Uživatelský avatar

Registrován: 18.05.2013, 11:46
Příspěvky: 183
Bydliště: Ústí nad Orlicí
Has thanked: 11 times
Been thanked: 63 times
Busy: Jinak díky za ten test s barvami v borderu, opravdu to funguje :). Teda v jak kterém emulátoru, například Spin nabídne téměř na chlup stejný poměr červené/modré při spuštění kódu v rychlé/pomalé paměti. Ten tedy zpomalení obvodem ULA vůbec neemuluje. Ve Spectaculatoru a SpecEMU je to ok, vše je pomalejší asi o 25%, ve výsledku nula od nuly pojde (600T vs. 800T), takže to nemá cenu tímto způsobem řešit.

_________________
https://zx-spectrum.cz
https://maps.speccy.cz
https://www.zx-spectrum.cz/collection/
https://cs.speccy.cz
https://spectrumcomputing.co.uk/


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ů: 20 ]  Přejít na stránku Předchozí  1, 2

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


Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 8 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:  
Založeno na phpBB® Forum Software © phpBB Group
Český překlad – phpBB.cz