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ımCommodore 64 Yazılım (ROM için)
Sayfa: [1]   Aşağı git
Yazdır
Gönderen Konu: Commodore 64 Yazılım (ROM için)  (Okunma Sayısı 7802 defa)
0 Üye ve 1 Ziyaretçi konuyu incelemekte.
ercanersoy
Deneyimli
*****
Mesaj Sayısı: 1.035


Üyelik Bilgileri WWW
« : Aralık 31, 2018, 16:09:05 ÖS »

Herkese merhaba,

Commodore 64 için GPL ya da  benzeri bir lisansla lisanslanmış bir BASIC yorumlayıcısı ya da bir dosya yöneticisi ya da bir işletim sistemi arıyorum.

Aradığım yazılım, Commodore 64'ün ROM'unun içerisine yazılıp gömülü olarak kullanılabilecek bir yazılımdır.
Logged
Voltron
Uzman
*****
Mesaj Sayısı: 2.206



Üyelik Bilgileri
« Yanıtla #1 : Aralık 31, 2018, 16:34:12 ÖS »

Ercan, her ne kadar gpl ya da freeware olmasa da, jiffyDos ve benzerleri, yorumlayici olarak simons basic'i inceleyebilirsin.

Edit:
http://baltissen.org/newhtm/sourcecodes.htm
« Son Düzenleme: Aralık 31, 2018, 16:42:16 ÖS Gönderen: Voltron » Logged

Metal grupları çok bağırıyor. haklıyken haksız duruma düşüyorlar...
ercanersoy
Deneyimli
*****
Mesaj Sayısı: 1.035


Üyelik Bilgileri WWW
« Yanıtla #2 : Aralık 31, 2018, 16:44:23 ÖS »

Commodore 64 benzeri bir bilgisayar fikrim var. Onun için GPL, MIT ya da benzeri bir lisansla lisanslanmış bir yazılım arıyorum.
Logged
emarti
Uzman
*****
Mesaj Sayısı: 2.626


Only Amiga Makes It Possible █


Üyelik Bilgileri WWW
« Yanıtla #3 : Aralık 31, 2018, 17:12:15 ÖS »

Bence bu işteki son nokta @i_r_on hazırladığı proje. EPROM'a ilgili 7 adet kernal belli bir kurala göre yazdırılıyor ve küçük bir c64 programcığı ile ilgili ROM seçiliyor. Aşağıdaki iglili linkleri gözden geçir. @i_r_on desteği ile oluşturduğum rom seçici programın resmini de görebilir eğer ilgili donanımı edinebilirsen kullanmak için Linux ve Windows üzerinde çalışabilen ROM'a yazdırılacak dosyayı oluşturan bir program da mevcut. İlgili resimdeki listedeki ROM'lar üzerinden nette araştırmanı yapar isen muhakkak ilgili linklere ulaşmış olursun. Jiffy elbette lisanslı o ayrı.

http://www.lemon64.com/forum/viewtopic.php?t=68162
http://www.commodore.gen.tr/forum/index.php?topic=15801
https://www.youtube.com/watch?v=gwpgLJTUj-I

https://github.com/emartisoft/EasyKernal-Tools



Logged

https://github.com/emartisoft My GitHUB | http://csdb.dk/scener/?id=26786 My CSDB | https://c64kernal.com Genesis

READY.
SYS(64767): EMARTI
ercanersoy
Deneyimli
*****
Mesaj Sayısı: 1.035


Üyelik Bilgileri WWW
« Yanıtla #4 : Aralık 31, 2018, 18:36:38 ÖS »

Teşekkürler.

Listedeki kernalleri araştırdım. SD2IEC GPLv2 lisanslıymış.
« Son Düzenleme: Ocak 01, 2019, 21:39:17 ÖS Gönderen: ercanersoy » Logged
i_r_on
Uzman
*****
Mesaj Sayısı: 2.873



Üyelik Bilgileri WWW
« Yanıtla #5 : Ocak 01, 2019, 22:50:09 ÖS »

@ercanersoy : C64'de sıfırdan yazılmış standart kernal uyumlu bir kernal bildiğim kadarıyla yok. Çoğunluğu yama şeklinde. GPL veya başka bir açık lisans ile lisanslanmış projelerde de lisansa tabi olan kod yama şeklinde orjinal kernal'in üstüne yamanan kod.

JiffyDos misal bir istisna, zamanında Commodore'dan bir şekilde rom'un yamanmış halini dağıtma izni almış Creative Micro Designs (CMD) firması. 2010 senesinden beri de lisans sahibi Jim Brains.

https://www.c64-wiki.com/wiki/Creative_Micro_Designs

SD2IEC kernal dağıtımına bakıldığında aslında dağıtımı legal bir kernal değil. Source'larına bakınca C64 kernal'in disassemble edilip değiştirilmiş hali olduğu gözüküyor.

https://csdb.dk/release/?id=152995

Source'ları aşağıdaki linkten aldım demiş daha dosyanın başında.
http://www.unusedino.de/ec64/technical/misc/c64/romlisting.html

JaffyDos var mesela, bu Sd2Iec'e göre legal bir dağıtım yöntemi tercih etmiş. Kernal imajını dağıtmamış, JiffyDos kernal'i yamayacak programı dağıtmış.

http://blog.worldofjani.com/?p=3544

Sıfırdan bir kernal yazacaksan malesef uyumluluğu bir kenara atman gerekiyor çünkü programlar kernal içinde belli lokasyonlardaki byte dizilerini data olarak kullanabiliyor, daha da basiti normal şartlar altında vector'ler üzerinden indirect erişilmesi gereken pek çok rutine programlar doğrudan erişmeyi tercih edebiliyor.

Uyumluluk devam etsin denilerek yapılan şeyler Dos wedge / hızlandırıcı vesaire tadında işler. Olur da böyle bir işe niyetleneceksen bence uyumluluğu çok düşünme. Hatta Kernal değil de Basic yerine başka bir yorumlayıcı eklemek belki daha enteresan bir proje olabilir.

Kernal'in tarihçesi ile ilgili şu yazı ilgini çekebilir.
https://www.pagetable.com/?p=926
Logged

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

twitter | blog
ilkerficicilar
Uzman
*****
Mesaj Sayısı: 1.122


Üyelik Bilgileri WWW
« Yanıtla #6 : Ocak 01, 2019, 23:32:45 ÖS »

TinyBasic'in lisans sorunu hatırladığım kadarıyla yok ve kaynak kodu mevcut.

Ayrıca, 6502.org sitesinde kendi 6502 bilgisayarını yapanların çözümlerine de bakılabilir.
Logged

http://cbm.ficicilar.name.tr/ - Commodore Hacking
wizofwor
Genel Yönetici
*****
Mesaj Sayısı: 4.798


Gosub ile gidilen yerden goto ile dönen adam


Üyelik Bilgileri WWW
« Yanıtla #7 : Ocak 02, 2019, 09:46:11 ÖÖ »

GPL veya herhangi bir açık lisansla dağıtılan kernel bulmanın zor olduğunu düşünüyorum. Malum bunlar ayrıca satılmayan, cihazla beraber ücretsiz dağıtılan yazılımlar ve o dönemde firmalar bunları haricen satmadığı gibi yazılım lisansıyla ilgili bilgi dahi vermezlerdi.  Bu yüzden ben de ilker gibi 6502.org'daki projelere bakmanı önerecektim. Yalnız orada da çoğu projenin rom'unun oldukça minimal tutulmuştur.

CBM bilgisayarlarının ROM'u senin de bileceğin gibi 3 parçadan oluşuyor. Kernel, BASIC ve CHAR veya (Character Generator). CHAR ROM'un içinde sadece kullanılan karakter setinin bitmap datası var. Bunun yerine kafana göre bir şey yapıp kullanmak pek vaktini almaz. BASIC için https://github.com/mist64/c64rom adresinden orjinal Microsoft kodunu incelemeni öneririm. Bu Commodore'un PET serisinde kullandığı Basic. Sonraki versiyonları Commodore kendisi geliştirmiş. C64'de kullanılan Basic ROM için benim hoşuma giden iki tane commented dissassembly var.

https://github.com/Project-64/reloaded/blob/master/c64/firmware/C64LD11.S
https://github.com/mist64/c64rom

Bu dissasembly'ler incelendiğinde yazılımın kesinlikle doğrudan donanıma erişmediği hemen fark ediliyor. Donanıma erişen bütün işlemler KERNEL üzerinden yapılıyor. KERNEL'e erişirken de Jump Table kullanılıyor. Şu adreste Jump Table'ın açıklaması var. Burada da Kernel rutinlerinin gerçek adresleri görülebiliyor.

Kernel revizyonları arasında rutinlerin gerçek adresleri değişse de Jump Table referansları aynı tutulmuş. Bu sayede Kernel fonksiyonları üzerinden orjinal PET için yazılan bir program tüm 8-bit CBM serisinde aynı şekilde çalışabiliyor.

Aynı şekilde sadece bu Jump Table ile uyumlu bir Kernal yazıldığında CBM Basic Rom'u ile uyumlu olacaktır. Ancak ben buna da gerek olduğunu zannetmiyorum. Zira Basic ve Kernel belirli bir seviyeden sonra kullanılmaz. Ticari yazılımlar çoğu zaman bellekte yer açmak için bunları kapatırlar. Yukarıda bahsedilen hobi bilgisayarlarını incelediğinizde de hemen hepsinde ROM olarak sadece Monitör yazılımı olduğunu göreceksiniz.

İlk başta basit bir Monitör ROM yazıp cihazı ayağa kaldırmak. Daha sonra ihtiyaç duyulan rutinleri monitörden yazmak çok daha keyifli olabilir.
Logged

fort_apocalypse
Uzman
*****
Mesaj Sayısı: 4.062



Üyelik Bilgileri WWW
« Yanıtla #8 : Ocak 02, 2019, 11:32:25 ÖÖ »

Bendeki C=64 içinde kayıpsız anahtarlanabilen Dolphin Dos Kernal takılı. Ayrıca diskette de eproma yakılacak halde olması gerek. Lisans durumunu bilmiyorum, işinize yararsa yardımcı olmaktan mutlu olurum.


Logged

ercanersoy
Deneyimli
*****
Mesaj Sayısı: 1.035


Üyelik Bilgileri WWW
« Yanıtla #9 : Ocak 02, 2019, 15:49:43 ÖS »

Öncelikle, ilginiz için teşekkürler.

Hazır bir yazılım bulamam o zaman. Yazacağım bellenimin GPL, LGPL, MIT gibi lisanlarla uyumlu olması için C64 BASIC jump table uyumlu olmaması gerekir. Bu da bayağı zaman ister.

Bazı sorularım olacak:

- Monitor yazılımı nedir?
- Bir Commodore 64 bilgisayarına bir ROM kartuşu takılıp, bu bilgisayar başlatıldığı zaman başlatma sırasında C64 ROM'un içindeki program da çalışır mı? Yoksa, doğrudan ROM'dan mı çalışır?
Logged
i_r_on
Uzman
*****
Mesaj Sayısı: 2.873



Üyelik Bilgileri WWW
« Yanıtla #10 : Ocak 02, 2019, 16:36:25 ÖS »

Öncelikle, ilginiz için teşekkürler.

Hazır bir yazılım bulamam o zaman. Yazacağım bellenimin GPL, LGPL, MIT gibi lisanlarla uyumlu olması için C64 BASIC jump table uyumlu olmaması gerekir. Bu da bayağı zaman ister.

Bazı sorularım olacak:

- Monitor yazılımı nedir?

Assembler kodunu doğrudan belleğe yazmana, bellek içeriğindeki assembler komutlarını disassemble etmene, çalıştırıp debug etmeni sağlayan programlara assembly language monitor, kısaca da monitör deniyor. Bazı kartuşların rom'larında bulunuyor ya da istersen diskten / teypten yükleyerek de kullanabilmen mümkün. Pratikte bunu kullananlar ellerindeki Freeze Cartridge'ın içindekinden faydalanırdı.

- Bir Commodore 64 bilgisayarına bir ROM kartuşu takılıp, bu bilgisayar başlatıldığı zaman başlatma sırasında C64 ROM'un içindeki program da çalışır mı? Yoksa, doğrudan ROM'dan mı çalışır?

Herhangi bir kartuş takılı değilse bilgisayar reset vektörünü Kernal rom'unda (E000-FFFF aralığındadır)  bulur ve oradan çalışır. Ultimax modunu destekleyen bir kartuş söz konusu ise bilgisayar üzerindeki kernal rom'a değil, kartuş üstündeki rom'lardan birine gider bilgisayar. Ultimax modunun da başka kısıtlamaları, bunun yanısıra başka başka güzellikleri de var.

Sorunun amacı kernal'i pratikte değiştirip değiştiremeyeceğin ise mümkün olduğunu söyleyebilirim. EasyFlash & 1541 ultimate gibi donanımlar üzerine yüklediğin bir kernal'in kullanımına izin veriyorlar. Benzer şekilde yeni C64C board'larda benim EasyKernal projesi ile de bir eprom üstünde 7 tane kernal yazıp yazılım yollu seçim yapabiliyorsun, tabii bunun için kernal rom'unu soketli hale getirmen falan gerek.
Logged

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

twitter | blog
wizofwor
Genel Yönetici
*****
Mesaj Sayısı: 4.798


Gosub ile gidilen yerden goto ile dönen adam


Üyelik Bilgileri WWW
« Yanıtla #11 : Ocak 02, 2019, 16:51:59 ÖS »

Bir Commodore 64 bilgisayarına bir ROM kartuşu takılıp, bu bilgisayar başlatıldığı zaman başlatma sırasında C64 ROM'un içindeki program da çalışır mı? Yoksa, doğrudan ROM'dan mı çalışır?

Sanıyorum bunu kernel'i C64 üzerinde geliştirmek için soruyorsun. Ben yine de assembly monitör vasıtasıyla kendi bilgisayarın üzerinde çalışmanı tavsiye ederim. Yoksa bir de port ederken çıkabilecek sorunlarla uğraşman gerekecek.

Şu adreste kullanabileceğin MIT lisanslı bir monitör var. Aynı dağıtımın içindeki BASIC, MIT değil sadece freeware.
https://github.com/sethm/6502mon
Logged

Sayfa: [1]   Yukarı git
Yazdır
Gitmek istediğiniz yer: