commodore.gen.tr

Commodore => Commodore Genel => Konuyu başlatan: Simon (Özay Turay) üzerinde Ocak 25, 2012, 02:27:47 ÖÖ



Konu Başlığı: Adım Adım C64 Oyunu Yapalım
Gönderen: Simon (Özay Turay) üzerinde Ocak 25, 2012, 02:27:47 ÖÖ
RetroRemakes.com sitesinden Endurion'un yazı dizisinin link aşağıda. Her hafta yeni bir şeyler ekleyerek 51 partlık bir tutorial oluşturmuş eleman. Son yayınladığı part 20 Ocak 2012 tarihli ve hala devam ediyor.

Üstelik oyun da Supernatural. :D

(http://www.retroremakes.com/remaketalk/uploads/FileUpload/19/39.png)
(http://www.retroremakes.com/remaketalk/uploads/FileUpload/0/40.png)
(http://www.retroremakes.com/remaketalk/uploads/FileUpload/1/41.png)
(http://www.retroremakes.com/remaketalk/uploads/FileUpload/14/354.png)

http://www.retroremakes.com/remaketalk/index.php?p=/discussion/2391/how-to-write-a-c64-game-in-several-steps/p1 (http://www.retroremakes.com/remaketalk/index.php?p=/discussion/2391/how-to-write-a-c64-game-in-several-steps/p1)

Edit: Mevcut bölümleri açıklamalarıyla birlikte paketleyip siteme ekledim her ihtimale karşı.

C64 Game Steps.7z (http://www.e-turay.com/files/Projects/C64GameSteps/C64%20Game%20Steps.7z)


Konu Başlığı: Ynt: Adım Adım C64 Oyunu Yapalım
Gönderen: LW3D üzerinde Ocak 25, 2012, 14:35:57 ÖS
20 yıl önce neredeydin :P

zaman bulup bakmak isterim. Harika bir şey...Her C64 kullanıcısının hayali :)


Konu Başlığı: Ynt: Adım Adım C64 Oyunu Yapalım
Gönderen: Simon (Özay Turay) üzerinde Ocak 25, 2012, 15:24:42 ÖS
Bu arada Endurion C64 Studio (http://noname.c64.org/csdb/release/?id=98711) programının yazarıymış. VICE'ın debug özelliklerini sonuna kadar kullanabilen bir programlama editörü olan C64 Studio'nun son sürümüni buradan (http://www.georg-rottensteiner.de/webmisc/C64Studio_Beta.zip) indirebilirsiniz.


Konu Başlığı: Ynt: Adım Adım C64 Oyunu Yapalım
Gönderen: wizofwor üzerinde Ocak 30, 2012, 00:06:18 ÖÖ
Bu sitedeki linkler bende neden çalışmıyor? "c64_labels_asm.zip" dosyasını indirmek istedim ama üzerine tıklanmıyor. :(


Konu Başlığı: Ynt: Adım Adım C64 Oyunu Yapalım
Gönderen: Simon (Özay Turay) üzerinde Ocak 30, 2012, 01:03:46 ÖÖ
Giriş yaptın mı? :)


Konu Başlığı: Ynt: Adım Adım C64 Oyunu Yapalım
Gönderen: witchdoktor üzerinde Ocak 30, 2012, 01:22:58 ÖÖ
Yahu C64 programlaması demişken geçtiğimiz yıllarda sitede bahsedilen müthiş bir tool vardı adını unuttum da, bellek haritasındaki herhangi bir bölgenin dinamik olarak görselleştirilebilmesini (sprite, screen memory vb gibi) sağlıyordu, aramaya üşendim.


Konu Başlığı: Ynt: Adım Adım C64 Oyunu Yapalım
Gönderen: longbow75 üzerinde Ocak 30, 2012, 01:33:42 ÖÖ
ayni programmi bilmem ama benim bildigim ICU64 (I see you ?)  programi var. Vice ile beraber calisip memory haritasini gorebiliyorsunuz.
http://icu64.blogspot.com/ (http://icu64.blogspot.com/)


Konu Başlığı: Ynt: Adım Adım C64 Oyunu Yapalım
Gönderen: witchdoktor üzerinde Ocak 30, 2012, 13:56:45 ÖS
@longbow85
Çok yaşa, evet buydu.


Konu Başlığı: Ynt: Adım Adım C64 Oyunu Yapalım
Gönderen: wizofwor üzerinde Ocak 31, 2012, 21:14:14 ÖS
"CBM program studio" ve "C64 Studio" adında iki program yükledim. Kullananlar hangisini kullanıyor acaba? CBM program studio daha iyiye benziyor ama diğerine göre biraz daha karışık gibi.

C64 studio'yu açar açmaz kopyala/yapıştır/derle/çalıştır yapabildim. CBM'i ise biraz kurcalamam lazım herhalde. (Belki de ayrıca ACME kurmamı istiyor bilemedim.) İkisini karşılaştırabilecek olan var mı?


Konu Başlığı: Ynt: Adım Adım C64 Oyunu Yapalım
Gönderen: witchdoktor üzerinde Ocak 31, 2012, 23:03:07 ÖS
@wizofwor
CBM Prg Studio'yu kullandım, gayet kullanışlı geldi bana. Fırsat bulursam bu ortamda geliştireceğim bir şeyler.

http://www.ajordison.co.uk/ (http://www.ajordison.co.uk/)


Konu Başlığı: Ynt: Adım Adım C64 Oyunu Yapalım
Gönderen: wizofwor üzerinde Ocak 31, 2012, 23:11:59 ÖS
CBM'e ikinci bir şans daha vereyim o zaman.

Tutorial'a başladım ama birinci adımda takıldım.
Biraz basit bir soru olacak ama aşağıdaki kodda "!byte $0C,$08,$0A,$00,$9E,$20,$32,$30,$36,$34,$00,$00,$00,$00,$00" satırı ne iş yapıyor?

Eğer tahmin ettiğim gibi 15 byte'lık datayı $0801'den itibaren hafızaya yerleştiriyorsa, bu data ne işe yarıyor?

Kod:
[code];compile to this filename
!to "jmain.prg",cbm

;define constants here

;address of the screen buffer
SCREEN_CHAR      = 52224

;this creates a basic start
*=$0801

          ;SYS 2064
          !byte $0C,$08,$0A,$00,$9E,$20,$32,$30,$36,$34,$00,$00,$00,$00,$00

          ;init sprite registers
          ;no visible sprites
          lda #0
          sta 53248 + 21
         
          ;set charset
          lda #$3c
          sta 53272

          ;VIC bank
          lda 56576
          and #$fc
          sta 56576

          ;the main game loop
GameLoop 
          ;border flashing
          INC 53280
          ;top left char
          INC SCREEN_CHAR
         
          jsr WaitFrame

          jmp GameLoop         
         
         
!zone WaitFrame
          ;wait for the raster to reach line $f8
          ;this is keeping our timing stable
         
          ;are we on line $F8 already? if so, wait for the next full screen
          ;prevents mistimings if called too fast
WaitFrame
          lda $d012
          cmp #$F8
          beq WaitFrame

          ;wait for the raster to reach line $f8 (should be closer to the start of this line this way)
.WaitStep2
          lda $d012
          cmp #$F8
          bne .WaitStep2
         
          rts

Not: Kodların anlamlarını ararken aynı yazarın daha detaylı açıklamalarını buldum. Linkte bulabilirsiniz. http://www.gamedev.net/blog/949/entry-2249793-first-step-explained-in-detail/ (http://www.gamedev.net/blog/949/entry-2249793-first-step-explained-in-detail/)[/code]


Konu Başlığı: Ynt: Adım Adım C64 Oyunu Yapalım
Gönderen: Simon (Özay Turay) üzerinde Şubat 01, 2012, 11:46:02 ÖÖ
O satır programı yüklediğinde RUN komutu ile çalıştırabilmeni sağlıyor. Aksi taktirde SYS 2064 yazman gerekecekti ve LIST yazdığında herhangi birşey göremeyecektir.

Makine dili programı için BASIC'ten kolayca başlatmak için ufak bir yardım yani. :)

Ayrıntılı bilgi için: http://www.tr-demoscene.info/showthread.php?1947-ipucLarI (http://www.tr-demoscene.info/showthread.php?1947-ipucLarI)

Not: "Alıntı Ekle" yerine "Kod Ekle" kullanırsan o   lerden kurtulursun.


Konu Başlığı: Ynt: Adım Adım C64 Oyunu Yapalım
Gönderen: nightlord üzerinde Şubat 01, 2012, 21:07:43 ÖS
benim verebilecegim bir tuyo var: ben bu 0801'e byte'lari dizerek sys xxxx yazdirma olayini hic kullanmam. bunun yerine pucrunch kullanirim. pucrunch hazirladiginiz programi sikistirip basina da sikismis programi acacak kucuk bir kod ekleyerek basic'ten "run" ile calistirilabilecek bir paket elde eder.

bu, derleme asamasina bir ekstra adim eklemek demek. bunu hangi ideyi veya bat dosyasini kullaniyorsaniz orada acme vs gibi assembler satirindan sonra bir satir daha ekleyip pucrunch komutu eklenerek otomatize edilebilir

yani siz kodu istediginiz adrese yazip dosediniz. ve diyelim ki kod $c000 adresinden basliyor. o zaman bunu acme ile (diyelim ki "out.prg" adinda)c64 prg'si haline getirdikten sonra yapmaniz gereken:

pucrunch out.prg final.prg -x 0xc000

pucrunch a verilen -x opsiyonu program bellege acildiktan (yani sikistirma islemi geriye cevirildikten) sonra atlanacak adresi veriyor.

not: bunu diger yoldan daha iyi bir yoldur anlaminda soylemiyorum. isterseniz byte'larla sys komutunu dizebilirsiniz. hic bir sakincasi yok. sadece programinizda grafik ogeler de kullanmaya basladiginiz anda cruncher kullanmak kazanim haline geliyor ve bunu o zaman kullanmak isteyeceksiniz nasilolsa. o yuzden bahsettim.


Konu Başlığı: Ynt: Adım Adım C64 Oyunu Yapalım
Gönderen: Simon (Özay Turay) üzerinde Şubat 02, 2012, 04:51:19 ÖÖ
Ben de şu anda derlemek, crunch etmek ve WinVICE ile test etmek için şöyle bir batch dosyası kullanıyorum. Tek farkla crunch için exomizer kullanıyorum.

Kod:
@ECHO OFF
D:\C64Dev\Tools\ACME\acme.exe %1
IF %ERRORLEVEL%==0 GOTO CRUNCH
PAUSE
GOTO END
:CRUNCH
D:\C64Dev\Tools\ACME\exomizer.exe sfx sys -n %~n1.prg -o %~n1-packed.prg
IF %ERRORLEVEL%==0 GOTO LAUNCH
PAUSE
GOTO END
:LAUNCH
START D:\C64Dev\Tools\WinVICE\x64.exe %~n1-packed.prg
:END

Eğer derleme veya crunch etme esnasında bir hata oluşursa önce pause ile hatayı görmemi sağlıyor, bir tuşa basınca da batch sonlanıyor.

Eğer hata yoksa oluşan prg dosyası WinVICE ile açılıyor.

Not: Eğer programınızın başında basic satırı yoksa sys yerine başlangıç adresini ($080d gibi) kullanabilirsiniz. (örn: exomizer sfx $0900 -n out.prg -o final.prg)


Konu Başlığı: Ynt: Adım Adım C64 Oyunu Yapalım
Gönderen: Simon (Özay Turay) üzerinde Aralık 04, 2013, 16:31:11 ÖS
Tutorial serisi 100. bölümde bitmiş. İlk mesajımdaki birleştirilmiş dokümanı güncelleyip upload ettim her ihtimale karşı. ;)

Ayrıca proje yenilenmiş grafikler ve birçok eklemelerle cilalanarak Guns'n'Ghosts adında ticari bir oyuna dönüşmüş.

qvJX1uFHABU


Satın almak için:

http://www.psytronik.net/main/index.php?option=com_content&view=article&id=105:gunsghosts&catid=34:commodore-64&Itemid=57 (http://www.psytronik.net/main/index.php?option=com_content&view=article&id=105:gunsghosts&catid=34:commodore-64&Itemid=57)

http://www.rgcd.co.uk/2013/04/guns-n-ghosts-cartridge-available-c64.html (http://www.rgcd.co.uk/2013/04/guns-n-ghosts-cartridge-available-c64.html)


Konu Başlığı: Ynt: Adım Adım C64 Oyunu Yapalım
Gönderen: memoryx17 üzerinde Aralık 04, 2013, 16:48:19 ÖS
commodore 64 için C compiler kullanan var mı?
http://www.cc65.org (http://www.cc65.org)
yukarıdaki adresteki compiler ı ben denedim. Baya güzel ya.
Commodore için kendine göre bi kütüphane oluşturduktan sonra kod yazmak oldukça keyifli olur bence.


Konu Başlığı: Ynt: Adım Adım C64 Oyunu Yapalım
Gönderen: RetroLover üzerinde Aralık 04, 2013, 16:53:37 ÖS
Keşke becerebilsem yapmayı. Birşeyler indirdim ama program bana baktı ben programa :) Bu işin kursu ya da anlatımı yok mu acaba?


Konu Başlığı: Ynt: Adım Adım C64 Oyunu Yapalım
Gönderen: Simon (Özay Turay) üzerinde Aralık 04, 2013, 16:58:26 ÖS
Bu işin kursu ya da anlatımı yok mu acaba?

Olmaz mı? ;)

http://nightnetwork.org/writings_tr/6502_makine_dili/pdf/6502_makine_dili.pdf (http://nightnetwork.org/writings_tr/6502_makine_dili/pdf/6502_makine_dili.pdf)

http://nightnetwork.org/writings_tr/c64_grafik_programlama/pdf/c64_grafik_programlama.pdf (http://nightnetwork.org/writings_tr/c64_grafik_programlama/pdf/c64_grafik_programlama.pdf)

http://www.nightnetwork.org/files/vic_ornekler.zip (http://www.nightnetwork.org/files/vic_ornekler.zip)

Bu üç dosyayı hatmedersen oldukça fazla (şaka değil cidden) yol katedersin.

Bu arada nightlord ustaya tekrar selamlar. :D


Konu Başlığı: Ynt: Adım Adım C64 Oyunu Yapalım
Gönderen: RetroLover üzerinde Aralık 04, 2013, 17:02:30 ÖS
Bu işin kursu ya da anlatımı yok mu acaba?

Olmaz mı? ;)

http://nightnetwork.org/writings_tr/6502_makine_dili/pdf/6502_makine_dili.pdf (http://nightnetwork.org/writings_tr/6502_makine_dili/pdf/6502_makine_dili.pdf)

http://nightnetwork.org/writings_tr/c64_grafik_programlama/pdf/c64_grafik_programlama.pdf (http://nightnetwork.org/writings_tr/c64_grafik_programlama/pdf/c64_grafik_programlama.pdf)

http://www.nightnetwork.org/files/vic_ornekler.zip (http://www.nightnetwork.org/files/vic_ornekler.zip)

Bu üç dosyayı hatmedersen oldukça fazla (şaka değil cidden) yol katedersin.

Bu arada nightlord ustaya tekrar selamlar. :D

Çok teşekkürler. Hummalı bir şekilde bugünden itibaren girişiyorum. Bekle beni 7dx 2014 :D


Konu Başlığı: Ynt: Adım Adım C64 Oyunu Yapalım
Gönderen: wizofwor üzerinde Aralık 04, 2013, 17:17:58 ÖS
Aslında oyun için nightlordun'un derslerinin üzerine biraz daha farklı teknikler eklemek gerekiyor.

Şu siteyi öneririm ama bazı yerleri yüzeysel geçmiş. Nightlord'un derslerini bitirmeden buraya başlarsan yarı yolda kalabilirsin.
http://www.gamedev.net/blog/949/entry-2249750-a-c64-game-in-several-steps-lots-of-em/ (http://www.gamedev.net/blog/949/entry-2249750-a-c64-game-in-several-steps-lots-of-em/)


Konu Başlığı: Ynt: Adım Adım C64 Oyunu Yapalım
Gönderen: Simon (Özay Turay) üzerinde Aralık 04, 2013, 17:19:30 ÖS
Sen ilk mesaja bakmadın sanırım. :D


Konu Başlığı: Ynt: Adım Adım C64 Oyunu Yapalım
Gönderen: wizofwor üzerinde Aralık 04, 2013, 17:21:05 ÖS
 :D Kendi yazdığım kodu loop'a sokamıyorum ama forum'u soktum galiba  :D