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)
commodore.gen.trCommodoreCommodore YazılımEn sevilen, unutulmayan ara yüklemeli oyunlar?
Sayfa: [1] 2   Aşağı git
Yazdır
Gönderen Konu: En sevilen, unutulmayan ara yüklemeli oyunlar?  (Okunma Sayısı 11095 defa)
0 Üye ve 1 Ziyaretçi konuyu incelemekte.
eins
Uzman
*****
Mesaj Sayısı: 1.816


A.K.A. deliMawi


Üyelik Bilgileri
« : Ekim 21, 2015, 22:01:23 ÖS »

Arkadaşlar malum, bir kartuş üzerinde çalışıyorum. Tek parça PRG'lerden sonra bu hafta çok parçalı oyunların da desteklenmesi üzerinde bazı çalışmalarım oldu. Ancak easyflash'da olduğu gibi oyunların Doberman64 için patchlenmesi gerekiyor.

Şu an Last Ninja III ve California Games patchleri üzerinde çalışıyorum. Akabinde Zac Mac Cracken ve Maniac Mansion'a da bakacağım. Sizlerin görmek istediği çok parçalı oyunlar neler olabilir. Paylaşırsanız sevinirim.
Logged

Doberman ♦ megaOne ♦ HDMI-64 ♦ HDMI-520 ♦ NewSchool
mrmojorisin
Deneyimli
*****
Mesaj Sayısı: 1.014



Üyelik Bilgileri
« Yanıtla #1 : Ekim 21, 2015, 22:23:39 ÖS »

Aklıma ilk gelenler test drive2, defeder of the crown, skate or die
Logged
LW3D
Yönetici
*****
Mesaj Sayısı: 11.417


Günü Kurtaran Avam Hiooargggh :)


Üyelik Bilgileri WWW
« Yanıtla #2 : Ekim 21, 2015, 22:37:29 ÖS »

Defender of the Crown aklına iyi geldi...O oyunu C64'de bitirdiğimi söylemişmiydim

World Games'in bazı oyunlarını zevkle oynadığımızı hatırlıyorum. World games olabilir. Raid Over Moscow çok parçalımıydı? ya da Beach Head hatırlamıyorum
Logged

i_r_on
Uzman
*****
Mesaj Sayısı: 2.873



Üyelik Bilgileri WWW
« Yanıtla #3 : Ekim 21, 2015, 22:53:33 ÖS »

@delimawi : Yaptıklarını bari dokümante et, belki ara yükleme olayına ben de girişebilirim. Hatta hepsini kendin yapmaya uğraşma bence. Hardware'i üretip dağıtırsan bu işten anlayan bir sürü insan var. Onlar da port ederler. Ve dahası, belki de easyflash'a zaten convert edilmişler bir şekilde incelenip daha hızlı bir şekilde de oyunlar convert edilebilir.
Logged

Every imagination is one's self reflection but not every self reflection is imagination. <I.R.on - 2001>

twitter | blog
eins
Uzman
*****
Mesaj Sayısı: 1.816


A.K.A. deliMawi


Üyelik Bilgileri
« Yanıtla #4 : Ekim 21, 2015, 23:19:28 ÖS »

@delimawi : Yaptıklarını bari dokümante et, belki ara yükleme olayına ben de girişebilirim. Hatta hepsini kendin yapmaya uğraşma bence. Hardware'i üretip dağıtırsan bu işten anlayan bir sürü insan var. Onlar da port ederler. Ve dahası, belki de easyflash'a zaten convert edilmişler bir şekilde incelenip daha hızlı bir şekilde de oyunlar convert edilebilir.

Merhaba,

Açıkçası bir kaç oyunu teoriyi test etmek için kendim yapmaya uğraşıyorum. Bu arada 6510 pasım gitmiş oluyor. Kahkaha Eğer düşüdüğüm gibi olursa zaten tabiki dökümante ederim.

Doberman64 bilindiği gibi pasif, yani 6510 tarafındaki yazılımın tetikleme şansı yok DMA için. Belki sonraki bir versiyonda DE00, DF00 gibi bir alanı dinleyecek birşeyler yapabilirim donanım olarak, ama şu anda donanımı artık bu hali ile fixledim.

Ben çok basit bir teori test ediyorum şu anda. Doberman belirli bir adreste (şimdilik bulduğum en güvenli yer $0400) aynı CBM80 methodu gibi, DMA64 işareti bulursa hemen DMA başlatarak, DMA64 işaretinin hemen peşinden gelen Kartuş Slot No (1 Byte), Kartuş ROM Başlangıç Adresi (2Byte), Uzunluk (2Byte), RAM Başlangıç adresi (2Byte) ve DMA Durumu (1Byte) bilgilerini alarak, RAM'de ilgili yere datayı basacak.

Tabiki bu işlem cooperative olmak zorunda. Yani patchlenmiş 6510 oyunu içerisindeki gerçekte loader olan kod bulunup bunun yerine, $0400 adresine yukarıdaki işareti ve parametreleri koyup, sonsuz döngü ile DMA Durumu byte'ı Doberman tarafından OK olarak set edilene kadar bekleyen bir DMA Loader kodu yazmak gerekiyor. Bu kod çok kısa olacağı için teorik olarak her oyun içerisine eklenebilir. Yani zaten var olan disk, tape yada kartuş loader kodu üzerine yazılacak.

Doberman ise yaklaşık saniyede bir kere $0400 adresini peekleyerek DMA isteniyor mu bakacak.

EasyFlash olayına da baktım. EasyFlash'de aynı zamanda $DF00 adresinde 256Byte RAM mevcut. Bazı releaseler bu alanı kullandıkları için doğrudan yada dolaylı olarak Doberman'a uyarlanma şansları yok. Elle patchlenmeleri şart.

Ayrıca bazı EasyFlash releaseleri EF yi resmen kartuş olarak kullanıyor. Yani kod $8000 daki ROM üzerinde çalışmak üzere yazılmış, ve sıklıkla bank değiştiriyor. Bu release lerin de uyarlanması, disk versiyonunun uyarlanmasına oranla çok zor.

Prince of Persia'ya baktım mesela, o da zor görünüyor çünkü EF yi loader olarak kullanmamış.

Ancak özellikle John64'ün EF releaseleri, tam Doberman'a uygun. EF'yi loader olarak kullanacak şekilde patchlemiş kodu. EF'den yükleyeceği bank'i seçip, kartuşun görünür olduğu $8000-$BFFF aralığından datayı RAM'de istediği yere kopyalayıp, EF'yi devre dışı bırakmış ve koda dallanmış...

John64'ün patchlediği bir oyundan örnek kopyalam rutini:
Last Ninja III - Death

.C:047d  A9 1B       LDA #$1B      ; D - DEATH
.C:047f  8D 00 DE    STA $DE00      ; Bank $1B, $8000 $0800 $22 Blok Kopyala
.C:0482  A9 22       LDA #$22
.C:0484  A2 80       LDX #$80
.C:0486  A0 08       LDY #$08
.C:0488  20 00 05    JSR $0500
.C:048b  60          RTS


.C:0500  8D 0A 05    STA $050A      ; Kartuşta $XX00'dan RAM $YY00'a A Blok (256Byte) kopyala...
.C:0503  8E 0F 05    STX $050F
.C:0506  8C 12 05    STY $0512
.C:0509  A0 40       LDY #$40      ; Y=A
.C:050b  A2 00       LDX #$00
.C:050d  BD 00 80    LDA $8000,X   ;
.C:0510  9D 00 08    STA $0800,X
.C:0513  E8          INX
.C:0514  D0 F7       BNE $050D
.C:0516  EE 0F 05    INC $050F
.C:0519  EE 12 05    INC $0512
.C:051c  88          DEY
.C:051d  D0 EC       BNE $050B
.C:051f  60          RTS

Bunları Doberman64 re-patch etmek sanırım mümkün olacak.

Gelişmeleri Doberman başlığı altında paylaşmaya devam ederim...
Logged

Doberman ♦ megaOne ♦ HDMI-64 ♦ HDMI-520 ♦ NewSchool
LW3D
Yönetici
*****
Mesaj Sayısı: 11.417


Günü Kurtaran Avam Hiooargggh :)


Üyelik Bilgileri WWW
« Yanıtla #5 : Ekim 21, 2015, 23:32:38 ÖS »

Buradan Prince of Persia olmayacak mı? Anlamalıyız?
Logged

eins
Uzman
*****
Mesaj Sayısı: 1.816


A.K.A. deliMawi


Üyelik Bilgileri
« Yanıtla #6 : Ekim 21, 2015, 23:35:01 ÖS »

Buradan Prince of Persia olmayacak mı? Anlamalıyız?

İlk etapta zor, ama uğraşılırsa olabilir tabiki...
Logged

Doberman ♦ megaOne ♦ HDMI-64 ♦ HDMI-520 ♦ NewSchool
i_r_on
Uzman
*****
Mesaj Sayısı: 2.873



Üyelik Bilgileri WWW
« Yanıtla #7 : Ekim 21, 2015, 23:36:50 ÖS »

Yine aynı tartışmaya gidiyor iş ancak saniyede bir okuma yapmak için dma oyunun VIC ile senkronizasyonunu bozmayacak mı?


Bunun yerine loader kodunda BA sinyalini covert channel olarak kullanamaz mısın?

"It is therefore necessary to introduce a more general definition, namely
that of a "Bad Line Condition":

 A Bad Line Condition is given at any arbitrary clock cycle, if at the
 negative edge of �0 at the beginning of the cycle RASTER >= $30 and RASTER
 <= $f7 and the lower three bits of RASTER are equal to YSCROLL and if the
 DEN bit was set during an arbitrary cycle of raster line $30.

This definition has to be taken literally. You can generate and take away a
Bad Line condition multiple times within an arbitrary raster line in the
range of $30-$f7 by modifying YSCROLL, and thus make every raster line
within the display window completely or partially a Bad Line, or trigger or
suppress all the other functions that are connected with a Bad Line
Condition. If YSCROLL=0, a Bad Line Condition occurs in raster line $30 as
soon as the DEN bit (register $d011, bit 4) is set (for more about the DEN
bit, see section 3.10.)."

Buradan benim anladığım BA sinyalini sen de modüle edebilirsin. Kendine bir imza belirleyip belki CPLD içinde kurgulanacak bir durum makinesi ile bu imzayı yakalayabilirsin.

Tabii loader kodu biraz uzayabilir.. Bir alternatif olarak aklının köşesinde olsun. Bu arada easyflash konusunda tahmin ettiğimden daha fazla ilerlemişsin, benim tavsiye beyhude oldu
Logged

Every imagination is one's self reflection but not every self reflection is imagination. <I.R.on - 2001>

twitter | blog
eins
Uzman
*****
Mesaj Sayısı: 1.816


A.K.A. deliMawi


Üyelik Bilgileri
« Yanıtla #8 : Ekim 21, 2015, 23:45:57 ÖS »

Zaten aslında hedefimde arayüklemeli oyunlar yoktu, işi çok karıştırmadan basit bir çözüm üretilebilir mi ona bakıyorum sadece. Saniyede bir DMA bu tarz oyunları çok rahatsız etmez gibime geliyor. DMA ile 3-5 byte okumak, ve hatta DMA zaten Bad Line esnasında, VIC erişiminin hemen sonrasında yapıldığından bence negatif bir etkisi olmayacak.

Tabi kıtı kıtına cycle exact çalışan ve çalışırken diskten yükleme yapan demolardan falan bahsetmiyorum burada. Last Ninja mesela, oyunun ekranı çizmesi zaten 2-3 saniye sürerken, saniyede bir 3-5 cycle çalınmış 6510 dan kimsenin haberi bile olmaz bence... Kahkaha

Logged

Doberman ♦ megaOne ♦ HDMI-64 ♦ HDMI-520 ♦ NewSchool
i_r_on
Uzman
*****
Mesaj Sayısı: 2.873



Üyelik Bilgileri WWW
« Yanıtla #9 : Ekim 21, 2015, 23:54:41 ÖS »

Zaten aslında hedefimde arayüklemeli oyunlar yoktu, işi çok karıştırmadan basit bir çözüm üretilebilir mi ona bakıyorum sadece. Saniyede bir DMA bu tarz oyunları çok rahatsız etmez gibime geliyor. DMA ile 3-5 byte okumak, ve hatta DMA zaten Bad Line esnasında, VIC erişiminin hemen sonrasında yapıldığından bence negatif bir etkisi olmayacak.

Tabi kıtı kıtına cycle exact çalışan ve çalışırken diskten yükleme yapan demolardan falan bahsetmiyorum burada. Last Ninja mesela, oyunun ekranı çizmesi zaten 2-3 saniye sürerken, saniyede bir 3-5 cycle çalınmış 6510 dan kimsenin haberi bile olmaz bence... Kahkaha



Interrupt handle edilirken falan araya girersen dağılabilir ortalık
Digi çalan oyunlar, sprite multiplex eden kodlar falan belki etkilenebilir. Tabii denemen lazım, belki de dediğin gibi büyük etkisi olmayacaktır çoğu oyunda.
Logged

Every imagination is one's self reflection but not every self reflection is imagination. <I.R.on - 2001>

twitter | blog
Cengiz Demir
Uzman
*****
Mesaj Sayısı: 3.831



Üyelik Bilgileri
« Yanıtla #10 : Ekim 21, 2015, 23:54:52 ÖS »

Cabal da fena oyun değildi
Logged

LW3D
Yönetici
*****
Mesaj Sayısı: 11.417


Günü Kurtaran Avam Hiooargggh :)


Üyelik Bilgileri WWW
« Yanıtla #11 : Ekim 22, 2015, 00:24:11 ÖÖ »

Bence arayüklemeli oyunları 1541 Emulasyon projesine bırakın

Doberman'da görmek istediğim ve beklentim, eğer mümkün olursa C64'deki çalışan kodun snapshot'u...Oynadığım oyunu bir tuşa basarak Doberman'a atıp, ertesi gün kaldığım yerden devam edebilirsem, başka da bir şey istemem...

Cabal deyince Operation Wolf serisi aklıma geldi..O da fena değildi...Red Heat vardı (şimdi baktımda grafikler ne kötüymüş...çok güzel gelirdi) - sanki konuyla ilgili mesaj atıyormuş gibi yapıyorum..
Logged

eins
Uzman
*****
Mesaj Sayısı: 1.816


A.K.A. deliMawi


Üyelik Bilgileri
« Yanıtla #12 : Ekim 22, 2015, 00:44:41 ÖÖ »

1541 Emulasyon projesi dedin, ne güzel dedin... Raftan indirmek lazım onu artık. Kahkaha
Ama bir iki güzel ara yüklemeli convert etmezsem rahat etmeyeceğim ben...
Logged

Doberman ♦ megaOne ♦ HDMI-64 ♦ HDMI-520 ♦ NewSchool
wizofwor
Genel Yönetici
*****
Mesaj Sayısı: 4.790


Gosub ile gidilen yerden goto ile dönen adam


Üyelik Bilgileri WWW
« Yanıtla #13 : Ekim 22, 2015, 09:01:29 ÖÖ »

Ara yüklemelerin gerçekten can sıktığı oyunları göz önünde bulundurabilirsin. Mesela Elvira olabilir.Oyunu bitirmeyi çok istediğim halde ara yüklemelere dayanamadığım için bırakmıştım.
Logged

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



Üyelik Bilgileri
« Yanıtla #14 : Ekim 22, 2015, 09:33:40 ÖÖ »

Pirates! da ara yüklemeli olarak bir DoTC ve The Last Ninja kadar popüler olmasa da yine de iyiydi.
Logged
Sayfa: [1] 2   Yukarı git
Yazdır
Gitmek istediğiniz yer: