Son İletiler

Sayfa: [1] 2 3 4 ... 10
1
Kodlama / Ynt: while(!feof)
« Son İleti Gönderen: emarti 14 Kasım 2018, 22:03:53 »
@wizofwor abi CC65 ile GEOS üzerinde de uygulamalar bekliyoruz senden.
2
Amiga / Ynt: AmigaOS 3.1.4
« Son İleti Gönderen: emarti 14 Kasım 2018, 21:59:45 »
Amiga 600 ve 1200 için versiyonlarını satın aldım. EPROM'ları programladım. Henüz çok deneme fırsatım olmadı. Öncesi 3.9 ROM kullanıyordum 600 ve 1200 için. Iconlar @Alpyre'in bahsettiği gibi. Yalnız Amiga 600 Furia için 3.9 ROM'da alıştığım sessizlik floppy'nin tık tık sesi ile bozuldu.
3
Kodlama / Ynt: while(!feof)
« Son İleti Gönderen: Alpyre 12 Kasım 2018, 19:58:52 »
Değer olarak göndersen concat'ten de kurtulutdun.

Ayrıca for döngüsünde falan kullanırdın id'yi gerekirse, ama yine sen bilirsin:)
4
Sohbet / Ynt: Rassal fötögraf başlığı.
« Son İleti Gönderen: Impetigo 12 Kasım 2018, 17:01:07 »
5
Kodlama / Ynt: while(!feof)
« Son İleti Gönderen: wizofwor 12 Kasım 2018, 15:39:15 »
Program boyutunu düşürmek için kütüphaneleri kaldırmaya başladım. string.h ve stdlib.h kütüphanelerini kaldırınca itoa ve strcopy'de gitti. id'yi decimal yerine, read_three(0) yerine read_three("0") şeklinde, ASCII olarak gönderiyorum. Bu şekilde yapınca herhangi bir modifikasyon yapmadan doğrudan string'in sonuna ekleyebildim.

Kod: [Seç]
uchar file_name[8];

char_cpy(file_name,"tdat");
concat(file_name, id);

...

void char_cpy(char * dest, char * src)
{
while(*src)
*dest++ = *src++;
*dest = '\0';
}

void concat(char * dest, char * src)
{
char i;
while(*dest)
*dest++;
while(*src)
*dest++ = *src++;
*dest = '\0';
}

Tahminin doğru
read_three("0") , tdat0 dosyasını,
read_three("1"), tdat1 dosyasını okuyor.
6
Kodlama / Ynt: while(!feof)
« Son İleti Gönderen: Alpyre 11 Kasım 2018, 15:55:23 »
Tekrar selam wizofwor

Pass by pointer ve dereference konularında bir tekrar okuma yapman gerekiyor diye düşünüyorum. Çünkü:
Kod: [Seç]
itoa((uchar*)id, buffer, 10);
...bu yazdığın dereference değil, bir type cast.

Ha bak bu olur:
Son olarak id'nin önüne yıdız koydum. Bu şekilde uyarı vermiyor ama dosyayı da bulamıyor.
Kod: [Seç]
itoa((uchar)*id, buffer, 10);
...ama (uchar) yazmana gerek yok. Çünkü zaten bir uchar pointer'ı dereference ettiğinde uchar bir değer elde edersin. Yani yazman gereken ilk yanıtımda yazdığım gibi sadece: *id

Eğer dosyayı bulamıyorsa, pass ettiğin *id değerinde bir yanlışlık olabilir (gerçi buna neden olacak başka yanlışlar da var).

Bu arada böyle mikro optimizasyon yapacaksak, pass by value maliyetinden daha büyük itoa() maliyeti var orada.
Sana tek basamaklı bir değeri 1 ascii değerine çevirecek bir işlem lazım o kadar. Bunu id'nin değerine 48 ekleyerek halledebilirsin (C64'te string'ler ascii'dir herhalde).

Yanlış anlamadıysam sen şöyle dosya adları istiyorsun:
id = 0 ise "tdat0"
id = 1 ise "tdat1"
...
id = 9 ise "tdat9"
ve "tdat10" kesinlikle yok, 9'a kadar (1 uchar'lık buffer tahsis etmiş olmandan çıkarıyorum bunu).

Eğer bu çıkarımlarım doğruysa... sen yine id'yi pointer'ı ile pass et...
...fakat file_name'i şöyle oluştur:
Kod: [Seç]
uchar file_name[6] = "tdat0";  // 6 çünkü NULL terminator için byte daha lazım.
file_name[4] = *id + 48;       // 48 çünkü ascii 48 '0' demek.

Al sana sade çok optimize (itoa, strcpy ve strcat'den kurtuldun) hem de doğru çalışacak bir kod. ;)
7
Sohbet / Ynt: Rassal fötögraf başlığı.
« Son İleti Gönderen: Shax 11 Kasım 2018, 03:29:32 »
Cat recognized her pet on video chat



Isirmalik.
8
Amiga / Ynt: Amiga için Barbarian Plus
« Son İleti Gönderen: doMiNO 10 Kasım 2018, 03:38:59 »
Gecenin bu saatinde oyunu indirip yüklemeye üşendim, youtube videolarına baktım. Gayet güzel görünüyor yahu. Grafikler ve oyunun tasarımı başarılı. Oynanabilirlik de orijinal Barbarian'dan daha iyi gibi sanki.

Bu arada Aminet'te oyunun MUI'ye ihtiyaç duyduğu belirtilmiş. Buna pek anlam veremedim. Üstelik bir de AMOS'la kodlandıysa tamamen kelalaka bir durum.
9
Kodlama / Ynt: while(!feof)
« Son İleti Gönderen: wizofwor 10 Kasım 2018, 01:34:22 »
Tavsiyen için çok teşekkür ederim. Ben programlamaya hobi olarak yaklaşıyorum ve olaya biraz daha farklı açıdan bakıyorum. C64 haricindeki işler beni heyecanlandırmıyor. 6502'nin C için ciddi handikapları olduğunun farkındayım. Bu yüzden belli limitler dahilinde kodlamaya çalışıyorum. Amacım C öğrenmekten çok C64 üzerinde bir şeyler geliştirmek.



10
Sinclair / Ynt: Speccy dünyasından kümülatif haberler
« Son İleti Gönderen: Ref 10 Kasım 2018, 00:22:52 »
Gün geçmiyor ki zx spectrum coderları yeni bir açılımla gelmesin. Zx Spectrumda 8x1'lik alanda çalışan oyunları artık ben bile yazıyorum (BiFrost engine boyama işini yapıyor) fakat bu grafik modları işlemcinin tüm zamanını yiyordu. Bu sebepten genelde tek ekranlık ya da turn based oyunlar yazıldı hep.

Bugün ise ilk defa dikey kaydırma yapan bir oyun çıktı ortaya. Üstelik 8x8'lik alanda 16 renk kullanabiliyor. İşlerin buraya gelmesi güzel.

http://www.retrosouls.net/


Buna benzer bir mod aslında ORIC'de mevcut ama oric bu çizimleri atari2600 tarzında bir raster takibi ile çiziyor ve ciddi renk sınırlamaları var. Yine de ruhu şad olsun Twilighte'ı anmadan geçemeyeceğim... Stormlord demosu halk için amme hizmetinden başka birşey değil ve her ayrıntısı şahane.
Sayfa: [1] 2 3 4 ... 10