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ı 22544 defa)
0 Üye ve 1 Ziyaretçi konuyu incelemekte.
hades
Üye
****
Mesaj Sayısı: 334



Üyelik Bilgileri
« : Aralık 30, 2008, 22:56:59 ÖS »

Bu başlıkta basit asm rutinlerini paylaşmayı düşünüyorum. Mümkün olduğunca bilgi amaçlı soru/cevap/paylaşım mesajlarınızı yazınız.

İlk örneğimiz renk belleği kullanılarak yapılan basit bir colorbar rutini. Sadece 24 byte uzunluğunda.

Kod:
;---------------------------------------;
;    COLOR BAR DEMO ;
; 30-12-2008 / HADES ;
;---------------------------------------;

org 32768

main ld hl,22528 ;attributes memory start
ld b,24 ;line counter
loop2 ld a,64 ;0=normal 64=bright
ld c,8 ;color bar counter
loop1 ld d,4 ;row counter
loop0 ld (hl),a ;aküdeki deger memorye
inc hl ;memory adresi+1
dec d ;row counter-1
jr nz,loop0 ;0 degilse loop0'a git
add a,8 ;0 olduysa a+8
dec c ;color bar counter-1
jr nz,loop1 ;0 degilse loop1'e git
djnz loop2 ;line counter-1, 0 degilse
;loop2'ye git
ret ;0 olduysa programi bitir.
end


* colorbar.gif (3.19 KB, 352x296 - Görüntüleme: 1548 kez.)
« Son Düzenleme: Ocak 01, 2009, 14:26:23 ÖS Gönderen: hades » Logged
hades
Üye
****
Mesaj Sayısı: 334



Üyelik Bilgileri
« Yanıtla #1 : Aralık 31, 2008, 14:02:49 ÖS »

Daha önce başka bir başlıkta yazmış olduğum kodu buraya ekliyorum.

Kod:
;---------------------------------------;
; TEXT STRECH DEMO V1.0 ;
; 28-12-2008 / HADES ;
;---------------------------------------;
org 32768

main ld a,2
  call 1601h
  ; call 0d6bh ;CLS command
xor a
out (254),a
ld b,endmsg-msg
ld hl,msg
loop0 ld a,(hl)
rst 10h ;PRINT command
inc hl
djnz loop0
call longdelay
;--------------------------------------
line7 call la47004020
;--------------------------------------
line6 call la46004700
call la40204120
;--------------------------------------
line5 call la45004600
call la47004020
call la41204220
;--------------------------------------
line4 call la44004500
call la46004700
call la40204120
call la42204320
;--------------------------------------
line3 call la43004400
call la45004600
call la47004020
call la41204220
call la43204420
;-------------------------------------
line2 call la42004300
call la44004500
call la46004700
call la40204120
call la42204320
call la44204520
;-------------------------------------
line1 call la41004200
call la43004400
call la45004600
call la47004020
call la41204220
call la43204420
call la45204620
;-------------------------------------
line0 call la42004300
call la44004500
call la46004700
call la40204120
call la42204320
call la44204520
call la46204720
;--------------------------------------
call longdelay
xx jp main
;---------------------------------------
longdelay ld d,40
long call delay
dec d
jr nz,long
ret
;---------------------------------------
la41004200 ld hl,4100h
ld de,4200h
jp transfer
;---------------------------------------
la42004300 ld hl,4200h
ld de,4300h
jp transfer
;---------------------------------------
la43004400 ld hl,4300h
ld de,4400h
jp transfer
;---------------------------------------
la44004500 ld hl,4400h
ld de,4500h
jp transfer
;---------------------------------------
la45004600 ld hl,4500h
ld de,4600h
jp transfer
;---------------------------------------
la46004700 ld hl,4600h
ld de,4700h
jp transfer
;---------------------------------------
la47004020 ld hl,4700h
ld de,4020h
jp transfer
;---------------------------------------
la40204120 ld hl,4020h
ld de,4120h
jp transfer
;---------------------------------------
la41204220 ld hl,4120h
ld de,4220h
jp transfer
;---------------------------------------
la42204320 ld hl,4220h
ld de,4320h
jp transfer
;---------------------------------------
la43204420 ld hl,4320h
ld de,4420h
jp transfer
;---------------------------------------
la44204520 ld hl,4420h
ld de,4520h
jp transfer
;---------------------------------------
la45204620 ld hl,4520h
ld de,4620h
jp transfer
;---------------------------------------
la46204720 ld hl,4620h
ld de,4720h
jp transfer
;---------------------------------------
transfer ld b,20h
loop1 ld a,(hl)
ld (de),a
xor a
ld (hl),a
inc hl
inc de
djnz loop1
;--------------------------------------
delay ld bc,0020h
delay1 djnz delay1
dec c
jr nz,delay1
ret
;--------------------------------------
msg defb 16,7 ;INK 7
defb 17,0 ;PAPER 1
; defb 18,1 ;FLASH 1
defb 19,1 ;BRIGHT 1
defb 22,0,0 ;AT 0,0
defm "*359 byte demo/28-12-2008/hades*"
defm "this is my first demo for speccy"

endmsg end

http://www.freewebs.com/yenidunyalarda/strech-1.tap


* strech-1.gif (1.72 KB, 352x296 - Görüntüleme: 1423 kez.)

* strech-2.gif (1.52 KB, 352x296 - Görüntüleme: 1583 kez.)
« Son Düzenleme: Ocak 11, 2009, 00:33:01 ÖÖ Gönderen: hades » Logged
joker_
Genel Yönetici
*****
Mesaj Sayısı: 2.122



Üyelik Bilgileri
« Yanıtla #2 : Ocak 01, 2009, 13:39:14 ÖS »

hades
kodlar okunmuyor,karakterler bozuk,yada bende mi öyle görülüyor
-kodların yanlarına açıklamalarınıda yazabilirmisin,hangi satır ne yapıyor bilgimiz olur en azından.,
-spin asm yerine,c64 deki gibi note pad ile yazıp acme tarzı bir cross assambler ile compile edebileceğimiz araçlar varmı.
Logged
hades
Üye
****
Mesaj Sayısı: 334



Üyelik Bilgileri
« Yanıtla #3 : Ocak 01, 2009, 14:04:05 ÖS »

explorerde bozuk çıkıyor, firefox ta okunuyor. kod yazarken boşlukları tab ile bırakıyorum. Belki karakter bozukluğunun sebebi bu olabilir.
elimden geldiğince açıklamaları yazmaya çalışırım.
spin asm benim çok hoşuma gitti. ufak bir kullanma kılavuzu hazırlaya bilirim belki. aslında kodları notepad de yazıp spin asm de compile edebilirsin. forumda başka bir başlıkta pasmo gibi bir programdan bahsedilmişti.
Logged
joker_
Genel Yönetici
*****
Mesaj Sayısı: 2.122



Üyelik Bilgileri
« Yanıtla #4 : Ocak 01, 2009, 14:08:20 ÖS »

spinasm kullanışlı, az önce senin kodları copy paste yaptım,yine ustalığını göstermişsin. abi şu grup fikrini bence ciddi ciddi düşünelim.
Logged
ilkergorkem
Üye
***
Mesaj Sayısı: 179



Üyelik Bilgileri
« Yanıtla #5 : Ocak 01, 2009, 17:46:28 ÖS »

Bende sinclair ile ilgili forum yazılarının tamamını okudum. bir sürü bilgi edindim. Emulator ne varsa kurdum hepsinin bazı artıları var yeri geldiginde. Burdaki kodları alıp kullanmak için BASin release 14b yi kullanıyorum. Yazım kolaylığı olarak en çok BASin i begendim denemeni isterim joker.
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
Arda
Uzman
*****
Mesaj Sayısı: 2.326


I'm *the* guy from Argleton


Üyelik Bilgileri WWW
« Yanıtla #6 : Ocak 01, 2009, 18:33:53 ÖS »

Bende sinclair ile ilgili forum yazılarının tamamını okudum. bir sürü bilgi edindim. Emulator ne varsa kurdum hepsinin bazı artıları var yeri geldiginde. Burdaki kodları alıp kullanmak için BASin release 14b yi kullanıyorum. Yazım kolaylığı olarak en çok BASin i begendim denemeni isterim joker.

eve basin bir 128k speccy emulator, ayrıca assembler (14d) da gayet iyi ve aşağı yukarı stabil durumda. Yalnız unutmamalı ki Spin debugger'ı basinde mevcut değil, çünkü basin bir BASIC editörü. Assembler kısmı ise küçük asm fonksiyonları yönetmek için var. Buradaki örnekler için basin yerine Spin kullanmak daha doğru.
Logged

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



Üyelik Bilgileri
« Yanıtla #7 : Ocak 01, 2009, 20:40:39 ÖS »

Spin'in Tools seçeneğinde bulunan "48K keyboard helper" bölümünü seçince ekrana gelen pencerede "Quick BASIC"'i tıklayınca karşımıza gelen kısımda çok rahat bir şekilde program yazabiliyoruz. Satır numarasını ve komutları yaz, return'a bas, yazdıkların aynen spin ekranında. sonra RUN yaz çalıştır. Yani emulatörün ana ekranında hangi tuşta hangi komut var vs.. aramaya gerek kalmıyor.
Logged
joker_
Genel Yönetici
*****
Mesaj Sayısı: 2.122



Üyelik Bilgileri
« Yanıtla #8 : Ocak 01, 2009, 20:41:10 ÖS »

arda,
ne yaptın ne ettin sonunda forumdaki spectrumcu sayısını arttırdın,tebrikler valla  Kahkaha
Logged
joker_
Genel Yönetici
*****
Mesaj Sayısı: 2.122



Üyelik Bilgileri
« Yanıtla #9 : Ocak 01, 2009, 20:49:53 ÖS »

Spin'in Tools seçeneğinde bulunan "48K keyboard helper" bölümünü seçince ekrana gelen pencerede "Quick BASIC"'i tıklayınca karşımıza gelen kısımda çok rahat bir şekilde program yazabiliyoruz. Satır numarasını ve komutları yaz, return'a bas, yazdıkların aynen spin ekranında. sonra RUN yaz çalıştır. Yani emulatörün ana ekranında hangi tuşta hangi komut var vs.. aramaya gerek kalmıyor.
az önce denedim çok kullanışlı gerçekten,komutları yaz ekranda görünsün.
Logged
hades
Üye
****
Mesaj Sayısı: 334



Üyelik Bilgileri
« Yanıtla #10 : Ocak 02, 2009, 21:34:44 ÖS »

Gruba isim olarak "RET" kelimesini öneriyorum. Z80Asm'de geri dönüş komutudur. Bunca yıl aradan sonra Z80asm'ye bir tür geri dönüş yapmış oluyoruz.
Gruba katılmak isteyenler, farklı isimler önerebilirsiniz.
Logged
joker_
Genel Yönetici
*****
Mesaj Sayısı: 2.122



Üyelik Bilgileri
« Yanıtla #11 : Ocak 02, 2009, 21:59:53 ÖS »

bence ret güzel,
Logged
ilkergorkem
Üye
***
Mesaj Sayısı: 179



Üyelik Bilgileri
« Yanıtla #12 : Ocak 02, 2009, 22:11:17 ÖS »

evet cuk oturmus RET . benimde ogrendigim ilk 3 komuttan biri oldu zaten.
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ı: 334



Üyelik Bilgileri
« Yanıtla #13 : Ocak 04, 2009, 00:53:43 ÖÖ »

İlk 256 (242) byte demomu upload ettim.

www.freewebs.com/yenidunyalarda/256b-1.zip





* 256byte-1.gif (1.52 KB, 352x296 - Görüntüleme: 1525 kez.)
« Son Düzenleme: Ocak 04, 2009, 14:09:41 ÖS Gönderen: hades » Logged
ilkergorkem
Üye
***
Mesaj Sayısı: 179



Üyelik Bilgileri
« Yanıtla #14 : Ocak 04, 2009, 01:03:05 ÖÖ »

off ya bende yapmak istiyorum böyle şeyler. Benim diyecegim tek şey çok güzel olmuş tebrikler.
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
Sayfa: [1] 2 3   Yukarı git
Yazdır
Gitmek istediğiniz yer: