OldComp.cz

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

Registrace na OCP IV ZDE!

Právě je 21 srp 2018, 07:45

Všechny časy jsou v UTC + 1 hodina




Odeslat nové téma Odpovědět na téma  [ Příspěvků: 9 ] 
Autor Zpráva
 Předmět příspěvku: Zmena UDG
PříspěvekNapsal: 14 zář 2014, 21:48 
Offline
Tichošlápek

Registrován: 14 zář 2014, 21:32
Příspěvky: 2
Has thanked: 0 time
Been thanked: 0 time
Chcel by som sa opýtať ako sa dá vymazat graficky mód v programe.
Napríklad mam pismeo A,B,C... ako obrázok a chcem ho zmenit, aby to boli zase pismena.
Vopred Ďakujem Deawokalos....


Nahoru
 Profil  
 
 Předmět příspěvku: Re: ZX Spectrum
PříspěvekNapsal: 15 zář 2014, 11:57 
Offline
Site Admin
Uživatelský avatar

Registrován: 05 dub 2013, 14:29
Příspěvky: 1817
Bydliště: Starý Vestec
Has thanked: 285 times
Been thanked: 274 times
Tak to budeš asi muset upřesnit. To jako, že máš písmena nadefinovaný v UDG? Nebo potřebuješ vylistovat nějaký program, ve kterém je text skrytý?

_________________
Amiga Sinclair Didaktik Sam_Coupé Enterprise SAM440ep μA1 PegasosII MacBook_Air Mac_Mini_MOS CPC Atari MSX Acorn C64 PC PSP PS3

http://party.oldcomp.cz/


Nahoru
 Profil  
 
 Předmět příspěvku: Re: ZX Spectrum
PříspěvekNapsal: 15 zář 2014, 17:54 
Offline
Kecka

Registrován: 10 črc 2014, 00:57
Příspěvky: 63
Has thanked: 2 times
Been thanked: 49 times
daewokalos píše:
Chcel by som sa opýtať ako sa dá vymazat graficky mód v programe.
Napríklad mam pismeo A,B,C... ako obrázok a chcem ho zmenit, aby to boli zase pismena.
Vopred Ďakujem Deawokalos....

predpokladam ze ide o UDG znaky, ktore si si cez "POKE USR .." prepisal a chces to vratit spat. Prikaz na to nie je ziaden, jedine co ti zostava je znovu to skopirovat z normalneho fontu cez "POKE USR .. PEEK .."


Nahoru
 Profil  
 
 Předmět příspěvku: Re: ZX Spectrum
PříspěvekNapsal: 15 zář 2014, 18:03 
Offline
Kecka

Registrován: 10 črc 2014, 00:57
Příspěvky: 63
Has thanked: 2 times
Been thanked: 49 times
a tu mas program:
Kód:
10 FOR i=CODE "A" TO CODE "U"
20 FOR j=0 TO 7
30 POKE USR CHR$ i+j, PEEK (15360+i*8+j)
40 NEXT j
50 NEXT i

pokial si prepisal len par prvych znakov, mozes upravit riadok 10, aby to zbytocne dlho netrvalo.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: ZX Spectrum
PříspěvekNapsal: 15 zář 2014, 18:50 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 23 bře 2014, 19:13
Příspěvky: 1445
Has thanked: 58 times
Been thanked: 249 times
Sakra, než jsem to na Didaktiku odladil, už tu byly dvě odpovědi :twisted:

Tak teda přidám mojí verzi, trochu jednodušší, která vrátí pouze první znak. Pro víc znaků je potřeba změnit počet kopírovaných bajtů v deklaraci smyčky (znaků*8-1):
Kód:
10 FOR i=0 TO 7
20 POKE 65368+i, PEEK (15880+i)
30 NEXT i

_________________
Když lékař zkazí operaci, jde sedět, do vězení ho pošlou soudci.
Když někdo spáchá vážnou nehodu, jde sedět, pošlou ho tam soudci.
Když něco zkazí soudce, tak měl jiný právní názor.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: ZX Spectrum
PříspěvekNapsal: 15 zář 2014, 19:20 
Offline
Pan Generální
Uživatelský avatar

Registrován: 30 led 2014, 11:46
Příspěvky: 2052
Bydliště: Trutnovsko
Has thanked: 65 times
Been thanked: 137 times
Muze me prosim nekdo vysvetlit o co vlastne slo ????

_________________
ZX 81, Zx Spectrum & microdrive, Sinclair QL 2xFDD 3,5´(SD-QL, QubIDE, SGC), ZX Spectrum +2, Didaktik M, Commodore C64 I , Commodore C64 II & Easy Flash I a III, Commodore C128, Commdore Amiga 500, Amiga 600HD, Atari 800XL SDrive, Atari 520ST & HXC usb floppy emulator. --- XBOX 360, Playstation 2 a několik PC a notebooku.....


Nahoru
 Profil  
 
 Předmět příspěvku: Re: ZX Spectrum
PříspěvekNapsal: 15 zář 2014, 19:34 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 13 kvě 2013, 08:15
Příspěvky: 1681
Bydliště: Brno
Has thanked: 402 times
Been thanked: 129 times
No já tomu rozumím tak, že se zde předefinovávají písmena na jiné grafické znaky a pak se programem tyto grafické znaky převádí opět na písmena. Něco jako já dělám se "sabotérem". Taky používám znak z klasické klávesnice na zobrazení grafiky. Opravte mne. Já jsem lama! :D.

_________________
Amiga - PMD 85
Kafasoft


Nahoru
 Profil  
 
 Předmět příspěvku: Re: ZX Spectrum
PříspěvekNapsal: 15 zář 2014, 20:08 
Offline
Kecka

Registrován: 10 črc 2014, 00:57
Příspěvky: 63
Has thanked: 2 times
Been thanked: 49 times
Jack_Free píše:
Muze me prosim nekdo vysvetlit o co vlastne slo ????


basic zx spectra dovoluje uzivatelovi nadefinovat si niekolko vlastnych znakov s ktorymi potom ide pracovat ako s klasickymi znakmi (pouzivat ich v stringoch, vypisovat ich printom, maju vlastne ascii kody.. a pod.). volaju sa UDG ako User Defined Graphics.

do programu sa potom tieto UDG znaky zadavaju prepnutim do grafickeho modu (pomocou CAPS SHIFT + 9) a stlacanim prislusnych klavesov A-U a preto BASIC ich predlohy pri resete/po zadani new inicialne skopiruje z klasickeho znakoveho fontu zo znakov A-U.

ako som uz spomenul, UDG znaky maju svoje vlastne ascii kody, takze to nie je o tom ze ked predefinujem znak 'A' tak uz nebudem vediet vypisovat texty v ktorych sa nachadza pismeno 'A'. klasicky znak 'A' ma kod 65, a UDG znak 'A' ma kod 144. takze pomocou UDG znakov si moze clovek nadefinovat ramceky, postavicky do hier, znaky kariet, alebo napriklad diakritiku.

no a povodna otazka bola (ak sme ju spravne dekodovali ;]), ako sa da navratit povodny tvar UDG znaku s kodom 144 (obraz pismena 'A') po tom, co sme ho v programe predefinovali na povedzme PAC-MANa.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: ZX Spectrum
PříspěvekNapsal: 15 zář 2014, 20:15 
Offline
Kecka

Registrován: 10 črc 2014, 00:57
Příspěvky: 63
Has thanked: 2 times
Been thanked: 49 times
faraon píše:
Kód:
10 FOR i=0 TO 7
20 POKE 65368+i, PEEK (15880+i)
30 NEXT i

pozor, toto ti nebude fungovat napriklad na 16k spektre, pretoze v pripade 16k spektra neexistuje pamat na adrese 65368 a tak bude UDG znak niekde inde. preto sa miesto fixnej adresy hodi funkcia USR "A", ktora vrati adresu UDG znaku 'A'


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ů: 9 ] 

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