[SharpMZ] Sharp MZ800 - seznameni

Radek Suk suk na softex.cz
Úterý Srpen 12 21:12:11 CEST 2014


Velesofte, podle mne by bylo vhodne se omezit na nejaky bezny rezim 
napr. 320x200 16barev, proto nasledujici text bude jen o tomto rezimu.

Drtiva vetsina uzivatelu ma rozsirenou pamet na 32KB. Duvod byl ten, ze 
tento rezim umoznuje prenest hru z ZX na Sharpa a soucasne zachovat 
barvy a tak nemit hru jen cernobilou. Rada kamaradu si okolo revoluce 
koupila rozsirenou video pamet hlavne kvuli hram. Hodne her bez 
rozsireni je nehratelnych, protoze se spatne zobrazuji.

Tech jinych rezimu nez 320x200/16 je opravdu hodne ale nema cenu se tim 
pro zacatek prilis zabyvat. Dulezite je to, ze pri rozsireni ma video 
sbernice 16 bitu. Prenasi se soucasne 2x8 bitu. 8 taktu krystalu ma 
zakaznicky obvod vyhrazen pro sebe a za tu dobu precte vsechny ctyri 
roviny coz dela 8x4bity. Proto ma pripraveno 8 bitu v 16 barvach pro 
pristi zobrazovani (load). Pak nasleduje 8 taktu kde ma pristup do video 
pameti CPU. Nasleduje Load signal jenz zajisti predani tech 32 bitu do 
vystupniho shift registru a zobrazeni po dobu nasledujicich 16 taktu, 
kazdych 2 takty se zobrazuje jeden bod. Mezitim se uz pripravuji dalsi  
data a cele se to opakuje. Mozna pro tebe je zajimava informace ze 
hodiny pro cpu se deli peti. Takze pro predstavu, tri takty cpu je 15 
taktu krystalu.

Protoze vim ze dobre znas ZX48 tak to porovnam s nim. Je to podobne jako 
kdyz na Spectru se nacte jeden znak a nasledne jeho atribut a pak jeste 
jeden znak za nim plus jeho atribut.  Pak se to zobrazuje a takto je 
umozneno CPU v druhem cyklu pristupovat do pameti. Samozrejme je rozdil 
ze na Sharpovi se nectou atributy ale bity ze kterych se dela barva. Pro 
zacatek bych ti doporucoval si nehrat s registry palet - pro rezim 16 
barev je pro drtivou vetsinu aplikaci nechat puvodni barvy. Upravu 
registru bych osobne pouzil jen pro nejake demo.

Video pamet je namapovana mezi 08000h a 09fffh - celkem 8KB. Pozor ale 
na to ze nikdy neni primo pristupna ale vzdy se pristupuje pres dva 
registry - READ a WRITE. Podle toho jak jsou nastavene tak se provadi 
vybrana cinnost. Je jasne ze kdyz pamet ma 32KB a mapuje se jen 8KB tak 
lze pristupovat jen k casti obsahu. Pri zapisu dat do video ram je 
dulezite vedet, ze dela vetsinou nejaka logicka operace a tak se vlastne 
nactou data z video ramky pak se treba udela logicke OR a vysledek se 
ulozi zpet do video ram - vse toto dela zakaznicky obvod automaticky - 
programator to neovlivnuje, on jen nastavuje rezim zapisu. Pri cteni 
jsou dva zakladni rezimy. Jeden je ze si vyberes rovinu 1 az 4 a z ni 
ctes. Kde je 1 tam je v rovine nastaveno log.1. Pri cteni rovin by jsi 
spravne nemel nastavoval vice rovin a snazit se cist z vice rovin. Druhy 
typ je cteni "barvy", zde se dotazujes zda na miste obrazovky je presne 
tato barva. Tech barev je 16 a tak kdyz by jsi chtel takto cist celou 
obrazovku tak by jsi to musel provest 16 krat. Proto je pro celou 
obrazovku lepsi 4x nacist roviny a mas vsechny data. Na druhou stranu 
kdyz chces zjistit (overit) zda na nejakem miste obrazovky je napr. 
cerveny bod tak muzes jednim ctenim pri vyberu barvy to zjistit. Kazdy 
rezim je vhodny pro jinou cinnost.

Video pamet se mapuje tak, ze prvni bajt je na 08000h. Pak nasleduji 
dalsi bajty (body) tak ze je obsazeno 8000 bajtu (320*200/8). 
Nasledujich 192 bajtu je nevyuzito pro zobrazovani ale je mapovano.

Co se tyce nejakeho atypickeho rozsireni, tak jsem nevidel zadne HW 
rozsireni, ktery by zajistil nekolik samostatnych obrazovek a pripadne 
prepinani mezi nimi. Jedine co jiz bylo zmineno v konferenci je to, ze 
pri  vhodnem "hrani" s registry muzes udelat dve obrazovky (pamet 32KB 
rozdelis na 2x16KB) a ty plnit samostatne a prepinat mezi nimi ale toto 
neni mozne pro rezim 320x200/16.

Radek

p.s. Snad ten text je alespon nejak citelny a nekoho potesi.

Dne 11.8.2014 18:24, VELESOFT napsal(a):
> Zajimalo by me, jak ma SHARP MZ800 vyresenou videoram, jak se do ni pristupuje a
> jak jsou v ni data organizovana. Dale pak organizace pameti, pripadne moznosti
> jejiho rozsireni.
>
> VELESOFT
>
>
>




Další informace o konferenci SharpMZ