#Flics
15 messages in this thread
Do you know if the Flic routines from autodesk will work with the
Rationale systems Dos Extender instead of the Phar Lap? I've been
using these routines with the Phar Lap and want to change to the
DOS/4GW extender included with the Watcom Compiler. I would
appreciate your help in determining this. We are presently in the
process of using these routines for flics generated in 3D Studio and
Animator. Thanks.
Joseph,
<<Flic routines from autodesk will work with the
Rationale systems Dos Extender instead of
the Phar Lap?>>
I don't have this to test for you. If you already have access to this
environment, I would appreciate you posting any of your results in
getting it to work.
Jonas,
Thanks for your response. I'm sorry, but I didn't understand it. To
restate my question. I'm presently compiling with the Metaware and
Phar Lap. My products will not support the licensing royalty of Phar
Lap as I understand it. My products are not geared for massive
distribution. I'm trying to work this out with Phar Lap, but, I'm
also considering purchasing the Watcom compiler and Rationale Dos
extender instead, but, I can't determine if this will work.
The documentation for the flic routines says that they will work
with the Watcom and Phar Lap. It also makes reference to using other
dos extenders and that it should work.
We have a lot of animations already done with 3D Studio and Animator
Pro and I have been a big supporter of Autodesk. I sincerely
appreciate your help in determining the answer to this.
Joseph,
<<The documentation for the flic routines says that they will work
with the Watcom and Phar Lap. It also makes reference to using other
dos extenders and that it should work.
We have a lot of animations already done with 3D Studio and Animator
Pro and I have been a big supporter of Autodesk. I sincerely
appreciate your help in determining the answer to this.>>
I can't determine if the environment that you are creating complies
with the following:
The FlicLib code has been developed and tested using the Watcom C/386
(v8.0) compiler and the Phar Lap DOS extender. It has also been
tested with the Intel CodeBuilder DOS extender. It is quite likely to
be compatible with other compilers and extenders, but this has not
been tested. The following paragraphs contain notes that can help you
port FlicLib to other environments.
For compatibility with CodeBuilder, FlicLib assumes parameters are
passed on the stack rather than in registers. A new version of the
library supports clients using the Watcom -3r calling standard
(parameters in registers), but internally the -3s convention is still
used. A set of Watcom #pragma statements are used in the pj*.h header
files to inform the -3r client code that the FlicLib functions must
be called with the -3s parameter conventions. There is no practical
way to convert the FlicLib to use register parameter passing
internally, short of recoding all the assembler routines at the
deepest level of library internals.
The assembler source code assumes Watcom -3s conventions:
-The compiler does not prepend an underbar to global data item names.
-Any routine can modify the EAX, ECX, and EDX registers, but must
preserve other registers (including all segment registers).
-The caller cleans up stacked parameters.
-Values are returned via the EAX register.
-The processor direction flag is assumed to be cleared at entry and
exit of any routine (i.e., CLD is always in effect.)
Compatibility with DOS extenders other than Phar Lap should be
relatively easy to achieve. The existing Phar Lap libraries should
already be compatible with the Ergo DOS extender, but this is
untested. The target extender's environment must meet some conditions
before you consider a port to it:
-The DS, ES and SS registers always contain the same value (i.e.,
flat model addressing).
-The GS segment register is used extensively within FlicLib. The
extender must place no restrictions on use of this register, and
other code must preserve this register if using it.
-The extender must provide a segment descriptor that maps the first
megabyte of real memory (DOS memory) as a linear address space. The
mapping must include the video and hardware address range (i.e.,
address 0x000a0000 points to the VGA video page, 0x000c0000 to the
video BIOS, etc.).
Whenever FlicLib needs access to DOS memory or the hardware address
range, it uses the value in the GS register. This allows fast access
to the BIOS clock, the video hardware, and so on. The library routine
pj_set_gs loads the GS register. The video driver and clock
initialization routines call this function to ensure that GS is set
up with the right value for DOS memory access. They expect that the
value in GS never changes throughout the run of the program.
As implemented in the Phar Lap versions of the library, GS is loaded
with the value from DS, and then the value 20h is added to it. Under
both Phar Lap and Ergo, this process results in a segment descriptor
that maps the first megabyte as a linear address space.
In the CodeBuilder version of the library, the value from the DS
register is copied directly and unmodified into GS. CodeBuilder's
DS descriptor already maps the first megabyte of memory directly.
The pj_set_gs function is in LIBSRC\GLUE_xx\setgs.asm. This is the
only place in FlicLib that makes a direct reference to an
extender-specific memory descriptor. To port FlicLib to another
extender, re-code the functions in setgs.asm as appropriate to the
target extender. (Comments in setgs.asm provide more details.)
There are three modules within the FlicLib source that make calls to
extender-specific functions:
-LIBSRC\UTIL\doserr.asm
-LIBSRC\VESA\xxralloc.asm
-LIBSRC\VESA\xxint10.asm
The pj_doserr_install and remove_handler functions are in doserr.asm;
if you don't explicitly call these functions from your code, you
won't need to modify them.
The VESA driver uses several extender-specific calls to
communicate with the VESA BIOS, which runs in real mode. You have
to do some rewriting in these modules if you want to use the VESA
video driver with another DOS extender. Comments in the existing
modules give more details on this.
============
You may be able to get answers about compatibility
to the above requirements from tech support of
the dos-extender.
jonas[adesk]
Jonas, I don't mean to switch subjects on you, but I'm going to try.
I read a message about a week ago in this or the 3DS section where
someone was asking about converting .fl* files to windows screen
saver files. Someone at ADESK mentioned using C, C++ or Visual
Basic. My questions are: Are the Windows screen savers animations or
mathematical programs? Is the .scr format even graphical? & Does a
person have to write a player in C, C++ etc. or a converter to create
.scr files. Hopes these questions make sense, I'm not a programmer.
Greg Flic Tech
Greg,
<< screen savers >>
I'm at home right now. I've never done a screen saver.
There are a few in our LIB as well as others in different
forums. I'd suggest that you get the CIS# from the uploader
of the different screen saver and send them email and start a
dialog. FWIW.
jonas[adesk]
In a world where Watcomm gives away a free DOS extender, how does Phar Lap
survive with such large royalty payments for extenders?
Watcom does not give away a DOS extender. The DOS extender included with Watcom
is crippled and very limited. If you want the full blown Rational System DOS
Extender, you will end up paying over $10k just to start, plus all the
royalties thereafter.
PharLap does the same thing. It also includes a "crippled" version in MS Visual
C/C++/32 and it used to be included in Borland's Turbo C.
It's a dying breed, though…
I guess I was mislead by their ads, then, and the situation is the
same between PC compilers. Are these DOS extenders uniformly
expensive? Even with the new Borland compiler? For InterChange,
I've taken the alternative route of non-DOS applications, using the
32-bit DOS extender known as Win32s, under Windows. 🙂 I've seen the
crippled PharLap in VC 16 and 32. On the plus side, I have heard
that Phar Lap will negotiate their $10K royalty. I guess you can beg
to pay them more money. Ah, well. I blame Bill Gates for this mess.
>> The DOS extender included with Watcom is crippled and very limited. If you
want the full blown Rational System DOS Extender, you will end up paying over
$10k just to start, plus all the royalties thereafter.>>
Could you elaborate on this a little bit. I certainly don't want to
spend a lot of effort on switching extenders and then have the same
problem as with Phar Lap. Actually, I was quite surprised when I
received the Phar Lap and saw that they wanted royalties for my
products. Any input you have on this would be appreciated.
I'm not sure which compiler/dos extender you were asking about but
suffice to say all of them will charge you royalties for applications
you sell using them. John Hinkley (the VistaPro dude) knows of a
royalty free dos extender. He told me once but I forgot the name of
it. I bought the Rational Systems dos extender license and paid a one
time "fee". This allows me to do whatever I want with it and it works
equally well with Metaware High C. The royalty thing is kinda
foolish as, in theory, you have to pay even for stuff you upload as
freeware… I would say they are all open to some negotiation.
Specially nowadays…
Gus
Good thoughts. Thanks.
Joe
>>In a world where Watcomm gives away a free DOS extender, how does Phar Lap
survive with such large royalty payments for extenders?>>
John,
This is the question. I agree with Gus's comment, that these are a dying
breed, however, today I must deal with it. I believe that Phar Lap may
negotiate on their royalty and I'm working on that. The problem is that I don't
plan on developing a $2- 3,000 product where absorbing their royalty would be a
cinch.
Well John,
The DOS/4GW extender that is included with the Watcom products isn't exactly
free, but the licensing fees are part of the package price from Watcom.
I just got a new flier from Rational Systems and it offers the new DOS/4GW
Professional upgrade. Retail price is $298, but for a limited time at $149.
Unlimited distribution license at an additional $149 and $10 for shipping.
The only caveat that I can see are all the references to Watcom C/C++32 and
Fortran 77-32.