OldComp.cz

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


Právě je 28.03.2024, 22:08

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




Odeslat nové téma Odpovědět na téma  [ Příspěvků: 9 ] 
Autor Zpráva
 Předmět příspěvku: BASIC: Změna UDG
PříspěvekNapsal: 14.09.2014, 22:48 
Offline
Nemluva

Registrován: 14.09.2014, 22:32
Příspěvky: 3
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.09.2014, 12:57 
Offline
Site Admin
Uživatelský avatar

Registrován: 05.04.2013, 15:29
Příspěvky: 2394
Bydliště: Starý Vestec
Has thanked: 426 times
Been thanked: 446 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 MacBook_Air Mac_Mini_MOS CPC Atari MSX Acorn C64 RetroPC

http://party.oldcomp.cz/


Nahoru
 Profil  
 
 Předmět příspěvku: Re: ZX Spectrum
PříspěvekNapsal: 15.09.2014, 18:54 
Offline
Kecálek

Registrován: 10.07.2014, 01:57
Příspěvky: 168
Has thanked: 25 times
Been thanked: 225 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.09.2014, 19:03 
Offline
Kecálek

Registrován: 10.07.2014, 01:57
Příspěvky: 168
Has thanked: 25 times
Been thanked: 225 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.09.2014, 19:50 
Offline
Pan Generální
Uživatelský avatar

Registrován: 23.03.2014, 20:13
Příspěvky: 2773
Has thanked: 224 times
Been thanked: 601 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

_________________
Plesnivý sýr z Tesca, zatuchlé kuřecí řízky z Albertu, oslizlé hovězí a myší trus z Lidlu.
Nákup potravinářské inspekce v ČR, říjen 2023.


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

Registrován: 30.01.2014, 12:46
Příspěvky: 2757
Bydliště: Trutnovsko
Has thanked: 137 times
Been thanked: 270 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 Ultimate cart, Commodore C128, Commodore Amiga 500, Amiga 600HD, Atari 800XL SDrive, Atari 520ST & HXC usb floppy emulator. --- XBOX 360, Playstation 2, XBox ONE, Oric atmos, Enterprise 128, a několik PC a notebooku.....


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

Registrován: 13.05.2013, 09:15
Příspěvky: 2278
Bydliště: Brno
Has thanked: 842 times
Been thanked: 302 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


Nahoru
 Profil  
 
 Předmět příspěvku: Re: ZX Spectrum
PříspěvekNapsal: 15.09.2014, 21:08 
Offline
Kecálek

Registrován: 10.07.2014, 01:57
Příspěvky: 168
Has thanked: 25 times
Been thanked: 225 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.09.2014, 21:15 
Offline
Kecálek

Registrován: 10.07.2014, 01:57
Příspěvky: 168
Has thanked: 25 times
Been thanked: 225 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 [ Letní čas ]


Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 4 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