Nihayet GEOS Kernal 2.1e'nin Türkçe kılavuzunu hazırlayabildim.
Bu yeni GEOS kernal'ını
http://cbm.ficicilar.name.tr/program/17/geos-64-2.1e-kernal-rom-imaji adresinden, bu mesajın altındaki ekten veya Commodore.gen.tr'nin Facebook grubundan indirebilirsiniz.
Kılavuzu, _BENIOKU.TXT dosyasından aşağıya kopyalıyorum:
=======================================================
GEOS 64 2.1e Kernal6 Haziran 2016
Ankara
İlker Fıçıcılarhttp://cbm.ficicilar.name.tr/GEOS kernal'ın bu yeni sürümü EPROM'dan önyüklenebiliyor.
Özellikler:. 13 saniye içinde GEOS (güç düğmesine bastıktan sonra fare işaretçisinin belirmesine kadar).
. Açılışta D64 imajı mount etmek için SD2IEC desteği.
. Daha hızlı grafik rutinleri.
. EasyFlash desteği.
. REU desteği (Sıradaki versiyon GEORAM destekleyecek).
. C64 modunda C128 için 2MHz desteği.
. Ve daha da hızlanması için yapılan çok sayıda ince ayar.
Performansına İlişkin VideoHızı YouTube'daki şu videoda görülebilir:
https://youtu.be/CkcTa5VgADMRAR Arşiv İçeriğiRAR'lı olarak gelen GEOS 2.1e kernalı altı tür EPROM imajı içeriyor.
geos64-21e.rar arşiv dosyasına bulunan dosyalar şöyle:
_BENIOKU.TXT
_README.TXT
geos21e-4108.crt
geos21e-4109.crt
geos21e-7108.crt
geos21e-7109.crt
geos21e-8108.crt
geos21e-8109.crt
GEOS64.D64
GEOS64.D71
GEOS64.D81
GEOS64-2.1e-Manual_EN.odt
GEOS64-2.1e-Manual_TR.odt
Bunlardan arzu edilen .CRT dosyasının 27C128 EPROM'una (ya da EasyFlash'a) yazılması gerekli.
CRT dosyaların adınından anlaşılabileceği gibi, her .crt imajı belirli bir kurulumu desteklemektedir:
geos21e-4108.crt - 8 No'lu sürücü olarak ayarlanmış 1541 için
geos21e-4109.crt - 9 No'lu sürücü olarak ayarlanmış 1541 için
geos21e-7108.crt - 8 No'lu sürücü olarak ayarlanmış 1571 için
geos21e-7109.crt - 9 No'lu sürücü olarak ayarlanmış 1571 için
geos21e-8108.crt - 8 No'lu sürücü olarak ayarlanmış 1581 için
geos21e-8109.crt - 9 No'lu sürücü olarak ayarlanmış 1581 için
Desteklenen DonanımGerçek sürücüye ek olarak, bu EPROMlar SD2IEC desteği de sunuyor.
Açılışta, seçili EPROM ya GEOS64.D64, GEOS64.D71 ya da GEOS64.D81 imajını bağlamaya çalışacaktır. Bunlar geos64-21e.rar arşiv dosyasında bulunabilir.
Uygun D64, D71 veya D81 imajı gerçek bir 5.25"lik diskete aktarılmalı veya SD kartın kök dizinine kopyalanmalıdır. Alternatif olarak, diğer GEOS disketleri de kullanılabilir. Ancak, EasyFlash GEOS Configure ile çakıştığından dolayı, bu D64, D71 ve D81 imajlarında bunun yerine GEOS Configure_r ve Configure_2.1e sürümleri bulunmaktadır.
EasyFlash kullanıcıları için, EasyFlash RAM'ına GEOS'u BASIC'ten basit bir SYS ile yeniden başlatmak için küçük bir de kod eklenmiştir. Bu sayede, SYS57100 komutu GEOS'u yeniden başlatır.
GEOS64.D64, GEOS64.D71 ve GEOS64.D81 İçeriğiBu geos64-21e.rar arşivi ile verilen örnek D64, D71 ve D81 imajlarında aşağıdakiler yer almaktadır:
Desk Top 2.0
Joystick input driver
Note Pad
Calendar 2016
SysInfo
Convert 2.5
Preference Mgr
Pad Color Mgr
GeoHexCalc
Calculator
EggTimer2
MPS-803 printer driver
Comm 1351(a) input driver
Neos Mouse input driver
CONFIG-r.cvt / Configure_r
GEOS64.D81'de ayrıca Configure 2.1e ve uIecSwitch yardımcı programları da bulunmaktadır.
Bilinen Sorunlar. Orijinal Configure 2.0/2.1 yardımcı programı, EasyFlash'ı yanlışlıkla REU olarak algılamakta ve sistemin çökmesine yol açmaktadır. Dolayısıyla, Configure 2.0 veya 2.1 yerine, Configure_r ve Configure 2.1e kullanılmalıdır (.rar arşivinde bulunuyor).
. Başka bir sistematik sorun: EasyFlash ve REU aynı G/Ç alanını kullanıyor. Yani, EasyFlash $DF00-DFFF alanını RAM olarak kullanırken, REU'in yazmaçları da $DF00-DF0A arasında yer alıyor ve çakışıyor. Bu nedenle, içlerinden biri bir başka G/Ç alanı kullanmadığı sürece EasyFlash ve REU'i aynı anda kullanmak mümkün değil.
. Bu GEOS64 2.1e sürümü $8000-BFFF arasındaki EasyFlash ROM imajını devre dışı bırakıyor olmasına rağmen, GEOS Kartuşu ek bir mantık devresiyle $DFXX'e yazıldığını görüp kendini devre dışı bırakmadığı sürece gerçek bir EPROM'u devre dışı bırakmak yazılımla mümkün değil. Bir başka deyişle, EPROM devre dışı bırakılmaksızın GEOS'tan C64 BASIC'ine geçiş olanaklı değil.
GEOS İpuçları (GEOS Tips & Tricks kitabından alıntıdır)İpucu 0: Hız için kısayolları kullanınC= + I : Giriş yöntemini (Fare, Joystick, LightPen, vb.) değiştirir
C= + C: Diski kapar
C= + O: Diski açar
C= + A: A sürücüsüne geçer
C= + B: B sürücüsüne geçer
1....9 : Sayfa #'e geçer
İpucu 4: Disketlere farklı adlar vermeDisketlerinize farklı isimler verin. GEOS diskleri adlarından tanıdığından dolayı, eğer aynı adı taşıyan iki disk arasında bir şey kopyalamaya çalışıyorsanız karıştıracaktır. Bu gibi durumlarda, kenardaki simge aniden kaybolabilmekte veya GEOS kopyalama işlemini durdurabilmektedir.
İpucu 6: Disket değiştirdikten sonra her zaman OPEN'a tıklayın (C=-O)Disket değiştirdikten sonra OPEN ile açmayı unutmayın. En iyi ihtimalle, deskTop sizden çıkarmış olduğunuz disketi geri takmanızı isteyecektir. Yine de, istenmeyen başka bir durum da oluşabilir.
İpucu 8: VALIDATE ve SCRATCH işlemini yalnızca GEOS içinden yapınBASIC'teyken GEOS disketleri üzerinde asla scratch ve validate komutlarını kullanmayın. Eğer yanlışlıkla yapmışsanız, GEOS içinden bu disket üzerinde bir validate işlemi yapana kadar bu disket üzerine hiçbir şey kaydetmeyin. GEOS'taki validate komutu, kullanılan ek sektörleri tanıyıp BAM'de (Blok Ayırma Tablosu) işaretleyerek üzerilerine yazılmasını engellemektedir.
İpucu 11: Disket sürücüyü asla kapatmayınGEOS ile çalışırken disket sürücüyü asla kapatmayın. (Tek bir istisnası vardır: İkinci bir sürücü takmak istediğinizde, GEOS sizden önce bunu kapatmanızı isteyecektir). GEOS, disket hızlandırıcı kodun bir kısmını disket sürücüsü belleğine koymaktadır. Disket sürücüyü kapattığınızda, bu kısım silinmiş oluyor. Bu sadece sonraki tüm disk işlemlerinin yavaşlamasına değil, GEOS'un sonraki disk erişimlerinde bir hata iletisi görüntülemesine ve artık diske erişilememesine neden olur! GEOS'a bir sürücü eklemek istediğinizde de sistem kilitlenecektir.
İpucu 16: Simgeleri başka bir sayfaya yerleştirmeBir simgeyi belirli bir sayfaya (örneğin ilk sayfaya) taşımak için, simgeyi ilk önce ekran kenarına koymak gerekir. Ardından, istediğiniz sayfaya geçerek simgeyi o sayfadaki boş bir yere taşıyabilirsiniz. Eğer boş bir yer varsa, GEOS simgeyi ilgili yere yerleştirecektir. Ne yazık ki, simgeyi çift tıklatıp, sonra istediğiniz sayfayı seçip taşımak mümkün değil. Sayfayı değiştirir değiştirmez, simge otomatik olarak tekrar eski yerine konacak ve taşıma işlemi gerçekleşmeyecektir.
İpucu 17: Sistem dosyalarını son sayfalara yerleştirinYapılacak en iyi şey, FONTLARI, GİRİŞ CİHAZI SÜRÜCÜLERİNİ, YAZICILARI, NOTLARI ve TERCİHLERİ son sayfalara yerleştirerek, bu dosyalara doğrudan erişme olasılığını düşürmektedir. Bu şekilde, örneğin notepad'i çalıştırmak için yanlışlıkla notes adlı veri dosyasına tıklamamış olursunuz.
İpucu 19: Tarih ve saat bilgisi işlerinizi kolaylaştırırHer dosyaya tarih, zaman ve not düşme özelliğinden yararlanın. Tarih ve zaman bilgisi zaten GEOS tarafından her dosyaya otomatik kaydedilmektedir.
GEOS ile çalışmaya başladığınızda preference mgr programını kullanarak saat ve tarihi ayarlayın veya DS3231'li bir RTC saat modülünü user port'a takıp GEOS diskine rtcgeosload programını koyarak zamanın otomatik olarak güncellenmesini sağlayın. Bu şekilde, View menüsünden Date sıralamasına göre dosyaları listeleterek örneğin bir çizim dosyasının son halini görüntüleyebilirsiniz. Son oluşturulan dosyalar her zaman en üstte olacaktır.
İpucu 25: GEOS disketine dönüştürme işleminin bir riski yokturEğer GEOS tarafından oluşturulmamış (biçimlendirilmemiş) bir disk kullanmak isterseniz, GEOS sizden bu disketi GEOS biçimine dönüştürmek isteyip istemediğinizi soracaktır. Veri kaybedebileceğiniz düşüncesiyle bu noktada bir endişe duymuş olabilirsiniz. FORMAT'lama tehlikeli bir sözcük gibi görünse de, GEOS formatında olmayan bir diskete herhangi bir dosya kopyalamanız da olanaklı değildir. GEOS, bir disketin GEOS uyumlu olup olmadığını görmek için o diskette sayfa kenarına bir simge yerleştirmeye çalışır. Bu işlem sadece bir GEOS disketinde mümkün olduğundan, disketlerinizi endişelenmeksizin GEOS biçimine dönüştürtebilirsiniz. GEOS, sayfa kenarına bilgi yerleştirmek için fazladan bir sektör kullanır. Normalde bu iş için 19. iz, 8. sektör kullanılır, ama eğer doluysa GEOS boş başka bir sektör arayacaktır. Bu şekilde hiçbir veri kaybı olmaz. Ancak, bu işlemi satın aldığınız program disketlerinde kullanmayın. Bu disketler genellikle kopya korumasına sahip olup, GEOS formatına dönüştürülürse kullanılmaz hale gelebilirler.
İpucu 29: Klavye ile sayfa seçimiÇeşitli sayfaları arasında geçiş yapmak için joystick yerine klavye kullanarak zaman kazanabilirsiniz. Tek yapmanız gereken ilgili sayfanın numarasına karşılık gelen rakam tuşuna basmak. "Fare" kullanmak ne kadar iyi bir fikir olsa bile, çoğu işlemi klavye kullanarak daha kolay halletmek mümkündür.
İpucu 47: GeoWrite'ta sağ kenar boşluğunu 5'e ayarlamak hem zaman tasarrufu sağlar hem de yazılar daha kolay okunurGeoWrite'taki sol ve sağ kenar boşlukları olması gereken yerde değildir. Eğer daha yazmaya başlamadan sağ kenar boşluğunu "5"e ayarlarsanız, çok daha hızlı ve kolay yazabilirsiniz. Bunun için, fare imlecini sağa doğru mümkün olduğunca hareket ettirin. Sağ kenarda "7"nin yanında farklı bir işaret, yani sağ kenar işaretini göreceksiniz. Buna tıklarsanız, "M" şeklindeki bu işareti hareket ettirebilirsniz; fare tuşunu basılı tutarak bunu "5"in üzerine taşıyın. Bu sayede artık GEOS sayfanın sol ve sağ yarıları arasındaki gidip gelmek zorunda kalmayacak ve ekranın her seferinde yeniden çizilmesi gerekmeyecektir.
İpucu X: Disket sürücüden çıkarmadan önce disketi GEOS içinden mutlaka kapatınGEOS deskTOP'undayken veya bir uygulama içindeyken (bir diyalog kutusu sizden disketi çıkarmanızı istemediği sürece) disket sürücüdeki disketi kapatmadan önce (Commodore-C tuşlarıyla) asla çıkarmayın.
Yardımcı Kitaplar. "GEOS Tricks & Tips", yazan M. Kerkloh ile R. Tornsdorf
. "How to Get the Most out of GEOS", yazan Jr. Jim Oldfield ile Tim Sickbert
. "GEOS Version 2.0 Manual", çıkaran Berkeley Softworks
. "GEOS Inside and Out", yazan M. Tornsdorf
(Bu kitapları
http://www.bombjack.org/commodore/books.htm#LANGUAGES_-_OS adresinde bulabilirsiniz)
Önerilen Bağlantılar. "GEOS Wiki" -
https://www.c64-wiki.com/index.php/GEOS. "GEOS SSS" -
http://www.zimmers.net/geos/GEOSFAQ.html. "GEOS for the C64" -
http://lyonlabs.org/commodore/onrequest/geos.html. "GEOS CD" -
http://www.lyonlabs.org/commodore/onrequest/geos/geoSpecific/. "GEOS 64 2.0 Kaynak Kodu" -
https://github.com/ytmytm/c64-GEOS2000. "GEOS 128 2.0 Kaynak Kodu" -
https://github.com/ytmytm/c64-GEOS128Önerilen Videolar. "EasyFlash ile Boot Eden GEOS 64 2.1e ROM'u" -
https://youtu.be/CkcTa5VgADM. "10 Saniyede GEOS Boot" -
https://youtu.be/EZLgPM4m_Zw. "IRQhack64 Turbo (4 Saniyede GEOS Boot)" -
https://youtu.be/Lv3V5gn9QSA. "Bazı GEOS Oyunları" -
https://youtu.be/5OT3DoPty4Y. "PC ile C64 Karşılaştırması - GEOS Masaüstü" -
https://youtu.be/oh5Uql2sNa4. "GEOS ve GeoLink ile Commodore 64'ü Çevrimiçi Yapma" -
https://youtu.be/B-El9AbyR0w. "GEOS + GeoTerm ile BBS'ye Bağlanma/Telnet Çekme" -
https://youtu.be/Qw-wdKtCaP0Teknik BilgiBu GEOS 2.1e Kernal'ı için
https://github.com/ytmytm/c64-GEOS2000 adresindeki GEOS 2.0 kaynağı değiştirildi. Derlenmiş kod yeniden yapılandırılarak bir kısmı exomizer ile sıkıştırıldı.
Ortaya çıkan EPROM'un ve Kernal'ın bellek haritası ise aşağıda yer alıyor:
EPROM Bellek Haritası:8000-8008: Boot vektörleri ve CBM80 imzası
8009-80C5: İlk yerleştirici
80C6-B7FF: Exomizer kodu
B800-BFFF: 9000-97FF - GEOS kodu Kısım 1
Açılmış kod:B5B0-B63F: İkinci yerleştirici
B640-B7EF: 5000-51AF - GEOS önyükleyici
B7F0-B83F: 51B0-51FF – D64/D71/D81 bağlama
B840-BF3F: 9800-9EFF - GEOS kodu Kısım 2
BF40-FFF8: BF40-FFF8 - GEOS kodu Kısım 3
Exomizer şu parametrelerle kullanıldı:exomizer sfx "\$b5b0" -n -c -o çıktıdosyası girdidosyası
İlk yerleştirici kod, istenen bellek düzeni için exomizer kodunda değişiklik yapıyor.
EklerEk 1: C64 Bellek DüzeniAdres 01 A000-BFFF E000-FFFF D000-DFFF
Değeri Basic ROM Kernal ROM G/Ç Alanı
-------- --------- ---------- ---------
$30 ram ram ram
$31 ram ram Kar. ROM
$32 ram ROM Kar. ROM
$33 ROM ROM Kar. ROM
$34 ram ram ram
$35 ram ram I/O
$36 ram ROM I/O
$37 ROM ROM I/O
Ek 2: SD2IEC için D64 bağlama kodudrive=$08
LDA #$0D
LDX #<geos64d64
LDY #>geos64d64
JSR $FFBD ; SETNAM
LDA #$01
LDX #drive
LDY #$0F
JSR $FFBA ; SETLFS
JSR $FFC0 ; AÇ
JSR $FFC3 ; KAPA
geos64d64:
!text "CD:GEOS64.D64"
Ek 3: EasyFlash için EasyBoot Kodu LDX #$0E
easyloop:
LDA easyboot,X
STA $DF0C,X
DEX
BPL easyloop
...
easyboot:
SEI
LDA #$01
STA $DE00
LDA #$07
STA $DE02
JMP $8009
Ek 4: RAM Genişletme G/Ç Çakışma TablosuAdr. REU GeoRAM EasyFlash +60K RamCart64 RamCart128
D100 - - - Bsel - -
DE00 - RAM Bsel - Psel Psel
DE01 - RAM - - Mrr Bsel
DE02 - RAM Cfg - - -
DE03-DFFF - RAM - - - -
DF00 St. - RAM - RAM RAM
DF01 Cmd. - RAM - RAM RAM
DF02 Cbs< - RAM - RAM RAM
DF03 Cbs> - RAM - RAM RAM
DF04 Rbs< - RAM - RAM RAM
DF05 Rbs_ - RAM - RAM RAM
DF06 Rbs> - RAM - RAM RAM
DF07 Tr< - RAM - RAM RAM
DF08 Tr> - RAM - RAM RAM
DF09 Int - RAM - RAM RAM
DF0A AdrC - RAM - RAM RAM
DF0B-DFFD - - RAM - RAM RAM
DFFE - Psel RAM - RAM RAM
DFFF - Bsel RAM - RAM RAM
Kısaltmalar:
St. : Status
Cmd. : Komut
Cbs< : C64 aktarma adresi. <
Cbs> : C64 aktarma adresi. >
Rbs< : REU aktarma adresi. <
Rbs_ : REU aktarma adresi. _
Rbs> : REU aktarma adresi. >
Tr< : Aktarım uzunluğu <
Tr> : Aktarım uzunluğu >
Int : Kesinti maskesi
AdrC : Adresi kontrol
Psel : Sayfa seçimi
Bsel : Bank seçimi
Cfg : Ayar yazmacı
Mrr : Aynalama yazmacı
Bu tabloya göre, EasyFlash sadece +60 K RAM Eklentisi ile kullanılabiliyor.
REU veya GeoRAM sadece gerçek bir 16K EPROM ile kullanılmalıdır.
Zaman zaman, bazı eBay satıcıları evrensel EPROM kartuşu satıyor.
Satıcıdan, arzu edilen GEOS64 2.1e .CRT imajını EPROM'a yakmasını isteyip öyle satın alabilirsiniz bunları.
Not: 1764/1750 Ram Genişletme Birimlerinde (REU), EPROM takmak için bir yer bulunuyor.
GEOS64 2.1e EPROM imajının bu sürümü yalnızca REU desteklemektedir.
(Sonraki sürüm 2.1r, GeoRAM destekleyecek)
Eğer başka RAM Genişletmeleri için destek istiyorsanız bana ulaşın lütfen.
6 Haziran 2016 – Ankara
İlker Fıçıcılar
i l k e r f (malum işaret) g e o c i t i e s N O K T A c o m
http://cbm.ficicilar.name.tr/--
=======================================================