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 [2]   Aşağı git
Yazdır
Gönderen Konu: Grubumuzun ilk ürünleri  (Okunma Sayısı 15274 defa)
0 Üye ve 1 Ziyaretçi konuyu incelemekte.
Metallic
Uzman
*****
Mesaj Sayısı: 1.081



Üyelik Bilgileri
« Yanıtla #15 : Mart 02, 2009, 22:48:29 ÖS »

Arda:
evet, raster barlar introyu tamamlıyor

Hades:
scroller hakkında bir sorum var
c64'de alıştığımız gibi tam smooth değil gibi, hafif dalgalanmalar var
gerçek makinede denemedim, ama iki farklı emulator'da baktım böyle
bu durum giderilebilir mi?

Logged
hades
Üye
****
Mesaj Sayısı: 332



Üyelik Bilgileri
« Yanıtla #16 : Mart 02, 2009, 22:50:03 ÖS »

Şimdi introdaki püf noktası üst ve altta bulunan sarı raster bar'lar. Normalde spectrum'da böyle çizim yapmak mümkün değil ama hades çok ince zaman hesabıyla her raster çizgisinde renk değiştirerek çerçeve dışında bir raster çubuğu çiziyor. Aklımda bu işlevi sınırında zorlayan bir efekt var ki henüz kimse yapmadı, biraz araştırma yapmam lazım.
Ben de merak ettim şimdi. Nasıl bir şey olduğundan biraz bahsedersen iyi olurdu.
Logged
hades
Üye
****
Mesaj Sayısı: 332



Üyelik Bilgileri
« Yanıtla #17 : Mart 02, 2009, 23:05:31 ÖS »

Metallic:

C64'te scroll HW tabanlı. Spectrumda ise doğrudan ekran belleğindeki bir karakter satırına karşılık gelen bölgedeki adreslerle programcı işlem yapıyorki bir karakter satırında bir pixel scroll için 256 adresin içeriği bir bit sola kaydırılıyor. Ayrıca pixel satırlarının adresleri ardışık değil. Bir karakter satırındaki pixel satırları arasında 256 adres fark var. Dolayısıyla bir pixel scroll yaparken bir de adres hesaplamaları yepılması gerekiyor. Çok kaba bir hesaplamayla bir karakterlik scroll yapmak için 64 kez bit kaydırma işlemi yapmak gerekiyor. (Bir satır için 2048 işlem-Aradaki adres hesaplamalarını saymıyorum).Dalgalanmanın sebebi bu fazla işlemden kaynaklandığını tahmin ediyorum.
Belki scroll hızı düşürülerek bu dalgalanma giderilebilir.
Logged
Metallic
Uzman
*****
Mesaj Sayısı: 1.081



Üyelik Bilgileri
« Yanıtla #18 : Mart 02, 2009, 23:19:10 ÖS »

$d016 sağolsun, kurtarmış bizi bu kadar uğraşmaktan
Logged
Arda
Uzman
*****
Mesaj Sayısı: 2.326


I'm *the* guy from Argleton


Üyelik Bilgileri WWW
« Yanıtla #19 : Mart 02, 2009, 23:33:44 ÖS »

Metallic:

C64'te scroll HW tabanlı. Spectrumda ise doğrudan ekran belleğindeki bir karakter satırına karşılık gelen bölgedeki adreslerle programcı işlem yapıyorki bir karakter satırında bir pixel scroll için 256 adresin içeriği bir bit sola kaydırılıyor. Ayrıca pixel satırlarının adresleri ardışık değil. Bir karakter satırındaki pixel satırları arasında 256 adres fark var. Dolayısıyla bir pixel scroll yaparken bir de adres hesaplamaları yepılması gerekiyor. Çok kaba bir hesaplamayla bir karakterlik scroll yapmak için 64 kez bit kaydırma işlemi yapmak gerekiyor. (Bir satır için 2048 işlem-Aradaki adres hesaplamalarını saymıyorum).Dalgalanmanın sebebi bu fazla işlemden kaynaklandığını tahmin ediyorum.
Belki scroll hızı düşürülerek bu dalgalanma giderilebilir.


hades, ben de o dalgalanmanın aslında raster bar kodundan kaynaklandığını düşünüyorum. Lakin spectrumda her boyda ve hatta sinüslü smooth scrollerları bulmak mümkün.

ilk karşıma çıkanı yollayayım mesela:

http://zxdemo.org/item.php?id=2552

part 3 ve sonraki scroller'lara bak mesela.
(ENTER'a veya 1'e) basarak bölümleri geçebilirsiniz.
Logged

MeG
Deneyimli
*****
Mesaj Sayısı: 610


Super Kahraman


Üyelik Bilgileri WWW
« Yanıtla #20 : Mart 03, 2009, 13:13:14 ÖS »

Öncelikle elinize kolunuza sağlık..
Güzel bir çalışma olmuş..
Logo gerçekten çok güzel..

İlk açtığımda acaba hoparlör mü kısık bilgisayarın sesine mi bişey oldu diye panikledim ses duyamayınca

Sonra dalga dalga akan scrolldaki yazıları okumak için melül melül bekledim..

(Acaba sorun emulatorden mi diye düşündüm ki normalmiş)

Eminim ki daha güzel şeyler gelecektir..

Tebrikler...
Logged
hades
Üye
****
Mesaj Sayısı: 332



Üyelik Bilgileri
« Yanıtla #21 : Mart 03, 2009, 19:23:08 ÖS »

Metallic;
Sende Z80 ile ilgilenme belirtileri hissediyorum:) Var mı birşeyler?
Logged
Metallic
Uzman
*****
Mesaj Sayısı: 1.081



Üyelik Bilgileri
« Yanıtla #22 : Mart 03, 2009, 20:02:02 ÖS »

hades:
şimdilik donanım bazında takılıyorum, code için biraz daha var
ilk bilgisayarım 48K+ idi, lise1'de almıştım, yıl 1985
bir süre basic ile uğraşıp ardından cazibesine dayanamayıp c64 aldım
keşke satmasaymışım, şimdi hala arıyorum bir eşini
z80 assembly ilgimi çekiyor, ihmal ettik zamanında

edit: yıl yanlış olmuş
« Son Düzenleme: Nisan 23, 2012, 15:53:08 ÖS Gönderen: Metallic » Logged
hades
Üye
****
Mesaj Sayısı: 332



Üyelik Bilgileri
« Yanıtla #23 : Mart 03, 2009, 20:27:09 ÖS »

Metallic, 6510'dan sonra en kısa zamanda seni de Z80'de görmek isteriz.


(Olmuyor kardeşim, kod yazmadan duramıyorum. En fazla 1 hafta. Tutmayın beni. 40'ından sonra bu ne iştah, bu ne gaz böyle. Hayırdır inşallah!! ZXSpin ile ZX'e Spin attıracağım )
Logged
Metallic
Uzman
*****
Mesaj Sayısı: 1.081



Üyelik Bilgileri
« Yanıtla #24 : Mart 03, 2009, 20:48:58 ÖS »

Hades:
tamam, 6510'da da bir şeyler yaparız umarım
gerçi benim 1 senem var senin kadar hareketlenmek için
Logged
Arda
Uzman
*****
Mesaj Sayısı: 2.326


I'm *the* guy from Argleton


Üyelik Bilgileri WWW
« Yanıtla #25 : Mart 03, 2009, 21:58:49 ÖS »

AY öğrenene kadar eylemlerim 48K'da devam edecek.


Ay çok zor bir iş olmaması lazım hades. daha önce basic içinden kullanmıştım, harddiskimde yatan AY ile ilgili bilgiyi içeren kısa dökümanı da siteme yükledim:
http://www.veanewmedia.com/ardae/fish/ay8910-2.htm

Olay şu, iki port var, biri data port, biri kontrol port. AY'nin kendi yazmaçlarına bilgiyi yüklüyorsun o çalıyor. bitti detayı yukarıdaki linkte. Metin kısa ve öz, rahatça anlarsın diye tahmin ediyorum.

Kod:
        10 LET ayctrl=65533
        20 LET aydata = 49149
        30 OUT ayctrl,7 : REM select the mixer register
        40 OUT aydata,62 : REM enable channel A only
        50 OUT ayctrl,1 : REM channel A course pitch
        60 OUT aydata,50 : REM set it
        70 OUT ayctrl,8 : REM channel A volume
        80 OUT aydata,15 : REM set it to maximum

aynı kodun asm hali:

Kod:
      ayctrl  EQU     65533
        aydata  EQU     49149

        start   ld      d,7             ; select the mixer register
                ld      e,62            ; enable channel A only
                call    outer           ; send it to PSG
                ld      d,1             ; channel A course pitch
                ld      e,50            ; pitch value
                call    outer           ; send it to PSG
                ld      d,8             ; channel A volume
                ld      e,15            ; maximum
                call    outer           ; send it to PSG
                ret

        outer   ld      bc,ayctrl       ; select control port
                out     (c),d           ; send specified value
                ld      bc,aydata       ; select data port
                out     (c),e           ; send specified value
                ret

Logged

ilkergorkem
Üye
***
Mesaj Sayısı: 179



Üyelik Bilgileri
« Yanıtla #26 : Mart 04, 2009, 23:03:24 ÖS »

Tebrikler Hades ,

Kısa bir sürede çok güzel bir iş çıkardın. Border alanlarını ayrı ayrı renklendirmen hep acaba niye olmaz diye merak ettiğim bir olaydı . Şimdi bunu yapan birisini tanımak çok güzel. 
Logged

ZX Spectrum 48K+ , Amiga 1200 , ZX Spectrum +2 , Amstrad 6128
---------------
7D9 Oyun Yarışması 2.si Board Soccer
7DX Oyun Yarışması 3.sü Run Baby Run
7DX 2013 Oyun Yarışması 3.sü Falcon Patrol
hades
Üye
****
Mesaj Sayısı: 332



Üyelik Bilgileri
« Yanıtla #27 : Mart 05, 2009, 22:04:47 ÖS »

Arda;
AY dosyalarının playeri içinde mi? Tıpkı C64'teki gibi extra bir işlem yapmadan sadece bir CALL komutuyla çaldırabiliyor muyuz?

Yani C64'te ilk önce LDA #$00 - JSR $1000 ile müzik init yapıp, irq içinde JSR $1003 ile müziği çaldırabiliyorken buna benzer bir durum AY dosyalarında mümkün mü? Böyle bir şey varsa en kısa zamanda 128K'ya geçerim.
....
CALL INIT
....

CALL PLAY
....
ei
reti

Logged
Arda
Uzman
*****
Mesaj Sayısı: 2.326


I'm *the* guy from Argleton


Üyelik Bilgileri WWW
« Yanıtla #28 : Mart 05, 2009, 22:51:15 ÖS »

Arda;
AY dosyalarının playeri içinde mi? Tıpkı C64'teki gibi extra bir işlem yapmadan sadece bir CALL komutuyla çaldırabiliyor muyuz?


Ay dosyaları ile ilgili detaylı bilgim yok, ama player kodu içinde olduğunu biliyorum. Sonuçta bu format emulatorde çalınmak üzere tasarlanmış birşey. Emin olmak için arkadaşlara danışacağım.
Logged

Sayfa: 1 [2]   Yukarı git
Yazdır
Gitmek istediğiniz yer: