home *** CD-ROM | disk | FTP | other *** search
- Power Utilities v1.0 by Psycho (C) '93
-
- This file are in the packet:
- -DCOMP.EXE Compresser for digitized files.It's better than ARJ!
- But is only a BETA version.So,for this is not too
- good,because is not use storing,etc.)
- -DTRACE.COM A little TSR for sight the disk operations.
- Thanks to DADA for idea.
- -LINKPLUS.EXE Linking a data file to the EXE file.
- Is not linking in overlay mode.
- -MAKE-OV.EXE Creating a overlay file.
- Using this file see below.
- -PCX2BMP.EXE A Simple pcx converter.It's fast,but awesome....
- -PICUT.EXE see PCX2BMP,but this cutting the empty territory.
- -PWRFUNC.OBJ Power Functions v1.0 object file.
- -PWRFUNC.INC Power Functions v1.0 include file.
- -PWRFUNC.DOC This file.
-
- ------------------------------------------------------------------------------
-
- What is DCOMP.EXE?
-
- A high ratio crucher for digitized files.
- But after decompressing will be a little quality detoration,because this not
- using sinus interpolling.So,it's a beta version,and for this very lame.
- And,how is why on this packet.Make a trial!
- Compress with this a high samplerating file.And sight the compressed filesize.
- It's better than ARJ,but this just a BETA version.
-
- ------------------------------------------------------------------------------
-
- How to use MAKE-OV(TM)?
-
- First: Create a MAKE-OV.CFG file,with this structure:
- -Base file Example:TEST.EXE
- -Item,Item ID Example:ITEM.DAT,1
- Second: Make a base file(compiling,linking,etc.)
- three: Run MAKE-OV.EXE
- Example: MAKE-OV.EXE
- MAKE-OV.EXE OTHER.CFG
- You can use a config file with other filename like MAKE-OV.CFG.
- Four: Use Power Functions(TM).Seealso:-OPENOVERLAY
- -LOADOVERLAYITEM
- -WRITOVERLAYITEM
- -CLOSEOVERLAY
-
- In the near future the MAKE-OV(TM) will using a high ratio crucher.Maybe...
-
- ------------------------------------------------------------------------------
-
- Now let's see the Power Functions(TM).
- Maked for MS-DOS and 386 or better processor.
- The functions working only REAL and V86 mode.The coming versions will be
- working on PROTECTED mode.I hope...
- Sorry for,how the functions supported only assembly calling.
-
- Funtions are listed:
- -EXIT
- -FATALEXIT
- -OPENOVERLAY (This overlay handler a very cool subroutine)
- -CLOSEOVERLAY
- -LOADOVERLAYITEM
- -WRITOVERLAYITEM (For config saving)
- -TIMINGON
- -TIMINGOFF
- -SETTIMFUNCON
- -SETTIMFUNCOFF
- -RESETCOLORS
- -SETCOLORS
- -FADEUPCOLORS
- -FADEDWCOLORS
- -RTIMEON
- -RTIMEOFF
- -WAITVERTRETRACE
- -SETFCMODE
- -SET240MODE
- -TURNOFFFCMODE
- -PUTPOLY320 (It's very fast!)
- -PUTOBJ320CONV
- -ROTATEPOINTS (Great!!!)
- -ROTATEOBJECT (too is)
- -RANDOM
- -TEST386
- -CHECKMEMORY
-
- ------------------------------------------------------------------------------
-
- EXIT:
-
- in: -
- out: -
-
- Comment: Aborting from actual program with 4Ch func of DOS.
-
- ------------------------------------------------------------------------------
-
- FATALEXIT:
- in: -
- out: -
-
- Comment: Seealso EXIT,but this before exiting change the video mode
- to 03h.
-
- ------------------------------------------------------------------------------
-
- OPENOVERLAY:
-
- in: -
- out: CF set if error
-
- Comment: Open the overlay module was linked to EXE file.
- Seealso: 'How to use MAKE-OV(TM)?'
-
- ------------------------------------------------------------------------------
-
- CLOSEOVERLAY:
-
- in: -
- out: CF set if error
-
- Comment: Closing the overlay module.This functions releasing the
- dos handle.Use at end of program.
-
- ------------------------------------------------------------------------------
-
- LOADOVERLAYITEM:
-
- in: AX = Segment address where to will load the item.
- BX = Overlay item ID
- out: CF set if error.
-
- Comment: Load a overlay item to memory.
-
- ------------------------------------------------------------------------------
-
- WRITOVERLAYITEM:
-
- in: AX = Segment address of memory from where writing to
- overlay item.
- BX = Overlay item ID
- ECX = Number of bytes to write.
- out: CF set if error
-
- Comment: Writing the memory to overlay module.
-
- ------------------------------------------------------------------------------
-
- TIMINGON:
-
- in: -
- out: -
-
- Comment: Installing the new interrupt routine to int 08h.
- The new interrupt will be call seventytwo times per seconds,
- but the system clock will be not standstill.
-
- ------------------------------------------------------------------------------
-
- TIMINGOFF:
-
- in: -
- out: -
-
- Comment: Remove the interrupt handler from int 08h.
-
- ------------------------------------------------------------------------------
-
- SETTIMFUNCON:
-
- in: AX = Number of Function (0 to 15)
- SI = offset address of function
- CX = how many 1/72 seconds will be calling the function.
- out: -
-
- Comment: Turn on a timing function.
-
- ------------------------------------------------------------------------------
-
- SETTIMFUNCOFF:
-
- in: -
- out: -
-
- Comment: Turn off a timing function.
-
- ------------------------------------------------------------------------------
-
- RESETCOLORS:
-
- in: -
- out: -
-
- Comment: Fill the color table and the color registers with zero.
-
- ------------------------------------------------------------------------------
-
- SETCOLORS:
-
- in: AX = Segment address of color table
- SI = Offset address of color table
- out: -
-
- Comment: Set the color table and registers with the new value.
- The color table is a very simple array.
-
- Color 0:Red value (byte)
- Green value (byte)
- Blue value (byte)
- ...
- ...
- Color 9:Red value
- Green value
- Blue value
-
- ------------------------------------------------------------------------------
-
- FADEUPCOLORS:
-
- in: AX = Segment address of color table
- SI = Offset address of color table
- out: -
-
- Comment: Change the present colors by one step arranged to color
- table.
-
- ------------------------------------------------------------------------------
-
- FADEDWCOLORS:
-
- in: -
- out: -
-
- Comment: Fading down the present colors by one step.
-
- ------------------------------------------------------------------------------
-
- RTIMEON:
-
- in: -
- out: -
-
- Comment: Set 0th color register to white.
-
- ------------------------------------------------------------------------------
-
- RTIMEOFF:
-
- in: -
- out: -
-
- Comment: Set 0th color register to black.
-
- ------------------------------------------------------------------------------
-
- WAITVERTRETRACE:
-
- in: -
- out: -
-
- Comment: Waiting to vertical retrace.
-
- ------------------------------------------------------------------------------
-
- SETFCMODE:
-
- in: -
- out: -
-
- Comment: Set the video card to eight bitplane mode.This mode called
- to Four-Chain mode.
-
- ------------------------------------------------------------------------------
-
- SET240MODE:
-
- in: -
- out: -
-
- Comment: Set the screen mode 320x240-256 bitplane mode.
-
- ------------------------------------------------------------------------------
-
- TRUNOFFFCMODE:
-
- in: -
- out: -
-
- Comment: Turning off the Four-Chain mode.
-
- ------------------------------------------------------------------------------
-
- PUTPOLY320:
-
- in: V1_X = X coord of Vertex #1 (word)
- V1_Y = Y coord of Vertex #1 (word)
- V2_X = X coord of Vertex #2 (word)
- V2_Y = Y coord of Vertex #2 (word)
- V3_X = X coord of Vertex #3 (word)
- V3_Y = Y coord of Vertex #3 (word)
- POLYCOLOR = color of triangle (word)
- out: !MIN_OFFSET = lower offset in memory (word)
- !MAX_OFFSET = higher offset in memory (word)
-
- Comment: Drawing a triangle to memory with ES:0h begining.
-
- ------------------------------------------------------------------------------
-
- PUTOBJ320CONV:
-
- in: AX = Segment address of object
- SI = Offset address of object
- And preseted the ORIGO_X,ORIGO_Y,ORIGO_Z.
- out: -
-
- Comment: This functions drawing a complete convex object to memory
- with ES:0h begining.Object format see below:
-
- Offset 0: Numbers of triangle (word)
- Offset 2: Triangle 1 (four word)
- Color of polygon (word)
- Vertex #1 number (word)
- Vertex #2 number (word)
- Vertex #3 number (word)
- ...
- ...
- The Vertex table begining at offset0*8+4
- Offset x: Vertex #1 (six word)
- X coord (word)
- Y coord (word)
- Z coord (word)
- offset x+6: Vertex #2
- ...
- ...
-
- ------------------------------------------------------------------------------
-
- ROTATEOBJECT:
-
- in: AX = Segment address of source object
- BX = Segment address of destination object
- SI = Offset address of source object
- DI = Offset address of destination object
- And the angles of axis preseted with SETROTATEANGLE and
- ADDROTATEANGLE
- out: -
-
- Comment: Rotate an object.The object format seealso PUTOBJ320CONV
-
- ------------------------------------------------------------------------------
-
- SETROTATEANGLE:
-
- in: AX = new angle of x axis (half degrees)
- BX = new angle of y axis (half degrees)
- CX = new angle of z axis (half degrees)
- out: -
-
- Comment: Sets with the new value the coords angles.
-
- ------------------------------------------------------------------------------
-
- ADDROTATEANGLE:
-
- in: Seealso SETROTATEANGLE
- out: -
-
- Comment: Additing the angles for the actual values.
-
- ------------------------------------------------------------------------------
-
- ROTATEPOINTS:
-
- in: AX = Segment address of source table
- BX = Segment address of destination table
- SI = Offset address of source table
- DI = Offset address of destination table
- CX = Number of points
- out: -
-
- Comment: Rotating a coords table.It's very fast,and working in five
- digit precision.
-
- Points table is very simple:
-
- offset 0: Point 1 X coord (word)
- offset 2: Point 1 Y coord (word)
- offset 4: Point 1 Z coord (word)
- offset 6: point 2 X coord (word)
- ...
- ...
-
- ------------------------------------------------------------------------------
-
- RANDOM:
-
- in: RNDMAX = Maximal random value (word)
- out: AX = Random number
-
- Comment: Get a random number.
-
- ------------------------------------------------------------------------------
-
- TEST386:
-
- in: -
- out: -
-
- Comment: Test the main processor type and aborting from program
- if not 386 or better.
-
- ------------------------------------------------------------------------------
-
- CHECKMEMORY:
-
- in: AX = Required memory in Kb
- out: CF set if not enough memory
-
- Comment: Checking avaible conventional memory.
-
- ------------------------------------------------------------------------------
-
- Public data members:
-
- OILENGTH: (dword) Length of overlay item in bytes (loaded)
- RNDMAX: (word) Maximal random value
- V1_X: (word) Vertex #1 X coord
- V1_Y: (word) Vertex #1 Y coord
- V2_X: (word) Vertex #2 X coord
- V2_Y: (word) Vertex #2 Y coord
- V3_X: (word) Vertex #3 X coord
- V3_Y: (word) Vertex #3 Y coord
- POLYCOLOR: (byte) color of triangle
- EYEDISTANCE: (word) Eyedistance
- ORIGO_X: (word) origo of X axis
- ORIGO_Y: (word) origo of Y axis
- ORIGO_Z: (word) origo of Z axis
- MIN_OFFSET: (word) after triangle drawing the lower offset
- MAX_OFFSET: (word) after triangle drawing the higher offset
-
- ------------------------------------------------------------------------------
-
- The Power Functions coded in assembly,the other utilities programmed
- in Borland C++ v3.1.
-
- Sorry for BAD english!
-