Gönderen Konu: Skate'in ZX Spectrum Maceraları - Vol 1  (Okunma sayısı 1624 defa)

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

Çevrimdışı Skate

  • RAAT
  • Retro Meraklısı
  • *
  • İleti: 199
Ynt: Skate'in ZX Spectrum Maceraları - Vol 1
« Yanıtla #45 : 09 Mayıs 2022, 11:14:27 »
@nightlord, aşırı utangaç biri olmadığıma şükrettim, öyle söyleyeyim kardeşim. Benim bile yanaklarımı kızartmayı becerdin ama. :)

Özellikle şu yazdıkların konusunda o kadar hemfikiriz ki.

Son olarak de senin bu yazın ve kodun bana şunu düşündürdü: Bazen uzun yıllar tanıdığımız ve samimileştiğimiz arkadaşlarımızın aslında ne kadar sıradışı insanlar olduğunu unutuyoruz. Bunun neden olduğunu açıklamak zor. Ama hani Skate’in benim kakara kikiri samimi bir arkadaşım olması, Norvax’ın ortaokulda beraber makara yaptığımız biri olması falan bana bu insanların aslında gezegende ince elekle köşe bucak gezsen belki karşına bir avuç zorla çıkan, ne kadar sıradışı, ne kadar ‘nadide’ insanlar olduğu gerçeğini gözden kaçırmama sebep oluyor. Yani daha az değer vermiyorum elbette, ama ne kadar değer verdiğimi de yeterince dillendirmiyorum galiba.

Yıllarca hepimizin başına gelmiştir. Partilerde olsun, iş ve özel yaşantılarımızda olsun, bizim yaptıklarımıza meraklı gençler bizlere "siz nasıl başladınız, nasıl öğrendiniz programlamayı?" tarzı sorular sormuşlardır. Tabii bu benim perspektifimden, grafiker, müzisyen ve diğer uzmanlık alanları da benzer şekilde. Ben hep şu şekilde başlamışımdır.

"Ben çok şanslıydım."

İlk cümlem mutlaka bu olmuştur. Sonrasında devam etmişimdir.

"Daha ben küçükken 64'ler dergisi, Beşiktaş Bilgisayar gibi ortamlara girebilmiş, oradan çok değerli, bu işleri bilen abiler edinebilmiş, sorduğum tüm sorulara cevap alabilmiştim."

Ama işte bu sadece işin başlangıcı. Sonrasında kapalı kapılar arkasında, kendi kendime bir şeyler yapıp, sizleri hiç bir zaman tanımamış olma ihtimalimi düşündükçe yine ilk cümleme geri dönüyorum. "Ben çok şanslıydım." :)

Bu noktadan yola çıkarak bana sık sık sorulan bir diğer soruya geçeceğim. "Scene nedir?" sorusu. Bunu biraz bu başlığa özel bir tanıma dönüştüreceğim. Başka bir yere copy & paste edilince anlamını yitirecek.

- Scene, bilgisayar meraklısı gençlerin yıllar sonra karşılıklı bu tür mesajlar yazabilmek adına sosyalleşme alanıdır. Scene, "Skate, 7DX party organizasyon ekibine hiç dahil olmasaydı, 2004 yılında sabah erken saatlerde, parti öncesi herkes mekanda yerlerde uyurken birden parti mekanının kilitlli arka demir kapısına dan! dan! dan! diye hiç vurulmasaydı, Skate ve Nightlord hiç tanışmasaydı..." gibi senaryolardan bizi uzak tutan sosyal koruyucu meleğimizdir.

Yorumların için tekrar tekrar sağol, varol kardeşim.

Çevrimdışı Alco

  • Yönetici
  • Özgür Retrocu
  • *
  • İleti: 2251
  • "Kahraman olmak, dürüst olmaktan kolaydır" Luigi P
    • Sizin Amstrad
Ynt: Skate'in ZX Spectrum Maceraları - Vol 1
« Yanıtla #46 : 13 Mayıs 2022, 09:22:02 »
@Skate Ellerine sağlık! Adını anınca hemen aklıma gelen bugüne kadar yapmış olduğun onlarca kaliteli işin yanına bu serüvenini de eklemiş oldun. Senin tecrübe seviyende ve iş yoğunluğunda birisinin tüm bu macerayı adım adım paylaşmasının kolay olmadığının ama bir o kadar da kıymetli bir jest olduğunun farkındayım. Başta kendim olmak üzere, bu maceradan faydalanan ve dahi ileride faydalanacak herkes adına teşekkür ederim.

Şimdi, ne kadar tutarlı olduğunu görmek üzere sormak istediğim bir şeyler var. Sebebini daha sonra açıklayacağım  ;D

Z80 (Spectrum) ASM'ye geçiş yaptığında senin dertlerin şöyle sıralanabilir mi?

1) Bu ASM'de hangi registerlar var ve kaç bit?
2) Nasıl bir registera değer atar, o değeri hafızaya yazar ve bunları point ettirerek kullanabilirim?
3) Genel opcodelar hangileri? (bit shifting, or, and, xor(eor), jmp v.s.)
4) Loop komutları nelerdir?
5) Hangi flagler var ve hangi opcodelar ile kontrol edilebiliyorlar? (carry flag, zero flag, negative flag v.s.)
6) Makinenin genel hafıza adreslemesi, bank/segment mantığı nasıldır?
7) Özel hafıza adresleri (ekran adresleri v.s.) ve ROM adresleri nelerdir?


Çevrimdışı Skate

  • RAAT
  • Retro Meraklısı
  • *
  • İleti: 199
Ynt: Skate'in ZX Spectrum Maceraları - Vol 1
« Yanıtla #47 : 14 Mayıs 2022, 00:15:31 »
Öncelikle güzel sözlerin için içten teşekkürlerimi iletiyorum @Alcofribas. Daha önce de belirttiğim gibi Z80’e merak sarmamda çok ciddi payın var.

Tahmin ediyorum o liste daha önce birinin saydığı adımlar ve evet, çok güzel saymış, oldukça tutarlı. Ama tabii ben o listeyi bir kaç seneye yaydım. Bende o maddelerden bazıları epey uzun zaman alıyor. Örneğin “genel opcodelar hangileri?” hala sona ermiş durumda değil. Henüz çoğu opcode’un ya hakkını veremedim ya da hiç kullanmadım. O maceranın başından sonuna hep süregelen bir madde. Ancak son maddeler olan hafıza adresleri, banklar, ROM adresleri gibi şeyler bir kaç dakika dokümantasyonlara bakmaktan ibaret olan maddeler. Mecbur kalmadıkça kernel rutinlerini kullanmıyorum zaten.

Özetlemek gerekirse liste oldukça tutarlı ama ağırlık seviyeleri değişiyor. Bu arada geçmişte mesajı benim yazmış olduğumdan da kıllanmaya başladım. Hadi hayırlısı… :)

Çevrimdışı Alco

  • Yönetici
  • Özgür Retrocu
  • *
  • İleti: 2251
  • "Kahraman olmak, dürüst olmaktan kolaydır" Luigi P
    • Sizin Amstrad
Ynt: Skate'in ZX Spectrum Maceraları - Vol 1
« Yanıtla #48 : 14 Mayıs 2022, 01:06:58 »
Özetlemek gerekirse liste oldukça tutarlı ama ağırlık seviyeleri değişiyor. Bu arada geçmişte mesajı benim yazmış olduğumdan da kıllanmaya başladım. Hadi hayırlısı… :)

Tutarlılığın için tebrik ederim. Gönül rahatlıyla kıllanabilirsin. 2005 yılından Skate mesajı getirdim sana :D

http://www.tr-demoscene.info/index.php/topic,312.msg1621.html#msg1621

Çevrimdışı Skate

  • RAAT
  • Retro Meraklısı
  • *
  • İleti: 199
Ynt: Skate'in ZX Spectrum Maceraları - Vol 1
« Yanıtla #49 : 14 Mayıs 2022, 10:54:09 »
Alem adamsın @Alcofribas. Bir de “çok salakça” deyip rezil olmak vardı. :)

Çevrimdışı Ref

  • Yönetici
  • Özgür Retrocu
  • *
  • İleti: 3093
  • Advanced User Simulator
    • ae unutmadan
Ynt: Skate'in ZX Spectrum Maceraları - Vol 1
« Yanıtla #50 : 14 Mayıs 2022, 20:06:48 »
Alem adamsın @Alcofribas. Bir de “çok salakça” deyip rezil olmak vardı. :)

Alco'nun böyle mind trickleri vardır hep. Ama merak etme, arkadaş 17 sene geçmiş üzerinden, taş olsa değişir :D rezil falan olmazdın, vay, olgunlaşmış falan derdik sorun yok :D

Bu arada geçmişte mesajı benim yazmış olduğumdan da kıllanmaya başladım. Hadi hayırlısı… :)

Hahah "Hayatımda hiç bu kadar aynı fikirde olduğum insan çıkmamıştı karşıma!" :D

Çevrimdışı Skate

  • RAAT
  • Retro Meraklısı
  • *
  • İleti: 199
Ynt: Skate'in ZX Spectrum Maceraları - Vol 1
« Yanıtla #51 : 24 Mayıs 2022, 13:13:59 »
III. Çapraz Geliştirme Araçları

...

Böylece artık kod yazmaya hazır hale gelmiş oldum. Sanırım geliştirme platformunu ayağa kaldırmam bu gönderiyi hazırlamamdan kısa sürdü. Bu nedenle kesinlikle "en mükemmel, en modern çözüm" diye düşünmeyin. Ancak bir kaç eksiği olmasıyla birlikte işimi gayet iyi görüyor. Eksiklerinden de kısaca bahsedeyim.

  • ...
  • SjASMPlus'ın desteklediği scripting dili LUA. İlk başta LUA'yı görünce sevinmiştim. Bir süre CoronaSDK ile kullanmıştım, sevmiştim de. Ancak sanırım burada kullanılan versiyon bayağı eski ya da eksik özelliklere sahip. Çok temel işlemleri bile yapamıyor. Kaynak kodumun sonunda şöyle bir kısım göreceksiniz.

Kod: [Seç]
; LUA common definitions and functions
    LUA ALLPASS
        OR, XOR, AND = 1, 3, 4

        function bitoper(a, b, oper)
            local r, m, s = 0, 2^31
            repeat
                s,a,b = a+b+m, a%m, b%m
                r,m = r + m*oper%(s-a-b), m/2
            until m < 1
            return r
        end
    ENDLUA

Bu kodu ben yazmadım, internetten olduğu gibi bulup aldım. Bit tabanlı işlemler için bunu kullandım. AND, OR, XOR içermiyormuş LUA, yani en azından SjASMPlus ile birlikte gelen versiyonu. LUA'yı araştırdığımda yeni versiyonda bu tarz desteklerin geldiğini gördüm. Ama şimdilik hiçbirini çalıştıramadım SjASMPlus bünyesinde. Geçici olarak böyle ucube fonksiyonlar kullanıyorum. Tabii proje küçük olunca derleme sürelerini etkilemiyor ama fonksiyonu gördükçe gözüm seğirmiyor dersem yalan söylemiş olurum.

Bu anlattığım dez avantajların henüz benim bazı özellikleri çözememiş olmamdan kaynaklanabileceğini hatırlatmak isterim. Zaman zaman "peeh, becerememişler" dedikten kısa süre sonra "peeh, meğerse ben becerememişim" demişliğim vardır. Bu yüzden şimdilik bunları potansiyel dezavantajlar olarak nitelendiriyorum. Hatta ilerleyen dönemde geliştiricileri ile irtibata geçip, bana eksik gelen kısımları tamamlamaları için destek de olabilirim. Nitekim Kick Assembler'a 65c02 işlemci desteğini bu şekilde ekletmiş ve Commander X16 için daha konforlu, ekstra opcodelar için yazdığım gereksiz makroları çöpe atarak devam etmiştim. Bu geliştirici araçlarında bir iki eksikten dolayı projeden hemen vazgeçmemek gerekiyor. Ancak öksüz kalmış projelerde mecburen alternatif arayışına gitmek durumunda kalıyoruz elbette ki.

Bu kısmı hatırlarsınız. Aynen dediğim gibi oldu. Şu anda henüz yayınlanmış olmasa da eksikler projeye eklendi. Şu ana kadar gözlemlediğim en büyük eksiği buydu SjASMPlus'ın. O da çözülmüş oldu. Ekte ilgili mesajı paylaşıyorum.

@Ref'e de beni SjASMPlus'ın developerlarının da yer aldığı ortama davet ettiği için teşekkür ediyorum. Ayrıca iletişime geçmekle uğraşmamış oldum.

Çevrimdışı ssg

  • RAAT
  • Retromanik
  • *
  • İleti: 19
Ynt: Skate'in ZX Spectrum Maceraları - Vol 1
« Yanıtla #52 : 26 Mayıs 2022, 00:35:55 »
@Skate senin table'dan indexed value çekme işi için biri değişik bir yöntem önermiş: https://retrocomputing.stackexchange.com/a/5755/3986


Çevrimdışı Skate

  • RAAT
  • Retro Meraklısı
  • *
  • İleti: 199
Ynt: Skate'in ZX Spectrum Maceraları - Vol 1
« Yanıtla #53 : 26 Mayıs 2022, 01:23:56 »
@Skate senin table'dan indexed value çekme işi için biri değişik bir yöntem önermiş: https://retrocomputing.stackexchange.com/a/5755/3986


İnceledim, benim kullandığımdan bir farkı yok. Çok kısa görülme nedeni “değer HL’den geliyorsa” diye başlaması. HL’ye o değeri yüklediğin opcode’u da ekle, bir de o o tabloyu ilerletmek için L’nin değerini artırmaya çalış, uzuyor da uzuyor.

Çevrimdışı ssg

  • RAAT
  • Retromanik
  • *
  • İleti: 19
Ynt: Skate'in ZX Spectrum Maceraları - Vol 1
« Yanıtla #54 : 26 Mayıs 2022, 01:32:55 »
İnceledim, benim kullandığımdan bir farkı yok. Çok kısa görülme nedeni “değer HL’den geliyorsa” diye başlaması. HL’ye o değeri yüklediğin opcode’u da ekle, bir de o o tabloyu ilerletmek için L’nin değerini artırmaya çalış, uzuyor da uzuyor.

Haklısın, senin $100 aligned tablolardan bahsettiğini atlamışım ya da unutmuşum.

Çevrimdışı Ref

  • Yönetici
  • Özgür Retrocu
  • *
  • İleti: 3093
  • Advanced User Simulator
    • ae unutmadan
Ynt: Skate'in ZX Spectrum Maceraları - Vol 1
« Yanıtla #55 : 28 Mayıs 2022, 04:03:37 »
@Ref'e de beni SjASMPlus'ın developerlarının da yer aldığı ortama davet ettiği için teşekkür ediyorum. Ayrıca iletişime geçmekle uğraşmamış oldum.

Abi o sunucular seni kesmedi ama dediğim gibi, güzel bir komünitemiz var, kimsenin sormadığı soruları sorarak aslında ciddi gelişim ve hareket yarattın, en azından kabız bir assembler sayende az buçuk düzelme yoluna girdi.

Speccy camiasına kaliteli coder lazımmış resmen :D