MELINI from 1988 ************************************************************* This is my MONITOR PROGRAMM and its INTERPRETER PROGRAMM LANGUAGE for creating ADVENTURE GAMES alá "Tass Times in Down Town". I did this work in 1988. There is no story file, so this potential game cannot be played; even I have some small experimental "story-files", but I could not make them run. Regard it as a historical note and interactive tech-demo, where you can play with the monitor programm and start programms. The interpreter language is reminiscent of assembler language, with very rudimentary instructions, like compare instructions, but also two funcamental instructions to load pictures (with instruction ROO), and print text (with instruction TXT). Even the interaction of the user in game was intended to be programmed in this language - let us call it TRICERATOPS, since this word is also used in the monitor programm. The interpreter has two registers, X and Y, and several address modes. A special feature of this interpreter language is that it can address the floppy disk as a virtual memory. The whole floppy disk can be addressed using an integer word - from $0000 to $ffff. For exmaple, you would load an picture from disk allocated at position $2000 by: ROO/ #2000 HOW DO I START THE MONITOR? ********************************************* load"melini*",8,1 wait circa 1-2 minutes smash RESTORE HOW DO I START THE GAME? ********************************************* Enter, for exmaple, G A000 in the monitor programm. Or write an endless loop and start it: A 5000 A 5000 JMP, #5000 RUN-STOP G 5000 HOW DOES THE MONITOR WORK: ********************************************** The monitor is reminiscent of a machine code monitor. Use the following instructions: M (Hexdump) A (Assemble) L (Load L /FILENAME/ L /FILENAME/ ADDRESS (slash!)) S (Save) T (Text-writing) D (Dissassemble) G (Go) : C (Catalog Load Directory) W These instructions are followed by numbers, filenames etc. Use the following keys: SHIFT to scroll; print new further lines RUN-STOP stop assemble etc. For example: M 1000 Hexdump from $1000; use SHIFT and RUN-STOP. HOW IS THE INTERPRETER BUILD UP? **************************************************** To get a feeling for the interpreter language, best start a disassembling where something is going on in the memory: D 7000 use SHIFT and RUN-STOP The interpreter is reminiscent of machine code, and uses basic instructions and address modes. One can use the following instructions ROO (Room, loading and printing a picture on screen) TXT (Text, loading and printing a text on screen) IGR (If Greater) IKL (If Smaller) IST (If Equal?) ADD (Add) SBD (Subtract) SET SUB (Jump Subroutine) RET (Return from Subroutine) JMP (Jump) SYS BYT NOT LOD (Load Register?) SAV (Save Register?) Address modes: These are examples for the address modes of the instruction ROO: ROO, #5000 ROO/ #5000 ROO, $5000 X ROO/ #5000 Y All instructions allow all address modes, if I remember right. WHY TWO DISKS, MELINI 1 AND 2? ******************************************************** The disks are the same. Only the picture in game differs. SOURCE-CODES: ******************************************************** I have added the source codes to the disk. They are written for hypra-ass, or giga-ass. SOURCE-MONITOR this is the monitor source file SOURCE-INTERPRETER this is the source file for the interpreter language Load and list them. Note: As usual these source code files evidently cannot exactly be the latest source code files as their induced object files must slightly differ from the executable object files that are found on the MELINI disk. I can say this as for example the monitor programm uses an older interpreter language instruction "CTX", which is evidently no more used in the current monitor; it may be replaced by the instruction "SYS". WHAT IS TOOL? ******************************************************** The TOOL file is a small programm where you catch objects in the picture by moving four sprites to a rectangle. The coordinates will be used in game to know where an object is located in the picture, which you may click with a pointer. I could not find it anymore. STORY FILES: ******************************************************** I have added some story files from then. They should by executable in the monitor. But they do not work properly. See it as a historical remark. To complete the picture of this project. Or merely one "STORY" file. Seems to be just some subroutines.