Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- device zxspectrum48
- ; Author: Serdjuk
- ; Assembly: sjasmplus
- org #6000
- start:
- call spriteCreate
- mainLoop:
- ei
- halt
- spriteLines:
- ld hl,spriteData
- // get sprite line
- ld e,(hl)
- inc l
- ld d,(hl)
- inc l
- ld c,(hl)
- inc l
- ld b,(hl)
- inc l
- ld (spriteLines+1),hl // save next sprite line address
- ld (saveSp),sp
- ld sp,#5800 // end of screen address
- ld a,192
- nextScrLine:
- dup 8
- push bc
- push de
- edup
- dec a
- jr nz,nextScrLine
- ld sp,(saveSp)
- jr mainLoop
- saveSp: dw 0
- //----------sprite create---------------
- spriteCreate:
- ld a,#FF
- ld (#4002),a
- ld (#4003),a
- ld (#4006),a
- ld (#4007),a
- ld de,spriteData
- ld a,32
- nextRL:
- ld hl,#4000
- ldi
- ldi
- ldi
- ldi
- ld l,7
- ld b,l
- inc b
- shiftLoop:
- rl (hl)
- dec l
- djnz shiftLoop
- dec a
- jr nz,nextRL
- ld hl,spriteData
- ld de,spriteData+128
- ld bc,128
- ldir
- ret
- endCode: equ $
- //--------------------------------------------
- align 256
- spriteData:
- db #0,#FF,#FF,#0
- block 252,0
- //--------------------------------------------
- endData: equ $
- display "size: ",/A, endCode - start
- savetap "main.tap",start
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement