|
Konu Başlığı: GOS = C64'te Disk Önbelleği + Disk Komutları + Ek BASIC Kmt. + Mouse Gönderen: ilkerficicilar üzerinde Temmuz 25, 2014, 16:31:52 ÖS Kendi işletim sistemini kendin yaz furyası zamanlarında ben de Commodore'u daha rahat kullanabilmek için bir şeyler yapmış, adını DOS ve GEOS'tan esinlenerek GOS koymuştum.
DOS ve CP/M gibi komutlar diskten yüklenip çalıştırılıyor. BASIC yorumlayıcı, eğer girilen komutu tanımıyorsa syntax error vermek yerine "COM.komutadı" şeklindeki kodu diskte arayıp $C000'a yükleyip çalıştırıyordu. Grafik ekran kullanımı kolaylığı ve mouse desteği vb. de sağladığından Graphical Operating System demekte sakınca görmemişim. Diskten okuma hızı sorun olmasın diye bir de disk-cache yapmıştım. Kütüphaneden epey kitap taşıdığımı hatırlıyorum, modified LRU vb. hangi algoritmayı seçeyim diye epeyi deneme yanılma yapmıştım... Hem directory hem de sık kullanılan bloklar bellekte tutuluyordu. Sonra, cache'te olmayanları diskte bakınırken blokları tek tek yüklemek yerine bir track'i olduğu gibi yüklemenin toplamda daha hızlı olduğunu fark ettim. Bir track-buffer yapınca pratikte iki farklı cache'i olmuş oldu. GOS, standart olarak mouse destekliyor. Basit animasyonlar göstermek için bir komutu var. BASIC içinden başka BASIC programını yükleyip çalıştırabiliyor. Bir BASIC programının değişkenlerini saklayıp aktarabiliyor. CLS, LOCATE, SCREEN vb. gibi standart eklentiler var ve sinüs karekök gibi bazı fonksiyonları çok daha hızlı işliyor. Bir ek bellek yöneticisi de yazmıştım, cache'e yarasın diye, ama onu bunda mı yoksa LUnix'te mi kullandım emin değilim şu an. En son sanırım diskten daha da hızlı okuma için veri sıkıştırma, Huffman encoding kullanmakla meşguldüm GOS'ta. Sonra ne olduysa terk etmişim. Sanırım Linux'a geçtiğim tarihlere denk geliyor. İşte bu GOS çalışma diskimi daha yeni .D64 olarak aktardım. İçinde borsa senetleri ile ilgili dosyalar vb. var. Borsa takibinde kullanmışım :) Onları ayıklayıp .d64'ü öyle paylaşayım diyorum. Directory'den bir örnek şöyle: dir 0 "calisma-1 " 0f 2a 109 "gos9510141937" prg 4 "com.status" prg 1 "com.mem" prg 5 "com.scrch" prg 1 "com.execute" prg 1 "com.dummy" prg 1 "com.trace" prg 1 "com.swap" prg 1 "com.putclr" prg 1 "com.makehi" prg 2 "com.makelow" prg 2 "com.block" prg 1 "com.fill" prg 1 "com.reclr" prg 4 "com.show" prg 4 "com.picput" prg 3 "com.movie" prg 2 "com.style" prg 1 "com.exec" prg 1 "com.baspack" prg 6 "ptc.baspack" prg 1 "com.dump" prg 1 "com.type" prg 1 "com.cllearn" prg 4 "com.clvar" prg 4 "com.cltrain" prg 3 "com.clcall" prg 3 "com.clput" prg 3 "com.cltake" prg 1 "com.volume" prg 1 "com.wave" prg 1 "com.envelope" prg 1 "com.oscillate" prg 1 "com.setsid" prg 1 "com.tune" prg 1 "com.play" prg 1 "com.filter" prg 1 "com.italic" prg 1 "com.pack" prg 1 "com.key" prg 1 "com.renum" prg 1 "com.del" prg 1 "com.cat" prg 2 "com.shlscr" prg 3 "com.fractal" prg 3 "com.brott" prg 1 "com.count" prg 1 "com.scrcount" prg 1 "com.dsp" prg 1 "com.hear" prg 1 "com.patch" prg 1 "com.mkhi" prg 1 "com.scrollup" prg 1 "com.discard" prg 2 "com.comptable" prg 1 "&fasthead" usr 2 "sys.config" prg 9 "fnt.turcbig" prg 9 "fnt.turcsmall" prg 9 "fnt.capital80" prg 9 "fnt.small80" prg 6 "mv0.cube-1" prg 25 "mv0.surface1" prg 22 "mv0.lissajous" prg 10 "mv0.cube&pyram." prg 10 "mv0.cube&pyram" prg 19 "gsb.edit-16" prg 15 "gsb.menu-15" prg 11 "gsb.disker" prg 1 "gsb.testline" prg 2 "gsb.datarate" prg 19 "gsb.edit" prg 6 "gsb.dersprog" prg 1 "gsb.iterate" prg 1 "gsb.numofite" prg 3 "gsb.mandelrnd" prg 4 "gsb.ratetest" prg 4 "gsb.ratetest2" prg 5 "gsb.hashfunc1" prg 24 "gsb.borsa2" prg 2 "gsb.dynmap-1" prg 2 "gsb.test" prg 15 "gsb.menu" prg 5 "gsb.parallel" prg 4 "gsb.diskspeed" prg 7 "gsb.numgraph" prg 5 "dspeed" prg 6 "dspeed2" prg 24 "borsa" prg 4 "eklink" prg 1 "cmkb" prg 5 "hashfunc2" prg 7 "undelete" prg 1 "mnu.root" prg break ready. Dosya adından anlaşıldığı üzere bu 14 Ekim 1995 saat 19:37 versiyonu! Buradaki, COM'lar 49152'ye yüklenen kısa komut dosyaları, GSB'ler GOS BASIC, MV0'lar movie file versiyon 0, FNT'ler font vb. dosyaları. Diskteki ve RAM'daki çoğu komutun ne işe yaradığını, parametrelerini vs. anımsamıyorum. Umarım bir kenara yazmışımdır ve bu tatilde bulabilirim. Kodları dokümante etmek ve kolay erişilir bir yere koymak şart şart... Fark ettim ki 19 yıl sonra kod anımsamaya çalışmak, bisiklete binmeye pek benzemiyor. Konu Başlığı: Ynt: GOS = C64'te Disk Önbelleği + Disk Komutları + Ek BASIC Kmt. + Mouse Gönderen: joker_ üzerinde Temmuz 25, 2014, 16:38:43 ÖS @ilkerficicilar;
Yok artık diyorum,abi cidden çok çok iyi çalışmalar,paylaşım için teşekkürler. :) Zamanında demo,intro vs çalışmalarında oldumu? Konu Başlığı: Ynt: GOS = C64'te Disk Önbelleği + Disk Komutları + Ek BASIC Kmt. + Mouse Gönderen: xeon83 üzerinde Temmuz 25, 2014, 16:41:03 ÖS çok ilginçmiş hocam, elinize sağlık. D64 ü nerede ?
Konu Başlığı: Ynt: GOS = C64'te Disk Önbelleği + Disk Komutları + Ek BASIC Kmt. + Mouse Gönderen: ilkerficicilar üzerinde Temmuz 25, 2014, 17:15:45 ÖS Notlarımı bulur bulmaz tarayıp http://cbm.ficicilar.name.tr/ (http://cbm.ficicilar.name.tr/) 'ye .D64'ü ile birlikte yüklemiş olurum olasılıkla şu 9 gün içinde.
Konu Başlığı: Ynt: GOS = C64'te Disk Önbelleği + Disk Komutları + Ek BASIC Kmt. + Mouse Gönderen: xeon83 üzerinde Temmuz 25, 2014, 17:19:57 ÖS Tamamdır teşekkürler disket komutları falan güzel olur deneyeceğim..
Konu Başlığı: Ynt: GOS = C64'te Disk Önbelleği + Disk Komutları + Ek BASIC Kmt. + Mouse Gönderen: ilkerficicilar üzerinde Temmuz 25, 2014, 17:25:30 ÖS @joker Demo yeteneğim hiç yok doğrusu. O özel apayrı bir beceri.
@xeon83 Teşekkürler. Aktif kullanmıştım GOS'u uzun bir süre. Konu Başlığı: Ynt: GOS = C64'te Disk Önbelleği + Disk Komutları + Ek BASIC Kmt. + Mouse Gönderen: ilkerficicilar üzerinde Temmuz 29, 2014, 22:39:54 ÖS GOS-95 C64 İşletim Sistemi Eklentisi Komutları - Kısım 1:
http://cbm.ficicilar.name.tr/commodore/gos-95-c64-operating-system-commands-part-1 (http://cbm.ficicilar.name.tr/commodore/gos-95-c64-operating-system-commands-part-1) GOS'un çalıştırılabilir bir disketi (.d64): http://cbm.ficicilar.name.tr/dosya/gos95.zip (http://cbm.ficicilar.name.tr/dosya/gos95.zip) (load"*",8 ile ilk dosyayı yükleyip run komutu ile çalıştırmak yeterli) Yukarıdaki doküman İngilizce bu arada. Örnek programlardan bir demeti de sonra siteye eklemeyi planlıyorum. Sadece komut açıklamalarının Türkçesi ise aşağıda.: GOS komutları - kısım 1: komut: dir parametreler: - türü: dahili ne: Aktif disk no'daki directory'yi gösterir. komut: cat parametreler: - türü: disk ne: Aktif disk no'daki directory'yi gösterir. komut: status parametreler: - türü: disk ne: Önbellek, bellek, fastID ve fastopen durumunu gösterir. komut: mem parametreler: - türü: disk ne: BASIC programı hakkında genel bellek durumu. komut: drive parametreler: <disk no> türü: dahili ne: Aktif disk no'yu belirler. Disk no, 8 ile 11 arasındadır. komut: path parametreler: <path> türü: dahili ne: Harici komutlar için klasör yolunu belirler. komut: drvset parametreler: <on|off>,<on|off> türü: dahili ne: Sırasıyla fastID ve fastopen işlevlerini açar veya kapatır. komut: dump parametreler: - türü: disk ne: Aktif BASIC değişkenlerinin içeriklerini listeler. komut: scrollup parametreler: - türü: disk ne: Ekranı bir satır yukarı kaydırır. komut: volume parametreler: <0-15> türü: disk ne: Ses yüksekliğini ayarlar. Aldığı değer 0-15 arasındadır. komut: type parametreler: <dosya adı>,<disk no> türü: disk ne: Bir metin dosyasının içeriğini gösterir. komut: baspack parametreler: - türü: disk ne: Bellekteki BASIC dosyalarını sıkıştırarak daha az yer kaplamasını sağlar. komut: italic parametreler: - türü: disk ne: Ekran yazı tipini yatık biçime çevirir. komut: movie parametreler: <mv0'sız dosya adı>,<disk no> türü: disk ne: mv0. tipi animasyon dosyalarını gösterir. komut: cls parametreler: [<ekran no>] türü: dahili ne: Ekranı siler. Eğer bir ekran no verilmişse ilgili o ekranı, verilmemişse default 0. ekranı siler. komut: screen parametreler: <ekran no> türü: dahili ne: Verilen ekran no'ya geçer. 8 grafik ekran, 0 ve 1 yazı ekranları komut: pass parametreler: <ekran no> türü: dahili ne: Yazıların yazılacağı aktif ekrana geçer. örnek: pass1:cls:print"hello world":screen1:rem Bu teknik ekranı önce hazırlar sonra gösterir. komut: swap parametreler: - türü: disk ne: screen 0 ve screen 1 arasında gidip gelir. Aynı anda hem ekranı hem aktif alanı değiştirir. komut: flip parametreler: - türü: disk ne: screen 0 ve screen 1 arasında ekranı değiştirmeden sadece aktif ekranı değiştirir. komut: color parametreler: <çerçeve ve ekran rengi>,<yazı rengi>,<grafik ekran renkleri> türü: dahili ne: Renkleri belirler. Grafik ekran renkleri = arkaplan*16+noktarengi şeklindedir. komut: picput parametreler: <dosya adı>,<disk no> türü: disk ne: Grafik ekranı kaydeder. komut: show parametreler: <dosya adı>,<disk no> türü: disk ne: Grafik ekranı yükleyip gösterir. komut: hear parametreler: - türü: disk ne: Joystick 2 portundaki ADC digitizerdan alınan dijital sesi SID çıkışına verir. Çıkmak için CRTL-J veya Josystick ateş tuşuna basılır. komut: dsp parametreler: <adet>,<hız> türü: disk ne: Joystick 2 portundaki ADC digitizerdan alınan dijital ses dalgalarını ekranda gösterir. komut: mkhi parametreler: - türü: disk ne: Normal karakterli yazı ekranını Hires grafik ekranına çizerek aktarır. komut: makehi parametreler: - türü: disk ne: Normal karakterli yazı ekranını Hires grafik ekranına aktarır. komut: makelow parametreler: - türü: disk ne: Grafik ekranını, font tanımlarıı değiştirerek karakter ekranına aktarır. komut: key parametreler: [<tanım>,<0-15>] türü: disk ne: Fonksiyon tuşlarını tanımlar ve mevcut tanımları gösterir. Toplam 16 tuş kombinasyonu tanımlanır. komut: del parametreler: <satır nolar> türü: disk ne: BASIC programdaki verilen satır noları siler. örnek: del130-180 komut: renum parametreler: <ilk satır no>,<artım> türü: disk ne: BASIC programının numaralarını yeniden düzenler. komut: erase parametreler: - türü: dahili ne: Önbellek içeriğini temizler. komut: reset parametreler: - türü: dahili ne: Açılış ayarlarına geri getirir. Belleği silmez. komut: cset parametreler: <0|1> türü: dahili ne: Karakter setini değiştirir. 0=Büyük harfler, 1=Küçük harfler. komut: block parametreler: <C|M|T><X1>,<Y1>,<X2>,<Y2>,<X3>,<Y3> türü: disk ne: Yazı ekranında X1,Y1,X2,Y2 ile tanımlı bloğu X3,Y3'e kopyalar (C), haraket ettirir (M) veya taşır (T) komut: fill parametreler: <S><X1>,<Y1>,<X2>,<Y2>,<Char> türü: disk ne: Yazı ekranında X1,Y1,X2,Y2 arasını <Char> karakteri ile doldurur. komut: dot parametreler: <X1>,<Y1>,<0|1> türü: disk ne: Grafik ekranına bir nokta basar veya siler. komut: locate parametreler: <X1>,<Y1> türü: dahili ne: İmleci yazı ekranında verilen koordinata getirir. *** Daha temize çekilecekler arasında GOS'un jump-table'ı, geçici alanları, ayrıntılı bellek yerleşimleri, yapay zeka ve ses kayıt vb. ile ilgili komutları, gizli komutları ve performans bilgileri var. Hatta sırada PC mouse'un RS232 dokümanları, yayınlanmamış LUnix komutları, terlik isimli 56K terminal programı, xmodem'li load komutu, amatör telsizcilik kodları vs. vs. bekliyor... Bakalım, onların dokümantasyonunu da 2033 yılına kadar tamamlamayı planlıyorum. Konu Başlığı: Ynt: GOS = C64'te Disk Önbelleği + Disk Komutları + Ek BASIC Kmt. + Mouse Gönderen: xeon83 üzerinde Temmuz 29, 2014, 22:47:16 ÖS format, copy, erase gibi şeyler yokmu ? (dosya-disk için)
Konu Başlığı: Ynt: GOS = C64'te Disk Önbelleği + Disk Komutları + Ek BASIC Kmt. + Mouse Gönderen: ilkerficicilar üzerinde Temmuz 29, 2014, 22:51:40 ÖS Basit olanlar için @ komutları var. Tam disk kopya da olacaktı ama doğrusu gözümden kaçmış. Bu diskete koymadığım komutlar var daha.
Konu Başlığı: Ynt: GOS = C64'te Disk Önbelleği + Disk Komutları + Ek BASIC Kmt. + Mouse Gönderen: atlantis üzerinde Temmuz 31, 2014, 11:39:15 ÖÖ Güzelmiş. Devam ettirseydiniz keşke.
Konu Başlığı: Ynt: GOS = C64'te Disk Önbelleği + Disk Komutları + Ek BASIC Kmt. + Mouse Gönderen: Simon (Özay Turay) üzerinde Ağustos 13, 2014, 01:41:25 ÖÖ GOS-95 CiA'de de yayınlanmış. :)
http://awesome.commodore.me/gos-95/ (http://awesome.commodore.me/gos-95/) Konu Başlığı: Ynt: GOS = C64'te Disk Önbelleği + Disk Komutları + Ek BASIC Kmt. + Mouse Gönderen: ilkerficicilar üzerinde Ağustos 13, 2014, 09:07:53 ÖÖ :) Oooo
Eh, ne diyelim. Geç olsun da güç olmasın... Bileydim güzel bir açılış ekranı yapardım gerçi. Bu hali sadece kendime anımsatmada bulunması içindi. Bu arada, dün akşam apps.twitter.com'da OAuth için bir app. tanıtıp key ve tokenlerini cbm.ficicilar'daki yeni yazı girme scriptinin içinde kullandım. Böylece ne zaman yeni bir yazı eklesem, otomatik olarak yazı başlığı ve linkini tweetleyecek: https://twitter.com/projectcbm (https://twitter.com/projectcbm) Bu sistem commodore.gen.tr'de de kullanılabilir sanki. Konu Başlığı: Ynt: GOS = C64'te Disk Önbelleği + Disk Komutları + Ek BASIC Kmt. + Mouse Gönderen: joker_ üzerinde Ağustos 13, 2014, 09:54:11 ÖÖ @ilkerficicilar,
Müthiş bir çalışma olmuş, en kısa zamanda denemeyi düşünüyorum. Bak gel beni dinle, demo patlat bir tane. :D Konu Başlığı: Ynt: GOS = C64'te Disk Önbelleği + Disk Komutları + Ek BASIC Kmt. + Mouse Gönderen: hekimoglu78 üzerinde Ağustos 13, 2014, 10:13:34 ÖÖ işte elinden tutulmayan bir Türk bill gates örneği... :)
çok başarılı üstad... Konu Başlığı: Ynt: GOS = C64'te Disk Önbelleği + Disk Komutları + Ek BASIC Kmt. + Mouse Gönderen: emarti üzerinde Ağustos 13, 2014, 23:53:08 ÖS Güzel bir proje
Konu Başlığı: Ynt: GOS = C64'te Disk Önbelleği + Disk Komutları + Ek BASIC Kmt. + Mouse Gönderen: LW3D üzerinde Ağustos 14, 2014, 14:01:16 ÖS Şaka maka, bunu denemem gerek... DIR yazarak Commodore64'de directory almak istiyorum :)
Harikasınız...Eski yaptıklarınızı karıştırsanız, ortaya daha kim bilir neler çıkar... Konu Başlığı: Ynt: GOS = C64'te Disk Önbelleği + Disk Komutları + Ek BASIC Kmt. + Mouse Gönderen: ilkerficicilar üzerinde Haziran 19, 2016, 11:02:21 ÖÖ Klasörler arasında minik kağıtlara yazılı halde birkaç komutun daha parametrelerini buldum. Tek tek kodlara bakıp baştan keşfetmeye üşenmiştim. İyi oldu... Şu dökümantasyon işini ciddiye alsam iyi olacak :)
Birkaçını yazıyorum: Grafik ekrana Mandelbrott fractal'i çizen süs komut: BROTT sol sınır, sağ sınır, üst sınır, tekrar, renk sayısı Grafik ekrana Julia set fractal'i çizen süs komut: FRACTAL sol sınır, sağ sınır, üst sınır, tekrar, renk sayısı Resim dosyayı gösteren komut: SHOW "dosya adı",driveno Bundan sonrakiler yapay sinir ağı komutları. Bir ara meraklıydım. Bunlarla pattern recognition vb. yaptırabilir, ya da geçenlerde konuşulan tic-tac-toe oyununu kendi kendine öğrenmesini sağlayabiliriz: CLVAR ilk katman nöron sayısı, çıktı katmanı nöron sayısı, model #, öğrenme oranı CLLEARN model #, model dizisi ("01010000101111" vs. gibi) CLTRAIN alıştırma sayısı CLCALL anımsanacak dizi Ve öğrendiklerini kaydedip geri yüklemek için: CLPUT "dosya adı" CLTAKE "dosya adı" Sanıyorum, Commodore Dergisi'ndeki Yapay Sinir Ağı yazısından etkilenmiş, Yapay Zeka ile ilgili güzel örneklerin bulunduğu bir kitaptan yararlanarak yazmıştım. Bunları kullanan örnek programları bulunca eklerim, denemesi eğlenceliydi. Edit: CL = Competitive Learning. Konu Başlığı: Ynt: GOS = C64'te Disk Önbelleği + Disk Komutları + Ek BASIC Kmt. + Mouse Gönderen: WildLord üzerinde Haziran 19, 2016, 12:33:54 ÖS Vice'da şimdi kullanmaya başladım. Üstad, muhteşem bir iş yapmışsınız, ellerinize sağlık. Komutlar ne kadar kolaylaştırıyor C64 kullanmayı :)
Konu Başlığı: Ynt: GOS = C64'te Disk Önbelleği + Disk Komutları + Ek BASIC Kmt. + Mouse Gönderen: ilkerficicilar üzerinde Haziran 19, 2016, 14:45:38 ÖS Teşekkürler.
Mesela, BROTT0,1,1,40,2 komutu aşağıdaki çıktıyı verdi. Vice'ta Alt+W tuşuyla Warp hızına geçmekte yarar var gerçi. Makine diline rağmen algoritma yavaş. İşi bitip de kare şeklindeki cursor belirince, ne yazıldığını görmeksizin SCREEN0 yazıp return'e basınca yazı ekranına geçiyor. STOP+RESTORE tuşlarına ve ardından rastgele başka bir tuşa basıp da durdurmak mümkün. Değişik parametrelere göre ayrıntısı vb. değişiyor fraktalin. Konu Başlığı: Ynt: GOS = C64'te Disk Önbelleği + Disk Komutları + Ek BASIC Kmt. + Mouse Gönderen: Levent (Lvnt) üzerinde Haziran 20, 2016, 01:26:38 ÖÖ Bu arada, dün akşam apps.twitter.com'da OAuth için bir app. tanıtıp key ve tokenlerini cbm.ficicilar'daki yeni yazı girme scriptinin içinde kullandım. Böylece ne zaman yeni bir yazı eklesem, otomatik olarak yazı başlığı ve linkini tweetleyecek: http://twitter.com/CBMprojects (http://twitter.com/CBMprojects) Bu sistem commodore.gen.tr'de de kullanılabilir sanki. Takip edeyim dedim ama @cbmprojects twitter accountu suspend olmuş, Cgtr'sini de isterük ;) Konu Başlığı: Ynt: GOS = C64'te Disk Önbelleği + Disk Komutları + Ek BASIC Kmt. + Mouse Gönderen: ilkerficicilar üzerinde Haziran 20, 2016, 03:45:36 ÖÖ Sahi... Alternatifini açmıştım: https://twitter.com/projectcbm
|