OldComp.cz

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

Reklama!

Právě je 09 pro 2018, 21:07

Všechny časy jsou v UTC + 1 hodina




Odeslat nové téma Odpovědět na téma  [ Příspěvků: 20 ]  Přejít na stránku 1, 2  Další
Autor Zpráva
 Předmět příspěvku: Popis SCREENu pro Sam?
PříspěvekNapsal: 06 říj 2018, 14:47 
Offline
Kecálek

Registrován: 21 říj 2013, 08:25
Příspěvky: 247
Has thanked: 98 times
Been thanked: 87 times
Přidávám si do svého prohlížece podporu pro Sam, ale nějak mi není jasné jak je ten obraz organizovaný.

Co asi vím :)
Mode 1 = ZX Spectrum kompatibilní 256x192
Mode 2 = Timex Hi-color 8*1 compatibilní ? 256x192
Mode 3 = jak jsem pochopil to je spíše textový rezim 512x192
Mode 4 = 256x192x4bit Organizovaní jako 192 řádků po 128 bajtech a jeden bajt reprezentuje 2bity obr a barvu?
1) Co je obraz a co barva?
2) každý obr (mode 4) má na konci 41 bajtů asi barevná tabulka?

Mohl by mi to nějaký zkušený uživatel Sama osvětlit...díky


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Popis SCREENu pro Sam?
PříspěvekNapsal: 06 říj 2018, 15:28 
Offline
Radil

Registrován: 12 kvě 2013, 21:24
Příspěvky: 259
Has thanked: 0 time
Been thanked: 58 times
Citace:
Přidávám si do svého prohlížece podporu pro Sam, ale nějak mi není jasné jak je ten obraz organizovaný.

Co asi vím :)
Mode 1 = ZX Spectrum kompatibilní 256x192
Mode 2 = Timex Hi-color 8*1 compatibilní ? 256x192


Ne-e.
Nerespektuje "napřeskáčku" adresování Spectra, ale adresuje postupně.
Má ovšem, jako Timex, oddělený blok pixelů a blok atributů. Je mezi nimi ovšem 2 KiO mezera.

Citace:
Mode 3 = jak jsem pochopil to je spíše textový rezim 512x192


Ne-e.
Je to režim s dvojnásobným horizontálním rozlišením (proti módu 4 a dalším) za cenu polovičního prostoru pro kódování barvy (proti módu 4 jen 4 barvy z palety 128 místo 16 barev z palety 128).
Jeden oktet nese informaci o 4 pixelech.

Citace:
Mode 4 = 256x192x4bit Organizovaní jako 192 řádků po 128 bajtech a jeden bajt reprezentuje 2bity obr a barvu?


Ne-e.
Mode 4 má barvu kódovanou 4 bity (0-15), 16 možných barev (resp. položek z palety 128 barev).
Jeden oktet tedy nese informaci o dvou pixelech.
VRAM je v tomto módu organizována lineárně.

Citace:
1) Co je obraz a co barva?


Pixely a atributy jsou jen v režimech 1 a 2.
Režimy 3 a 4 kódují co pixel, to samostatná barva.

Citace:
2) každý obr (mode 4) má na konci 41 bajtů asi barevná tabulka?


Tabulka palety by měla být jen 16 bajtů.
Ale záleží na formátu, co máš - superSCREEN$ teba přidává hlavičku 128 bajtů.

Doporučuji technický manuál:
https://sam.speccy.cz/systech/sam-coupe ... n_v3-0.pdf


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Popis SCREENu pro Sam?
PříspěvekNapsal: 06 říj 2018, 16:15 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 11 čer 2013, 14:27
Příspěvky: 1606
Has thanked: 1014 times
Been thanked: 281 times
Je to takto:

Mód 1 je spektrácký, tj. 256x192 bodů a 32x24 buněk se 2 barvami z celkových 16.
Mírné vylepšení je v tom, že do jakékoliv z pozice 16 barev lze dát libovolnou z celkového počtu 128 barev, tedy mít nejen 15 spektráckých (neb zxs-černá je v jasu stejná).
Někdy se to plete, hovoří se o paletě a není jasné, zda o obrazové paletě 16 barev či o celkové paletě 128 barev.

Mód 2 je podobný, s atributy v rastru 32x192, tj. 6144 obrazové a 6144 atributové paměti. Lineární, pixely, resp. bajty jdou pěkně za sebou.
Poukování do obrazové paměti si lze po resetu vyzkoušet POKE od adresy 507904 (pak lze se začátkem obrazu šoupat).
V tomto módu jsou atributy umístěny až 8192 bajtů od bitmapy. Čili POKE 507904,pixelový-bajt a pomocí POKE 507904+8192,barvy lze prvních 8 pixelů obarvit.

Mód 3 je klasická a plnohodnotná, lineárně uspořádaná grafika, ale jen s málo, totiž 4 barvami.
Už žádné atributy, barvy jsou přímo v pixelu a podle tohoto množství barev se vejde pixelů do bajtu. Zde jeden bajt uchovává 4 pixely aneb 2 bity tvoří a barví pixel. Viz https://sam.speccy.cz/gfxm3.html
Textový mód se mu říká, protože v něm listing a borlandovský desktop v 85x24 nebo 64x24 znacích vypadá profi :-) Příkazem CSIZE si lze vyzkoušet i jiné výšky, např. CSIZE 8,10 nebo CSIZE 6,7, v MasterBASICu lze měnit i šířky znaků.

Mód 4 má na rozdíl od předchozího 16 barev. Tedy jeden bajt určuje dva pixely, jeden pixel potřebuje 4 bity.

Maximální počet barev v jednotlivých módech (4 nebo 16 barev) znamená především to, s kolika barvami se běžně počítá na jednom řádku.
Programově lze dostat barev na obrazovku více, v SAM BASICu lze rychle dvě barvy v jedné barvové pozici střídat a nastavit i rychlost tohoto blikání. A především lze měnit od libovolné řádky barvu nebo i více barev. Tyhle basicové možnosti se ukládají do SCREENů, pracuje se tedy nejen s paletou 16 pozic (PALETTE TABLE), ale i se změnami (LINE INTERRUPT COLOUR TABLE).

Samíkovi lze vnutit i více barev přímo na řádku, ale tohle už basic nepodporuje, chce to časování a žralo by to hodně strojového času. Tuším, že SHAMVIEV pracuje s 32 barvami na řádek.
Po řádcích i přímo na nich lze přepínat mezi graf. módy - něco umí MasterBASIC a pár utilit pro modeswitching, viz vlevo na https://sam.speccy.cz/coding.html
Ale tyhle libůstky už ve standardních SCREENech nejsou.

Jestli jde o to, podporovat klasické SCREENy, pak stačí následující info:
https://sam.speccy.cz/systech/sam-coupe ... n_v3-0.pdf
https://sam.speccy.cz/basic/sam-basic_c ... _guide.pdf
Jen je třeba počítat s tím, že obrázek může občas mít více než 16 barev a že MasterBASIC někdy ukládá na disketu obrazovky spakované (má 3 stupně - buď žádná, mírná nebo ultra komprese).


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Popis SCREENu pro Sam?
PříspěvekNapsal: 06 říj 2018, 17:03 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 11 čer 2013, 14:27
Příspěvky: 1606
Has thanked: 1014 times
Been thanked: 281 times
V příloze diskimage s obrázky se 16 a 32 barvami.
Např. s pomocí DISK MANAGERu či SCADM je patrno, že uložené screeny mají rozdílnou velikost.
Generující program je taky na disketě.


Přílohy:
basic16and32colors.mgt.7z [1.31 KiB]
23 krát
basic32and16colors.png
basic32and16colors.png [ 10.42 KiB | Zobrazeno 931 krát ]
Nahoru
 Profil  
 
 Předmět příspěvku: Re: Popis SCREENu pro Sam?
PříspěvekNapsal: 06 říj 2018, 17:11 
Offline
Kecálek

Registrován: 18 říj 2014, 22:10
Příspěvky: 189
Has thanked: 12 times
Been thanked: 42 times
Pozerám, že mi odpoveď dosť trvá, ale niečim prispejem.

Mode 1 = 256x192 ZX Spectrum kompatibilný (Scr=6144 bytes, Atr=768 bytes) 16 farieb zo 128.
Mode 2 = 256x192 Atribút je 8x1 pixel. (Scr=6144 bytes, Atr=6144 bytes) 16 farieb zo 128. V pamäti je uloženy lineárne a AdrAtr=&2000+AdrScr.
Mode 3 = 512x192x2bit (24576 bytes) 4 farby zo 128.
Mode 4 = 256x192x4bit (24576 bytes) 16 farieb zo 128.

Mode 1 a 2 môže byť na začiatku ľubovolnej stránky základnej pamäte 512KB.
Mode 3 a 4 musí byť na začiatku párnej stránky.
Jeden bajt obrazovky obsahuje 2 pixle v mode 4 alebo 4 pixle v mode 3, najvyššie bity sú pre pixel vľavo, najnižšie pre pixel vpravo.
Napríklad v mode 4 bajt z obrazovky s hodnotou &78 znamená pixel s farbou 7 vľavo a pixel s farbou 8 vpravo.
V mode 3 je asi chybička (inak si to neviem vysvetliť) a tak je prehodený význam bitov pre hodnotu farby, takže bajt s hodnotou &1B znamená 4 pixle s farbou 0,2,1,3.

"každý obr (mode 4) má na konci 41 bajtů" to platí len pre obrázky bez zmeny palety.
Inak je to 40 bajtov zo systému z adresy &55D8 PALTAB, plus 1 bajt z &5600 LINICOLS čo je len koncová značka tuším &FF (riadok môže byť len 0 až 191). Inak prerušenie na riadku sa vykoná na konci predchádzajúceho riadku a to platí aj pre riadok 0.
Tých 40 bajtov je:
16 bajtov paleta farieb od 0 do 15
4 bajty nejaká paleta farieb pre mode 3
16 bajtov alternatívna paleta farieb pre striedanie paliet
4 bajty nejaká alternatívna paleta pre mode 3


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Popis SCREENu pro Sam?
PříspěvekNapsal: 06 říj 2018, 17:27 
Offline
Kecálek

Registrován: 18 říj 2014, 22:10
Příspěvky: 189
Has thanked: 12 times
Been thanked: 42 times
SCjoe píše:
Tuším, že SHAMVIEV pracuje s 32 barvami na řádek.

Maximálne 11 farebných zmien na riadok (od farby 15 dole), ale SAM zvládne 13 a s FastRam 24.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Popis SCREENu pro Sam?
PříspěvekNapsal: 06 říj 2018, 17:46 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 11 čer 2013, 14:27
Příspěvky: 1606
Has thanked: 1014 times
Been thanked: 281 times
Antony/DTA píše:
V mode 3 je asi chybička (inak si to neviem vysvetliť) a tak je prehodený význam bitov pre hodnotu farby, takže bajt s hodnotou &1B znamená 4 pixle s farbou 0,2,1,3.

Vida. Nechápal jsem taky (a nikdo v Kapse mi to neuměl vysvětlit) a myslel, že je v tom nějaký vyšší záměr s převrácenou adresací úměrný logice architektů videa Sharpa.

A ještě pěkný příklad pro MODE 4:
asi nejvíce barev na obrazovce v basicu má Velesoftův SNAPER
Obrázek


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Popis SCREENu pro Sam?
PříspěvekNapsal: 06 říj 2018, 19:09 
Offline
Kecálek

Registrován: 21 říj 2013, 08:25
Příspěvky: 247
Has thanked: 98 times
Been thanked: 87 times
Chlapy díky za vysvětlení a doufám že se to bude hodit i někomu dalšímu...


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Popis SCREENu pro Sam?
PříspěvekNapsal: 07 říj 2018, 19:33 
Offline
Kecálek

Registrován: 21 říj 2013, 08:25
Příspěvky: 247
Has thanked: 98 times
Been thanked: 87 times
Tak vykreslení již funguje ;). Ještě jen nevím, pokud je v barvě definovan 'bright', jestli to převádět jako r3g3b3 místo 222.


Přílohy:
Sam_coupe_mode4.png
Sam_coupe_mode4.png [ 115.04 KiB | Zobrazeno 822 krát ]
Nahoru
 Profil  
 
 Předmět příspěvku: Re: Popis SCREENu pro Sam?
PříspěvekNapsal: 07 říj 2018, 20:45 
Offline
Kecálek

Registrován: 18 říj 2014, 22:10
Příspěvky: 189
Has thanked: 12 times
Been thanked: 42 times
https://en.wikipedia.org/wiki/List_of_8 ... e_graphics
Ten obrázok papagája nie je zo Sama, ale ostatné sedí.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Popis SCREENu pro Sam?
PříspěvekNapsal: 28 říj 2018, 05:57 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 11 čer 2013, 14:27
Příspěvky: 1606
Has thanked: 1014 times
Been thanked: 281 times
Jsem při disketových vykopávkách našel stařičký obrázek s více než 20 barvami.
O barvy tohoto původně černobílého spektráckého díla z Art Studia ale ani moc nešlo.
Dojem mělo udělat hlavně protažení barevných pásů do borderu.
Bohužel aktuální barva borderu se do SCREEN fajlu neukládá...


Přílohy:
tigerpic.mgt.zip [17.15 KiB]
22 krát
tigersim.png
tigersim.png [ 36.71 KiB | Zobrazeno 544 krát ]
Nahoru
 Profil  
 
 Předmět příspěvku: Re: Popis SCREENu pro Sam?
PříspěvekNapsal: 28 říj 2018, 09:06 
Offline
Kecálek

Registrován: 18 říj 2014, 22:10
Příspěvky: 189
Has thanked: 12 times
Been thanked: 42 times
SCjoe píše:
Bohužel aktuální barva borderu se do SCREEN fajlu neukládá...
Áno, to je škoda, ale ten sa neukladá ani na ZX Spectre.
Mne viac vadí, že sa neukladá ani mód, v ktorom sa má obrázok zobraziť.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Popis SCREENu pro Sam?
PříspěvekNapsal: 28 říj 2018, 20:00 
Offline
Kecálek

Registrován: 21 říj 2013, 08:25
Příspěvky: 247
Has thanked: 98 times
Been thanked: 87 times
Antony/DTA píše:
Mne viac vadí, že sa neukladá ani mód, v ktorom sa má obrázok zobraziť.


Taky jsem koukal že obrázky v mode 4 i mode 3 mají stejnou velikost. Tudíš se nedaji rozlišit podle velikosti.

Jak funguje přepínání těch (barvových) bank když je v obrazku více jak 16 barev?


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Popis SCREENu pro Sam?
PříspěvekNapsal: 28 říj 2018, 21:30 
Offline
Kecálek

Registrován: 18 říj 2014, 22:10
Příspěvky: 189
Has thanked: 12 times
Been thanked: 42 times
mmartinka píše:
Jak funguje přepínání těch (barvových) bank když je v obrazku více jak 16 barev?

Prepínanie bank je pre FLASH, ktorý je v mode 1 a 2 hardvérový podľa atribútov.
V mode 3 a 4 niesu atribúty a FLASH sa robí softvérovo prepínaním dvoch paliet, rýchlosť prepínania sa v Basicu nastavuje premennou SPEEDINK na adrese &5A08.
Na začiatku obrazovky sa nastaví celá paleta podľa PALTAB a počas zobrazovania sa môžu meniť jednotlivé farby na určenom riadku podľa LINICOLS. Tieto data sú hneď za sebou aj v súbore.
V Basicu je maximum 127 zmien palety, lebo LINICOLS má len 512 bajtov a každá zmena farby má 4 bajty:
Line 0-191, CLUT 0-15, Color1 0-127, Color2 0-127
Line je číslo riadku (zhora dole) na ktorom sa prevedie zmena farby.
Basicový príkaz "PALETTE CLUT,Color1(,Color2) LINE Line" riadky samozrejme čísluje opačne (zdola hore). Koniec LINICOLS indikuje číslo>191.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Popis SCREENu pro Sam?
PříspěvekNapsal: 29 říj 2018, 20:46 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 11 čer 2013, 14:27
Příspěvky: 1606
Has thanked: 1014 times
Been thanked: 281 times
Antony/DTA píše:
Mne viac vadí, že sa neukladá ani mód, v ktorom sa má obrázok zobraziť.

Jak to myslíš? A co 17. bajt UIFA aneb 222. bajt položky v adresáři: If the file type is 20 then these bytes contain the screen mode.


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 1, 2  Další

Všechny časy jsou v UTC + 1 hodina


Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 1 návštěvní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