Merhaba, Ziyaretçi. Lütfen giriş yapın veya üye olun.

Kullanıcı adınızı, parolanızı ve aktif kalma süresini giriniz

  Gelişmiş Arama
insanın içinde varsa, commodore.gen.tr açığa çıkarır bunu.. bir nevi retro olaylarının dolunayıyız.(Arda)
Sayfa: [1]   Aşağı git
Yazdır
Gönderen Konu: CC65 disk erişimi sorusu?  (Okunma Sayısı 1264 defa)
0 Üye ve 1 Ziyaretçi konuyu incelemekte.
wizofwor
Genel Yönetici
*****
Mesaj Sayısı: 4.775


Gosub ile gidilen yerden goto ile dönen adam


Üyelik Bilgileri WWW
« : Şubat 09, 2024, 00:50:49 ÖÖ »

Linkte 2018'de cc65 pratiği yapmak için yazdığım "Hayvan Tahmini" adlı karar ağacı oyununun kodları var.
https://github.com/wizofwor/hayvan-tahmini/tree/master

Çok eski ve bilindik bir oyun. Önceden biraz oynayıp eğitirseniz, yapay zeka izlenimi veriyor.

Önce hızlıca yazıp çalıştırıp, sonra optimize etmeye geçmiştim. stdio kütüphanesi dosya boyutunu çok şişiriyor. Kaldırmak istedim ancak diske yazma/okuma işini beceremediğim için stdio kütüphanesini kaldıramadım. 6 yıldır da o şekilde kaldı.

Kod:
// --- Dosya Arayüzü --------------------------------------

void read_tree(uchar *id);

void write_tree(uchar *id);

Bu iki fonksiyon stdio kullanıyor. Bu fonksiyonları C64 için kütüphane kullanmadan sıfırdan yazabilecek olan var mı?
Logged

emarti
Uzman
*****
Mesaj Sayısı: 2.556


Only Amiga Makes It Possible █


Üyelik Bilgileri WWW
« Yanıtla #1 : Şubat 09, 2024, 11:43:46 ÖÖ »

Evet C çok şişiriyor. CC65 küçük çapta uygulama için ideal görünüyor lakin hafıza yönetimini iyi ayarlamak lazım. Ayarladım dediğim zamanlarda dahi hatalar oldu uğraştırıyor ama C'nin verdiği keyif onu bastırıyor.

Bu tarz durumlarda inline assembler kullanman daha mantıklı.
https://codebase64.org/doku.php?id=base:loading_a_file
https://www.cc65.org/doc/cc65-9.html

Akşam senin aradığın ile alakalı implemente ettiğimi hatırlıyorum. Bulup göndereyim.
Logged

https://github.com/emartisoft My GitHUB | http://csdb.dk/scener/?id=26786 My CSDB

READY.
SYS(64767): EMARTI
Sayfa: [1]   Yukarı git
Yazdır
Gitmek istediğiniz yer: