Discussion:
@AppleIIBot on Twitter
(too old to reply)
Chris Harrington
2020-10-05 14:24:16 UTC
Permalink
There's a really fun project on Twitter By @KaySavetz which allows you send BASIC code in a tweet to the @AppleIIBot and get video back of the output.

Documentation at https://atari8bitbot.com/apple-ii-bot/

It's been enjoyable seeing what people can do within the character limitations in BASIC but also using loaders for assembly.

Examples:
GR Apple logo: https://twitter.com/AppleIIBot/status/1312535034931236865?s=20
GR Venetian Blinds: https://twitter.com/AppleIIBot/status/1312799782864187397?s=20
GR Fireplace: https://twitter.com/AppleIIBot/status/1312176271447605249?s=20
HGR Stars: https://twitter.com/AppleIIBot/status/1312925824782233600?s=20
HGR Buildings: https://twitter.com/AppleIIBot/status/1310363588104601603?s=20
HGR Snowflake Fractal: https://twitter.com/AppleIIBot/status/1312807057926483968?s=20

I've been pouring through old Nibble 1/2 liners to try out.
qkumba
2020-10-05 18:09:47 UTC
Permalink
Here's my encoder for payload up to 121 bytes. It's an improved version of the one that we used for the fractal.

#include <fcntl.h>
#include <io.h>
#include <malloc.h>
#include <stdio.h>

#define rem "1FORI=2144TO%d:A=INT(I/3):C=INT((PEEK(%d+A)-32)/4^(I-A*3)):POKEI,(PEEK(I)-32)*4+C-INT(C/4)*4:NEXT:CALL2144\r\n2REM%s%s\r\n"

void main(int argc, char *argv[])
{
int i, o, e, x;
unsigned long l;
unsigned char *in;
char *enc;
char decx[sizeof(rem)+(2*4)];

if (argc != 2)
{
printf("c filename");
}

i = open(argv[1], O_RDONLY | O_BINARY);
in = (char *) malloc((l = filelength(i) + 2) + 1);
in[0] = 'q';
in[1] = 'q';
read(i, in + 2, l);
close(i);
in[l] = '\0';

enc = (char *) malloc((x = (l + 2) / 3) + 1);
enc[x] = '\0';

o = open("out", O_WRONLY | O_CREAT | O_BINARY | O_TRUNC, 0x80);

i = 0;
e = 0;

do
{
char c;

if (!(i % 3))
{
enc[e++] = ((in[i + 2] & 3) << 4) + ((in[i + 1] & 3) << 2) + (in[i + 0] & 3) + 32;
}

in[i] = (in[i] >> 2) + 32;
}
while (++i < l);

_write(o, decx, sprintf(decx, rem, 2144 + l, (2142 + l) - (2142 / 3), in + 2, enc));
close(o);
}
awanderin
2020-10-05 23:28:09 UTC
Permalink
Post by Chris Harrington
the output.
Documentation at https://atari8bitbot.com/apple-ii-bot/
It's been enjoyable seeing what people can do within the character
limitations in BASIC but also using loaders for assembly.
GR Apple logo: https://twitter.com/AppleIIBot/status/1312535034931236865?s=20
GR Venetian Blinds: https://twitter.com/AppleIIBot/status/1312799782864187397?s=20
GR Fireplace: https://twitter.com/AppleIIBot/status/1312176271447605249?s=20
HGR Stars: https://twitter.com/AppleIIBot/status/1312925824782233600?s=20
HGR Buildings: https://twitter.com/AppleIIBot/status/1310363588104601603?s=20
https://twitter.com/AppleIIBot/status/1312807057926483968?s=20
I've been pouring through old Nibble 1/2 liners to try out.
The AppleIIBot isn't working at this point in time:

It says:
-----------

Oops.

The site at https://twitter.com/AppleIIBot/status/1312807057926483968?s=20 has experienced a network protocol violation that cannot be repaired.

The page you are trying to view cannot be shown because an error in the data transmission was detected.

Please contact the website owners to inform them of this problem.


--
Jerry awanderin at gmail dot com

Loading...