commodore.gen.tr

Commodore => Commodore Yazılım => Konuyu başlatan: eins üzerinde Ekim 21, 2015, 22:01:23 ÖS



Konu Başlığı: En sevilen, unutulmayan ara yüklemeli oyunlar?
Gönderen: eins üzerinde 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.


Konu Başlığı: Ynt: En sevilen, unutulmayan ara yüklemeli oyunlar?
Gönderen: mrmojorisin üzerinde Ekim 21, 2015, 22:23:39 ÖS
Aklıma ilk gelenler test drive2, defeder of the crown, skate or die


Konu Başlığı: Ynt: En sevilen, unutulmayan ara yüklemeli oyunlar?
Gönderen: LW3D üzerinde 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 :(


Konu Başlığı: Ynt: En sevilen, unutulmayan ara yüklemeli oyunlar?
Gönderen: i_r_on üzerinde 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.


Konu Başlığı: Ynt: En sevilen, unutulmayan ara yüklemeli oyunlar?
Gönderen: eins üzerinde 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. :D 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...


Konu Başlığı: Ynt: En sevilen, unutulmayan ara yüklemeli oyunlar?
Gönderen: LW3D üzerinde Ekim 21, 2015, 23:32:38 ÖS
Buradan Prince of Persia olmayacak mı? Anlamalıyız?


Konu Başlığı: Ynt: En sevilen, unutulmayan ara yüklemeli oyunlar?
Gönderen: eins üzerinde 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... :)


Konu Başlığı: Ynt: En sevilen, unutulmayan ara yüklemeli oyunlar?
Gönderen: i_r_on üzerinde 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 :)


Konu Başlığı: Ynt: En sevilen, unutulmayan ara yüklemeli oyunlar?
Gönderen: eins üzerinde 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... :D



Konu Başlığı: Ynt: En sevilen, unutulmayan ara yüklemeli oyunlar?
Gönderen: i_r_on üzerinde 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... :D



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.


Konu Başlığı: Ynt: En sevilen, unutulmayan ara yüklemeli oyunlar?
Gönderen: Cengiz Demir üzerinde Ekim 21, 2015, 23:54:52 ÖS
Cabal da fena oyun değildi :)


Konu Başlığı: Ynt: En sevilen, unutulmayan ara yüklemeli oyunlar?
Gönderen: LW3D üzerinde Ekim 22, 2015, 00:24:11 ÖÖ
Bence arayüklemeli oyunları 1541 Emulasyon projesine bırakın :P

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..


Konu Başlığı: Ynt: En sevilen, unutulmayan ara yüklemeli oyunlar?
Gönderen: eins üzerinde Ekim 22, 2015, 00:44:41 ÖÖ
1541 Emulasyon projesi dedin, ne güzel dedin... Raftan indirmek lazım onu artık. :D
Ama bir iki güzel ara yüklemeli convert etmezsem rahat etmeyeceğim ben...


Konu Başlığı: Ynt: En sevilen, unutulmayan ara yüklemeli oyunlar?
Gönderen: wizofwor üzerinde 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.


Konu Başlığı: Ynt: En sevilen, unutulmayan ara yüklemeli oyunlar?
Gönderen: witchdoktor üzerinde 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.


Konu Başlığı: Ynt: En sevilen, unutulmayan ara yüklemeli oyunlar?
Gönderen: siber06 üzerinde Ekim 22, 2015, 10:14:00 ÖÖ
Last Ninja Serisi 1-2-3
Turrican 1-2
X-Out
R-Type
Defender of the Crown
Hammerfist
Myth
Creatures 1-2
Test Drive 1-2
Katakis
Enforcer