Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- module vScroll8btp
- linesCount: equ 64
- align 256
- scrAddr:
- block linesCount*2
- //------------------------------
- run: // start prog
- xor a
- out (254),a
- call build
- repeat:
- ei
- halt
- call txtImitation
- call ldiVersion
- jr repeat
- //------------------------------
- build:
- ld de,#4800
- ld hl,scrAddr
- ld b,linesCount
- nextLineAddr:
- ld (hl),e
- inc l
- ld (hl),d
- inc l
- ; next screen line address
- inc d
- ld a,d
- and 7
- jr nz,$+12
- ld a,e
- add a,32
- ld e,a
- jr c,$+6
- ld a,d
- sub 8
- ld d,a
- djnz nextLineAddr
- ret
- //------------------------------
- ldiVersion:
- ld hl,scrAddr
- ld a,linesCount
- nextLineLdi:
- push hl
- ld e,(hl)
- inc l
- ld d,(hl)
- inc l
- ld c,(hl)
- inc l
- ld h,(hl)
- ld l,c
- dup 32
- ldi
- edup
- pop hl
- inc l
- inc l
- dec a
- jr nz,nextLineLdi
- ret
- //------------------------------
- txtImitation:
- ld hl,run-2
- ld a,(hl)
- inc l
- ld h,(hl)
- ld l,a
- ld b,32
- plt:
- ld a,r
- ld (hl),a
- inc l
- djnz plt
- ret
- //------------------------------
- endmodule
Advertisement
Add Comment
Please, Sign In to add comment