two-liners: add some more examples

This commit is contained in:
Vince Weaver 2020-10-10 17:49:21 -04:00
parent f1959df59b
commit 5233e24790
8 changed files with 62 additions and 13 deletions

View File

@ -23,7 +23,7 @@ raster:
lsr HGRPAGE ; set to $20 (HGR2 set this to $40)
ldy #100
; ldy #100
big_loop:
lda #0 ; 2 ; blueline
@ -32,20 +32,18 @@ big_loop:
lda #4 ; 2 ; redline
jsr one_line ; 3
tya ; YPOS
bmi go_neg ; if >128, flip to go up
cmp #64 ; if < 64, flip to go down
bcs do_add ; otherwise, nothing
bcs smc ; otherwise, nothing
go_pos:
ldx #$c8
.byte $2C ; bit trick
go_neg:
ldx #$88
stx smc
do_add:
clc ; move the bar
smc:
smc: ; move the bar
iny ; c8=iny, 88=dey
bne big_loop ; bra
@ -69,7 +67,7 @@ color_loop: ; get right color
lda LINE ;(2)
cmp #$4 ;(2)
bcc none ;(2)
eor #$3 ; 00 01 10 11 00 01 10 11
eor #$3 ; 2 00 01 10 11 00 01 10 11
none: ; 11 10 01 00
and #$3 ;(2)
@ -93,7 +91,7 @@ draw_line_color:
ldy #0
jsr HPOSN ; put into GBASL addr of coord (Y,X),A
ldy #39
; ldy #39
loop_it:
; set page2
sta $C055 ; 3
@ -121,7 +119,7 @@ loop_it:
;==============================
next_pixel:
lda COLOR ; 2
sta (GBASL),Y ; 3
sta (GBASL),Y ; 2
cmp #$80 ; 2
rol COLOR ; 2
rts ; 1

26
dhgr/raster5.s Normal file
View File

@ -0,0 +1,26 @@
ldy #0
loop:
lda offset,Y
asl
asl
1 DEFFNP(X)=PEEK(800+I)-32
2 J=0:FORI=0TO119STEP4
3 POKE768+J,FNP(0)*4+FNP(1)/16
4 POKE769+J,FNP(1)*16+FMP(3)/4)
5 POKE770+J,FNP(3)*64+FNP(4)
6 J=J+3
iny
bne loop
jmp $300
offset:
.byte "(.CS(-;SC5? C0/ C0# 1NF@9*H (#P#J0$@, ",34
.byte "8, ')0+P(HL(LHH*.+0 8R-3CA?^8212HJ0&%_:G]R0&0 D(#*0 89?^JO7X#A?^82.G]H@",34
.byte "@ ",34
.byte "@1]*@GC57 ('P#C57 ('P#B!3Q:*K&_13+8*G_D2G)@",34
.byte "G_8 1(CP W>O_8!8 "

View File

@ -7,7 +7,8 @@ all: entropy.dsk convert_to convert_back convert_qkumba
entropy.dsk: ENTROPY ENTROPY.BAS E2.BAS FLAME.BAS FLAME2.BAS \
CIRCLES.BAS AUTUMN.BAS QKUMBA.BAS ASTEROID.BAS PERSON.BAS SHIP.BAS \
CONCERT.BAS NYAN.BAS RASTER.BAS RASTER2.BAS RASTER3.BAS LOTS.BAS LOAD
CONCERT.BAS NYAN.BAS RASTER.BAS RASTER2.BAS RASTER3.BAS LOTS.BAS LOAD \
RASTER4.BAS RASTER5.BAS
$(DOS33) -y entropy.dsk BSAVE -a 0x0C00 ENTROPY
$(DOS33) -y entropy.dsk BSAVE -a 0x0300 LOAD
$(DOS33) -y entropy.dsk SAVE A ENTROPY.BAS
@ -25,6 +26,8 @@ entropy.dsk: ENTROPY ENTROPY.BAS E2.BAS FLAME.BAS FLAME2.BAS \
$(DOS33) -y entropy.dsk SAVE A RASTER.BAS
$(DOS33) -y entropy.dsk SAVE A RASTER2.BAS
$(DOS33) -y entropy.dsk SAVE A RASTER3.BAS
$(DOS33) -y entropy.dsk SAVE A RASTER4.BAS
$(DOS33) -y entropy.dsk SAVE A RASTER5.BAS
$(DOS33) -y entropy.dsk SAVE A LOTS.BAS
###
@ -151,6 +154,17 @@ RASTER2.BAS: raster2.bas
RASTER3.BAS: raster3.bas
$(TOKENIZE) < raster3.bas > RASTER3.BAS
####
RASTER4.BAS: raster4.bas
$(TOKENIZE) < raster4.bas > RASTER4.BAS
####
RASTER5.BAS: raster5.bas
$(TOKENIZE) < raster5.bas > RASTER5.BAS
####

View File

@ -22,7 +22,7 @@ int main(int argc, char **argv) {
enc[e]=0;
printf("%s\n",enc);
printf("2FORI=0TO%d:C=INT((PEEK(%d+I/3)-32)/4^(I-INT(I/3)*3)):POKE768+I,((PEEK(2054+I)-32)*4)+C-INT(C/4)*4:NEXT:CALL768\n",
printf("2FORI=0TO%d:C%%=(PEEK(%d+I/3)-32)/4^(I-INT(I/3)*3):POKE768+I,C%%+4*(PEEK(2054+I)-32-INT(C%%/4)):NEXT:CALL768\n",
filesize,2054+filesize);
return 0;

2
two-liners/raster2.bas Normal file
View File

@ -0,0 +1,2 @@
1REM(X\(V\C7PC#PC PJ(AYJ A_J(Y_I_(* Y_I_RPT[3$ H H ($]H)C5P(1 C5P(1 B$\8I_D)R@)_8 XP)%%1&9Z)OF!S+ !7 ' #1GA#
2FORI=0TO77:C=INT((PEEK(2132+I/3)-32)/4^(I-INT(I/3)*3)):POKE768+I,((PEEK(2054+I)-32)*4)+C-INT(C/4)*4:NEXT:CALL768

2
two-liners/raster3.bas Normal file
View File

@ -0,0 +1,2 @@
1REM(X\(V\C7PC#PC PJ(AYA_J!A_I_,!R0L"H +H_C* &: A_I_O: \"K* , &:,A_I_.Y_H H ($]H)C5P(8 C5P(8 B$\Q_,M$SI_D)R@)_8 $(,,($ XP)%%1F=E< &N/5:]@/3W)E $<!> .D10GA#Y;L
2FORI=0TO115:C=INT((PEEK(2169+I/3)-32)/4^(I-INT(I/3)*3)):POKE768+I,((PEEK(2054+I)-32)*4)+C-INT(C/4)*4:NEXT:CALL768

View File

@ -1,2 +1,2 @@
1REM(X\(V\C7PC#PC PJ(AYA_J!A_I_,!R0L"H +H_C* &: A_I_O: \"K* , &:,A_I_.Y_H H ($]H)C5P(8 C5P(8 B$\Q_,M$SI_D)R@)_8 $(,,($ XP)%%1F=E< &N/5:]@/3W)E $<!> .D10GA#Y;L
2FORI=0TO115:C=INT((PEEK(2169+I/3)-32)/4^(I-INT(I/3)*3)):POKE768+I,((PEEK(2054+I)-32)*4)+C-INT(C/4)*4:NEXT:CALL768
1REM(X\(V\C7PC#PC P1YJ (+ J!(+ F,!R0L"HR+HBC* RTYA_F2$JJ!A_I_R!D 2 * &9_JO= A_F2Y_H H ($]H)C5P(; C5P(; B$\:JQ_$R8I_D)R@)_8 $(, W[_XP)%%:0'TP!((Z !!=5!V-AY-4"0P%T!T0@QT9X0.Y
2FORI=768TO894:C%=(PEEK(1924+I/3)-32)/4^(I-INT(I/3)*3):POKEI,C%+4*(PEEK(1286+I)-32-INT(C%/4)):NEXT:CALL768

7
two-liners/raster5.bas Normal file
View File

@ -0,0 +1,7 @@
1 DEFFNP(X)=PEEK(2193+I+X)-32
2 J=0:FORI=0TO119STEP4
3 POKE768+J,FNP(0)*4+FNP(1)/16
4 POKE769+J,FNP(1)*16+FNP(3)/4
5 POKE770+J,FNP(3)*64+FNP(4)
6 J=J+3:NEXT
8REM(.CS(-;SC5? C0/ C0# 1NF@9*H (#P#J0$@, "8, ')0+P(HL(LHH*.+0 8R-3CA?^8212HJ0&%_:G]R0&0 D(#*0 89?^JO7X#A?^82.G]H@"@ "@1]*@GC57 ('P#C57 ('P#B!3Q:*K&_13+8*G_D2G)@"G_8 1(CP W>O_8!8