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.trGenel KategoriProjeDoberman (DMA Tabanlı Kartuş Projesi)
Sayfa: 1 ... 6 7 [8] 9 10 ... 15   Aşağı git
Yazdır
Gönderen Konu: Doberman (DMA Tabanlı Kartuş Projesi)  (Okunma Sayısı 151953 defa)
0 Üye ve 3 Ziyaretçi konuyu incelemekte.
i_r_on
Uzman
*****
Mesaj Sayısı: 2.873



Üyelik Bilgileri WWW
« Yanıtla #105 : Ekim 11, 2015, 02:25:46 ÖÖ »

Aslında iş dönüp dolaşıp 1541 ultimate'in yöntemine geliyor. Reset gerektirmeksizin dma yapabilmek lazım. Yani ekran kapalı olsa da devre 6510'a bir dur kardeşim diyebilmeli.
i_r_on  ultimate'in dma'dan sonra 6510'u nasıl yönlendirdiği ile ilgili bilgi var mı?


Source'ları var direkt Kahkaha
https://xp-dev.com/svn/1541UltimateII/trunk/
Logged

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

twitter | blog
Metallic
Uzman
*****
Mesaj Sayısı: 1.081



Üyelik Bilgileri
« Yanıtla #106 : Ekim 11, 2015, 02:35:49 ÖÖ »

O source'lardan çıkartamam ben ne yaptığını ama sanki bir reset çekiyordur gibi geliyor bana.
Logged
i_r_on
Uzman
*****
Mesaj Sayısı: 2.873



Üyelik Bilgileri WWW
« Yanıtla #107 : Ekim 11, 2015, 02:37:08 ÖÖ »

Daha spesifik olmak gerekirse şurada  : https://xp-dev.com/svn/1541UltimateII/trunk/software/io/c64/c64_subsys.cc

dma_load metodunda yapıyor bu işi. İşin içine bir kartuş imajı sokuyor bu işe girmeden önce. Sonra da kartuş imajındaki programla haberleşiyor. Zero page'deki özellikle 2 olmak üzere bir kaç adresi kullanıyor haberleşme için.
Logged

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

twitter | blog
Metallic
Uzman
*****
Mesaj Sayısı: 1.081



Üyelik Bilgileri
« Yanıtla #108 : Ekim 11, 2015, 02:44:57 ÖÖ »

Kartuş imajı kullanıyorsa, kernal rom'un yerine kendi rom'un map'liyordur. Onun üzerindeki $fffa nmi vectörünü kullanıyordur. Dobermanda belleğe rom map'lenmiyor ama.
Logged
i_r_on
Uzman
*****
Mesaj Sayısı: 2.873



Üyelik Bilgileri WWW
« Yanıtla #109 : Ekim 11, 2015, 02:50:36 ÖÖ »

https://xp-dev.com/svn/1541UltimateII/trunk/software/io/c64/c64.cc

Buradaki unfreeze metoduna bakılırsa reset yapıyor dma load yapmadan önce.

Hani reset öncesi dma yapıp kartuşa haber salıyor $2 adresine bir şeyler set edip. Kartuşu aktif yapıp resetliyor. Çalışan kod kendi kodu zaten kartuş üstündeki. Dma yapan kısım ile haberleşerek memory'i doldurmasını sağlıyor. Sonrasını çok iyi anlamadım detaylı incelemediğim için ancak dma yapmadan önce en son kartuşta çalışan şeyi durduruyor sanırım, yükleme bitince yükleme ile ilgili bilgileri gerekli yerlere doldurduktan sonra kartuşa tekrar yol veriyor. Muhtemelen devamında kartuştaki kod benim işim bitti diyerek kendinin devreden çıkabilmesi için geri bilgi gönderiyordur ancak kodu da kendisi çalıştırıyordur.

Benim IrqHack64'de kullandığım yönteme çok yakın. Bende sadece dma yok veri transferini 6510'a yaptırıyorum.
Logged

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

twitter | blog
i_r_on
Uzman
*****
Mesaj Sayısı: 2.873



Üyelik Bilgileri WWW
« Yanıtla #110 : Ekim 11, 2015, 03:01:36 ÖÖ »

Kartuş imajı kullanıyorsa, kernal rom'un yerine kendi rom'un map'liyordur. Onun üzerindeki $fffa nmi vectörünü kullanıyordur. Dobermanda belleğe rom map'lenmiyor ama.


Bu aletin 1541 emülasyonunu nasıl yaptığı ile ilgili aslında çok fazla bilgim yok. ultimax modunu da kullansa, normal kartuş modlarından birini de kullansa kartuşu reset sonrası aktif hale getirebilir. Kernal değişimi olayı apayrı bir olay zaten.

Evet doberman'da bu rom map etme yok. Bunun için delimawi'nin paralel flash/eprom vesaire kullanması lazım.

Burada olay garanti freeze yapabilmek. Freeze için kartuş imajına gerek var mı / 1541 ultimate bunu kullanıyor mu dersen olabilir. Dediğin gibi ultimax moduna geçip nmi yaptığında aslında bunu halledebilir. Tam olarak öyle mi yapıyor bilmiyorum.
Logged

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

twitter | blog
Metallic
Uzman
*****
Mesaj Sayısı: 1.081



Üyelik Bilgileri
« Yanıtla #111 : Ekim 11, 2015, 03:18:38 ÖÖ »

Dobermanın şu anki donanımıyla 6510 yönlendirmek için nmi kullanmak yerine reset'in ardından 6510'u durdurarak bad line'sız dma yapmak, CBM80 kodunu kullanmak mantıklı görünüyor. delimawi denemelerini yapsın artık =)
Logged
eins
Uzman
*****
Mesaj Sayısı: 1.816


A.K.A. deliMawi


Üyelik Bilgileri
« Yanıtla #112 : Ekim 13, 2015, 19:03:52 ÖS »

Merhaba,

Geçtiğimiz günlerde Doberman'a özellikle Reset ile ilgili birkaç yeni komut ekledim.

Örneğin commando gibi, CBM80 metdou ile RESET koruması olan programları resetleyebilmek için, AntiCBM80Reset komutumuz oldu. Reset yapmadan hemen önce DMA ile $8000 adresinde CMB80 işareti varsa bu işareti bozup, reseti o şekilde atıyoruz, ve korumalı programlar bile buna artık dayanamıyor.

Aynı zamanda, normal Reset işlemi 2 sn kadar sürdüğünden, bunu kısaltmak için gene CBM80 yöntemi ile modifiye edilmiş bir Reset rutinini DMA ile gönderip, Reset atabiliyoruz. Buna da FastReset diyorum. Bu konudaki ilhamı sağolsun, Metallic'den aldım.

Freeze işlemi üzerinde çalıştım, oldukça ilerleme kaydedebilmiş olmama rağmen, pratik olarak kullanımda bazı ciddi sıkıntılar mevcut. Özellikle IO bölgesindeki register'ların bir bölümü sadece yazılabiliyor, ama okunamıyor. Örneğin $D012, buraya yazdığınızda Raster Interrupt'ın oluşacağı satırı belirliyorsunuz. Ama bu adres okunduğunda, set edilmiş olan değer değil o anki gerçek raster değerini veriyor gibi. Buna benzer sıkıntılar mevcut. Şimdilik Freeze işlemi rafta. Daha ilerleyen dönemlerde tekrar bakılacak vakit olursa.

Son olarak haftasonu gözümü karartıp loader yazma işine giriştim. Gerçekten çok hamlaşmışım. Uzun sürdü ama en azından artık çalışan bir loaderımız var ve Doberbam artık standalone çalışabiliyor.

Flash versiyonu için motto: "Tek kartuş, 64 unutulmaz oyun..." Kahkaha

Denemek için 20 ye yakın oyun attım, ufak videomuz aşağıda. Şimdi geriye kalan bu oyunların başlarındaki gereksiz intro ve decruncherlardan kurtulmak.


 
Logged

Doberman ♦ megaOne ♦ HDMI-64 ♦ HDMI-520 ♦ NewSchool
Simon (Özay Turay)
Yönetici
*****
Mesaj Sayısı: 7.757


Commodore Forever


Üyelik Bilgileri WWW
« Yanıtla #113 : Ekim 13, 2015, 19:37:55 ÖS »

Menüye bayıldım. Yılların pasını atmışsın üzerinden.
Logged

https://retrodergi.com - https://e-turay.com - https://karizmawow.e-turay.com

Retro: Commodore 64, Amiga 500, Amiga 1200
Retromsu: Wii, XBox360, XBox, PS3 Slim, PS2 FAT, PS1, PS Vita, Nintendo 3DS, Nintendo 2DS
joker_
Deneyimli
*****
Mesaj Sayısı: 2.120



Üyelik Bilgileri
« Yanıtla #114 : Ekim 13, 2015, 20:14:30 ÖS »

Menü muhteşem olmuş. Resim convert sanırım. Fakat menü tasarımıyla bütünleşmiş.

Kartuşun hızı inanilmaz. Eline saglik.
Logged
Decypher
Deneyimli
*****
Mesaj Sayısı: 689



Üyelik Bilgileri
« Yanıtla #115 : Ekim 13, 2015, 20:25:33 ÖS »

Menü süper olmuş, resim seçimi cuk oturmuş. Böyle de sık sık eline sağlık mesajı atmak istemiyorum ama yine dayanamadım
Logged
kirkoryan
Ziyaretçi
« Yanıtla #116 : Ekim 13, 2015, 20:43:34 ÖS »

Gerçekten harika olmuş ellerinize sağlık 
Logged
asit
Deneyimli
*****
Mesaj Sayısı: 571



Üyelik Bilgileri
« Yanıtla #117 : Ekim 13, 2015, 20:51:03 ÖS »

Süper  olmuş  elinize sağlık
Logged

Amiga 500
C64
Ps1
Ps2
Atari 2600
Sega mega drıve 2
Xbox 1
Xbox 360
Nintendo wii
egemenk
Üye
***
Mesaj Sayısı: 180



Üyelik Bilgileri
« Yanıtla #118 : Ekim 13, 2015, 20:58:11 ÖS »

Muazzam olmuş ya, ne cevherler var aramızda
Logged
eins
Uzman
*****
Mesaj Sayısı: 1.816


A.K.A. deliMawi


Üyelik Bilgileri
« Yanıtla #119 : Ekim 13, 2015, 21:23:31 ÖS »

Menü muhteşem olmuş. Resim convert sanırım. Fakat menü tasarımıyla bütünleşmiş.

Kartuşun hızı inanilmaz. Eline saglik.

Evet, resim webden, photoshop ile convert ettim. Logo da photshop da alele acele yapıldı. Zaten C64'te grafik pikselleyecek ne yeteneğim ne de ilgim var. Kahkaha Arkane ile bu aralar sık görüşemiyoruz, yoksa ondan rica ederdim bir pixel art. Arkaplandaki SID de bir demodan ödünç alındı.

Ama kodlama bana ait. Hatta bir kaç ufak nüans var. Daha eski günlerdeki gibi takır tukur yazamıyorum ama alışıyorum yavaş yavaş. Sağ taraf text mode iken solda multicolor grafik var. Bunun için sprite multiplexing yaptım, ekranda aynı anda görünür 32 det sprite var vb...

Hız konusunda ise oyunların kendi depackerlarını aradan kaldırmadan istediğim hıza ulaşamayacak. Menüden seçer seçmez açılış ekranı gelsin istiyorum. Başladım bir kaç oyundan ama vakit alıyor her biri için çalışmak gerekiyor ayrı ayrı...
Logged

Doberman ♦ megaOne ♦ HDMI-64 ♦ HDMI-520 ♦ NewSchool
Sayfa: 1 ... 6 7 [8] 9 10 ... 15   Yukarı git
Yazdır
Gitmek istediğiniz yer: