|
|
1.1 root 1: This disk contains the Mandelbrot demonstration program for OS/2 graphics.
2: Features of OS/2 that are demonstrated are:
3: Use of 80287
4: Creating and using ring 2 IOPL segments
5: Ram semaphore usage
6: Thread creation and destruction
7: EGA screen save and restore (both text and graphics)
8:
9: The specific API entry points used are:
10: DOSALLOCSEG Memory allocation
11: DOSCREATETHREAD Thread creation
12: DOSSEMCLEAR Ram semaphore management
13: DOSSEMREQUEST Ram semaphore management
14: DOSSLEEP Time delay
15: VIOGETCONFIG Getting display configuration
16: VIOGETCURPOS Getting cursor position
17: VIOGETCURTYPE Getting cursor information
18: VIOGETMODE Getting current screen mode
19: VIOGETPHYSBUF Getting access to display memory
20: VIOMODEUNDO Killing mode wait thread
21: VIOMODEWAIT Initializing mode wait thread
22: VIOREADCELLSTR Reading current display text
23: VIOSAVREDRAWUNDO Killing redraw wait thread
24: VIOSAVREDRAWWAIT Initializing screen redraw thread
25: VIOSCRLOCK Locking screen for drawing
26: VIOSCRUNLOCK Unlocking screen after drawing complete
27: VIOSETCURPOS Setting cursor position
28: VIOSETCURTYPE Setting cursor information
29: VIOSETMODE Setting screen mode to character and graphics
30: VIOSETSTATE Set EGA palette registers
31: VIOWRTCELLSTR Writing text to display
32:
33:
34: The files on this disk are listed below. Note only some of the CNT
35: files are included on the sample disk due to space limits. You can
36: generate the rest yourself.
37:
38: readme.doc This file
39:
40: makefile Make rules for generating the programs
41:
42: m.bat Batch file to generate zoom00.cnt and zoom01.cnt
43:
44: cmacros.inc Include file defining C and assembler interface
45:
46: mandel.c C routine to compute Mandelbrot set
47: manditer.asm Assembler routine containing 80287 routine
48: mandel.rsp Linker response file for linking mandel.exe
49: mandel.exe Executable for above
50:
51: mdraw.c C routine to display Mandelbrot set
52: mdraw.h Include file for display program
53: setscan.asm Assembler routines for ring 2 EGA manipulation
54: ega.inc Include file to define EGA registers
55: mdraw.rsp Linker response file for linking mdraw.exe
56: mdraw.def Linker definition file for mdraw.exe
57: mdraw.exe Executable for above
58:
59: mstat.c C routine to display header information for .cnt file
60: mstat.rsp Linker response file for linking mstat.exe
61: mstat.exe Executable for above
62:
63: zoom00.cnt Count file for entire Mandelbrot set
64: zoom01.cnt Count file for a small area near the Mandelbrot set
65: cd14.cnt Count file for a small area near the Mandelbrot set
66:
67: For further information about the programs and how to use them, please read
68: the program headers in:
69: mandel.c
70: mdraw.c
71: mstat.c
72:
73: Note that for a worst case (all screen points within the Mandelbrot set), the
74: computation will require approximately 20 hours on an 8 mhz AT with a normal
75: 80287. The program mandel is 80287 limited so that only faster 80287 chips
76: will significantly speed up the computation.
77:
78: To display the included sets:
79: Boot MS OS/2
80: Start up a screen group
81: enter mdraw zoom00
82: Switch to the session manager
83: Start another screen group
84: enter mdraw zoom01
85:
86: You can now hot key switch between the two displays.
87:
88: MS C 5.0 compiler and runtime libraries and the MS assembler 4.00 are required
89: to build these programs.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.