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 [3]   Aşağı git
Yazdır
Gönderen Konu: SPECTRUM İÇİN Z80 ASM ÖRNEKLERİ  (Okunma Sayısı 22541 defa)
0 Üye ve 1 Ziyaretçi konuyu incelemekte.
ilkergorkem
Üye
***
Mesaj Sayısı: 179



Üyelik Bilgileri
« Yanıtla #30 : Ocak 12, 2009, 19:56:11 ÖS »

Slm Arda,
Aynen dediğin gibi yaptım zaten dün gece ve oldu da. Ama benim denemek istediğim, atic atac yada başka bir oyunun screen shoot ını alıp bu kodda uygulamak.
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
мemrah
Uzman
*****
Mesaj Sayısı: 1.363



Üyelik Bilgileri
« Yanıtla #31 : Ocak 12, 2009, 20:07:51 ÖS »

ilker, selam. Soyledigini yapmanin bir suru yolu var. En basitlerinden bahsedeyim. ZX Spin kullandigini varsayarak, herhangi bir SCR dosyasini Spin'in emulasyon penceresine cekersen zaten icerigini spectrum'da 16384'ten itibaren ekran bellegine yukler. Sana ekte bir tane SCR gonderiyorum (zipledim cunku forum scr dosyasini kabul etmedi) Zip'ten cikarttigin SCR dosyasini bir kenara (ornegin masa ustune) al. Uzerinde calistigin kodu assemble et. Daha sonra eger 128 modunda isen EDIT menusunden SCREEN moduna gecmeni tavsiye ederim ki editor surekli ekrani silmeye kalkmasin. Daha sonra SCR dosyasini SPIN'in ana penceresi uzerine surukle ve birak... Resim ekranda... Daha sonra RANDOMIZE USR XXXXX ile kodu calistirabilirsin..

Diger yollar, oyunlarin TAP dosyasinin icine tape browser ile girip SCREEN$ dosyasini 16384 ile 16384+6912 arasina yuklemek, vs.

(istedigin oyunun TAP dosyasini indir, Spin'de Tape Browser'da ac, uzunlugu 6912 olan dosya ekran dosyasidir, bunu bul, LOAD "" CODE 16384,6912 yaz ve TAPE' i baslat)

Ehm... soruyu aslinda Arda'ya sormussun ama beni bi nevi nobetci Arda kabul edebilirsin.

 

* Cauldron.zip (2.19 KB - Yükleme: 223 kez.)
« Son Düzenleme: Ocak 12, 2009, 20:21:49 ÖS Gönderen: memrah » Logged
Arda
Uzman
*****
Mesaj Sayısı: 2.326


I'm *the* guy from Argleton


Üyelik Bilgileri WWW
« Yanıtla #32 : Ocak 13, 2009, 01:39:28 ÖÖ »

oh forumda 4 spectrumcu var. Artık dünyayı ele geçirebiliriz.
Logged

LW3D
Yönetici
*****
Mesaj Sayısı: 10.834


Günü Kurtaran Avam Hiooargggh :)


Üyelik Bilgileri WWW
« Yanıtla #33 : Ocak 13, 2009, 10:12:39 ÖÖ »

Dünyayı bilmem ama forumu ele geçirdiniz... ve bundan büyük mutluluk duyuyoruz... Ama 4 değil 5 kişisiniz bildiğim (+ joker_)
Logged

joker_
Genel Yönetici
*****
Mesaj Sayısı: 2.122



Üyelik Bilgileri
« Yanıtla #34 : Ocak 13, 2009, 15:27:03 ÖS »

doğru biliyorsun lw3d
joker_ /ret
Logged
ilkergorkem
Üye
***
Mesaj Sayısı: 179



Üyelik Bilgileri
« Yanıtla #35 : Ocak 13, 2009, 23:46:53 ÖS »

Alıntı
Daha sonra eger 128 modunda isen EDIT menusunden SCREEN moduna gecmeni tavsiye ederim ki editor surekli ekrani silmeye kalkmasin

Alıntıdaki kısım haricinde dediklerinin hepsini yaptım (spin de edit menusu yok bende yada uykumdan göremiyorum)ama önemli değil demek istediğini anladım. Ve 3 yeni şey öğrenip geceyi başarıyla bitirmenin mutluluğu ile yatağa gidiyorum.

güzel anlatımın için teşekkürler memrah
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
мemrah
Uzman
*****
Mesaj Sayısı: 1.363



Üyelik Bilgileri
« Yanıtla #36 : Ocak 14, 2009, 00:29:38 ÖÖ »

EDIT menusu SPIN'in menulerinden birinde degil, 128K spectrumlarda, 128BASIC modundayken SHIFT+1 tusuna basinca cikar, buradaki seceneklerden birisi de SCREEN'dir. Secince, cursor ekranin alt iki satirina hapsedilir,bu alanin disina cikmaz, boylece ekrandaki resmin silinmesi onlenir. Eger SPIN'i 48K modunda kullaniyorsan bu EDIT menusu ozelligi calismaz tabi. 128K modu mu 48K modu mu kullanacagin senin tercihine kalmis. 


* ZX-Edit Menu.jpg (120.03 KB, 718x720 - Görüntüleme: 1411 kez.)
« Son Düzenleme: Ocak 14, 2009, 00:45:32 ÖÖ Gönderen: memrah » Logged
Arda
Uzman
*****
Mesaj Sayısı: 2.326


I'm *the* guy from Argleton


Üyelik Bilgileri WWW
« Yanıtla #37 : Ocak 14, 2009, 02:05:48 ÖÖ »

burada verilen örnekleri 48k modunda denemek yerinde olacaktır.

şimdilik 128k modunu karıştırmayın.
Logged

hades
Üye
****
Mesaj Sayısı: 334



Üyelik Bilgileri
« Yanıtla #38 : Ocak 14, 2009, 23:55:38 ÖS »

Şimdiki örneğimiz 70 byte uzunluğunda alternatif bir ekran silme efekti.
Ekrana birşeyler yazın, kodu deerleyin ve RANDOMIZE USR 32768 ile ekranın silinmesini izleyin.

Kod:
;-----------------------------------------------;
;       ekran silme efekti - 1 ;
;        14-01-2009 hades/ret ;
;-----------------------------------------------;

org 32768

main ld d,8 ; islem sayaci
;------------------------------------------------
loop4 push de ; islem sayacini sakla ; 5
ld hl,4000h ; ekran bellegi baslangic adresi
ld c,20h ; sütun sayaci
;------------------------------------------------
loop3 ld b,3 ; blok sayaci
push hl ; ekran adresini sakla (4000h,4001h, ..... ,57feh,57ffh) ; 4
;------------------------------------------------
loop2 push bc ; blok ve sütun sayaçlarini sakla ; 3
push hl ; o anki ekran blok adresini sakla (4000h,4800h,5000h) ; 2
ld c,8 ; bir bloktaki karakter sayaci
;------------------------------------------------
loop1 push hl ; o anki karakterin ekran adresini sakla (4000h,4020h, ..... ,57e0h) ; 1
ld b,8 ; bir karakterdeki pixel satiri sayaci
;------------------------------------------------
loop0 sla (hl) ; o anki karakter pixel satirini bir bit sola kaydir
;------------------------------------------------
ld e,16 ; gecikme sayaci
delay dec e ; gecikme sayacini 1 azalt
jr nz,delay ; sayaç 0 olmadiysa geciktirmeye devam et
;------------------------------------------------
inc h ; o anki karakterin bir sonraki pixel satirini elde et
djnz loop0 ; pixel satiri sayacini 1 azalt, 0 olmadiysa geri dön
;------------------------------------------------
pop hl ; saklanan ekran adresini al ; 1'
ld de,20h ; bir alt satirdaki karakter için adres farki
add hl,de ; yeni adresi elde et
dec c ; blok karakter sayacini 1 azalt
jr nz,loop1 ; sayaç 0 olmadiysa geri dön
;------------------------------------------------
pop hl ; saklanan ekran adresini al (4000h veya 4800h olabilir) ; 2'
ld de,0800h ; bir sonraki blok için adres farki
add hl,de ; sonraki blok adresini hesapla (4800h veya 5000h olabilir)
pop bc ; blok ve sütün sayaçlarini geri al ; 3'
djnz loop2 ; blok sayacini 1 azalt, 0 olmadiysa geri dön
;------------------------------------------------
pop hl ; ekran adresini al ; 4'
inc hl ; ekran adresni 1 arttir
dec c ; sütun sayacini 1 azalt
jr nz,loop3 ; sayaç 0 olmadiysa geri dön
;------------------------------------------------
pop de ; islem sayacini geri al ; 5'
dec d ; sayaci 1 azalt
jr nz,loop4 ; sayaç 0 olmadiysa geri dön
;------------------------------------------------
; bu bölüm renk bellegini siyah yapar
ld hl,5800h
ld de,5801h
ld bc,767
ld (hl),0
ldir
;-----------------------------------------------
; border rengi siyah olsun
xor a
out (254),a

ret ; mutlu son
end


* cls-1.gif (5.51 KB, 352x296 - Görüntüleme: 1511 kez.)
« Son Düzenleme: Ocak 14, 2009, 23:58:33 ÖS Gönderen: hades » Logged
Sayfa: 1 2 [3]   Yukarı git
Yazdır
Gitmek istediğiniz yer: