OldComp.cz

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


Právě je 28.03.2024, 18:07

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




Odeslat nové téma Odpovědět na téma  [ Příspěvků: 16 ]  Přejít na stránku 1, 2  Další
Autor Zpráva
 Předmět příspěvku: MZ-700 pixelclk
PříspěvekNapsal: 14.04.2020, 10:54 
Offline
Kecálek

Registrován: 10.10.2014, 10:40
Příspěvky: 89
Has thanked: 3 times
Been thanked: 48 times
Ahoj,

prosim nemate nekdo po ruce info o tom jake hodiny jsou pouzite v MZ-700, pripadne nemate rovnou zmerenou skutecnou delku radku a stranky tak, jak to mam popsano tady pro MZ-800? https://sourceforge.net/p/mz800emu/code ... ideo.h#l36

Pise mi ted nejaky clovek ze Svedska, ze se mu program na skutecnem HW chova jinak, nez v mem emulatoru a ja zacinam mit pocit, ze se snazi porovnavat MZ-700 hardware s MZ-800 bezicim v MZ-700 modu. Ty pocitace maji kazdy jiny pxclk a pocet radku, takze to rozhodne nemuze sedet. Kdysi jsem to urcite i meril a nekde zverejnil, ale nedari se mi to dohledat a popravde se mi moc nechce kvuli tomu rozebirat MZ-700 a kramarit kolem nej s log. analyzerem.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: MZ-700 pixelclk
PříspěvekNapsal: 14.04.2020, 20:10 
Offline
Kecálek

Registrován: 10.10.2014, 10:40
Příspěvky: 89
Has thanked: 3 times
Been thanked: 48 times
hmmm, tak jsem to vytahnul a vypada to, ze 700 ma prakticky stejne hodiny jako 800 ... Pak mne jeste napada, jestli to netestuje na HW 1500


Nahoru
 Profil  
 
 Předmět příspěvku: Re: MZ-700 pixelclk
PříspěvekNapsal: 15.04.2020, 09:41 
Offline
Radil

Registrován: 08.10.2013, 18:00
Příspěvky: 296
Has thanked: 12 times
Been thanked: 228 times
Teď jde o to, jestli má PAL nebo NTSC verzi MZ700 (což je zase časováním ekvivalent té MZ1500).


Nahoru
 Profil  
 
 Předmět příspěvku: Re: MZ-700 pixelclk
PříspěvekNapsal: 15.04.2020, 11:40 
Offline
Pan Generální

Registrován: 19.07.2013, 15:54
Příspěvky: 2723
Has thanked: 144 times
Been thanked: 422 times
Alespon to co jsem zatim vycetl z GDG pro MZ800, tak v rezimu MZ700 bylo casovani presne dle technickeho manualu pro MZ700 co ma jmeno sm700.pdf.

Co jsem ale pri tom zjistil, tak firma Sharp se vubec netrapila spravnym nazvoslovim. Hodne casto je zamenovano "blank signal" za "enable video".


Nahoru
 Profil  
 
 Předmět příspěvku: Re: MZ-700 pixelclk
PříspěvekNapsal: 15.04.2020, 11:57 
Offline
Kecálek

Registrován: 10.10.2014, 10:40
Příspěvky: 89
Has thanked: 3 times
Been thanked: 48 times
jj, on mi poslal nejaky svuj testovaci kod, ktery mu v mem emulatoru bezi 11 sekund, zatimco na jeho MZ-700 to dela 16 sekund. Ja jsem to zkusil jsem porovnat s realnym MZ-800 a vysledek sedi s emu - tedy 11 s. Pak jsem zkusil ten jeho kod spustit ve svem emulatoru MZ-1500 a tam to delalo tech jeho 16 s, takze to vypada, ze ma nejaky NTSC.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: MZ-700 pixelclk
PříspěvekNapsal: 15.04.2020, 15:34 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 14.05.2013, 19:10
Příspěvky: 1486
Bydliště: Kurim
Has thanked: 828 times
Been thanked: 577 times
Posli mi ten test, zkusim to na Japonskem MZ-700.

_________________
http://www.8bity.cz


Nahoru
 Profil  
 
 Předmět příspěvku: Re: MZ-700 pixelclk
PříspěvekNapsal: 15.04.2020, 19:53 
Offline
Kecálek

Registrován: 10.10.2014, 10:40
Příspěvky: 89
Has thanked: 3 times
Been thanked: 48 times
Ten cp 0 tam je sice navic, ale chtel jsem aby to melo stejny pocet cpu taktu. V priloze je hex kod.
Program nakopiruje nejaky sajrajt do VRAM a jakmile se zmeni barva screenu, tak je konec mereni. Predpokladam, ze MZ-700 v NTSC bude mit stejne casovani jako MZ-1500 - tam mi to v emulatoru delalo 15.37s. MZ-700 v PALu by mel mit stejne casovani jako MZ-800 a ten mi v emu i v realu dela 11s.

; Disable interrupts, don't know if this actually makes any difference!
di
; Copy buffer to entire VRAM 1000 times
ld bc,1000
testloop:
push bc
ld hl,0xa000
ld de,0xd000
ld bc,1000
ldir
pop bc
dec bc
ld a,b
or c
cp 0
jr nz,testloop
; Change to red background to show test finished
ld hl,0xd800
ld de,0xd801
ld (hl),0x72
ld bc,999
ldir
inf:
jp inf


Přílohy:
test.png
test.png [ 137.56 KiB | Zobrazeno 10214 krát ]
Nahoru
 Profil  
 
 Předmět příspěvku: Re: MZ-700 pixelclk
PříspěvekNapsal: 15.04.2020, 22:02 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 14.05.2013, 19:10
Příspěvky: 1486
Bydliště: Kurim
Has thanked: 828 times
Been thanked: 577 times
Hmmmm... tak ted mne to docela dostalo.

Japonsky SHARP MZ-700 (MONITOR 1Z-009A) ... 21 s
Evropský SHARP MZ-700 (MONITOR 1Z-013A) ... 16 s

Natocil jsem to na mobil, ke stazeni zde http://www.8bity.cz/files/Sharp/SHARP_M ... M-test.zip

_________________
http://www.8bity.cz


Nahoru
 Profil  
 
 Předmět příspěvku: Re: MZ-700 pixelclk
PříspěvekNapsal: 15.04.2020, 22:48 
Offline
Pan Generální

Registrován: 19.07.2013, 15:54
Příspěvky: 2723
Has thanked: 144 times
Been thanked: 422 times
Martine jeste by to mozna chtelo zkusit evropsky MZ800 at vime cas z realneho stroje.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: MZ-700 pixelclk
PříspěvekNapsal: 15.04.2020, 23:46 
Offline
Kecálek

Registrován: 10.10.2014, 10:40
Příspěvky: 89
Has thanked: 3 times
Been thanked: 48 times
heh, tak to jsem necekal ... Vypada to tedy, ze mezi vsemi verzemi GDG je v zakladnim MZ-700 modu jeste par rozdilu!

Dnes mi ten clovek psal, ze jeste zkousel tu testovaci rutinu a ze prohodil zapis VRAM za cteni, coz na MZ-700 nemelo vliv - oboji mu delalo 16 s, zatim co v emulatoru to delalo pri zapisu 11 a pri cteni 13 s - coz se da lehce vysvetlit tim, ze GDG v MZ-800 pouziva jednobajtovy latch, ktery jsem kdysi pri merenich zdokumentoval - novinkou vsak je, ze MZ-700 zrejme zadny takovy latch nema ... Ale sakra proc je ta MZ-700 pomalejsi?

Napada mne: kolik fyzickych VRAM obvodu je v MZ-700 ? Protoze pokud by tam byl nepr. jen jeden kus, tak by to mohlo vysvetlit duvod proc maji ty dva pocitace ruzne casovani pri stejnem pixel clocku.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: MZ-700 pixelclk
PříspěvekNapsal: 16.04.2020, 02:16 
Offline
Radil

Registrován: 08.10.2013, 18:00
Příspěvky: 296
Has thanked: 12 times
Been thanked: 228 times
chaky píše:
- coz se da lehce vysvetlit tim, ze GDG v MZ-800 pouziva jednobajtovy latch, ktery jsem kdysi pri merenich zdokumentoval - novinkou vsak je, ze MZ-700 zrejme zadny takovy latch nema ...
Můžu potvrdit, že opravdu žádný latch na přístup do VRAM nemá. No ono ani mít nemůže, GDG v MZ700 nemá totiž vůbec připojenou datovou sběrnici :lol:
Prostě jakýkoliv přístup na VRAM (nebo dokonce periférku z adres E00x), ať už zápis nebo čtení, během času vykreslování řádku (a to i v řádcích ve kterých se nic nekreslí) končí WAIT signálem do konce obrazu v řádku (respektive místa, kde by končil obraz, kdyby se vykreslovalo).


Nahoru
 Profil  
 
 Předmět příspěvku: Re: MZ-700 pixelclk
PříspěvekNapsal: 16.04.2020, 02:40 
Offline
Radil

Registrován: 08.10.2013, 18:00
Příspěvky: 296
Has thanked: 12 times
Been thanked: 228 times
No ale každopádně každý sharpista přece ví, že pro MZ700 se kopírování do video RAM dělá přes instrukce PUSH během horizontalního blankingu. Zkusil jsem jen tak vystřelit od boku a načtrtnul kód s náhradou instrukce LDIR voláním CALL ldir700, který dělá to samé (tedy skoro, rozseká přenos na 12 bytové úseky a napushuje je do video paměti násilím (5,5 Tcy na byte) co nejrychleji to jde, u NTSC MZ700 na to má jen cca 67 Tcy času během jednoho řádku, než se přístup "zawaituje" a musí se připravit na další blok než skončí video dalšího řádku (celkem 227,2 Tcy). Tcy se myslí jeden takt Z80. Tohle by mělo se na libovolné MZ700/800/1500 dostat pod 6 sekund se stejným objemem práce jako příklad výše (jen s minimálními odchylkami mezi MZ typy):
Kód:
   di
   ld   sp,0x2000

   ld    bc,1000
testloop:
   push    bc
   ld    hl,0xa000
   ld    de,0xd000
   ld    bc,1000
   call   ldir700
   pop    bc
   dec    bc
   ld    a,b
   or    c
   cp    0
   jr    nz,testloop
   ; Change to red background to show test finished
   ld    hl,0xd800
   ld    de,0xd801
   ld    (hl),0x72
   ld    bc,999
   ldir
inf:
   jp inf


ldir700:
   push   af
   ex   af,af'
   push   af
   push   bc
   push   de
   push   hl
   ex   de,hl   
   xor   a
   sbc   hl,de         ;de-hl
   ld   (ldir700back+1),hl
   ex   de,hl
   ld   hl,0
   xor   a
   sbc   hl,de
   ld   de,12
   add   hl,de         ;hl-de+12
   ld   (ldir700up+1),hl
   pop   de
   push   de
   ld   hl,0
   xor   a
   sbc   hl,de
   xor   a
   sbc   hl,bc         ;-hl-bc
   ld   (ldir700end+1),hl
   ex   de,hl         ;hl=hl
   push   ix
   exx
   push   bc
   push   de
   push   hl
   exx
   ld   ix,0
   add   ix,sp
   ld   sp,hl
   jp   ldir700end   
ldir700loop:
   pop   af
   ex   af,af'
   pop   hl
   pop   de
   pop   bc
   exx
   pop   de
   pop   bc
ldir700back:
   ld   hl,0   ;de-hl
   add   hl,sp
   ld   sp,hl
   ex   af,af'
   push   bc
   push   de
   exx
   push   bc
   push   de
   push   hl
   push   af
ldir700up:
   ld   hl,0   ;hl-de+12
   add   hl,sp
   ld   sp,hl
ldir700end:
   ld   bc,0   ;-hl-bc+11
   add   hl,bc
   jp   nc,ldir700loop
   ld   a,c
   sub   11
   or   a
   jr   z,ldir700pop
   ld   c,a
   ld   b,0
   ex   de,hl
   ld   hl,(ldir700back+1)
   add   hl,de
   ex   de,hl
   ldir
ldir700pop:
   ld   sp,ix
   exx
   pop   hl
   pop   de
   pop   bc
   exx
   pop   ix
   ex   de,hl
   pop   hl
   pop   de
   pop   bc
   pop   af
   ex   af,af'
   pop   af
   ret


Přílohy:
ldir700.zip [346 bajtů]
442 krát
Nahoru
 Profil  
 
 Předmět příspěvku: Re: MZ-700 pixelclk
PříspěvekNapsal: 16.04.2020, 11:37 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 14.05.2013, 19:10
Příspěvky: 1486
Bydliště: Kurim
Has thanked: 828 times
Been thanked: 577 times
Na reálném MZ-800 trvá ten původní test 11s, jak psal Michal. Bez ohledu na polohu MZ-700 přepínače.

Bohoušův kód na MZ-800 trvá 7s, na jiných počítačích jsem ho zatím nezkoušel.

_________________
http://www.8bity.cz


Nahoru
 Profil  
 
 Předmět příspěvku: Re: MZ-700 pixelclk
PříspěvekNapsal: 16.04.2020, 14:02 
Offline
Kecálek

Registrován: 10.10.2014, 10:40
Příspěvky: 89
Has thanked: 3 times
Been thanked: 48 times
Martine, mohl bys prosim vyzkouset ten puvodni test jeste na na MZ-1500 ? V mem emulatoru to delalo 16 s, ale verim, ze realita muze byt uplne jina, protoze ma emulace MZ-1500 je porad jen znasilnena 800.

Co se tyka te MZ-700: Pokud nema datovku pripojenou na GDG, tak to znamena, ze se i cteni status registru deje nekde mimo nej, takze u MZ-700 by melo byt HBLN volne dostupne k tomu, aby jsme si dokazali zmerit jeho zacatek a konec a porovnat to pomoci RGB s tim, kde zacina a konci kreslici platno.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: MZ-700 pixelclk
PříspěvekNapsal: 16.04.2020, 14:33 
Offline
Radil

Registrován: 08.10.2013, 18:00
Příspěvky: 296
Has thanked: 12 times
Been thanked: 228 times
chaky píše:
Co se tyka te MZ-700: Pokud nema datovku pripojenou na GDG, tak to znamena, ze se i cteni status registru deje nekde mimo nej, takze u MZ-700 by melo byt HBLN volne dostupne k tomu, aby jsme si dokazali zmerit jeho zacatek a konec a porovnat to pomoci RGB s tim, kde zacina a konci kreslici platno.
Jo jo, je to přímo pin GDG.


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

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 10 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