Felix Animation System on CP/M

  /     /   CP/M     Retro    

In 1979 the University of Tennessee/Knoxville's Computer Science Department released Felix v2.1 for CP/M, which is available on the Walnut Creek CD. It aimed to provide a basis for computer animation experiments and projects for education and hobbyist use.

The system used an early graphics card for S-100 bus computers called the Cromemco Dazzler to display the animations on a television screen. The Dazzler was released in 1976 and could display a maximum resolution of 128x128 in monochrome or 64x64 using 8 colours with or without intensity.

Felix uses a VM to display and control the animations with the hope of creating a portable animation system across computing platforms. The animations are created in a form of assembly language targeted at the Felix VM which is assembled using the FASM command to produce a .FEX file which is then run using the EXEC command.

An example file called BEE.FAS is included in the archive and listed below:


; 8 SEPT 79 - MOSHELL
;
; BLOOMING FLOWER; BEE LANDS,FLIES AGAIN.BIRD
; COMES ALONG AND EATS BEE.
;
SPEED	EQU	0
GROUND	EQU	0
STEM	EQU	1
LEFTPETAL EQU	2
RIGHTPETAL EQU	3
BEE	EQU	4
BEEPATH	EQU	5
B2PATH	EQU	6
BIRD	EQU	7
BIRDPATH EQU	8
;
	DELAY	SPEED
	ONLIST	2,STEM,GROUND
	MOVE	15,.COUNT
;
;FIRST THE PLANT GROWS AND BLOSSOMS.
;
STEMLOOP:	FLY	STEM,0,1
	SHOW
	SUB	.COUNT,1,.COUNT
	JNZ	STEMLOOP
;
	BACKGRND	STEM
	ONLIST	4,LEFTPETAL,RIGHTPETAL,STEM,GROUND
	MOVE	5,.COUNT
	DELAY	150
;
PETALOOP:BACKGRND	LEFTPETAL
	BACKGRND	RIGHTPETAL
	SPIN	LEFTPETAL,-1
	SPIN	RIGHTPETAL,1
	SHOW
	SUB	.COUNT,1,.COUNT
	JNZ	PETALOOP
;
	CALL	PAUSE
	ONLIST	1,BEE
;
;NOW A BEE WANDERS ACROSS THE SCENE,SETTLES ON FLOWER.
;
BEELOOP:PATH	BEE,BEEPATH
	SHOW
	JNZ	BEELOOP
;
	CALL	PAUSE
	ONLIST	2,BEE,BIRD
;
;NOW THE BEE LEAVES THE FLOWER,MEETS BIRD.
;
B2LOOP: PATH	BIRD,BIRDPATH
	PATH	BEE,B2PATH
	SHOW
	JNZ	B2LOOP
;
	ONLIST	1,BIRD	;BEE DONE BEEN ET.
;
; BIRD NOW FLIES AROUND THE SCREEN FOREVER.
;
BIRDLOOP:PATH	BIRD,BIRDPATH
	SHOW
	JUMP	BIRDLOOP
;
;- - - - - - - - - - - - - - - - - - - - -
;
PAUSE:	DELAY	250
	MOVE	5,.COUNT
PLOOP:	SUB	.COUNT,1,.COUNT
	JNZ	PLOOP
	DELAY	SPEED
	RETURN
;
COUNT:	DB	0
;
	END

You can see a couple of animations using Felix in the following video. It demonstrates Felix using z80pack to emulate an IMSAI 8080 with a Dazzler, running CP/M 2.2. Unfortunately, I'm not able to fully test Felix because the emulator doesn't emulate the required analog-to-digital converter to use the joysticks. However, it was fun to play with and I think it's nice to see the system in action.

Creative Commons License
Felix Animation System on CP/M by Lawrence Woodman is licensed under a Creative Commons Attribution 4.0 International License.

Related Articles

Transferring Files to and from CP/M .D71 Disk Images Using ctools

Using Vice to emulate a Commodore 128 running CP/M works very well, but it isn't easy to get CP/M files directly onto and off a .D64/.D71 disk image. The easiest way to do this under Linux is to use c...   Read More

Emulating a CP/M System With z80pack

z80pack is great for creating an emulated CP/M system. It can either be used to create a general CP/M system or can emulate a specific system such as an IMSAI or ALTAIR including a graphical front-pan...   Read More

Instrument Flight Simulator on CP/M

Instrument Flight Simulator is a text mode flight simulator for CP/M which uses standard ASCII characters to display an instrument panel for the plane. The aim of the game is to land the aircraft safe...   Read More

Interactive File Managers on CP/M

CP/M has a number of interactive file managers that can be used to make it easier to handle common file operations rather than using the command line driven commands supplied with CP/M such as: DIR, ER...   Read More

Compression and Archiving on CP/M

CP/M has the ability to handle lots of different compression and archive formats which was important due to the limited capacity of floppy disks and the cost of downloading/uploading files on BBS's. T...   Read More

Sign up to get new articles straight to your inbox.

Delivered by FeedBurner

Comments

blog comments powered by Disqus