home *** CD-ROM | disk | FTP | other *** search
/ ftp.barnyard.co.uk / 2015.02.ftp.barnyard.co.uk.tar / ftp.barnyard.co.uk / cpm / walnut-creek-CDROM / SIMTEL / CPMUG / CPMUG035.ARK / FELIX.DOC < prev    next >
Text File  |  1984-04-29  |  7KB  |  182 lines

  1.    FELIX MICROCOMPUTER ANIMATION SYSTEM
  2.     --VERSION 2.1--
  3.  
  4.  
  5.    THE UNIVERSITY OF TENNESSEE/KNOXVILLE
  6.    COMPUTER SCIENCE DEPARTMENT
  7.    SEPTEMBER 18,1979
  8.  
  9.    MICHAEL MOSHELL, PROJECT DIRECTOR
  10.    LEE WITTENBERG, RESIDENT SOFTWARE GNOME
  11.      AND A FINE SUPPORTING CAST, INCLUDING:
  12.  
  13.     JANE KIENENGER,JIM MCCRAE,TYE SHULTZ,CLEMENT WONG,
  14.     MUKESH SUNDARAM,AND MANY OTHERS.
  15.  
  16.     1. OVERVIEW
  17.  
  18.     FELIX IS A SIMPLE ANIMATION SYSTEM WHICH USES
  19.     THE CROMEMCO TV DAZZLER AND D+7A ANALOG-TO-DIGITAL
  20.     CONVERTER WITH TWO JOYSTICKS, TO PRODUCE AND 
  21.     EXECUTE SIMPLE STICK FIGURE ANIMATIONS. THE 
  22.     END GOALS OF THE PROJECT ARE THESE:
  23.  
  24.         A: TO PROVIDE CLASS AND INDIVIDUAL STUDY PROJECTS
  25.            FOR ENTERTAINMENT,EDIFICATION AND EDUCATION
  26.            IN MICROCOMPUTER SOFTWARE AND GRAPHICS
  27.           ISSUES OF ALL SORTS.
  28.  
  29.         B: TO BUILD A BASIS UPON WHICH CAN BE ERECTED A
  30.            SUPERSTRUCTURE OF SOFTWARE FOR USE IN ELEMENTARY
  31.            AND SECONDARY COMPUTER SCIENCE EDUCATION.
  32.  
  33.           C: TO PROVIDE A 'COMMON GROUND' FOR HOBBYESTS AND 
  34.            ACADEMICS (AND ANYONE ELSE) WANTING TO EXCHANGE
  35.            IDEAS IN ANIMATION.
  36.  
  37.     FELIX IS FULLY DEFINED AN DOCUMENTED IN THREE TECHNICAL REPORTS
  38.         (FELIX REPORTS 1,2,3,OBVIOUSLY) WHICH ARE AVAILABLE
  39.         FROM THE UNIVERSITY OF TENNESSEE
  40.              COMPUTER SCIENCE DEPARTMENT
  41.              (ATTENTION: MICROCOMPUTER CLUB)
  42.              KNOXVILLE, TN 37916
  43.         FOR $10.00. THE SOFTWARE, IN
  44.         SOURCE CODE AND EXECUTABLE FORM, IS AVAILABLE THROUGH THE
  45.         CP/M USER'S GROUP OR FROM THE ABOVE ADDRESS.
  46.  
  47.     TWO VOLUMES OF SOFTWARE EXIST: THE BASE VOLUME, 
  48.         CONTAINING FELIX VERSION 2.1 WITH ALL SOURCE CODE, .COM
  49.         FILES FOR ALL THE UTILITY PROGRAMS, AND SOME EXAMPLES;
  50.  
  51.         VOLUME 2,CONTAINING SOURCE CODE FOR THE UTILITY PROGRAMS,
  52.         AND MANY MORE CARTOON AND ARTISTIC EXAMPLE PROGRAMS.
  53.  
  54.         EACH VOLUME IS AVAILABLE FOR $10.00 FROM THE ABOVE ADDRESS.
  55.  
  56.     2. CONCEPTS OF FELIX
  57.  
  58.     FELIX IS BASED ON THE NOTION OF A 'PSEUDO-MACHINE', WHICH IS 
  59.         ACTUALLY AN INTERPRETER PROGRAM EXECUTING A LANGUAGE
  60.         THAT LOOKS LIKE MACHINE-CODE FOR SOME MICROPROCESSOR.
  61.         THE SPECIAL FEATURE OF FELIX-CODE IS THAT SIMPLE ONE-
  62.         OPCODE COMMANDS CAN CAUSE COMPLEX SCREEN EVENTS TO 
  63.         OCCUR, RESULTING IN CARTOONS OR KINETIC ART BEING
  64.         DESCRIBED BY RATHER SHORT SIMPLE PROGRAMS. 
  65.  
  66.     THE PSEUDO-MACHINE ALSO ALLOWS US TO AT LEAST DREAM OF TRANSPORTABILITY
  67.         IN THE SENSE THAT WHEN PSEUDO-MACHINE INTERPRETERS ARE WRITTEN
  68.         FOR OTHER HARDWARE (APPLE IS UNDERWAY) THE CARTOONS,
  69.         AND OTHER CODE CAN BE CARRIED RIGHT ALONG WITHOUT A LOT OF 
  70.         REWRITING.
  71.  
  72.     THE MOST EXCITING CONSEQUENCE OF THIS IS THAT HIGHER-LEVEL LANGUAGES,
  73.         FELIX UTILITIES, ASSEMBLERS,EDITORS,ETC CAN
  74.         BE EXPRESSED IN FELIX CODE ITSELF, AND EXECUTE RAPIDLY ON
  75.         ANY PRESENT OR FUTURE HARDWARE YOU MIGHT CHOOSE TO FAVOR
  76.         WITH THE CREATION OF THE PSEUDO-MACHINE.
  77.  
  78.     2. DETAILS: HOW DOES IT WORK?
  79.  
  80.     IT'S REALLY HARD TO TELL YOU MUCH WITHOUT A FIFTY PAGE TECH REPORT,
  81.         WHICH IS NOT AVAILABLE RIGHT NOW IN DISK-STORABLE FORM.
  82.         (IT HAS PICTURES IN IT,FOR INSTANCE). IN BROAD OUTLINE  WE
  83.         HAVE AN ASSEMBLER (FASM) WHICH TAKES PSEUDO-MACHINE ASSEMBLER
  84.         LANGUAGE (.FAS FILES) AND PRODUCES EXECUTABLE FELIX FILES
  85.         (.FEX). THEN THE 'DOODLER' PROGRAM IS USED TO CREATE SCREEN
  86.         OBJECTS AND BACKGROUNDS TO GO WITH THE FILES, (OBJECTS AND 
  87.         SCENES CAN ALSO BE STORED USING 'LOADOB,STOREOB',ETC)
  88.         AND THE ENTIRE MESS SAVED OR EXECUTED. THE FOLLOWING SHOULD 
  89.         GIVE YOU ENOUGH INFORMATION TO DECIDE WHETHER TO ORDER THE
  90.         TECH REPORTS.
  91.  
  92.     3. AN EXAMPLE
  93.  
  94.     THE PROGRAM 'PAINTER' IS A GOOD STARTING PLACE. THIS PROGRAM MOVES
  95.         SEVERAL (PAINT-BRUSHES) ABOUT THE SCREEN; THE BRUSH TO MOVE
  96.         IS SELECTED IN YOUR SWITCH REGISTER (HOPE YOU HAVE ONE).
  97.         PUSHING THE BUTTONS ON THE CROMEMCO JOYSTICKS SELECTS COLORS
  98.         IN WHICH TO PAINT. AN ADDED A/D CHANNEL (CHANNEL 1D,EASY 
  99.         TO PATCH INTO YOUR JOYSTICK-2; SEE TECH REPORT 3 FOR HOW )
  100.         ALLOWS CONTROL OVER THE ROTATION OF THE JOYSTICK-MOVED
  101.         PAINTBRUSHES....IF YOU HAVEN'T MADE THIS MOD, USE THE 
  102.         VERSION CALLED 'PAINT' RATHER THAN 'PAINTER'. 
  103.  
  104.     THE COMMANDS.
  105.  
  106.     A>FELIX
  107.  
  108.     --THIS LOADS IN FILES FELIX.OBJ AND SINCOS.OBJ IN HIGH RAM
  109.       (5000 AND 4000 RESPECTIVELY),FOR USE BY EVERYONE ELSE.
  110.  
  111.     A>EXEC PAINTER&
  112.  
  113.     --THIS EXECUTES A VERSION OF PAINTER WHICH INCLUDES OBJECTS 0
  114.     THROUGH 7,PRE-DEFINED FOR YOU.SELECT WITH SWITCH-
  115.       REGISTER,GO TO IT. PAINT SOME STUFF.
  116.  
  117.       TYPE CONTROL-C TO EXIT THE EXECUTION OF A PROGRAM.
  118.  
  119.     A>TYPE PAINTER.FEX
  120.  
  121.     --THIS LETS YOU LOOK AT THE PROGRAM YOU JUST RAN,JUST INCASE IT
  122.       MIGHT BE COMPREHENSIBLE.
  123.  
  124.     A>DOODLE
  125.  
  126.     --THIS LETS YOU DEFINE SOME NEW OBJECTS TO PAINT WITH.
  127.  
  128.     SELECT OBJECT NUMBER:1   --YOU DECIDE TO DRAW OBJECT 1.
  129.     R    --YOU SELECT A RED COLOR TO PAINT.
  130.     !    --YOU MAKE IT HIGH-INTENSITY
  131.     IIIII    --YOU TYPE KEYS AROUND THE 'K' KEY TO MOVE AND DRAW
  132.           WITH THE MOVING CURSOR. ZERO '0' TURNS OFF THE COLOR
  133.           TO MOVE THE CURSOR. YOU CAN TURN IT ON AGAIN WITH ANOTHER
  134.           COLOR SELECTION.
  135.     CTRL/N  --SELECTS ANOTHER OBJECT TO WORK ON.
  136.     Z    --CLEARS SCREEN (NOT THE ACTUAL STORED OBJECTS)
  137.     CTRL/C    --RETURNS YOU TO CP/M
  138.  
  139.     A>EXEC PAINTER    -EXECUTES A 'PAINTER' WITHOUT DEFINED OBJECTS
  140.              SO YOUR DOODLED ONES WILL BE MOVABLE NOW.
  141.  
  142.     4: CONVENTIONS
  143.  
  144.     FILENAMES: .FEX ARE 'EXECUTABLE' - WITH OR WITHOUT OBJECTS,ETC.
  145.            .FAS ARE 'FELIX SOURCE'
  146.                .PRN ARE LISTINGS, PRODUCED BY FASM.INCLUDES ERROR MSGS.
  147.            .PIC ARE OBJECTS, STORED BY SAVEOB.
  148.            .SCN ARE BACKGROUNDS,STORED BY SAVEBACK.
  149.            '&' IN A FILENAME (TYPE .FEX) MEANS THE OBJECTS ARE
  150.             INCLUDED WITH THE FILE (SEE HOW SHORTLY)
  151.            '#' IN A FILENAME (TYPE .FEX) MEANS THE OBJECTS AND BACK-
  152.             GROUND ARE INCLUDED.
  153.  
  154.     5: HOW DOES IT WORK?
  155.  
  156.     IN VERY BRIEF OUTLINE, FELIX MAINTAINS 'SDATA OBJECTS' IN A
  157.     LINEAR LIST STORAGE SYSTEM; WHENEVER THE 'SHOW' OPERATOR IS EXECUTED
  158.     THE OBJECTS ARE ROTATED IF NECESSARY AND PROJECTED ONTO
  159.     THE SCREEN. FELIX IS DEFINED WITH A 255 X 255 DISPLAY SPACE AND ONLY
  160.     A FEW ROUTINES RELY ON THE TV DAZZLER, CROMEMCO JOYSTICKS, OR ANY OTHER
  161.     SPECIFIC HARDWARE. YOU ARE INVITED TO EXPLORE THE SOURCE CODE.
  162.  
  163.     6: EXTENSIONS  AND OTHER VERSIONS
  164.  
  165.     ONE REASON WE ARE DISTRIBUTING 'FELIX' IS THAT WE WANT FOLKS TO 
  166.         EXPERIMENT IN ANIMATION; TO TRY OTHER IDEAS AND TO SEND THEM
  167.         TO US! YOU ARE FREE TO DO ANYTHING YOU LIKE EXCEPT TO
  168.         PROMULGATE ANY 'OFFICIAL' EXTENSIONS TO FELIX. TO FACILITATE
  169.         EXPERIMENTATION WE HAVE INCLUDED FOUR OPCODES, 'USER1,...USER4'
  170.         IN THE FASM ASSEMBLER,PRODUCING OPCODES C0,C1,C2,C3. YOU CAN
  171.         USE THESE TO TRY NEW STUFF. YOU CAN OF COURSE GET COPIES OF 
  172.         THE FASM ASSEMBLER FROM VOLUME II OF THIS DISTRIBUTION AND 
  173.         PATCH THE LOOKUP TABLE TO INCLUDE YOUR OWN OPERATORS; OR 
  174.         BUILD .FEX FILES DIRECTLY. WE DID IT FOR A YEAR...IT AIN'T
  175.         IMPOSSIBLE.
  176.  
  177.     OUR FUTURE PLANS INCLUDE AN ADVANCED FELIX, VERSION 3, ABOUT THIS
  178.         TIME NEXT YEAR; THIS WILL INCLUDE A HOST OF NEW OPERATORS
  179.         AND OBJECT MAKERS,ETC, AND A HIGHER-LEVEL LANGUAGE WITH
  180.         STRUCTURED CONTROL WHOSE COMPILER RUNS ON THE PSEUDO-MACHINE.
  181.         WE WELCOME SUGGESTIONS AND INPUTS.
  182.