mirror of
https://github.com/ChronosX88/psyced.git
synced 2024-11-09 20:11:00 +00:00
133 lines
4.5 KiB
C
133 lines
4.5 KiB
C
/* Last Change SNAKE at DM0TUI1S on Fri, 27 Jul 1990 15:32:10 CES */
|
|
|
|
/* C64 version by CURBOIS Software, Holland.
|
|
* Amiga/UNIX/VM version by LYNX, Teldor, 1990.
|
|
* PSYC LPC version by symlynX, Berlin, 2003.
|
|
*
|
|
* $Id: basic.c,v 1.12 2007/08/15 23:58:06 lynx Exp $
|
|
*/
|
|
sys42336();
|
|
sys64738();
|
|
sys64764();
|
|
|
|
#define NAME "BASIC"
|
|
#define PLACE_HISTORY_EXPORT
|
|
#define ON_ENTER sys64738(source);
|
|
#define ON_CONVERSE sys42336(source, mc, data, vars);
|
|
#define CREATE sys64764();
|
|
#include <place.gen>
|
|
|
|
static int listflag = 0;
|
|
static int chanzcount = 0;
|
|
|
|
static mapping tab;
|
|
static string *chanz;
|
|
|
|
sys64764() {
|
|
tab = ([
|
|
"RUN": "RUN, RUN, RUN, DOESN'T ANYONE THINK OF MY LEGS?",
|
|
"?": "YOU AND YOUR ABBREVIATIONS...\nIF YOU MEAN 'PRINT' THEN WHY NOT JUST TYPE 'PRINT' ?",
|
|
"PRINT": "PRINT? DO YOU THINK I HAVE NOTHING BETTER TO DO\nTHAN TO CATER TO YOUR EVERY WHIM? LEAVE ME ALONE!",
|
|
"LOAD": "IF I THOUGHT YOU HAD ANYTHING WORTHWHILE, I WOULD",
|
|
"SAVE": "PRESS PLAY AND RECORD ON NEAREST STEREO",
|
|
"GOTO": "GO THERE YOURSELF, BUDDY!\nSEE HOW YOU LIKE IT",
|
|
"VERIFY": "NO NEED TO START THE TAPE\nI'LL VOUCH FOR IT",
|
|
"NEW": "BOY, AM I GLAD YOU GOT RID OF THAT GARBAGE\nWHY DON'T YOU LET ME REST NOW?",
|
|
"POKE": "OUCH!!!!! YOU LOOKING FOR A FAT LIP?",
|
|
"SYS": "SYS? WHAT SYS?",
|
|
"CALL": "YAAAAOOO!!! NO ANSWER",
|
|
"OPEN": "HAVE YOU GOT A CORKSCREW?",
|
|
"CLOSE": "I THINK I'LL JUST LEAVE IT OPEN, YOU'LL NEED IT LATER",
|
|
"DIM": "YEA? WELL YOU'RE NOT SO BRIGHT EITHER",
|
|
"CLR": "HMM. WOULD YOU MIND IF I HELP MYSELF TO A GUMMY BEAR?",
|
|
"FOR": "? FOR WITHOUT TO ERROR",
|
|
"GOSUB": "IF I GOSUB I MIGHT NOT RETURN!!",
|
|
"RETURN": "? RETURN WITHOUT NEXT ERROR IN 4404",
|
|
"STOP": "BREAK IN 536.5^2",
|
|
"INPUT": "YEAH, I'D EAT ANYTHING *HUNGRY*",
|
|
"TRON": "SAW THE MOVIE, EH?",
|
|
"TROFF": "WILL YOU MAKE THE MOVIE FOR THIS ONE?",
|
|
"REST": "I FORGOT HOW TO DO THAT ONE",
|
|
"DELETE": "OK, I'LL DELETE THAT GARBAGE AND ALL OTHER...",
|
|
"DATA": "23 57 89 23 60 58 30 69 94 76 48 90 47 21 83 23.",
|
|
"KILL": "NO, PLEASE DONT DO THAT, IT'S JUST A BABY!",
|
|
"LET": "YEAH, LET THERE BE ROCK",
|
|
"LLIST": "SEND ME A PRINTER IN AN EMAIL AND I'LL DO IT.",
|
|
"PEEK": "KEEP YOUR HANDS OFF, YOU MACHO!",
|
|
"END": "EVERYTHING HAS AN END, EXCEPT ME.",
|
|
"WHILE": "MEANWHILE I'LL FORMAT THE HARDDISK",
|
|
"READ": "I ALREADY ERASED IT, SORRY, I THOUGHT YOU WERE NOT GOING TO NEED IT.",
|
|
"REM": "REMARKS ARE NO USE, YOU WON'T UNDERSTAND THE PROGRAM ANYWAY.",
|
|
"WAIT": "WHAT DO YOU THINK I'M DOING?? *YAWN*",
|
|
"HELP": "NO HUMAN CAN HELP YOU NOW.",
|
|
"ERASE": "IS THERE ANYTHING LEFT TO ERASE?"
|
|
]);
|
|
/* edit erase exit get if lprint merge next
|
|
restore troff wait ... help */
|
|
|
|
chanz = ({
|
|
"? PERMISSION DENIED",
|
|
"REDO FROM HALFWAY",
|
|
"? WIND WITHOUT WELL ERROR",
|
|
"? STRING TOO MEANINGLESS ERROR",
|
|
"? DEVICE NOT PRESENTABLE ERROR",
|
|
"? TOO MANY FINGERS ON KEYBOARD ERROR",
|
|
"? ILLEGAL MOTION IN BACKFIELD ERROR",
|
|
"I THINK I HEARD A MEMORY CHIP EXPLODE!",
|
|
"I'M WRITING ON YOUR DISK !!!",
|
|
"? UNDEFINED PARACHUTE ERROR",
|
|
"? STRANGE OUT OF RANGE ERROR",
|
|
"SIT BACK A WAYS, YOU'LL RUIN YOUR EYES"
|
|
});
|
|
}
|
|
|
|
#if 0
|
|
# define puts(string) castmsg(ME, "_notice_application_basic", string, ([]))
|
|
#else
|
|
# define puts(string) call_out(#'castmsg, 2*(delay++), ME, "_notice_application_basic", string, ([]))
|
|
#endif
|
|
#define tell(user,string) sendmsg(user,"_notice_application_basic",string,([]))
|
|
|
|
sys64738(source) {
|
|
tell(source, "**** CBM BASIC V2 ****");
|
|
tell(source, "49152 BASIC BYTES FREE");
|
|
tell(source, "READY.");
|
|
}
|
|
|
|
sys42336(source, mc, data, mapping vars) {
|
|
string t;
|
|
int delay = random(4);
|
|
|
|
if (stringp(data)) {
|
|
sscanf(data, "%s %s", data, t);
|
|
data = upper_case(data);
|
|
if (tab[data]) puts(tab[data]);
|
|
else if (data == "LIST") {
|
|
listflag = !listflag;
|
|
if (listflag) {
|
|
puts ("DIDN'T YOU WRITE IT DOWN SOMEWHERE?");
|
|
puts ("YOU KNOW HOW UNRELIABLE COMPUTERS CAN BE");
|
|
puts ("MAYBE TRY AGAIN");
|
|
} else {
|
|
puts ("10 DIMA(-5):FRY=1TO10:NEXTWEEK:POKE99,OUCH!:WAITFORIT:OPENFILEORRASP");
|
|
puts ("20 IF 1 HEN CAN LAY 3 EGGS IN ONE DAY");
|
|
puts ("30 HOW LONG WOULD IT TAKE A ROOSTER TO");
|
|
puts ("40 LAY A GOLDEN DOORKNOB?");
|
|
puts ("41.5 IFPEEKABOO(53280)=EGG THEN HALT AND CATCH FIRE");
|
|
puts ("50 END OF THE BEGINNING");
|
|
}
|
|
} else if (data == "DIR") {
|
|
puts("DIRECTORY OF BERLIN, IOWA:");
|
|
puts(" HELLO.BAS GOTOSLEEP.BAS");
|
|
puts(" WHOLEPILACRAP.BAS IRC.BAS");
|
|
puts("8734123445782 BYTES OF PIZZA IN 4 BOXES.");
|
|
} else if (random(4) < 1) {
|
|
if (!chanzcount) chanzcount = sizeof(chanz);
|
|
puts (chanz[--chanzcount]);
|
|
}
|
|
else return;
|
|
puts ("READY.");
|
|
}
|
|
}
|
|
|