Winape'de Amstrad klavyesini güncel klavyelere uyarlamak

Başlatan Hifly, 21 Aralık 2024, 15:00:39

« önceki - sonraki »

0 Üyeler ve 2 Ziyaretçi konuyu incelemekte.

Hifly

Herkese selam,

https://www.cpcwiki.eu/forum/programming/remapping-the-keyboard-in-winape/ adresinde konu ile ilgili güzel bir yöntem buldum. Linkteki koddaTürkçe q klavyeye göre gerekli bazı değişiklikleri yaptım. Ancak bazı tuşlarda gereken değişiklikler olmasına rağmen bazılarında olmadı:       


db 65,"3'"
   db 57,'3^'
   db 56,'4+'
   db 41,'7/'
   db 32,'0='
   db 25,'*?'
   db 24,'-_'
   db 19,",;"
   db 22,".:"
   db 71,"<>"
   db 0

db 19 satırına kadar sıkıntı yok. Ancak db 19 ve sonrası 2 tuşa basınca herhangi bir karakter çıkmıyor. Sizce sıkıntı nerede olabilir?

Alco

Alıntı yapılan: Koray Memmi - 21 Aralık 2024, 15:00:39
db 19 satırına kadar sıkıntı yok. Ancak db 19 ve sonrası 2 tuşa basınca herhangi bir karakter çıkmıyor. Sizce sıkıntı nerede olabilir?

Cem Yılmaz olsa "Neden çift tırnak?" diye sorardı.
www.facebook.com/groups/AmstradCpcCom
www.facebook.com/groups/MSXTurkiyeCom
www.facebook.com/groups/retrojen
www.facebook.com/SizinAmstrad
www.facebook.com/Retro3D
www.amstradcpc.com
Retrojen Youtube

Skate

@Alco yeterli ipucunu vermiş ancak cpcwiki'deki örnekte de çift tırnak kullanımı var. O karakter sembolizasyonunda tek tırnak kullanılması gereken yerde alternatif olarak kullanılmış. Burada da ilk örnekteki "3'" kullanımı da bu bağlamda doğru.

Bu şekilde karakter kodu ifade etme konusuna yabancıyım. Ancak tahminim şu yönde. Tek tırnak normalde tek bir byte (char) ifade eder. '4+' gibi bir şey yazdığımızda derleyici bunu 0-255 arası bir değere dönüştürüyor. Yani orada birden fazla karakter olsa da çıktısı tek byte oluyor. Büyük ihtimalle örneğin '<>' bu da tek byte'a karşılık geliyor. Ancak çift tırnak kullandığımızda "<>" '<' ve '>' şeklinde iki ayrı byte'a tekabül ediyor olabilir. Bu durumda "db" tanımı olayı tek byte ile sınırladığından trim ediliyor ve "<>" değer olarak '<' değeri şeklinde ifade ediliyordur.

Skate

Fakat sanırım teorim yanlış çıktı. Compiler db'yi gayet 2'şer byte olarak derliyormuş ve tek/çift tırnak kullanımı da bir şey değiştirmiyor gibi gözüküyor.

Alco

Demek ki Occam'ın Usturası burada yemedi. O zaman; noktalı virgül ve Yunanca soru işareti mevzusu gibi bir olay mı kalıyor geriye :)

[attachment=0]
www.facebook.com/groups/AmstradCpcCom
www.facebook.com/groups/MSXTurkiyeCom
www.facebook.com/groups/retrojen
www.facebook.com/SizinAmstrad
www.facebook.com/Retro3D
www.amstradcpc.com
Retrojen Youtube

Skate

Sıkıntı sağ tarafta değil sol tarafta olabilir mi? 19, 22, 71 Türkçe klavyede beklenen tuşlara denk gelmiyor olabilir mi? Zaten başka ihtimal de kalmıyor gibi. Tüm ihtimalleri sayarak aslında yardımcı olmamış olduk. :)

Hifly

Alıntı yapılan: Skate - 05 Ocak 2025, 19:15:56
Fakat sanırım teorim yanlış çıktı. Compiler db'yi gayet 2'şer byte olarak derliyormuş ve tek/çift tırnak kullanımı da bir şey değiştirmiyor gibi gözüküyor.

Esasında şöyle değiştiriyor. Tuşun üst karakterine tek tırnak atamak istediğim zaman standart ifade ile yazarsak  db 65,'3'' şeklinde yazmak gerekiyor. Ancak bu şekilde yazınca gerekli atamayı yapmıyor, ancak ifade db 65,"3'" şeklinde yazılırsa atanıyor. Yapay zekanın yalancısıyım, bu bir kaçış karakteri problemlemiymiş?

Alıntı yapılan: Skate - 06 Ocak 2025, 15:41:06
Sıkıntı sağ tarafta değil sol tarafta olabilir mi? 19, 22, 71 Türkçe klavyede beklenen tuşlara denk gelmiyor olabilir mi? Zaten başka ihtimal de kalmıyor gibi. Tüm ihtimalleri sayarak aslında yardımcı olmamış olduk. :)

Evel sol tarafta imiş! Bu konuda benim baştan kontrol etmem gereken ve kaçırdığım ufak(!!!!) bir nokta olmuş. Winape'de, standart bir pc klavyesi ile 19, 22 ve 71. tuşlara basınca zaten hiç bir karakter çıkmıyor. Amstrad'da bu tuşların bir tanımı yok zaten.

Neyse, güzel bir haber vereyim bu vesile ile: Temiz bir cpc6128 buldum. 1-2 hafta içinde elimde olacak. Nostaljinin dibine vuracağım :)

Alıntı yapılan: Alco - 05 Ocak 2025, 20:28:49
noktalı virgül ve Yunanca soru işareti mevzusu gibi bir olay mı kalıyor geriye :)

[attachment=0]

Bu mevzuyu ilk kez gördüm, kabus gibi :)