/* * Commodore 64 Spoof Emulator (C) Eddy Carroll, 1st April 1988 * * Module: COMMANDS.C * * Contains definitions for the commands, error messages, and standard * prompts used in the emulator. To change the messages, only this module * need be recompiled. * */ #include #include "commands.h" /* * List of commands and standard responses. Each record stores a command * name, it's length, and a "response" message for that command. * Note: The first entry corresponds to a line number being entered. * */ struct commandlist command[] = { {NULL, 4, 0, {"Hmmm...a would-be programmer, eh?\r", "In fact, this emulator doesn't\ractually emulate PROGRAMS.\r", NULL }}, {"GO AMIGA",4,0, {"Ah - very good! If you can have GO 64\ron a C128, why not GO AMIGA\r", "Nah...that won't work\r", NULL }}, {"LIST", 4, 0, {"3 Bags Flour\r6 Doz Eggs\r1 Loaf Bread\r", "1 3.5\42 Disk Drive\r1 Colour Monitor\r1 Amiga 500\r", NULL }}, {"LOAD\42$\42", 7, 0, {"You want a directory? Try a phone\rbook instead.\r", "Sorry - I don't feel up to disk access\rjust at the moment. In fact, \ I'm feelingrather depressed if you must know.\rBrain the size of a \ planet, and what\rdo people do - try and get a\rDIRECTORY. I don't know \ what the\rworld is coming too...\r", "Look, if you try that ONCE more I'll\rbe very cross\r" }}, {"LOAD", 4, 0, {"Erm...I'm afraid that this emulation\rdoesn't emulate the LOAD command.\r", "And just how do you expect me to\raccomplish that on an Amiga?\r", "Ok, I'LL load a program when YOU show\rme where you've plugged in the 1541\r" }}, {"RUN", 3, 0, {"Oh God, not another one of these\rkeep-fit addicts.\r", "Can't - my ankle's twisted!\r", NULL }}, {"SAVE", 4, 0, {"Yes! Yes! Yes! With the E.B.S.\r", "Only Jesus can do that.\r", NULL }}, {"CLOSE", 5, 0, {"Hmm ... another Public holiday?\r", "Shut up, yourself!\r", NULL }}, {"CLR", 3, 0, {"... as clear as mud, I reckon.\r", "Okay, I'm thinking clearly now.\rEverything makes perfect sense\r\ Daisy, where are you now?\r", "Pardon?\r" }}, {"CONT", 4, 0, {"Won't continue error\r", "Same to you with knobs on!\r", NULL }}, {"DATA", 4, 0, {"Blind data error.\r", "You like Police records, then?\r", NULL }}, {"DIM", 3, 0, {"I am not!\r", "It's dark enough, thanks.\r", "Okay, put on the specs, it's in\r3-d from now on.\r" }}, {"END", 3, 0, {".. of the universe ?\r", "Okay, I'm finished working.\r", NULL }}, {"GET", 3, 0, {"I'm not getting anymore messages\rfor you.\r", "I got that yesterday!\r", "I never get that kind of joke.\r" }}, {"GOSUB", 5, 0, {"Into submarines, are we?\r", "Okay, but I won't return.\r", "No! Use procedures.\r" }}, {"GO", 2, 0, {"I'm fed up going here, going there\rand never a word of thanks.\r", "Now where?\r", "I've already been there - it's very\rboring.\r" }}, {"IF", 2, 0, {"No 'ifs', be sure!\r", "If I were a rich man...\r", NULL }}, {"INPUT", 5, 0, {"Ask whatever you want, I'm not\rtelling.\r", "You'll have to ask someone else.\r", NULL }}, {"LET", 3, 0, {"Let bygones be bygones.\r", "Let it be.\r", "This computer is not to let.\r" }}, {"NEW", 4, 0, {"Okay, I'm brand new.\r", "No news today .. sorry!\r", NULL }}, {"STOP", 4, 0, {"Arrggghhh .. can't stop now.\r", "Sccrreeeeech ....\r", "Bl@@dy lollipop person!\r" }} }; int MAXCOMMANDS = 19; /* * Now come the error messages, these are printed out whenever the * emulator is given a command it doesn't recognise. * */ char *errormsg[] = { "?Too many fingers on keyboard error\r", "?String too tangled error\r", "?Formula too boring error\r", "?Novice programmer error\r", "?Computer too busy error\r", "?Atari Owner in vicinity error\r", "?Command too trivial error\r", "?Hardware malfunction error\r", "?No silver lining on cloud error\r", "?Year not a leap year error\r", "?Hyper-space misdirection error\r", "?Memory empty error\r", "?No bits to bite error\r", "?Commodore 64 incompatibility error\r", "?Invalid lexical indicator error\r", "?4th dimensional error\r", "?Nth dimensional error\r", "?Out of this world error\r", "?Too many users on system error\r", "?Too many characters on screen error\r", }; int MAXERRORS = 20; /* * Now come a few standard messages. * */ char *STARTUP = "\r **** Commodore 64 Basic V2 ****\r\r\ 64K Ram System 38911 Basic Bytes Free\r\r"; char *ABOUT = "\r *** Commodore 64 Emulator ***\r\r\ by Eddy Carroll 1st April 1988\r\r"; char *READY = "Ready.\r";