From 22881013b2c786f7851dea1ce5bd378bc53ba11b Mon Sep 17 00:00:00 2001 From: Vince Weaver Date: Sun, 4 Oct 2020 23:50:13 -0400 Subject: [PATCH] twoliners: got autumn fitting --- two-liners/Makefile | 22 +++++++++++++++++---- two-liners/convert_qkumba.c | 36 +++++++++++++++++++++++------------ two-liners/qkumba_autumn.bas | 2 ++ two-liners/qkumba_seasons.bas | 2 +- 4 files changed, 45 insertions(+), 17 deletions(-) create mode 100644 two-liners/qkumba_autumn.bas diff --git a/two-liners/Makefile b/two-liners/Makefile index 0f76215f..c5bb93b0 100644 --- a/two-liners/Makefile +++ b/two-liners/Makefile @@ -3,7 +3,7 @@ include ../Makefile.inc DOS33 = ../dos33fs-utils/dos33 TOKENIZE = ../asoft_basic-utils/tokenize_asoft -all: entropy.dsk convert_to convert_back +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 LOAD @@ -27,6 +27,14 @@ convert_to.o: convert_to.c ### +convert_qkumba: convert_qkumba.o + $(CC) $(LFLAGS) -o convert_qkumba convert_qkumba.o + +convert_qkumba.o: convert_qkumba.c + $(CC) $(CFLAGS) -c convert_qkumba.c + +### + convert_back: convert_back.o $(CC) $(LFLAGS) -o convert_back convert_back.o @@ -52,8 +60,14 @@ load.o: load.s #### -QKUMBA.BAS: qkumba_seasons.bas - $(TOKENIZE) < qkumba_seasons.bas > QKUMBA.BAS +QKUMBA2.BAS: qkumba_seasons.bas + $(TOKENIZE) < qkumba_seasons.bas > QKUMBA2.BAS + +#### + +QKUMBA.BAS: qkumba_autumn.bas + $(TOKENIZE) < qkumba_autumn.bas > QKUMBA.BAS + #### @@ -91,4 +105,4 @@ CIRCLES.BAS: circles.bas #### clean: - rm -f *~ *.o *.lst ENTROPY LOAD + rm -f *~ *.o *.lst convert_to convert_from convert_qkumba ENTROPY LOAD diff --git a/two-liners/convert_qkumba.c b/two-liners/convert_qkumba.c index 52ba1871..15a5c2bf 100644 --- a/two-liners/convert_qkumba.c +++ b/two-liners/convert_qkumba.c @@ -1,14 +1,26 @@ -i = 0; -e = 0; +/* code by qkumba */ -do -{ -enc[e++] = ((in[i + 2] & 3) << 4) + ((in[i + 1] & 3) << 2) + (in[i + 0] & 3) + 32; -in[i + 0] = (in[i + 0] >> 2) + 32; -in[i + 1] = (in[i + 1] >> 2) + 32; -in[i + 2] = (in[i + 2] >> 2) + 32; -write(o, in + i, 3); +#include +#include + +int main(int argc, char **argv) { + + int i = 0; + int e = 0,filesize; + unsigned char in[1024]; + unsigned char enc[1024]; + + filesize=read(0,in,1024); + do { + enc[e++] = ((in[i + 2] & 3) << 4) + + ((in[i + 1] & 3) << 2) + (in[i + 0] & 3) + 32; + in[i + 0] = (in[i + 0] >> 2) + 32; + in[i + 1] = (in[i + 1] >> 2) + 32; + in[i + 2] = (in[i + 2] >> 2) + 32; + printf("%c%c%c",in[i],in[i+1],in[i+2]);//write(o, in + i, 3); + } while ((i += 3) < filesize); + enc[e]=0; + printf("%s\n",enc); + + return 0; } -while ((i += 3) < filesize); -write(o, enc, sizeof(enc)); - diff --git a/two-liners/qkumba_autumn.bas b/two-liners/qkumba_autumn.bas new file mode 100644 index 00000000..f4d84445 --- /dev/null +++ b/two-liners/qkumba_autumn.bas @@ -0,0 +1,2 @@ +1REM(V\I\I\B.Y\A\FY\R@:A\9\&B9\A\F9\R@:A\9\9]9]9]9]L'Y^T Y^I\:@A\D Y\.J Y\A\J Y\A\I^")^1^A^*!" JI\,HI\*\TG([]I\I\I\(5]3 P")90'6"F)=8KBI.)H%1@&1F1WA6%=:S50@"E,\ +2FORI=0TO116:C=INT((PEEK(2171+I/3)-32)/4^(I-INT(I/3)*3)):POKE768+I,((PEEK(2054+I)-32)*4)+C-INT(C/4)*4:NEXT:CALL768 diff --git a/two-liners/qkumba_seasons.bas b/two-liners/qkumba_seasons.bas index 23489cf9..4f5f2876 100644 --- a/two-liners/qkumba_seasons.bas +++ b/two-liners/qkumba_seasons.bas @@ -1,2 +1,2 @@ 1REM(V\I\I]B.Y]A\FY]R@:A]9\&B9]A]F9]R@:A]9]9]9^9^9^L'Y^T Y_I\:@A\D Y].J Y]A]J Y]A]I^")_1_A^*!" JI],HI]*\TG([]I\I]I](5]K 0,CIJ2 AJ4A 'P.(53&&.6%98:N8*YHT1C"151FM2T=:R10@.4,A0V)P -2FOR I=0TO127:C=INT((PEEK(2183+I/3)-32)/4^(I-INT(I/3)*3)):POKE 4096+I,((PEEK(2054+I)-32)*4)+C-INT(C/4)*4:NEXT:CALL4096 +2FORI=0TO127:C=INT((PEEK(2183+I/3)-32)/4^(I-INT(I/3)*3)):POKE4096+I,((PEEK(2054+I)-32)*4)+C-INT(C/4)*4:NEXT:CALL4096