Merhaba, Ziyaretçi. Lütfen giriş yapın veya üye olun.

Kullanıcı adınızı, parolanızı ve aktif kalma süresini giriniz

  Gelişmiş Arama
insanın içinde varsa, commodore.gen.tr açığa çıkarır bunu.. bir nevi retro olaylarının dolunayıyız.(Arda)
Sayfa: 1 [2] 3 4 ... 6   Aşağı git
Yazdır
Gönderen Konu: c64 resim yapma  (Okunma Sayısı 63161 defa)
0 Üye ve 1 Ziyaretçi konuyu incelemekte.
LW3D
Yönetici
*****
Mesaj Sayısı: 11.415


Günü Kurtaran Avam Hiooargggh :)


Üyelik Bilgileri WWW
« Yanıtla #15 : Aralık 04, 2012, 09:56:07 ÖÖ »

aparattan kastın lightpen mi? ekrana çizmeyi sağlar...ama çok efektif bir cihaz değil bildiğim kadarıyla. Tablet benzeri birşeyde olması lazım...ama ben en çok art studio'yu severdim... Art Studio'nun da Amiga mouse'u ile çalışan bir versiyonu var...Mouse'la çizim yapabilirsiniz (koala içinde olması muhtemeldir)
Logged

witchdoktor
Uzman
*****
Mesaj Sayısı: 6.238



Üyelik Bilgileri
« Yanıtla #16 : Aralık 04, 2012, 10:27:02 ÖÖ »

Timanthes programı ile bir resmi import edeceğim sonra bu programda ki her pikselin renk değerini c64 de nereye karsılık geldiğini bularak data komutuna yuklemem gerekiyor bunları ve yukarıdaki programın nasıl çalıştığını açıklarmısınız lütfen iyi günler


C64'deki bu tarz BASIC programlarını incelemenin pek bir faydası olmuyor. Makine dilinin BASIC'leştirilmiş halleri olduklarından ve yapısal programlama içermediklerinden, dokümanlardan elde ettiğin bilgileri adım adım uygulaman daha mantıklı. Bu nedenle C64'de millet bu işlerle uğraşmamak için doğrudan makine diline geçmiş durumda.

C64 grafik mimarisi, ekran bellek haritası, renk kodları, VIC çipi yazmaçları, VIC çipi bellek tahsisi, sprite'lar, özel karakter seti yapımı vb birçok konuda C64 Programcının El Kitabı'ndan faydalanabilirsin, tıkandığın konularda da forumdaki arkadaşlara sorabilirsin.

http://www.commodore.gen.tr/forum/index.php?topic=1661.msg14801
Logged
censez41
Üye
***
Mesaj Sayısı: 50


Üyelik Bilgileri
« Yanıtla #17 : Aralık 04, 2012, 11:00:21 ÖÖ »

http://www.lemon64.com/forum/viewtopic.php?t=34083&postdays=0&postorder=asc&start=0

Bu forumda tam da benim istediğim soruyu sormuş ama ingilizce ben isin icinden çıkamadım
ekrana basic ile 160*200 Bitmap modunda birkaç tane renkli piksel cizderebilicek bir c64 sevdalısı yokmu.
« Son Düzenleme: Aralık 04, 2012, 11:02:13 ÖÖ Gönderen: censez41 » Logged
joker_
Deneyimli
*****
Mesaj Sayısı: 2.120



Üyelik Bilgileri
« Yanıtla #18 : Aralık 04, 2012, 11:51:57 ÖÖ »

sanırım burada yazılanlar işini görecektir,

http://www.tr-demoscene.info/showthread.php?1941-Dummy-Intro
Logged
censez41
Üye
***
Mesaj Sayısı: 50


Üyelik Bilgileri
« Yanıtla #19 : Aralık 04, 2012, 12:03:19 ÖS »

sanırım burada yazılanlar işini görecektir,

http://www.tr-demoscene.info/showthread.php?1941-Dummy-Intro


Teşekkür ederim projemin 2 aşaması icin isime cok yarışacaktık.
Logged
censez41
Üye
***
Mesaj Sayısı: 50


Üyelik Bilgileri
« Yanıtla #20 : Aralık 04, 2012, 12:05:08 ÖS »

1 POKE 53265,PEEK(53265) OR 32
2 POKE 53272,PEEK(53272) OR 8
3 POKE 56576,PEEK(56576) AND 252
10 FOR N = 0 TO 999
11 READ C
12 POKE N+49152+1024, C
13 NEXT N
20 FOR N = 0 TO 7999
21 READ L
22 POKE N+49152+8192, L
23 NEXT N
100 GOTO 100
data lines go below here
Seklinde bir kod var bu data kısmına hangi degerleri vermem gerekiyor  bu kodlari yorumlayabilicek biri varmi
Skate nickli arkadas anlıyordu ama ona nasıl ulaşabilirim acaba

Birde  vic  emulator beni sinir etti internette bulduğum kodlari kopyala yapıştır yapınca büyük harfler emulator da bozuk çıkıyor isin yoksa hepsini kucuk harfe cevir
« Son Düzenleme: Aralık 04, 2012, 12:28:50 ÖS Gönderen: censez41 » Logged
witchdoktor
Uzman
*****
Mesaj Sayısı: 6.238



Üyelik Bilgileri
« Yanıtla #21 : Aralık 04, 2012, 13:13:38 ÖS »

Bu programda DATA kısmının ilk 1000 byte'ına her bir karakterin renk kodunu içeren değeri gireceksin.
Sonraki (160x200x2)/8=8000 byte'lık kısmına ise sırasıyla bitmap byte değerlerini gireceksin.
Yani tam ekran için 9000 adet sayı gireceksin!

Bu işi elle yapmanın imkanı olmadığına göre, ya grafik dosyasını dosyadan doğrudan okutup bitmap ve colormap belleğine yerleştireceksin ya da onun için de self-modifying bir BASIC kodu yazıp DATA satırlarını oluşturacaksın. Her ikisi de pek pratik değil yani.

C64'de oyunların çoğunda tam ekran grafikler kullanılmaz. 8x8 veya 4x8'lik tekrarlanan karakter bileşenleri bir araya getirilerek daha büyük şekiller oluşturulur.

Bence en güzeli C64 Programcının El Kitabı'ndan işin mantığını öğrenerek kendin halletmen, takıldığın yerlerde de soru sorman.

Örneğin senin adına en basit sorular şunlar olurdu:

1) C64'de grafik ekranını (belli bir bellek bölgesinde) nasıl açarım?

2) C64'de tek ve çok renkli ekran modlarında renkler nerede depolanır?

3) Grafik ekranının bellekteki dizilimi nasıldır?

4) Ekrana bir noktayı nasıl koyarım?
Logged
censez41
Üye
***
Mesaj Sayısı: 50


Üyelik Bilgileri
« Yanıtla #22 : Aralık 04, 2012, 13:17:57 ÖS »

Bu programda DATA kısmının ilk 1000 byte'ına her bir karakterin renk kodunu içeren değeri gireceksin.
Sonraki (160x200x2)/8=8000 byte'lık kısmına ise sırasıyla bitmap byte değerlerini gireceksin.
Yani tam ekran için 9000 adet sayı gireceksin!

Bu işi elle yapmanın imkanı olmadığına göre, ya grafik dosyasını dosyadan doğrudan okutup bitmap ve colormap belleğine yerleştireceksin ya da onun için de self-modifying bir BASIC kodu yazıp DATA satırlarını oluşturacaksın. Her ikisi de pek pratik değil yani.

C64'de oyunların çoğunda tam ekran grafikler kullanılmaz. 8x8 veya 4x8'lik tekrarlanan karakter bileşenleri bir araya getirilerek daha büyük şekiller oluşturulur.

Bence en güzeli C64 Programcının El Kitabı'ndan işin mantığını öğrenerek kendin halletmen, takıldığın yerlerde de soru sorman.

Örneğin senin adına en basit sorular şunlar olurdu:

1) C64'de grafik ekranını (belli bir bellek bölgesinde) nasıl açarım?

2) C64'de tek ve çok renkli ekran modlarında renkler nerede depolanır?

3) Grafik ekranının bellekteki dizilimi nasıldır?

4) Ekrana bir noktayı nasıl koyarım?

Abicim  bu konuda bilgin olduğu belli bana data icine yazacağım birkaç deger verirmişsin mesela ekranın üst sol ve sag köşesinde farklı renklerde iki piksel yerleştirilmek icin bu datalara ne yazılmalı.
Logged
censez41
Üye
***
Mesaj Sayısı: 50


Üyelik Bilgileri
« Yanıtla #23 : Aralık 04, 2012, 13:43:29 ÖS »

C64 bellek haritasını turkce açıklayan dokuman varmi
Logged
censez41
Üye
***
Mesaj Sayısı: 50


Üyelik Bilgileri
« Yanıtla #24 : Aralık 04, 2012, 18:12:47 ÖS »

5 base=2*4096:poke53272,peek(53272)or8
10 poke53265,peek(53265)or32
20 fori=basetobase+7999:pokei,0:next
30 fori=1024to2023:pokei,3:next
50 forx=0to319step.5
60 y=int(90+80*sin(x/10))
70 ch=int(x/8)
80 ro=int(y/8)
85 ln=yand7
90 by=base+ro*320+8*ch+ln
100 bi=7-(xand7)
110 pokeby,peek(by)or(2+bi)
120 nextx
125 poke1024,16
130 goto130

şöyle bir program var vic de direk kopyalayıp deneyebilirsiniz "^"simgesini vice aktaramadığım için orayı "+" olarak geçtim bu nedenle grafik bozuk çıkıyor ama mesele değil bu programdan yola çıkarak ekranın istediğim yerine siyah piksel koyabilirim diye düşünüyorum ancak bu piksellerin nasıl renklendireceğimi bilmiyorum

POKE 53265,PEEK(53265)OR 32
bu komut ekranı bitmap moda alıyor


« Son Düzenleme: Aralık 04, 2012, 19:09:09 ÖS Gönderen: censez41 » Logged
witchdoktor
Uzman
*****
Mesaj Sayısı: 6.238



Üyelik Bilgileri
« Yanıtla #25 : Aralık 05, 2012, 12:01:31 ÖS »

Abicim  bu konuda bilgin olduğu belli bana data icine yazacağım birkaç deger verirmişsin mesela ekranın üst sol ve sag köşesinde farklı renklerde iki piksel yerleştirilmek icin bu datalara ne yazılmalı.

Bilgim var ama tüm yazmaçları, ıvır zıvırı belleğimde tutmam mümkün değil. Senin yerine C64 Programcının El Kitabı'nı benim inceleyip de sana oradaki bilgilerin hülasasını mı aktarmamı bekliyorsun? Bu işlerde önce dokümantasyon incelenir sonrasında takıldığın yerlerde soru sorulur. POKE, PEEK komutlarını şablon olarak öğreneceğine VIC çipi yazmaçlarının işlevlerini vb öğrensen daha iyi edersin diye düşünüyorum.
Logged
joker_
Deneyimli
*****
Mesaj Sayısı: 2.120



Üyelik Bilgileri
« Yanıtla #26 : Aralık 05, 2012, 12:48:11 ÖS »

VIC çipi ve grafik programlama ile ilgili kaynak olarak bu işin üstatlarından nightlord'un yazmış olduğu Türkçe dökümanlara bakabilirsin

http://nightnetwork.org/writings_tr/c64_grafik_programlama/chunk/index.html
Logged
censez41
Üye
***
Mesaj Sayısı: 50


Üyelik Bilgileri
« Yanıtla #27 : Aralık 07, 2012, 20:26:23 ÖS »

http://www.atarimagazines.com/compute/issue71/screen_saver_64.php

bu sitede aradığım programları bulmuş olabilirim

Program 1: Screen Saver 64

110 su=0:fori=688to738:readx:su=su+x:pokei,x:next
120 ifsu<>4855then print"error in data in lines 170-220":stop
130 su=0:fori=828to1022:readx:su=su+x:pokei,x:next
140 ifsu<>31598then print"error in data in lines 240-470":stop
150 print"screen save installed":end
170 data 173,0,221,41,3,73,3,10,10,10
180 data 10,10,10,133,254,173,24,208
190 data 41,8,10,10,101,254,133,2,105
200 data 31,141,169,2,173,24,208,41,240
210 data 74,74,234,234,101,254,141,168
220 data 2,105,3,141,167,2,96
240 data 160,0,132,251,132
245 data 253,165,2,133
250 data 252,169,96,133,254
255 data 120,165,1,72
260 data 41,253,133,1,177,251,170,177
270 data 253,145,251,138,145,253,200
280 data 208,243,230,252,230,254,165
290 data 254,201,12E,208,233,104,133,1
300 data 88,234,234,234,96,162,2,32,201
310 data 255,1 :,0,32,210,255,165,2,32
320 data 210,255,160,0,132,251,169,96
330 data 133,252,234,234,177,251,32,210
340 data 255,165,252,201,127,240,7,200
350 data 208,242,230,252,208,238,200
360 data 152,201,64,208,232,96,160,0
370 data 132,251,173,168,2,133,252,177
380 data 251,32,210,255,165,252,205,167
390 data 2,240,7,200,208,241,230,252
400 data 208,237,200,152,201,232,208
410 data 231,160,0,132,251,169,216,133
420 data 252,177,251,32,210,255,165,252
430 data 201,219,240,7,200,208,242,230
440 data 252,208,238,200,152,201,232
450 data 208,232,173,33,208,32,210,255
460 data 32,204,255,96,32,176,2,32,60
470 data 3,32,113,3,32,60,3,32,163,3,96
« Son Düzenleme: Aralık 07, 2012, 22:43:50 ÖS Gönderen: censez41 » Logged
censez41
Üye
***
Mesaj Sayısı: 50


Üyelik Bilgileri
« Yanıtla #28 : Aralık 12, 2012, 17:23:10 ÖS »

10 rem * example 1 *
20 rem creating programmable characters
31 poke 56334,peek(56334)and254: rem turn off kb
32 poke 1,peek(1)and251: rem turn off i/o
35 for i=0to63: rem character range to be copied
36 for j=0to7: rem copy all 8 bytes per character
37 poke 12288+i*8+j,peek(53248+i*8+j): rem copy a byte
38 next j:next i: rem goto next byte or character
39 poke 1,peek(1)or4:poke 56334,peek(56334)or1: rem turn on i/O and kb
40 poke 53272,(peek(53272)and240)+12: rem set char pointer to mem. 12288
60 for char=60to63: rem program characters 60 thru 63
80 for byte=0to7: rem do all 8 bytes of a character
100 read number: rem read in 1/8th of character data
120 poke 12288+(8*char)+byte,number: rem store the data in memory
140 next byte:next char: rem also could be next byte, char
150 print chr$(147)tab(255)chr$(60);
155 print chr$(61)tab(55)chr$(62)chr$(63)
160 rem line 150 puts the newly defined characters on the screen
170 get a$: rem wait for user to press a key
180 if a$=""then goto170: rem if no keys were pressed, try again!
190 poke 53272,21: rem return to normal characters
200 data 4,6,7,5,7,7,3,3: rem data for character 60
210 data 32,96,224,160,224,224,192,192: rem data for character 61
220 data 7,7,7,31,31,95,143,127: rem data for character 62
230 data 224,224,224,248,248,248,240,224: rem data for character 63
240 end

bu kodları yapıştırnca sevimli bir kedi çiziliyor ma renksiz
kamon millet hep ben uğraşıyorum sizden bir icraat yok
Logged
blackturk
Uzman
*****
Mesaj Sayısı: 1.284



Üyelik Bilgileri
« Yanıtla #29 : Aralık 12, 2012, 17:59:20 ÖS »

asamply ,besic, kamon millet  NeyNeyNey?? 
Logged

A1200 | APOLLO 1240 32 MB | CNET PCMCIA | SYSINFO SPEED TEST 30 MIPS
SM1,SEGA MEGA CD,SM2,SMS II,Sega Saturn Mod ve AR 4MB,PSX Mod ve Mpeg ,PSX2 ,SNES ,ATARI 800XL,SPECTRUM 128K +2,YAMAHA CX5M MSX,ATARI 520 STFM,1040 STF,C64,C128,1541 II,1571,RAM 1764 ,A500,A500+,A600,A590,IDE68k,2X1084S,1084P
Sayfa: 1 [2] 3 4 ... 6   Yukarı git
Yazdır
Gitmek istediğiniz yer: