Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- DEVICE ZXSPECTRUM48
- LAST_K equ 23560
- org 25000
- STARTINTRO:
- call fill_screen
- call waitkey
- call scroll_picture
- call waitkey
- ret
- waitkey:
- ld hl,LAST_K
- ld (hl),0
- looper:
- ld a,(hl)
- cp 0
- jr z,looper
- ret
- fill_screen:
- ld hl,PIC1
- ld de,16384
- ld bc,6912
- ldir
- ret
- ;---------------------------------------
- scroll_picture:
- ld a,16
- loop_center:
- ;halt ; <-- slower, little smoother
- push af
- ; bitmap
- ld hl, 16385
- ld de, 16384
- bmp_l:
- ld bc, PIC2
- ld a,192
- call scroll_left
- ; attributes
- ld hl,22529
- ld de,22528
- attr_l:
- ld bc,PIC2+6144
- ld a, 24
- call scroll_left
- ; bitmap
- ld hl, 16384+6144-2
- ld de, 16384+6144-1
- bmp_r:
- ld bc, PIC2+6144-1
- ld a,192
- call scroll_right
- ; attributes
- ld hl,22528+768-2
- ld de,22528+768-1
- attr_r:
- ld bc,PIC2+6912-1
- ld a, 24
- call scroll_right
- ld hl,(bmp_l+1)
- inc hl
- ld (bmp_l+1),hl
- ld hl,(attr_l+1)
- inc hl
- ld (attr_l+1),hl
- ld hl,(bmp_r+1)
- dec hl
- ld (bmp_r+1),hl
- ld hl,(attr_r+1)
- dec hl
- ld (attr_r+1),hl
- pop af
- dec a
- jr nz,loop_center
- ret
- scroll_left:
- push bc
- loop_left:
- dup 15
- ldi
- edup
- ld bc,16
- add hl,bc
- ex (sp),hl
- ldi
- ld bc,31
- add hl,bc
- ex (sp),hl
- inc hl
- push hl
- ld hl, 16
- add hl,de
- ex hl,de
- pop hl
- dec a
- jp nz,loop_left
- pop bc
- ret
- scroll_right:
- push bc
- loop_right:
- dup 15
- ldd
- edup
- and a
- ld bc,16
- sbc hl,bc
- ex (sp),hl
- ldd
- and a
- ld bc,31
- sbc hl,bc
- ex (sp),hl
- dec hl
- push hl
- and a
- ld hl, 16
- ex hl,de
- sbc hl,de
- ex hl,de
- pop hl
- dec a
- jp nz,loop_right
- pop bc
- ret
- PIC1:
- incbin "Rory C. Green - Marauder (1988).scr"
- PIC2:
- incbin "Deborah, Jorge Azpiri - Navy Moves (1988).scr"
- SAVESNA "center.sna", STARTINTRO
Advertisement
Add Comment
Please, Sign In to add comment