Gönderen Konu: Winape'de Amstrad klavyesini güncel klavyelere uyarlamak  (Okunma sayısı 126 defa)

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

Çevrimdışı Koray Memmi

  • Retroman
  • ***
  • İleti: 36
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?
Sevdalıyam ben sana, CPC128...

Çevrimdışı Alco

  • Yönetici
  • Özgür Retrocu
  • *
  • İleti: 2132
  • "Kahraman olmak, dürüst olmaktan kolaydır" Luigi P
    • Sizin Amstrad
Ynt: Winape'de Amstrad klavyesini güncel klavyelere uyarlamak
« Yanıtla #1 : 05 Ocak 2025, 18:30:19 »
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ı.

Çevrimdışı Skate

  • RAAT
  • Retro Meraklısı
  • *
  • İleti: 175
Ynt: Winape'de Amstrad klavyesini güncel klavyelere uyarlamak
« Yanıtla #2 : 05 Ocak 2025, 19:08:22 »
@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.

Çevrimdışı Skate

  • RAAT
  • Retro Meraklısı
  • *
  • İleti: 175
Ynt: Winape'de Amstrad klavyesini güncel klavyelere uyarlamak
« Yanıtla #3 : 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.

Çevrimdışı Alco

  • Yönetici
  • Özgür Retrocu
  • *
  • İleti: 2132
  • "Kahraman olmak, dürüst olmaktan kolaydır" Luigi P
    • Sizin Amstrad
Ynt: Winape'de Amstrad klavyesini güncel klavyelere uyarlamak
« Yanıtla #4 : 05 Ocak 2025, 20:28:49 »
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 :)

 

Çevrimdışı Skate

  • RAAT
  • Retro Meraklısı
  • *
  • İleti: 175
Ynt: Winape'de Amstrad klavyesini güncel klavyelere uyarlamak
« Yanıtla #5 : 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. :)