home *** CD-ROM | disk | FTP | other *** search
- FELIX MICROCOMPUTER ANIMATION SYSTEM
- --VERSION 2.1--
-
-
- THE UNIVERSITY OF TENNESSEE/KNOXVILLE
- COMPUTER SCIENCE DEPARTMENT
- SEPTEMBER 18,1979
-
- MICHAEL MOSHELL, PROJECT DIRECTOR
- LEE WITTENBERG, RESIDENT SOFTWARE GNOME
- AND A FINE SUPPORTING CAST, INCLUDING:
-
- JANE KIENENGER,JIM MCCRAE,TYE SHULTZ,CLEMENT WONG,
- MUKESH SUNDARAM,AND MANY OTHERS.
-
- 1. OVERVIEW
-
- FELIX IS A SIMPLE ANIMATION SYSTEM WHICH USES
- THE CROMEMCO TV DAZZLER AND D+7A ANALOG-TO-DIGITAL
- CONVERTER WITH TWO JOYSTICKS, TO PRODUCE AND
- EXECUTE SIMPLE STICK FIGURE ANIMATIONS. THE
- END GOALS OF THE PROJECT ARE THESE:
-
- A: TO PROVIDE CLASS AND INDIVIDUAL STUDY PROJECTS
- FOR ENTERTAINMENT,EDIFICATION AND EDUCATION
- IN MICROCOMPUTER SOFTWARE AND GRAPHICS
- ISSUES OF ALL SORTS.
-
- B: TO BUILD A BASIS UPON WHICH CAN BE ERECTED A
- SUPERSTRUCTURE OF SOFTWARE FOR USE IN ELEMENTARY
- AND SECONDARY COMPUTER SCIENCE EDUCATION.
-
- C: TO PROVIDE A 'COMMON GROUND' FOR HOBBYESTS AND
- ACADEMICS (AND ANYONE ELSE) WANTING TO EXCHANGE
- IDEAS IN ANIMATION.
-
- FELIX IS FULLY DEFINED AN DOCUMENTED IN THREE TECHNICAL REPORTS
- (FELIX REPORTS 1,2,3,OBVIOUSLY) WHICH ARE AVAILABLE
- FROM THE UNIVERSITY OF TENNESSEE
- COMPUTER SCIENCE DEPARTMENT
- (ATTENTION: MICROCOMPUTER CLUB)
- KNOXVILLE, TN 37916
- FOR $10.00. THE SOFTWARE, IN
- SOURCE CODE AND EXECUTABLE FORM, IS AVAILABLE THROUGH THE
- CP/M USER'S GROUP OR FROM THE ABOVE ADDRESS.
-
- TWO VOLUMES OF SOFTWARE EXIST: THE BASE VOLUME,
- CONTAINING FELIX VERSION 2.1 WITH ALL SOURCE CODE, .COM
- FILES FOR ALL THE UTILITY PROGRAMS, AND SOME EXAMPLES;
-
- VOLUME 2,CONTAINING SOURCE CODE FOR THE UTILITY PROGRAMS,
- AND MANY MORE CARTOON AND ARTISTIC EXAMPLE PROGRAMS.
-
- EACH VOLUME IS AVAILABLE FOR $10.00 FROM THE ABOVE ADDRESS.
-
- 2. CONCEPTS OF FELIX
-
- FELIX IS BASED ON THE NOTION OF A 'PSEUDO-MACHINE', WHICH IS
- ACTUALLY AN INTERPRETER PROGRAM EXECUTING A LANGUAGE
- THAT LOOKS LIKE MACHINE-CODE FOR SOME MICROPROCESSOR.
- THE SPECIAL FEATURE OF FELIX-CODE IS THAT SIMPLE ONE-
- OPCODE COMMANDS CAN CAUSE COMPLEX SCREEN EVENTS TO
- OCCUR, RESULTING IN CARTOONS OR KINETIC ART BEING
- DESCRIBED BY RATHER SHORT SIMPLE PROGRAMS.
-
- THE PSEUDO-MACHINE ALSO ALLOWS US TO AT LEAST DREAM OF TRANSPORTABILITY
- IN THE SENSE THAT WHEN PSEUDO-MACHINE INTERPRETERS ARE WRITTEN
- FOR OTHER HARDWARE (APPLE IS UNDERWAY) THE CARTOONS,
- AND OTHER CODE CAN BE CARRIED RIGHT ALONG WITHOUT A LOT OF
- REWRITING.
-
- THE MOST EXCITING CONSEQUENCE OF THIS IS THAT HIGHER-LEVEL LANGUAGES,
- FELIX UTILITIES, ASSEMBLERS,EDITORS,ETC CAN
- BE EXPRESSED IN FELIX CODE ITSELF, AND EXECUTE RAPIDLY ON
- ANY PRESENT OR FUTURE HARDWARE YOU MIGHT CHOOSE TO FAVOR
- WITH THE CREATION OF THE PSEUDO-MACHINE.
-
- 2. DETAILS: HOW DOES IT WORK?
-
- IT'S REALLY HARD TO TELL YOU MUCH WITHOUT A FIFTY PAGE TECH REPORT,
- WHICH IS NOT AVAILABLE RIGHT NOW IN DISK-STORABLE FORM.
- (IT HAS PICTURES IN IT,FOR INSTANCE). IN BROAD OUTLINE WE
- HAVE AN ASSEMBLER (FASM) WHICH TAKES PSEUDO-MACHINE ASSEMBLER
- LANGUAGE (.FAS FILES) AND PRODUCES EXECUTABLE FELIX FILES
- (.FEX). THEN THE 'DOODLER' PROGRAM IS USED TO CREATE SCREEN
- OBJECTS AND BACKGROUNDS TO GO WITH THE FILES, (OBJECTS AND
- SCENES CAN ALSO BE STORED USING 'LOADOB,STOREOB',ETC)
- AND THE ENTIRE MESS SAVED OR EXECUTED. THE FOLLOWING SHOULD
- GIVE YOU ENOUGH INFORMATION TO DECIDE WHETHER TO ORDER THE
- TECH REPORTS.
-
- 3. AN EXAMPLE
-
- THE PROGRAM 'PAINTER' IS A GOOD STARTING PLACE. THIS PROGRAM MOVES
- SEVERAL (PAINT-BRUSHES) ABOUT THE SCREEN; THE BRUSH TO MOVE
- IS SELECTED IN YOUR SWITCH REGISTER (HOPE YOU HAVE ONE).
- PUSHING THE BUTTONS ON THE CROMEMCO JOYSTICKS SELECTS COLORS
- IN WHICH TO PAINT. AN ADDED A/D CHANNEL (CHANNEL 1D,EASY
- TO PATCH INTO YOUR JOYSTICK-2; SEE TECH REPORT 3 FOR HOW )
- ALLOWS CONTROL OVER THE ROTATION OF THE JOYSTICK-MOVED
- PAINTBRUSHES....IF YOU HAVEN'T MADE THIS MOD, USE THE
- VERSION CALLED 'PAINT' RATHER THAN 'PAINTER'.
-
- THE COMMANDS.
-
- A>FELIX
-
- --THIS LOADS IN FILES FELIX.OBJ AND SINCOS.OBJ IN HIGH RAM
- (5000 AND 4000 RESPECTIVELY),FOR USE BY EVERYONE ELSE.
-
- A>EXEC PAINTER&
-
- --THIS EXECUTES A VERSION OF PAINTER WHICH INCLUDES OBJECTS 0
- THROUGH 7,PRE-DEFINED FOR YOU.SELECT WITH SWITCH-
- REGISTER,GO TO IT. PAINT SOME STUFF.
-
- TYPE CONTROL-C TO EXIT THE EXECUTION OF A PROGRAM.
-
- A>TYPE PAINTER.FEX
-
- --THIS LETS YOU LOOK AT THE PROGRAM YOU JUST RAN,JUST INCASE IT
- MIGHT BE COMPREHENSIBLE.
-
- A>DOODLE
-
- --THIS LETS YOU DEFINE SOME NEW OBJECTS TO PAINT WITH.
-
- SELECT OBJECT NUMBER:1 --YOU DECIDE TO DRAW OBJECT 1.
- R --YOU SELECT A RED COLOR TO PAINT.
- ! --YOU MAKE IT HIGH-INTENSITY
- IIIII --YOU TYPE KEYS AROUND THE 'K' KEY TO MOVE AND DRAW
- WITH THE MOVING CURSOR. ZERO '0' TURNS OFF THE COLOR
- TO MOVE THE CURSOR. YOU CAN TURN IT ON AGAIN WITH ANOTHER
- COLOR SELECTION.
- CTRL/N --SELECTS ANOTHER OBJECT TO WORK ON.
- Z --CLEARS SCREEN (NOT THE ACTUAL STORED OBJECTS)
- CTRL/C --RETURNS YOU TO CP/M
-
- A>EXEC PAINTER -EXECUTES A 'PAINTER' WITHOUT DEFINED OBJECTS
- SO YOUR DOODLED ONES WILL BE MOVABLE NOW.
-
- 4: CONVENTIONS
-
- FILENAMES: .FEX ARE 'EXECUTABLE' - WITH OR WITHOUT OBJECTS,ETC.
- .FAS ARE 'FELIX SOURCE'
- .PRN ARE LISTINGS, PRODUCED BY FASM.INCLUDES ERROR MSGS.
- .PIC ARE OBJECTS, STORED BY SAVEOB.
- .SCN ARE BACKGROUNDS,STORED BY SAVEBACK.
- '&' IN A FILENAME (TYPE .FEX) MEANS THE OBJECTS ARE
- INCLUDED WITH THE FILE (SEE HOW SHORTLY)
- '#' IN A FILENAME (TYPE .FEX) MEANS THE OBJECTS AND BACK-
- GROUND ARE INCLUDED.
-
- 5: HOW DOES IT WORK?
-
- IN VERY BRIEF OUTLINE, FELIX MAINTAINS 'SDATA OBJECTS' IN A
- LINEAR LIST STORAGE SYSTEM; WHENEVER THE 'SHOW' OPERATOR IS EXECUTED
- THE OBJECTS ARE ROTATED IF NECESSARY AND PROJECTED ONTO
- THE SCREEN. FELIX IS DEFINED WITH A 255 X 255 DISPLAY SPACE AND ONLY
- A FEW ROUTINES RELY ON THE TV DAZZLER, CROMEMCO JOYSTICKS, OR ANY OTHER
- SPECIFIC HARDWARE. YOU ARE INVITED TO EXPLORE THE SOURCE CODE.
-
- 6: EXTENSIONS AND OTHER VERSIONS
-
- ONE REASON WE ARE DISTRIBUTING 'FELIX' IS THAT WE WANT FOLKS TO
- EXPERIMENT IN ANIMATION; TO TRY OTHER IDEAS AND TO SEND THEM
- TO US! YOU ARE FREE TO DO ANYTHING YOU LIKE EXCEPT TO
- PROMULGATE ANY 'OFFICIAL' EXTENSIONS TO FELIX. TO FACILITATE
- EXPERIMENTATION WE HAVE INCLUDED FOUR OPCODES, 'USER1,...USER4'
- IN THE FASM ASSEMBLER,PRODUCING OPCODES C0,C1,C2,C3. YOU CAN
- USE THESE TO TRY NEW STUFF. YOU CAN OF COURSE GET COPIES OF
- THE FASM ASSEMBLER FROM VOLUME II OF THIS DISTRIBUTION AND
- PATCH THE LOOKUP TABLE TO INCLUDE YOUR OWN OPERATORS; OR
- BUILD .FEX FILES DIRECTLY. WE DID IT FOR A YEAR...IT AIN'T
- IMPOSSIBLE.
-
- OUR FUTURE PLANS INCLUDE AN ADVANCED FELIX, VERSION 3, ABOUT THIS
- TIME NEXT YEAR; THIS WILL INCLUDE A HOST OF NEW OPERATORS
- AND OBJECT MAKERS,ETC, AND A HIGHER-LEVEL LANGUAGE WITH
- STRUCTURED CONTROL WHOSE COMPILER RUNS ON THE PSEUDO-MACHINE.
- WE WELCOME SUGGESTIONS AND INPUTS.
-