File:  [OS/2 SDKs] / os2sdk / demos / apps / mandel / readme
Revision 1.1.1.2 (vendor branch): download - view: text, annotated - select for diffs
Thu Aug 9 12:25:57 2018 UTC (7 years, 9 months ago) by root
Branches: msft, MAIN
CVS tags: os2sdk-1988, HEAD
Microsoft OS/2 SDK 03-01-1988

This directory contains the Mandelbrot demonstration program for OS/2 graphics.
Features of OS/2 that are demonstrated are:
	Use of 80287
	Creating and using ring 2 IOPL segments
	Ram semaphore usage
	Thread creation and destruction
	EGA screen save and restore (both text and graphics)

The specific API entry points used are:
	DosAllocSeg		Memory allocation
	DosCreateThread 	Thread creation
	DosSemClear		Ram semaphore management
	DosSemRequest		Ram semaphore management
	DosSleep		Time delay
	VioGetConfig		Getting display configuration
	VioGetCurPos		Getting cursor position
	VioGetCurType		Getting cursor information
	VioGetMode		Getting current screen mode
	VioGetPhysBuf		Getting access to display memory
	VioModeUndo		Killing mode wait thread
	VioModeWait		Initializing mode wait thread
	VioReadCellStr		Reading current display text
	VioSavRedrawUndo	Killing redraw wait thread
	VioSavRedrasWait	Initializing screen redraw thread
	VioScrLock		Locking screen for drawing
	VioScrUnLock		Unlocking screen after drawing complete
	VioSetCurPos		Setting cursor position
	VioSetCurType		Setting cursor information
	VioSetMode		Setting screen mode to character and graphics
	VioSetState		Set EGA palette registers
	VioWrtCellStr		Writing text to display


The files in this directory are listed below. Note only some of the CNT
files are included due to space limits. You can
generate the rest yourself.

	readme.doc	This file

	makefile	Make rules for generating the programs

	m.bat		Batch file to generate zoom00.cnt and zoom01.cnt

	cmacros.inc	Include file defining C and assembler interface

	mandel.c	C routine to compute Mandelbrot set
	manditer.asm	Assembler routine containing 80287 routine
	mandel.exe	Executable for above

	mdraw.c 	C routine to display Mandelbrot set
	mdraw.h 	Include file for display program
	setscan.asm	Assembler routines for ring 2 EGA manipulation
	ega.inc 	Include file to define EGA registers
	mdraw.def	Linker definition file for mdraw.exe
	mdraw.exe	Executable for above

	mstat.c 	C routine to display header information for .cnt file
	mstat.exe	Executable for above

	cd14.cnt	Count file for a small area near the Mandelbrot set

For further information about the programs and how to use them, please read
the program headers in:
	mandel.c
	mdraw.c
	mstat.c

Note that for a worst case (all screen points within the Mandelbrot set), the
computation will require approximately 20 hours on an 8 mhz AT with a normal
80287.	The program mandel is 80287 limited so that only faster 80287 chips
will significantly speed up the computation.

To display the included set:
	Boot OS/2
	Start up a screen group
	enter	mdraw cd14

MS C 5.1 compiler and runtime libraries and the MS assembler 4.00 are required
to build these programs.

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.