Přejít na obsah
ARCHIVEKArchiv e-mailových konferencí o 8bitových počítačích Archiv Pandory 1999 až 2013

Zpět na zprávu

Celé vlákno · 10 zpráv

Zdrojaky VHDL pro ScanDoubler

David Luftner SHARP MZ-800

Takze tady jsou volne zdrojaky pro scandoubler. Je toho skoro 11kB :-)).

Zatim nemam nejakou uplnou odezvu od lidi kterym jsem posilal hotove kusy. Tak
 nemuzu mluvit o funkcnosti na 100%.

David

Přílohy

  • scandoubler.zip
    application/zip · 3 kB

Re: Zdrojaky VHDL pro ScanDoubler

Zdenek Adler SHARP MZ-800

Davide,

včera jsem měl možnost odzkoušet i programy které používají kreslení do
borderu jeho rychlými změnami, popř. střídáním palet (viz. 
http://mz-800.xf.cz/kvalita.htm ) a vše funguje perfektně. Tvůj scandoubler 
je podobně jako unikarta dalším brilantně zvládnutým kusem HW, bez
 kterého 
žádný pořádný Sharpista nedokáže žít :-D
Jedinou pihou na kráse je lehce oříznutý border (což je pochopitelné,
jinak 
bychom se do SVGA rozlišení nevešli a v XGA by byl zase border nechutně 
velký) a nemožnost přepnout do B/W režimu (ale to u originálního monitoru připojeného přes RGB také nešlo) neb případný DAC převodník namísto
 odporů 
by asi zařízení značně prodražil.

Zdenek

Zobrazit citovaný text (19 řádků)
----- Original Message ----- 
From: "David Luftner (sharpemupandora.cz)" <ix9[doména skryta]>
To: "Konference "Počítač SHARP MZ-800 a emulátory"" <sharpemupandora.cz>
Sent: Monday, November 01, 2010 9:13 PM
Subject: Zdrojaky VHDL pro ScanDoubler


>
> Takze tady jsou volne zdrojaky pro scandoubler. Je toho skoro 11kB :-)).
>
> Zatim nemam nejakou uplnou odezvu od lidi kterym jsem posilal hotove kusy. 
> Tak nemuzu mluvit o funkcnosti na 100%.
>
> David
>
>
> ---
> 

overscan (was: Re: Zdrojaky VHDL pro ScanDoubler)

Ctirad Feřtr SHARP MZ-800

Dne úterý 02 Listopad 2010 08:02:38 Zdenek Adler (sharpemupandora.cz) 
napsal(a):

Zobrazit citovaný text (3 řádky)
> včera jsem měl možnost odzkoušet i programy které používají kreslení 
do
> borderu jeho rychlými změnami, popř. střídáním palet 
Když už na to přišla řeč, tak jaké exitují na sharpu metody na
zobrazení 
overscanu?  Z toho co vím to zatím vypadá jenom na "efekty" v borderu
docílené 
přepínáním barvy borderu během vykreslování řádku.  Nebo existuje i
nějaká 
sofistikovanější metoda jako u mnohých jiných počítačů, kde se dá
videočip 
zmást natolik, že pokračuje v zobrazování VRAM na celém řádku?

BTW, nemá někdo zdroják v asm něčeho, co kreslí na obrazovku? Pokoušel
jsem 
se o něco na základě dokumentace ze scavu, ale nějak mi to neseje :(


Ctirad

Re: overscan

Michal Hučík SHARP MZ-800

Krome zmen barev jsem taky tusim videl nejaky Martinuv program, ktery 
rychle prepinal mezi rezimy 320x20016 a 640x2004 a tim dosahnul v 
jednom miste obrazovky toho, ze tam mel jemnou grafiku a v dalsi casti 
obrazovky toho, ze mel k dispozici 16 barev najednou.

K vysvetleni toho jak se kresli v 800 rezimu po obrazovce se uz delsi 
dobu chystam napsat nejakou skolicku, protoze mi prijde, ze dobre popisy 
jsou vesmes rozhazene po ruznych navodech, nektere byvaji zmatene a nebo 
predpokladaji, ze si clovek domysli neco, na co uz v dnesni dobe musi 
hodne intenzivne prichazet. Sam kdyz jsem si to ozivoval, tak jsem tady 
laboroval nad SM, dokumentaci ze scavu a s brozurkou Systemove 
programovani na MZ800.
Navic mam pocit, ze pri experimentech v emulatoru jsem obcas narazel na 
nejake anomalie, ktere se na Sharpu nedeji, ale o tom se tu pry nesmi 
mluvit ;)
Kazdopadne ale pri tom jak jsem na tom v posledni dobe s casem bude asi 
lepe, kdyz se takove skolicky ujme nekdo jiny a urcite i povolanejsi... 
Zdenku? Martine? Wileme? Jarhmyllo? ;)

Michal


Dne 2.11.2010 9:26, Ctirad Feřtr (sharpemupandora.cz) napsal(a):
Zobrazit citovaný text (24 řádků)
> Dne úterý 02 Listopad 2010 08:02:38 Zdenek Adler (sharpemupandora.cz)
> napsal(a):
>
>> včera jsem měl možnost odzkoušet i programy které používají kreslení
 do
>> borderu jeho rychlými změnami, popř. střídáním palet
> Když už na to přišla řeč, tak jaké exitují na sharpu metody na
zobrazení
> overscanu?  Z toho co vím to zatím vypadá jenom na "efekty" v borderu
docílené
> přepínáním barvy borderu během vykreslování řádku.  Nebo existuje i
nějaká
> sofistikovanější metoda jako u mnohých jiných počítačů, kde se dá
videočip
> zmást natolik, že pokračuje v zobrazování VRAM na celém řádku?
>
> BTW, nemá někdo zdroják v asm něčeho, co kreslí na obrazovku? Pokoušel 
jsem
> se o něco na základě dokumentace ze scavu, ale nějak mi to neseje :(
>
>
> Ctirad
>
> ---

Re: overscan

Factor6 SHARP MZ-800

Ja tomu teda zas tak nehovim, ale podle me to je jak u Spectra, kde jdou barevne 1/50Hz efekty a pripadny siroky text, ale overscan asi ne, aspon jsem to nevidel.
Sharp ma podle me mimo jine dost hodne velky border na to, jake ma rozliseni, coz povazuju za nevyhodu (v porovnani se Spectrem).

F6



2010/11/2 Michal Hučík (sharpemupandora.cz) <ordoz[doména skryta]>


Krome zmen barev jsem taky tusim videl nejaky Martinuv program, ktery rychle prepinal mezi rezimy 320x20016 a 640x2004 a tim dosahnul v jednom miste obrazovky toho, ze tam mel jemnou grafiku a v dalsi casti obrazovky toho, ze mel k dispozici 16 barev najednou.

K vysvetleni toho jak se kresli v 800 rezimu po obrazovce se uz delsi dobu chystam napsat nejakou skolicku, protoze mi prijde, ze dobre popisy jsou vesmes rozhazene po ruznych navodech, nektere byvaji zmatene a nebo predpokladaji, ze si clovek domysli neco, na co uz v dnesni dobe musi hodne intenzivne prichazet. Sam kdyz jsem si to ozivoval, tak jsem tady laboroval nad SM, dokumentaci ze scavu a s brozurkou Systemove programovani na MZ800.
Navic mam pocit, ze pri experimentech v emulatoru jsem obcas narazel na nejake anomalie, ktere se na Sharpu nedeji, ale o tom se tu pry nesmi mluvit ;)
Kazdopadne ale pri tom jak jsem na tom v posledni dobe s casem bude asi lepe, kdyz se takove skolicky ujme nekdo jiny a urcite i povolanejsi... Zdenku? Martine? Wileme? Jarhmyllo? ;)

Michal


Dne 2.11.2010 9:26, Ctirad Feřtr (sharpemupandora.cz) napsal(a):
Dne úterý 02 Listopad 2010 08:02:38 Zdenek Adler (sharpemupandora.cz)
napsal(a):

včera jsem měl možnost odzkoušet i programy které používají kreslení do
borderu jeho rychlými změnami, popř. střídáním palet
Když už na to přišla řeč, tak jaké exitují na sharpu metody na zobrazení
overscanu?  Z toho co vím to zatím vypadá jenom na "efekty" v borderu docílené
přepínáním barvy borderu během vykreslování řádku.  Nebo existuje i nějaká
sofistikovanější metoda jako u mnohých jiných počítačů, kde se dá videočip
zmást natolik, že pokračuje v zobrazování VRAM na celém řádku?

BTW, nemá někdo zdroják v asm něčeho, co kreslí na obrazovku? Pokoušel jsem
se o něco na základě dokumentace ze scavu, ale nějak mi to neseje :(


Ctirad

---


---

Re: overscan

Martin Frohlich SHARP MZ-800

Na tohle musím reagovat... Ano snažil jsem se udělat aby v horní části byl
 šestnácti barevný obrázek a ve spodní části 80 znaků text... (pro testy
z autoškoly.. křižovatky..) a došlo to do stavu kdy se mi časováním
podařilo obrazovku rozdělit, ale pak jsem se vrhnul na kreslení křižovatek 
a na tom celá snaha ustrnula... Takže to bylo ve stavu jakž takž fungující
procedury, ale nikdy nedokončeno...

Martin

Zobrazit citovaný text (60 řádků)
> ------------ Původní zpráva ------------
> Od: Michal Hučík (sharpemupandora.cz) <ordoz[doména skryta]>
> Předmět: Re: overscan
> Datum: 02.11.2010 10:04:04
> ----------------------------------------
> 
> 
> Krome zmen barev jsem taky tusim videl nejaky Martinuv program, ktery 
> rychle prepinal mezi rezimy 320x20016 a 640x2004 a tim dosahnul v 
> jednom miste obrazovky toho, ze tam mel jemnou grafiku a v dalsi casti 
> obrazovky toho, ze mel k dispozici 16 barev najednou.
> 
> K vysvetleni toho jak se kresli v 800 rezimu po obrazovce se uz delsi 
> dobu chystam napsat nejakou skolicku, protoze mi prijde, ze dobre popisy 
> jsou vesmes rozhazene po ruznych navodech, nektere byvaji zmatene a nebo 
> predpokladaji, ze si clovek domysli neco, na co uz v dnesni dobe musi 
> hodne intenzivne prichazet. Sam kdyz jsem si to ozivoval, tak jsem tady 
> laboroval nad SM, dokumentaci ze scavu a s brozurkou Systemove 
> programovani na MZ800.
> Navic mam pocit, ze pri experimentech v emulatoru jsem obcas narazel na 
> nejake anomalie, ktere se na Sharpu nedeji, ale o tom se tu pry nesmi 
> mluvit ;)
> Kazdopadne ale pri tom jak jsem na tom v posledni dobe s casem bude asi 
> lepe, kdyz se takove skolicky ujme nekdo jiny a urcite i povolanejsi... 
> Zdenku? Martine? Wileme? Jarhmyllo? ;)
> 
> Michal
> 
> 
> Dne 2.11.2010 9:26, Ctirad Feřtr (sharpemupandora.cz) napsal(a):
> > Dne úterý 02 Listopad 2010 08:02:38 Zdenek Adler (sharpemupandora.cz)
> > napsal(a):
> >
> >> včera jsem měl možnost odzkoušet i programy které používají
kreslení do
> >> borderu jeho rychlými změnami, popř. střídáním palet
> > Když už na to přišla řeč, tak jaké exitují na sharpu metody na
zobrazení
> > overscanu?  Z toho co vím to zatím vypadá jenom na "efekty" v borderu
> docílené
> > přepínáním barvy borderu během vykreslování řádku.  Nebo existuje i
nějaká
> > sofistikovanější metoda jako u mnohých jiných počítačů, kde se dá 
videočip
> > zmást natolik, že pokračuje v zobrazování VRAM na celém řádku?
> >
> > BTW, nemá někdo zdroják v asm něčeho, co kreslí na obrazovku?
Pokoušel jsem
> > se o něco na základě dokumentace ze scavu, ale nějak mi to neseje :(
> >
> >
> > Ctirad
> >
> > ---
> 
> 
> ---
> 
> 
> 

Re: overscan - jednoduchy popis kresleni po obrazovce

Michal Hučík SHARP MZ-800

Dne 2.11.2010 9:26, Ctirad Feřtr (sharpemupandora.cz) napsal(a):
Zobrazit citovaný text (3 řádky)
> BTW, nemá někdo zdroják v asm něčeho, co kreslí na obrazovku? Pokoušel 
jsem
> se o něco na základě dokumentace ze scavu, ale nějak mi to neseje :(
Ted tu mam chvilku klidu, toz zkusim nastinit alespon zaklad. Budu se 
zabyvat jen rezimem MZ800, ve kterem se pracuje s video pameti bitove, 
tzn. ze to co zapisu do VRAM je to co uvidim na obrazovce. V rezimu 
MZ700 funguje zobrazeni z VRAM atributove, tedy bajt zapsano do VRAM 
rika adresu bitove masky v CGRAM a barvy pozadi a popredi se nastavuji v 
tabulce atributu, ktera je umistena nad VRAM ... ale to je jina pisnicka.

Kazdy program v MZ800 rezimu by si mel davat bacha, aby se on sam, nebo 
jeho zasobnik nenachazel v oblastech 0x1000 - 0x1FFF (CGROM), a 0x8000 - 
0x9FFF (VRAM 320x200), pripadne 0x8000 - 0xBFFF (VRAM 640x200) ... teda 
program se tam samozrejme nachazet muze, ale ne ve chvili, kdy si 
primapuje CGROM + VRAM, ktere v MZ800 rezimu jdou mapovat pouze obe 
dohromady.

Nastaveni pozadovaneho rezimu, zpusobu zobrazeni, rozliseni obrazovky a 
poctu barev provadime pres DMD registr (0xCE).

Mapovani pameti zatim nijak rozvadet nebudu, pouze to, ze v MZ800 rezimu 
IN A, (0xE0) primapuje CGROM a VRAM. Instrukce IN A, (0xE1) to odmapuje 
a navrati tam RAMku.

V kazdem barevnem rezimu si clovek musi uvedomit s kolika _obrazy_ a 
_bloky_ v danem rezimu pracuje, podle toho pak vypada prace s WFR - 
Write Format Registr - (0xCC), RFR - Read format Registr (0xCD) a 
registrem barevnych palet (0xF0).



org 0x3000

ld sp, 0x2FFF        ; zasobnik dame pod nas program

xor a
out (0xCE), a        ; do DMD posleme 0x00 - tedy rezim MZ800, 320x2004 
obraz A
                               ; (pouzijeme tedy 2 obrazove bloky I. a II.)

in a, (0xE0)            ; primapujeme CGROM a VRAM

ld bc, 0x00F0        ; do reg. C si dame adresu registru barevnych palet

ld a, 0x40
out (c), a            ; zvolime nultou paletovou skupinu
                     ; Volba skupiny: 6. bit musi byt '1', dolni 2 bity 
rikaji cislo skupiny


; nyni u teto skupiny pridelime barvy k obsahu obrazovych bloku
; Volba barvy:
; 6. bit musi byt '0'
; bity 5.  -  4. rikaji cislo obrazoveho bloku
; bity 3. - 0. rikaji barvu (IGRB)

xor a
out (c), a            ; zadny bit v obr. blocich znamena - cerna barva

ld a, 0x11
out (c), a            ; bit v prvnim bloku bude modra barva

ld a, 0x22
out (c), a            ; bit v druhem bloku bude cervena

ld a, 0x3F
out (c), a            ; bit v obou blocich bude bila


;
; A ted zacneme kreslit, nejprve si smazeme screen
;

ld a, 0x03
out (0xCC), a           ; nastavime si WFR a RFR tak, aby jsme
out (0xCD), a            ; cetli metodou READ z bloku I. a II. a psali 
metodou SINGLE WRITE do bloku I. a II

ld hl, 0x8000        ; adresa VRAM
ld de, 0x8001
ld bc, 0x1F3F        ; velikost viditelne oblasti VRAM ( 40 bajt x 200  
radku ) - 1
xor a
ld (hl), a
ldir                        ; mazeme


; namalujeme bilou prerusovanou caru pres prvnich 8 radku
ld hl, 0x8000
ld de, 0x8001
ld bc, 0x013F            ; (40 x 8) - 1
ld a, 0x55
ld (hl), a
ldir

; pokracujeme pod tim cervenou carou
ld a, 0x02
out (0xCC), a
out (0xCD), a        ; prenastavime WFR a RFR jen na II. obrazovy blok

ld bc, 0x013F            ; (40 x 8) - 1
ld a, 0x55
ld (hl), a
ldir

; odmapujeme VRAM
in a, (0xE1)

; a budeme cekat az do soudneho dne...
di
halt


Snad jsem se nikde neseknul a bude vam to takhle fungovat. K pochopeni 
je dobre dohledat si vyznamy jednotlivych bitu k uvedenym registrum.

Michal


RE: overscan - jednoduchy popis kresleni po obrazovce

Anonym SHARP MZ-800

Copak zapis je vcelku "jednoduchy" ale chtelo by to rychlou linearni
 interpolaci
jako kluk (pred 20 lety) jsem o tom snil ze to bude jako rutinka v CP/M
Amstrad CPC to ma jednodusi "odskoci" tusim do ROMky vykresli caru a vrati se.

Ostatne skoda ze se nepredelavalo z Amstradu CPC kde je organizce grafiky
podobnejsi
Nez u ZX Spectra


Petr

Zobrazit citovaný text (13 řádků)
-----Original Message-----
From: Michal Hučík (sharpemupandora.cz) [mailto:ordoz[doména skryta]] 
Sent: Wednesday, November 03, 2010 10:19 AM
To: Konference "Počítač SHARP MZ-800 a emulátory"
Subject: Re: overscan - jednoduchy popis kresleni po obrazovce



Tak jsem to i zkusmo zkompiloval a zda se, ze to i funguje ;) Prikladam MZF.


---

RE: overscan - jednoduchy popis kresleni po obrazovce

Vaclav Peroutka SHARP MZ-800

Zobrazit citovaný text (10 řádků)
> 
> Copak zapis je vcelku "jednoduchy" ale chtelo by to rychlou linearni
> interpolaci
> jako kluk (pred 20 lety) jsem o tom snil ze to bude jako rutinka v CP/M
> Amstrad CPC to ma jednodusi "odskoci" tusim do ROMky vykresli caru a vrati
 se.
> 
> Ostatne skoda ze se nepredelavalo z Amstradu CPC kde je organizce grafiky
> podobnejsi
> Nez u ZX Spectra
Ano, nad tim jsem taky uz premyslel, ale zasadni problemy jsou dva. Hry na
Amstradu jedou v rozliseni 160x200, takze by se musely predelavat obrazovky. A
potom, Nema nahodou CPC hardwarove sprity ?

V.