Hi good afternoon.
asm-source converted to "code".
the sprite program in grafikmodus just 596 bytes in vforth.
start with "go" and the sprite pixelwise right and left control with Q / W.
Code: Select all
variable start
create daten0 0 c, 0 c,
create daten
24 c, 24 c, 60 c, 126 c, 255 c, 24 c, 36 c, 66 c,
255 c, 129 c, 129 c, 129 c, 129 c, 129 c, 129 c, 255 c,
create daten1
255 c, 129 c, 129 c, 129 c, 129 c, 129 c, 129 c, 255 c,
255 c, 129 c, 129 c, 129 c, 129 c, 129 c, 129 c, 255 c,
hex
' lit 1a + constant next
: code create here dup body> ! ; immediate
code shiftre
86 c, 4d c,
a2 c, 0 c, bd c, 0 c, 11 c, 4a c, 7e c, 10 c, 11 c, 7e c,
20 c, 11 c, 7e c, 30 c, 11 c, 7e c, 40 c, 11 c, 7e c, 50 c,
11 c, 7e c, 60 c, 11 c, 7e c, 70 c, 11 c, 7e c, 80 c, 11 c,
7e c, 90 c, 11 c, 7e c, a0 c, 11 c, 7e c, b0 c, 11 c, 7e c,
c0 c, 11 c, 7e c, d0 c, 11 c, 7e c, e0 c, 11 c, 7e c, f0 c,
11 c, 7e c, 0 c, 12 c, 7e c, 10 c, 12 c, 7e c, 20 c, 12 c,
7e c, 30 c, 12 c, 7e c, 40 c, 12 c, 7e c, 0 c, 11 c, e8 c,
e0 c, 10 c, d0 c, b8 c, a6 c, 4d c,
4c c, next ,
code shiftli
86 c, 4d c,
a2 c, 0 c, bd c, 0 c, 11 c, bd c, 0 c, 11 c, a c, 3e c,
40 c, 12 c, 3e c, 30 c, 12 c, 3e c, 20 c, 12 c, 3e c, 10 c,
12 c, 3e c, 0 c, 12 c, 3e c, f0 c, 11 c, 3e c, e0 c, 11 c,
3e c, d0 c, 11 c, 3e c, c0 c, 11 c, 3e c, b0 c, 11 c, 3e c,
a0 c, 11 c, 3e c, 90 c, 11 c, 3e c, 80 c, 11 c, 3e c, 70 c,
11 c, 3e c, 60 c, 11 c, 3e c, 50 c, 11 c, 3e c, 40 c, 11 c,
3e c, 30 c, 11 c, 3e c, 20 c, 11 c, 3e c, 10 c, 11 c, 3e c,
0 c, 11 c, e8 c, e0 c, 10 c, d0 c, b5 c, a6 c, 4d c,
4c c, next ,
decimal
: grafikscr
8048 4352 do 0 i c! loop
151 36867 c! 21 36866 c! 204 36869 c! 14 36864 c!
256 16 do i 4096 i + 16 - c! loop
256 16 do 6 i 37888 + 16 - c! loop ;
: ti 500 0 do loop ;
: setze
4352 start !
16 0 do daten i + c@ start @ i + c! loop ;
: gehe
grafikscr
setze
begin
ti
197 c@
dup 48 = if shiftli then
dup 49 = if shiftre then
dup 9 = if then
41 = if then
?terminal
until ;
Code: Select all
!to "grafshiftli.p", cbm
ldx #0
leftshift
lda 4352,x
lda 4352,x
asl
rol 4352+320 ,x
rol 4352+304 ,x
rol 4352+288 ,x
rol 4352+272 ,x
rol 4352+256 ,x
rol 4352+240 ,x
rol 4352+224 ,x
rol 4352+208 ,x
rol 4352+192 ,x
rol 4352+176 ,x
rol 4352+160 ,x
rol 4352+144 ,x
rol 4352+128 ,x
rol 4352+112 ,x
rol 4352+96 ,x
rol 4352+80 ,x
rol 4352+64 ,x
rol 4352+48 ,x
rol 4352+32 ,x
rol 4352+16 ,x
rol 4352,x
inx
cpx #16
bne leftshift
!to "grafshiftre.p", cbm
ldx #0
Rightshift
lda 4352,x
lsr
ror 4352+16 ,x
ror 4352+32 ,x
ror 4352+48 ,x
ror 4352+64 ,x
ror 4352+80 ,x
ror 4352+96 ,x
ror 4352+112 ,x
ror 4352+128 ,x
ror 4352+144 ,x
ror 4352+160 ,x
ror 4352+176 ,x
ror 4352+192 ,x
ror 4352+208 ,x
ror 4352+224 ,x
ror 4352+240 ,x
ror 4352+256 ,x
ror 4352+272 ,x
ror 4352+288 ,x
ror 4352+304 ,x
ror 4352+320 ,x
ror 4352,x
inx
cpx #16
bne Rightshift