OldComp.cz

Komunitní diskuzní fórum pro fanoušky historických počítačů
Právě je 26 kvě 2018, 14:55

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: 1788
Bydliště: Starý Vestec
Has thanked: 283 times
Been thanked: 272 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: 59
Has thanked: 2 times
Been thanked: 46 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: 59
Has thanked: 2 times
Been thanked: 46 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: 1289
Has thanked: 53 times
Been thanked: 222 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

_________________
Každá svoboda přináší restrikce. Koneckonců, se zrušením otroctví přišli otrokáři o možnost svobodného obchodu s otroky.


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: 2030
Bydliště: Trutnovsko
Has thanked: 62 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: 1612
Bydliště: Brno
Has thanked: 383 times
Been thanked: 118 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: 59
Has thanked: 2 times
Been thanked: 46 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: 59
Has thanked: 2 times
Been thanked: 46 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