mirror of
https://github.com/deater/dos33fsprogs.git
synced 2025-01-23 11:33:07 +00:00
text: move
This commit is contained in:
parent
217a422ab7
commit
fad5af7ac2
31
textmode/textscroll/Makefile
Normal file
31
textmode/textscroll/Makefile
Normal file
@ -0,0 +1,31 @@
|
||||
include ../../Makefile.inc
|
||||
|
||||
DOS33 = ../../utils/dos33fs-utils/dos33
|
||||
TOKENIZE = ../../utils/asoft_basic-utils/tokenize_asoft
|
||||
LINKERSCRIPTS = ../../linker_scripts
|
||||
EMPTYDISK = ../../empty_disk/empty.dsk
|
||||
|
||||
all: textscroll.dsk
|
||||
|
||||
textscroll.dsk: HELLO MOVE
|
||||
cp $(EMPTYDISK) textscroll.dsk
|
||||
$(DOS33) -y textscroll.dsk SAVE A HELLO
|
||||
$(DOS33) -y textscroll.dsk BSAVE -a 0xC00 MOVE
|
||||
|
||||
###
|
||||
|
||||
HELLO: hello.bas
|
||||
$(TOKENIZE) < hello.bas > HELLO
|
||||
|
||||
###
|
||||
|
||||
MOVE: move.o
|
||||
ld65 -o MOVE move.o -C $(LINKERSCRIPTS)/apple2_c00.inc
|
||||
|
||||
move.o: move.s
|
||||
ca65 -o move.o move.s -l move.lst
|
||||
|
||||
####
|
||||
|
||||
clean:
|
||||
rm -f *~ *.o *.lst HELLO MOVE
|
2
textmode/textscroll/hello.bas
Normal file
2
textmode/textscroll/hello.bas
Normal file
@ -0,0 +1,2 @@
|
||||
5 HOME
|
||||
10 PRINT CHR$(4);"CATALOG"
|
80
textmode/textscroll/move.s
Normal file
80
textmode/textscroll/move.s
Normal file
@ -0,0 +1,80 @@
|
||||
|
||||
CH = $24
|
||||
CV = $25
|
||||
|
||||
|
||||
HGR = $F3E2
|
||||
SETTXT = $FB39
|
||||
TABV = $FB5B ; store A in CV and call MON_VTAB
|
||||
STORADV = $FBF0 ; store A at (BASL),CH, advancing CH, trash Y
|
||||
MON_VTAB = $FC22 ; VTAB to CV
|
||||
VTABZ = $FC24 ; VTAB to value in A
|
||||
HOME = $FC58
|
||||
|
||||
COUT = $FDED
|
||||
COUT1 = $FDF0
|
||||
COUTZ = $FDF6 ; cout but ignore inverse flag
|
||||
|
||||
ypos = $2000
|
||||
xpos = $2100
|
||||
|
||||
move:
|
||||
jsr HGR
|
||||
jsr SETTXT
|
||||
|
||||
|
||||
next_frame:
|
||||
ldx #0
|
||||
next_text:
|
||||
lda xpos,X
|
||||
bne not_new
|
||||
|
||||
new_text:
|
||||
lda #30
|
||||
sta xpos,X
|
||||
|
||||
txa
|
||||
sta ypos,X
|
||||
|
||||
|
||||
|
||||
not_new:
|
||||
lda xpos,X
|
||||
sta CH
|
||||
lda ypos,X
|
||||
sta CV
|
||||
|
||||
jsr MON_VTAB
|
||||
|
||||
txa
|
||||
pha
|
||||
|
||||
ldx #0
|
||||
big_loop:
|
||||
lda text,X
|
||||
|
||||
bmi big_done
|
||||
|
||||
ora #$80
|
||||
jsr STORADV
|
||||
inx
|
||||
bne big_loop
|
||||
|
||||
big_done:
|
||||
|
||||
pla
|
||||
tax
|
||||
|
||||
dec xpos,X
|
||||
|
||||
inx
|
||||
cpx #20
|
||||
bne next_text
|
||||
|
||||
jsr HOME
|
||||
|
||||
jmp next_frame
|
||||
|
||||
text:
|
||||
.byte "HELL",'O'|$80
|
||||
|
Loading…
x
Reference in New Issue
Block a user