þMZ PAINT MANUAL2 âe¿> ********************************* * * * mz-paint MANUAL ÃÁst 2 * * * * spÁchÁno dne 23. zÁÒÉ r.1991 * * ----------------------------- * * PS: BuÄte tak laskavi a tento * * popis nekopÉrujte naÃerno, je ********************************** * to zakÁzan× a mohly by se vÁm * * * WHISKYtnout urÃit× probl×my. * VÓe pro vÁÓ SHARP MZ-800, t.j. * * * hardware i software zÉskÁte na * * dÉky, mZx * adrese: * * * mZx software * ********************************* P.O.BOX 93 * * 381 03 ãeskÙ Krumlov * * * * Telefon: ( 038 ) / 415 31 * * * ****************************************** Pokud vÁs zajÉmÁ, k Ãemu jsou soubory CCBT a CCLQ, tak se kouknÅte na konec tohoto manuÁlu. ------------------------------------------------------------------------------ Dodatek: -------- Adresy, kter× zde budou uvedeny u formÁtu dat jsou pouze relativnÉ, to znamenÁ Úe obrÁzek jakoby zaÃÉnal od adresy 0000 a ne od adresy uveden× v hlaviÃce. FormÁt dat obrÁzku MZ Paintu - bez komprimace : adresa: 0000H 2000H 4000H 6000H obsah: rovina 1 rovina 2 rovina 3 rovina 4 CelkovÁ d×lka: 7F40H FormÁt dat obrÁzku MZ Paintu - s kompresÉ : FormÁt je zcela stejnÙ jako bez komprese, ale data jsou zhuÓtÅna a to nÁsle- dovnÅ: V pÒÉpadÅ, Úe vÉce neÚ 2 byte za sebou jsou stejn×, je na mÉstÅ prvnÉ- ho z nich uloÚen kÏd C4H, kterÙ zastÁvÁ funkci znaÃky. DalÓÉ byte urÃuje hod- notu,kterÁ se opakuje a za nÉm je byte urÃujÉcÉ kolikrÁt se opakuje. V pÒÉpa- dÅ, Úe v datech kter× se zhuÓÔujÉ je jiÚ zmÉnÅnÙ kÏd C4H je za nÉm kÏd 00H, coÚ znamenÁ, Úe C4H nemÁ funkci znaÃky, ale Úe v ÚhuÓÔovanÙch datech skuteÃnÅ je. Rutina pro kompresi dat leÚÉ od adresy 2DE1H ( registry: HL - poÃÁteÃnÉ adesa dat ke kompresi, IX - adresa pro uklÁdÁnÉ zkomprimovanÙch dat, BC - d×lka dat) a rutina pro dekompresi leÚÉ od adresy 2E58H (registry :HL -adresa zkomprimovanÙch dat, DE - adresa uklÁdÁnÉ dekomprimovanÙch dat, BC - d×lka dat). FormÁt dat obrÁzku ARTEXu: adresa: 0000H 1F40H 1FFBH 1FFCH 1FFDH 1FFEH 1FFFH 2000H obsah: rovina1 nic border pal 0 pal 1 pal 2 pal 3 rovina 2 CelkovÁ d×lka: 3F40H FormÁt dat obrÁzku G.H.Paintu : adresa: 0000H 0001H 1F40H 3E82H 3E83H 3E84H 3E85H 3E86H obsah: nic rovina 1 rovina 2 pal 0 pal 1 pal 2 pal 3 border ObsazenÉ pamÅti : ----------------- 0000H - ZnakovÁ sada MZ Paintu (znaky seÒazeny podle ASCII kÏdÊ) 0800H - ZnakovÁ sada pro psanÉ textÊ do obrÁzku. 0B00H - VolnÙ prostor pro uÚivatelsk× rutiny (F. Load a F. Run) 1000H - Syst×movÁ oblast 1400H - Texty jednotlivÙch oken 1A92H - VlastnÉ program 7600H - Vzory 7C00H - Syst×movÁ oblast, stÒadaà rutiny PAINT 8000H - ObrÁzek - zabÉrÁ mÉsto aÚ do konce pamÅti Popis nejdÊlezitÅjÓÉch rutin tohoto programu: --------------------------------------------- 2200H - CLS 2268H - NastavenÉ barvy borderu na barvu z reg. A 226EH - Wait - BC zpoÚdÅnÉ 250CH - VÙstup ÒetÅzce znakÊ od DE v *barvÅ A. òetÅzec musÉ bÙt ukonÃen 0DH 2252H - POINT - zjisÔenÉ barvy bodu na souÒadnicÉch DE - x, HL - y. Barva se vracÉ v reg. A 2360H - HL=DExBC 2379H - L=HL/D H - zbytek 2585H - SET - vÙtisk bodu na souÒadnice DE - x, HL - y v barvÅ reg. A 25B8H - LINE - kreslenÉ ÃÁry z DE - x1, HL - y1, DE' - x2, HL' - y2 v barvÅ A 2754H - STICK - test stavu - vÙstup smÅru v A (0-nestisknuto, 1-8 smÅr) 275EH - FIRE - zero: 1 - nestisk. 0 - stisk 2769H - SWITCH - pÒepÉnaà rutin STICK a FIRE dle reg. A na: 0 - klÁvesnice, 1 - Joystick 1, 2 - Joystick 2 2770H - test breaku - zero: 1 - stisk. 0 - nestisk. 2834H - GET - test klÁvesy - jejÉ hodnota v ASCII kÏdu se vracÉ v reg. A, hodnota 00 - nestisknuto nic 2849H - IN KEY - blikÁ kurzor a ÃekÁ se na stisk klÁvesy jejÉÚ ASCII hodnota se vracÉ v reg. A 287DH - INPUT - vstup ÒetÅzce znakÊ z klÁvesnice na adresu DE, max. poÃet zn. kter× chcete zadat v reg. B 28DDH - vÙstup znaku z A na obrazovku 2980H - SPRITE 8xN bodÊ - BC - adresa dat sprajtu, DE - x, HL - y, A - *barva C' - vÙÓka sprajtu 29B0H - SPRITE 24xN bodÊ - vÙznam registrÊ je stejnÙ jako v pÒedchozÉm pÒÉpadÅ xxxxH - vÙtisk obrÁzku ZX Spectra - HL - zaÃÁtek dat (struktura dat: nedÒÉve videoram jako od 4000H na spectru a za nÉ atributy) 2FD2H - pohybovÁnÉ Óipkou - zero: 0 - stisknut FIRE 1 - reg. A - 0 stisknut CR 1 stisknut BREAK 3172H - WINDOWS - okno - H - y, L - x souÒadnice lev×ho hornÉho rohu okna C - ÓÉÒka okna, B - vÙÓka okna, DE - adresa textu okna (nejdÒÉve nadpis a potom jednotliv× ÒÁdky, ty jsou oddÅlovÁny znaken 0DH), A - barva pozadÉ, textu - pÒi stisku BREAK je nastaven carry flag 3478H - COPY - kopie okna DE - x, HL - y souÒadnice cÉle, DE' - x, HL' - y souÒadnice zdroje, BC - x, BC' - y rozmÅr okna, A - reÚim OR/SET 3495H - MOVE - pÒesun okna - vÙznam registrÊ jako v pÒedchozÉm pÒÉpadÅ 34B2H - TRANS - pÒenos z palety do palety - DE - x, HL - y, souÒadnice lev×ho hornÉho rohu okna (tento roh platÉ i pro COPY a MOVE), BC - x, BC' - y rozmÅr okna, A - z palety, do palety 3549H - HL=SQR(BC) - vÙpoÃet druh× odmocniny s zaokrouhlenÉm 367CH - BEEP - akustickÁ signalizace 3FC1H - ZX loader - ÃtenÉ programÊ ze spectra A: 00 - nahrÁvÁnÉ hlaviÃky FF - nahrÁvÁnÉ dat carry: 0 - verify 1 - load IX - adresa uklÁdÁnÉ dat, DE - d×lka dat, vÙstup carry 1 - error 381AH - CIRCLE - DE - x, HL - y stÒedu, IX - polomÅr, B - aspekt, C: 0 - kruÚnice 1 - elipsa x 2 - elipsa y 414FH - naÃtenÉ hlaviÃky programu - od adresy 10F0H 4159H - naÃtenÉ bloku dat dle hlaviÃky 41EBH - zÁpis hlaviÃky na pÁsek 41F5H - zÁpis dat na pÁsek 431BH - rychlost zÁpisu na pÁsek: 0227H - 1200Bd 0137H - 2400Bd 00E7H - 3600Bd 438CH - ovÅÒovÁnÉ bloku dat dle hlaviÃky 4BE9H - BOX - DE - x1, HL - y1, DE' - x2, HL' - y2, carry 1 - vyplnit bar. A 5E14H - SYMBOL - HL' - x, DE' - y, H - y zvÅtÓenÉ, L - x zvÅtÓenÉ, DE - data textu, B - poÃet znakÊ, A - otoÃenÉ (0-0st., 1-90st., 2-180st. 3-270st.) *) Barvou je zde mÉnÅn obsah WF registru displeje, ten mimo barvy obsahuje i zÁpisovÙ reÚim. PracovnÉ oblast programu: ------------------------- 2000H - x,y souÒadnice kurzoru 200AH - kopie WF registru pro text 200BH - barva pro rafick× oprace LINE, CIRCLE, BOX 2026H - x souÒadnice Óipky 2028H - y souÒadnice Óipky 2038H - barva inkoustu 2039H - zÁpisovÙ reÚim 2056H - RAM disk : 0 - OFF, 1 - ON 2057H - sychlost CMT : 0 - 1200Bd, 1 - 2400Bd 2058H - komrese : 0 - OFF, 1 - ON ãÁst tÒetÉ - Popis programu Graphic convetor --------------------------------------------- Tento podpÊrnÙ program mÁ v podstatÅ tÒi hlavnÉ funkce. PrvnÉ jeho funkcÉ je pÒevÁdÅt obrÁzky z MZ Paintu do formÁtu Artex nebo G.H. Paint - to proto, Úe MZ Paint pracuje pouze s tiskÁrnami typu EPSON, zatÉmco Artex, G. H. Paint, pÒÉpadnÅ PC HCOPY s vÉce druhy tiskÁren. Druhou hlavnÉ funkcÉ tohoto programu je pÒipojovat k obrÁzkÊm z MZ Paintu rutiny pro jejich zobrazenÉ, zavedenÉ dalÓÉho programu na pÁsce do operaÃnÉ pamÅti a jeho spuÓtÅnÉ ( pÒitom tento program musÉ bÙt na pÁsce nahrÁn bez loaderu a to jakoukoli rychlostÉ a nesmÉ leÚet pod adresou 1200H !!! ). V pÒÉpadÅ, Úe by nÅkdo chtÅl pÒipojit tyto ru- tiny k obrÁzkÊm z G.H. Paintu nebo Artexe, musel by upravit rutinu pro vÙtisk obrÁzku. TÒetÉ jeho funkcÉ je provÁdÅt obousmÅrnou konverzi znakovÙch sad s Artexem. Popis jednotlivÙch funkcÉ programu: ----------------------------------- OtaznÉk - UÚivatelsk× funkce : ------- OvlÁdÁnÉ - Volba ÃÉm se bude program ovlÁdat. Po startu programu je ovlÁdÁnÉ pÒepnuto na klÁvesnici. MZP loader - Tato funkce pÒipojuje k obrÁzkÊm jiÚ zmÉnÅn× zobrazovacÉ a nahrÁ- vacÉ rutiny. Po volbÅ t×to funkce se v pÒÉpadÅ, Úe mÁte v poÃÉta- Ãi RAM disk a ten je naformÁtovÁn v hornÉ ÃÁsti obrazovky ob- jevÉ dotaz "NahrÁt z kazety/disku (K/D)?" a po t×to volbÅ si do pamÅti nahrajete pÒÉsluÓnÙ obrÁzek. Potom si zvolÉte barvu pruhÊ borderu a to jestli chcete echo nahrÁvanÙch dat. OpÅt se zobrazÉ dotaz, kam chcete vzniklÙ soubor uloÚit (kdyÚ nenÉ RAM disk dotaz se nezobrazuje ) a soubor uloÚÉte. Tento soubor se potom chovÁ jako samostatnÙ strojovÙ program, kterÙ po nahrÁtÉ a spuÓtÅnÉ vy- tiskne obrÁzek, zavede nÁsledujÉci program do pamÅti a spustÉ ho. V pÒÉpadÅ, Úe byl soubor uloÚen na pÁsek je hlÁÓen dotaz " Chcete program ovÅÒit (A/N)? ". KdyÚ pÒi ovÅÒovÁnÉ programu nastane chy- ba objevÉ se zprÁva " Chyba CMT !!! Opakovat zÁznam ? " a mÊÚete soubor uloÚit na pÁsek znovu. Verify - ProvÁdÉ ovÅÒenÉ poslednÅ uloÚen×ho programu. PÒi zjiÓtÅnÉ chyby v zÁznamu je hlÁÓeno " Chyba CMT !!! " a po stisku SPACE se vrÁtÉte zpÅt do menu. V opaÃn×m pÒÉpadÅ se do menu vrÁtÉte okamÚitÅ. Echo - Funkce slouÚÉ k zapnutÉ/vypnutÉ zvukov×ho echa pÒi prÁci s magne- tofonem. Stav je signalizovÁn znakem '+' pÒi zapnut×m a '-' pÒi vypnut×m echu. Disk - V pÒÉpadÅ, Úe je RAM disk vypnut - stav "Disk:OFF" je tato funkce zablokovÁna. Jinak se objevÉ dalÓÉ okno: Disk: VÙmaz - vymazÁnÉ souboru nebo cel×ho disku Disk:A/B - slouÚÉ k pÒepÉnÁnÉ mezi diskem A nebo B, je-li celkovÁ kapacita vÅtÓÉ neÚ 256kB PÒi zadÁvÁnÉ nÁzvÊ souboru lze opÅt vyuÚÉt nejednoznaÃn×ho odkazu na soubor (viz. vÙÓe). ZÁchrannÙ kruh -------------- StruÃnÙ, jednostrÁnkovÙ popis programu. Po stisku libovoln× klÁvesy nÁsleduje nÁvrat do menu. DveÒe - EXIT ------------ NÁvrat do monotoru nebo DOSu. Nejprve je zobrazen dotaz " O.K. (A/N)? " zda opravdu chcete program opustit (pouze pÒi nÁvratu do monitoru - pÒi nÁvratu do DOSu se ÚÁdnÙ dotaz nezobrazuje). Lupa ---- ObrÁzek - Tato funkce umoÚÎuje zobrazit obrÁzek v operaÃnÉ pamÅti. Do menu se vrÁtÉte po stisku SPACE. Znakovou sadu - ZobrazenÉ znakov× sady. Do menu se vrÁtÉte po stisku SPACE. NahrÁvÁnÉ z disku - v pÒÉpadÅ "Disk:OFF" je tato funkce zablokovÁna !!! ----------------- --------------- Touto funkcÉ nahrajete poÚadovanÙ soubor do pamÅti. PÒitom se vypÉÓe seznam vÓech souborÊ na disku. V pÒÉpadÅ, Úe tento typ souboru nejde nahrÁt nebo ne- existuje, vypÉÓe se pÒÉsluÓnÁ chybovÁ zprÁva a program se po stisku SPACE vrÁtÉ do menu. UklÁdÁnÉ na disk - v pÒÉpadÅ "Disk:OFF" je tato funkce zablokovÁna !!! ---------------- --------------- PomocÉ t×to funkce uklÁdÁte na disk obrÁzek nebo znakovou sadu ve zvolen×m for- mÁtu: ObrÁzek GHP ObrÁzek Artex Sada Artex Sada MZ Paint UklÁdÁnÉ na pÁsku ----------------- Pro tuto funkci platÉ tot×Ú co pro uklÁdÁnÉ na disk. NastavenÉ rychlosti zÁz- namu na pÁsek se provede najetÉm Óipky na poÚadovanou rychlost a stiskem SPACE. Po startu programu je rychlost nastavena na 1200Bd. ãtenÉ z pÁsky ------------- NaÃte z pÁsky prvnÉ soubor, kterÙ lze nahrÁt - tj. obrÁzek G.H. Paint, Artex, MZ Paint, znakovou sadu MZ Paint nebo Artex. Rychlost ÃtenÉ se nastavuje auto- maticky. KdyÚ narazÉ na soubor jin×ho typu, neÚ bylo uvedeno vypÉÓe "???:" a nÁzev souboru a hledÁ dalÓÉ. ãÁst ÃtvrtÁ - Popis programÊ MZ PAINT DOS (MZP-DOS) a DOS LOADER (DOS-LDR): --------------------------------------------------------------------------- Vzhledem k tomu, Úe znaÃnÁ ÃÁst uÚivatelÊ tohoto mikropoÃÉtaÃe vlastnÉ RAM disk bylo rozhodnuto o moÚnosti prÁce MZ PAINTU s RAM diskem. Z dÊvodÊ nedostatku mÉsta v pamÅti vÓak nepÒichÁzelo pouÚitÉ syst×mu CP/ M v Õvahu, protoÚe by bylo nutn× ponechat v pamÅti moduly BIOS a BDOS a na to nenÉ mÉsto. Proto bylo rozhodnuto o pouÚitÉ specielnÉho syst×mu. Tento syst×m pracuje s nezÁlohovanÙm RAM diskem o kapacitÅ 64 aÚ 512kB. Syst×m pouÚÉvÁ bloky dlouh× 1kB a protoÚe k oznaÃenÉ bloku v poloÚce adresÁÒe je pouÚit pouze jeden bajt bylo nutn× pro vÅtÓÉ kapacitu neÚ 256kB rozdÅlit celÙ disk na disky dva oznaÃen× A a B. Syst×m umoÚÎuje nahrÁvat soubory z magnetofonu na RAM disk, z RAM disku na magnetofon, ovÅÒovat jednotliv× soubory, uklÁdat zvolenou ÃÁst pamÅti na RAM disk, mazat a spouÓtÅt jednotliv× soubory. MaximÁlnÉ poÃet souborÊ na jednom disku je 32. Po zavedenÉ syst×mu do pamÅti a jeho spuÓtÅnÉ se obrazovka pÒepne do mÏdu 80 znakÊ na ÒÁdek, vytiskne se hlaviÃka a syst×m oÃekÁvÁ zadÁnÉ pÒÉkazu. Syst×m leÚÉ v pamÅti od adresy 0000 po 0FFF a celÁ pamÅÔ je mapovÁna na RAM. SpuÓtÅnÉm tohoto programu je vÚdy RAM Disk naformÁtovÁn !!! ---- PoznÁmka: MZP-DOS+ pracuje s nezÁlohovanÙm i zÁlohovanÙm RAM diskem. Jednotliv× pÒÉkazy: ------------------- A - PÒepnutÉ na disk A. B - PÒepnutÉ na disk B. V pÒÉpadÅ,Úe VÁÓ RAM disk mÁ menÓÉ kapacitu, neÚ 256kB, je tento pÒikaz ignorovÁn. D - VÙpis adresÁÒe disku. Vypisuje i jeho celkovou a volnou kapacitu. VolnÁ kapacita je ve skuteÃnosti vÚdy o jeden kilobajt menÓÉ, protoÚe syst×m nepovolÉ zapsat na disk soubor tak, aby volnÁ kapacita byla rovna nule. PÒed nÁzvem souboru v adresÁÒi je vÚdy uvedeno pÉsmenem oznaÃenÉ souboru, kter× slouÚÉ pro pÒÉkaz S. E - OpuÓtÅnÉ syst×mu a nÁvrat do monitoru. K - MazÁnÉ souborÊ. MaÚe VóECHNY soubory, u kterÙch vyhovuje jm×no (K* maÚe celÙ disk). M - UloÚenÉ ÃÁsti pamÅti na disk. Program se zeptÁ na nÁzev, typ, poÃÁteÃnÉ a koneÃnou adresu. L - NahrÁvÁnÉ souborÊ z pÁsky a jejich uklÁdÁnÉ na RAM disk do stisku klÁvesy BREAK nebo chyby na pÁsce, pÒÉpadnÅ naplnÅnÉ RAM disku. Soubory mohou bÙt zaznamenÁny libovolnou rychlostÉ a mohou mÉt LOADER z Turbo Copy. S - UklÁdÁnÉ souborÊ z RAM disku na pÁsek. MÉsto nÁzvu souboru se zadÁvÁ jeho oznaÃenÉ (dle poloÚky adresÁÒe), za nÅj parametry a jako oddÅlovaà je pou- Úito ÃÁrky, za kterou nÁsleduje dalÓÉ oznaÃenÉ a parametry. Parametry: 1 - rychlost 1200Bd 2 - rychlost 2400Bd L - loader Turbo Copy N - bez loaderu PÒÉklad: S A2L,C1N,D UloÚÉ na pÁsek soubory oznaÃen× v adresÁÒi jako A, C, D. Soubor A bude uloÚen rychlostÉ 2400Bd s loaderem, soubor C rychlostÉ 1200Bd bez loaderu a stejnÅ tak i soubor D. V - OvÅÒovÁnÉ souborÊ. Po nalezenÉ hlaviÃky naÃte pÒÉsluÓnÙ soubor do pamÅti a zaÃne provÁdÅt jeho ovÅÒovÁnÉ. Tuto Ãinnost lze pÒeruÓit stiskem BREAK. R - SpuÓtÅnÉ souboru. NespouÓtÅjte jin× soubory neÚ programy ve strojov×m kÏdu, jinak hrozÉ zhruocenÉ syst×mu. NÅkter× poznÁmky k prÁci s programem: ProtoÚe standartnÉ ASCII kÏdy u nÁzvÊ jednotlivÙch souborÊ, kter× tento prog- ram pouÚÉvÁ nesouhlasÉ s SHARP ASCII (nesouhlasÉ malÁ pÉsmena, stejnÅ jako u G.H. Paintu nebo FETu), mÊÚe se stÁt, Úe budete mÉt soubor, v jehoÚ nÁzvu budou mÉsto malÙch pÉsmen nesmysly a pÒi zadÁvÁnÉ nÁzvu souboru budete mÉt probl×my, pouÚijte na mÉstÅ malÙch pÉsmen otaznÉk. Jinak sami piÓte u svÙch souborÊ nÁzvy radÅji velkÙmi pÉsmeny. KdyÚ spustÉte nÅkterÙ program nemusÉ bÙt DOS v pamÅti zniÃen, takÚe po stisku CTRL+ RESET se vÁm opÅt ohlÁsÉ. Ale pozor !! - ÃÁst syst×mu mohla bÙt spouÓtÅ- nÙm programem naruÓena a pak by mohlo dojÉt pÒi chybÅ ke zniÃenÉ obsahu disku. Je to sice mÁlo pravdÅpodobn×, ale pÒece jen moÚn× (nejnebezpeÃnejÓÉ pro disk jsou vÚdycky ty programy, kter× s nÉm pracujÉ !! ). Proto radÅji pouÚÉvejte pro zavedenÉ syst×mu do pamÅti zavadÅÃe DOS LOADER. DOS LOADER ---------- slouÚÉ k znovuzavedenÉ syst×mu DOS do pamÅti podobnÅ jako LDR CPM u syst×mu CP/M. VlastnÉ syst×m je uloÚen na konci RAM disku, kde zabÉrÁ 4kB. Popis nÅkterÙch rutin operaÃnÉho syst×mu MZ PAINT DOS. ------------------------------------------------------ Pokud byste si chtÅli sami napsat nÅjakÙ program pro dalÓÉ prÁci s vytvoÒenÙm obrÁzkem (na pÒ. pro vyjmutÉ nÅkter×ho objektu z obrÁzku) a pouÚÉvÁte MZ PAINT DOS, mÊÚete vyuÚÉt jeho rutin. SpustÉte-li z MZ PAINTU DOS nÅjakÙ program, kterÙ neleÚÉ pod dolnÉ ROM (0 - FFFH), zÊstane celÙ syst×m zachovÁn a mÊÚete tedy vyuÚÉvat jeho rutin. 1. Rutiny pro prÁci s RAM diskem: --------------------------------- 0000H - BOOT - aktivace syst×mu 0191H - SEARCH - naÃti poloÚku adresÁÒe dle jm×na z DE; CY=1 neexistuje 016EH - LDDT - naÃti soubor dle poloÚky adresÁÒe 01B9H - WRITE - zapiÓ soubor dle poloÚky adresÁÒe 0204H - ERASE - smaÚ soubor dle jm×na z DE 022AH - ERAA - smaÚ celÙ disk 0305H - ADISK - pÒepni na disk A 0328H - BDISK - pÒepni na disk B; ZERO=1 nenÉ disk B Struktura poloÚky adresÁÒe je shodnÁ s hlaviÃkou souboru na CMT, ale v komen- tÁÒi jsou ÃÉsla blokÊ souboru na RAM Disku: 10F0H - typ souboru 10F1H - nÁzev souboru 1102H - d×lka souboru 1104H - poÃÁteÃnÉ adresa souboru 1106H - startovacÉ adresa souboru 1108H - ÃÉsla blokÊ na RAM Disku, ve kterÙch se soubor nachÁzÉ 2. Rutiny pro vÙstup na obrazovku a vstup z klÁvesnice: ------------------------------------------------------- 036BH - CLS 0383H - inic. obrazovky, pÒep. do reÚimu MZ800, pÒep. na vlastnÉ zÁsobnÉk 0418H - vÙstup znaku z A na obrazovku 0465H - vÙstup ÒetÅzce znakÊ, ukonÃen×ho 0DH od DE na obrazovku (U.S.ASCII) 049DH - 1-rÁzov× otestovÁnÉ klÁvesnice; kÏd stisknut× klÁvesy do A, CY=0 nic 054DH - blikÁ kurzor a ÃekÁ se na stisk klÁvesy; jejÉ ASCII pak do A 0613H - vstup ÒetÅzce znakÊ z klÁvesnice na adresu DE; ukonÃenÉ CR 0648H - click klÁvesy 3. Rutiny pro prÁci s CMT: -------------------------- 08F9H - naÃtenÉ hlaviÃky souboru (od 10F0H, jako u pol. adresÁÒe) 0903H - naÃtenÉ bloku dat dle hlaviÃky 0995H - zÁpis hlaviÃky 099FH - zÁpis bloku dat 0B38H - ovÅÒenÉ bloku dat ãÁst pÁtÁ - popis fontÊ 16x15 bodÊ a programu GENERATOR .EXE ------------------------------------------------------------ Jak jiÚ bylo v Õvodu ÒeÃeno, existuje moÚnost pouÚÉvat i velk× fonty 16x15 bodÊ. Tyto leÚÉ v operaÃnÉ pamÅti od adresy 7600H na mÉstÅ vzorÊ. Aby se rozliÓily vzory od tÅchto externÉch funkcÉ (protoÚe hlaviÃka je aÚ na d×lku ÕplnÅ stejnÁ) majÉ funkce v prvnÉch tÒech bajtech od adresy 7600H indentifikaÃnÉ znaÃku (ÃÉsla 45H,58H,43H). PÒi funkci "Aktivace" se testuje pÒÉtomnost tÅchto tÒÉ bajtÊ. KdyÚ bajty souhlasÉ pak je v pamÅti externÉ funkce a ta je aktivovÁna skokem na adresu 7603H, jinak tam leÚÉ vzory a skoÃÉ se zpÅt do menu. PravdÅpodobnost, Úe by vzory mÅly obsah tÅchto tÒÉ bajtÊ odpovÉdajÉcÉ znaÃce je asi 1/1000000, coÚ je t×mÅÒ nemoÚn×. Fonty obsahujÉ mimo vlastnÉch znakÊ i krÁtkou rutinu, umoÚÎujÉcÉ tÅmito fonty psÁt na obrazovku. Po aktivaci se objevÉ ÃtvereÃek o velikosti fontu. PomocÉ kurzorovÙch klÁves jÉm lze pohybovat po obrazovce. NormÁlnÅ funujÉ tak× klÁvesy CR a BREAK. Nefunguje nastavovÁnÉ barvy inkoustu (ÃÉslice a pÉsmena odpovÉdajÉ fontÊm), klÁvesa SPACE nemÁ vÙznam a BLANK tak× ne. JednotlivÁ pÉsmena - fonty odpovÉdajÉ klÁvesnici. FontÊ je celkem 36 (celÁ jedna abeceda a deset ÃÉslic), takÚe zde, bohuÚel, nejsou malÁ pÉsmena, jen velkÁ pÉsmena a ÃÉslice. DodÁvajÉ se tÒi typy fontÊ pÉsma a fonty pro kreslenÉ sch×mat. NynÉ k tomu jak lze definovat pomocÉ externÉ funkce GENERAROR .EXT vlastnÉ fonty. NakreslÉte si vÓech 36 fontÊ normÁlnÅ na obrazovku. Ale pozor !! Jednotliv× fonty musÉ mÉt na obrazovce takovou polohu, aby se na nÅ dalo pÒesnÅ najet pÒi vlastnÉm definovÁnÉ generÁtorem. V praxi to znamenÁ, Úe levÙ hornÉ roh fontu musÉ leÚet na mÉstÅ na kter× se dÁ najet kurzorem pÒi psanÉ textu funkcÉ "Text" 8x8 bodÊ. SprÁvn× umÉstÅnÉ fontu poznÁte tak× podle toho, Úe na nÅj lze pÒesnÅ najet ÃtvereÃkem pÒi psanÉ fonty NORMAL,STANDART,RASTR. Pokud tedy mÁte vÓech 36 fontÊ na sprÁvnÙch mÉstech (obvykle vedle sebe - x-ovÁ souÒadnice okraje fontu sedÉ napÒÉklad s okrajem lupy a font je ÓirokÙ pÒesnÅ na dva posuny lupy) musÉte jeÓtÅ fonty pÒev×st do bÉl× barvy (zatÉm jeÓtÅ nebylo ÒeÃeno, Úe fonty jsou jen dvojbarevn×), pokud jste je nekreslili bÉle rovnou (paleta F - svÅtle bÉlÁ), coÚ je vÙhodnÅjÓÉ. NynÉ mÊÚete nahrÁt a funkcÉ "Aktivace" aktivovat GENERATOR . EXT. ObjevÉ se obrÁzek s VaÓimi fonty a ÃtvereÃek. S nÉm mÊÚete po obrazovce pohybovat. NynÉ ho nastavujte postupnÅ na jednotliv× fonty (A - Z, dÁle 0 - 9) a na kaÚd×m fontu stisknÅte SPACE. Takto nadefinujete vÓech 36 fontÊ. Po nadefinovÁnÉ poslednÉho fontu se program vrÁtÉ do menu pÒiÃemÚ se samotnÙ generÁror vymaÚe a budou mÉsto nÅj v pamÅti hotov× fonty. KdyÚ pÒi definovÁnÉ fontÊ nÅco zkazÉte, tÒeba najedete ÓpatnÅ na font, mÊÚete stisknout klÁvesu BREAK a vÓechny fonty nadefinujete znovu. Tyto fonty si mÊÚete nahrÁt normÁlnÅ na kazetu Ãi RAM disk, pÒiÃemÚ v oknÅ, kde si vybÉrÁte co chcete uloÚit, navolÉte "Vzory" mÉsto kterÙch jsou vlastnÅ fonty v pamÅti. MÉsto vzorÊ mÊÚete nahrÁt do pamÅti vlastnÅ libovolnÁ data Ãi program, napÒÉklad drivery pro jinou tiskÁrnu a dalÓÉ. HlaviÃka u dat pÒitom musÉ odpovÉdat vzorÊm. HlaviÃky jednotlivÙch typÊ souborÊ: ----------------------------------- HlaviÃka Typ D×lka (size) ZaÃÁtek (from) Start (exc) ObrÁzek bez komprimace 40 7F3FH 8000H 0000H ObrÁzek s komprimacÉ 41 mÅnÉ se 7C00H 0000H Znaky 42 0300H 0800H 0000H Vzory nebo externÉ funkce 43 max. 0530H 7600H 0000H ----------------------------- Tak a k tÅm CCBT a CCLQ: Nahrajete je jako normÁlnÉ externÉ funkci, spustÉte a udÅlÁ se HCOPY. JenÚe ne ledajak×, ale barevn×, resp. v mnoha odstÉnech Óedi. ------------------------------------------------------------------------------ Programy *********.EXT sÕ extern× funkcie urÃen× pre grafickÙ editor MZ-PAINT. UmoÚÎujÕ vytlaÃiÔ o 90 stupÎov otoÃenÙ a dvakrÁt zvÑÃÓenÙ obrÁzok na tlaÃiarni EPSON resp. BT100 (podÌa nÁzvu). Farby sÕ nahradzovan× bodovÙm rast- rom (tzv.pseudofarby). Programy sa volajÕ z hlavn×ho menu MZ-PAINTu vÙberom OTáZNIK - FUNKCE - AKTIVACE. Pri tlaÃi je na obrazovke hlavn× menu s oknami vybranÙch funkciÉ. Programy sa po skonÃenÉ tlaÃe alebo po zastavenÉ klÁvesami SHIFT & BREAK vra- cajÕ do MZ-PAINTu skokom na hlavn× menu (JP $5D95).Stav klÁves sa testuje aÚ po prevedenÉ tlaÃe dvoch riadkov (u BT-100 16-tich mikroriadkov), preto je nutn× klÁvesy drÚaÔ. Toto opatrenie je nutn×, lebo tlaÃov× rutiny prevÁdzajÕ rotÁcie priamo v obrÁzku (na adresÁch $8000 a vyÓÓie) a pri testovanÉ v inom okamihu by doÓlo k poÓkodeniu obrÁzku. Ak vÁm to nevadÉ alebo doÓlo v priebehu tlaÃe k poruche tlaÃiarne a nie je moÚn× previesÔ nÁvrat cez SHIFT & BREAK, mÍÚeme pouÚiÔ CTRL & RESET. Nastane nÁvrat na hlavn× menu ale obrÁzok bude takmer isto poÓkodenÙ. Programy HCOPY-******** vytvoria na prÉsluÓnej tlaÃiarni kÏpiu obra- zovky tÙm istÙm spÍsobom ako vyÓÓie popÉsan× extern× funkcie, ale tieto sÕ urÃen× pre vÓeobecn× pouÚitie (prednostne s BASIC 800). Rozdiel oproti hore menovanÙm externÙm funkciÁm je ten, Úe tieto programy kopÉrujÕ priamo obrazov- ku, zatiaË Ão extern× funkcie tlaÃia obrÁzok uloÚenÙ v pamÑti od adresy $8000 vyÓÓie, kam ho ukladÁ MZ-PAINT. Programy zaÃÉnajÕ na adrese $F000, ktorÁ je zÁroveÎ Ótartovacou adresou. MÐÚeme ich volaÔ z BASICu inÓtrukciou USR($F000). DËÚka programov je okolo 1KB (vrÁtane vyrovnÁvacÉch bufferov). NÁvrat z tÙchto rutÉn je realizovanÙ inÓtrukciou RET, to znamenÁ, Úe sa vracajÕ tam, odkiaË boli volan×. VÙnimkou je chybovÙ nÁvrat pomocou SHIFT & BREAK, kedy sa riade- nie odovzdÁva skokom na adresu $0000 (JP $0000 - predpokladÁ sa, Úe je tam BASIC, je moÚn× upraviÔ). Rovnako je moÚn× pouÚiÔ CTRL & RESET. Pri volanÉ tÙchto programov musÉ byÔ obrazovka nastavenÁ do reÚimu DMD2 = 320 x 200 bodov 16 farieb. Je moÚn× pouÚiÔ tieto rutiny aj v reÚime DMD0 resp DMD1, ale obrÁ- zok mÐÚe byÔ znehodnotenÙ nedefinovanÙm obsahom druhej sady VRAM, ktorÁ sa nezobrazuje. Pri nerozÓÉrenej VRAM o sadu B tento probl×m odpadÁ, ale bude treba pravdepodobne zmeniÔ priradenie bodovÙch rastrov farbÁm. Priradenie bodovÙch rastrov farbÁm je "tvrd×", neuvaÚuje sa nastavenie registrov PAL. POZNáMKA: Programy pracujÕce s tlaÃiarÎou EPSON nastavujÕ riadkovanie kÏdom ESC "3" N (=$1B,$33,$nn), kde ÃÉslo N znamenÁ poÃet zlomkov angl.palca (inch), o ktor× sa bude posÕvaÔ papier pri povele LF (novÙ riadok). Ale pretoÚe rÐzne tlaÃiarne nemajÕ rovnakÕ vzdialenosÔ jednotlivÙch ihiel tlaÃovej hlavy a tieÚ sa lÉÓia vo veËkosti uveden×ho zlomku, mÐÚu sa jednotliv× grafick× riadky prekrÙvaÔ, alebo mÐÚe byÔ medzi nimi medzera. V tom prÉpade je nutn× upraviÔ uveden× ÃÉslo N nachÁdzajÕce sa na adresÁch: EPSONPAI.EXT $7769 HCOPY-EPSON V1.0 $F18B PodËa dostupnÙch informÁciÉ mali by vyhovovaÔ uvedenÙm tlaÃiarÎam tieto hodnoty: tlaÃiareÎ zlomok hodnota dek. hexa. DCD-PRT 80GS 1/120 14 $0E vyskÕÓan× STAR LC-20 1/216 24 $18 neoveren× EPSON LX-400 1/180 21 $18 dodÁvan× ------------------------------- konec 2. ÃÁsti ------------------------------- zkomprimovan×ho obrÁ