HydraVM bins update. Was: (Re: [squeak-dev] Re: Re: [ANN] Hydra VM: A multi-core capable Croquet VM)

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
9 messages Options
Reply | Threaded
Open this post in threaded view
|

HydraVM bins update. Was: (Re: [squeak-dev] Re: Re: [ANN] Hydra VM: A multi-core capable Croquet VM)

Igor Stasenko
>
> Btw this one works (minimalmorphic.7201) but not minimalmorphic2.
>
>  Okay i found the cause of this: simply because window is being hidden
>  in SetWindowSize() and then never shown later :) I wonder why this bug
>  pops out depending of what image i'm using.
>
>  By disabling hiding i'm also found that there are two main windows
>  created instead of one.
>  Oh.. this windowing stuff are quite messy.. i'll try to fix this today.
>  But i'm not sure that this will fix a 'freezing' bug. Well, lets hope it will :)
>

Okay, i'm just fixed that issue, please try it again with new executables.

You will find them on ftp:

http://ftp.squeak.org/HydraVM/latest_builds/win32/

To All: I will use this dir to place latest VM binaries.

--
Best regards,
Igor Stasenko AKA sig.

Reply | Threaded
Open this post in threaded view
|

[squeak-dev] Re: HydraVM bins update. Was: (Re: Re: Re: [ANN] Hydra VM: A multi-core capable Croquet VM)

Klaus D. Witzel
On Fri, 22 Feb 2008 16:51:55 +0100, Igor Stasenko wrote:

> Igor wrote:
>>
>> Btw this one works (minimalmorphic.7201) but not minimalmorphic2.
>>
>>  Okay i found the cause of this: simply because window is being hidden
>>  in SetWindowSize() and then never shown later :) I wonder why this bug
>>  pops out depending of what image i'm using.
>>
>>  By disabling hiding i'm also found that there are two main windows
>>  created instead of one.
>>  Oh.. this windowing stuff are quite messy.. i'll try to fix this today.
>>  But i'm not sure that this will fix a 'freezing' bug. Well, lets hope  
>> it will :)
>>
>
> Okay, i'm just fixed that issue, please try it again with new  
> executables.

o MinimalMorphic2 - now works :)
o MinimalMorphic with beautiful FreeType - works
o sq3.10-7159dev08.02.1 with beautiful UI theme - works
o Squeak3.9-final-7067 - works

All had to open file list and browser for qualifying as #works.

> You will find them on ftp:
>
> http://ftp.squeak.org/HydraVM/latest_builds/win32/
>
> To All: I will use this dir to place latest VM binaries.
>



Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] Re: HydraVM bins update. Was: (Re: Re: Re: [ANN] Hydra VM: A multi-core capable Croquet VM)

RobertLJ
Igor:

I am having trouble running the HydraVM on 64Bit Vista. When I run the VM whit the latest Squeak image the development environment locks up.  I am attaching the logged output generated from Croquet.  If there is anything that you need form me to help solve this problem don't hesitate to ask.

BobJ

-----------------------------------------------------------------------------------------------------------------------------------
ioCreateMutex ^ e0
Added new attached state id=1 , size=1096
ioCreateMutex ^ e4
IMAGE NAME: C:\Users\Bob\smalltalk\HydraVM-bin\Squeak3.9-final-7067.image
IMAGE PATH: C:\Users\Bob\smalltalk\HydraVM-bin\
New interpreter instance 27d580 is about to start!
Initializing attached states...
Initializing win32 attached state
SetupWindows enter
SetupWindows return. stWindow = 130918
ioSetFullScreen 0
...done
Looking for plugin MiscPrimitivePlugin
LoadLibrary failed (126) -- The specified module could not be found.
LoadLibrary failed (126) -- The specified module could not be found.
LoadLibrary failed (126) -- The specified module could not be found.
Looking (internally) for setInterpreter in MiscPrimitivePlugin ... found
Looking (internally) for getModuleName in MiscPrimitivePlugin ... found
Looking (internally) for setInterpreter in MiscPrimitivePlugin ... found
Looking (internally) for initialiseModule in MiscPrimitivePlugin ... not found
SUCCESS: Module MiscPrimitivePlugin is now initialized
Looking (internally) for primitiveDecompressFromByteArray in MiscPrimitivePlugin ... found
Looking (internally) for primitiveCompareString in MiscPrimitivePlugin ... found
Looking (internally) for primitiveStringHash in MiscPrimitivePlugin ... found
Looking for plugin FilePlugin
LoadLibrary failed (126) -- The specified module could not be found.
LoadLibrary failed (126) -- The specified module could not be found.
LoadLibrary failed (126) -- The specified module could not be found.
Looking (internally) for setInterpreter in FilePlugin ... found
Looking (internally) for getModuleName in FilePlugin ... found
Looking (internally) for setInterpreter in FilePlugin ... found
Looking (internally) for initialiseModule in FilePlugin ... found
Looking for plugin SecurityPlugin
LoadLibrary failed (126) -- The specified module could not be found.
LoadLibrary failed (126) -- The specified module could not be found.
LoadLibrary failed (126) -- The specified module could not be found.
Looking (internally) for setInterpreter in SecurityPlugin ... found
Looking (internally) for getModuleName in SecurityPlugin ... found
Looking (internally) for setInterpreter in SecurityPlugin ... found
Looking (internally) for initialiseModule in SecurityPlugin ... found
SUCCESS: Module SecurityPlugin is now initialized
Looking (internally) for secCanCreatePathOfSize in SecurityPlugin ... found
Looking (internally) for secCanDeletePathOfSize in SecurityPlugin ... found
Looking (internally) for secCanGetFileTypeOfSize in SecurityPlugin ... found
Looking (internally) for secCanListPathOfSize in SecurityPlugin ... found
Looking (internally) for secCanSetFileTypeOfSize in SecurityPlugin ... found
Looking (internally) for secDisableFileAccess in SecurityPlugin ... found
Looking (internally) for secCanDeleteFileOfSize in SecurityPlugin ... found
Looking (internally) for secCanOpenFileOfSizeWritable in SecurityPlugin ... found
Looking (internally) for secCanRenameFileOfSize in SecurityPlugin ... found
Looking (internally) for secHasFileAccess in SecurityPlugin ... found
Added new attached state id=2 , size=4
SUCCESS: Module FilePlugin is now initialized
Looking (internally) for primitiveDirectoryDelimitor in FilePlugin ... found
Looking (internally) for primitiveFindSubstring in MiscPrimitivePlugin ... found
Looking (internally) for primitiveDirectoryLookup in FilePlugin ... found
Looking (internally) for primitiveIndexOfAsciiInString in MiscPrimitivePlugin ... found
Looking (internally) for primitiveFileOpen in FilePlugin ... found
Looking (internally) for primitiveFileClose in FilePlugin ... found
Looking (internally) for primitiveFileAtEnd in FilePlugin ... found
Looking (internally) for primitiveFileRead in FilePlugin ... found
Looking (internally) for primitiveCanWriteImage in SecurityPlugin ... found
Looking (internally) for primitiveGetSecureUserDirectory in SecurityPlugin ... found
Looking (internally) for primitivePluginBrowserReady in  ... found
fBrowserMode == 0
Looking (internally) for primitiveTranslateStringWithTable in MiscPrimitivePlugin ... found
Looking for plugin BitBltPlugin
LoadLibrary failed (126) -- The specified module could not be found.
LoadLibrary failed (126) -- The specified module could not be found.
LoadLibrary failed (126) -- The specified module could not be found.
Looking (internally) for setInterpreter in BitBltPlugin ... found
Looking (internally) for getModuleName in BitBltPlugin ... found
Looking (internally) for setInterpreter in BitBltPlugin ... found
Looking (internally) for initialiseModule in BitBltPlugin ... found
SUCCESS: Module BitBltPlugin is now initialized
Looking (internally) for primitiveCopyBits in BitBltPlugin ... found
Looking for plugin B2DPlugin
LoadLibrary failed (126) -- The specified module could not be found.
LoadLibrary failed (126) -- The specified module could not be found.
LoadLibrary failed (126) -- The specified module could not be found.
Looking (internally) for setInterpreter in B2DPlugin ... found
Looking (internally) for getModuleName in B2DPlugin ... found
Looking (internally) for setInterpreter in B2DPlugin ... found
Looking (internally) for initialiseModule in B2DPlugin ... found
Added new attached state id=3 , size=48
Looking (internally) for loadBitBltFrom in BitBltPlugin ... found
Looking (internally) for copyBitsFromtoat in BitBltPlugin ... found
SUCCESS: Module B2DPlugin is now initialized
Looking (internally) for primitiveSetBitBltPlugin in B2DPlugin ... found
Looking (internally) for primitiveInitializeBuffer in B2DPlugin ... found
Looking (internally) for primitiveSetAALevel in B2DPlugin ... found
Looking (internally) for primitiveSetOffset in B2DPlugin ... found
Looking (internally) for primitiveSetClipRect in B2DPlugin ... found
Looking (internally) for primitiveSetEdgeTransform in B2DPlugin ... found
Looking (internally) for primitiveSetColorTransform in B2DPlugin ... found
Looking (internally) for primitiveGetDepth in B2DPlugin ... found
Looking (internally) for primitiveSetDepth in B2DPlugin ... found
Looking (internally) for primitiveAddGradientFill in B2DPlugin ... found
Looking (internally) for primitiveAddRect in B2DPlugin ... found
Looking (internally) for primitiveFinishedProcessing in B2DPlugin ... found
Looking (internally) for primitiveRenderScanline in B2DPlugin ... found
Looking (internally) for primitiveGetTimes in B2DPlugin ... found
Looking (internally) for primitiveGetCounts in B2DPlugin ... found
Looking (internally) for primitiveGetBezierStats in B2DPlugin ... found
Looking for plugin FloatArrayPlugin
LoadLibrary failed (126) -- The specified module could not be found.
LoadLibrary failed (126) -- The specified module could not be found.
LoadLibrary failed (126) -- The specified module could not be found.
Looking (internally) for setInterpreter in FloatArrayPlugin ... found
Looking (internally) for getModuleName in FloatArrayPlugin ... found
Looking (internally) for setInterpreter in FloatArrayPlugin ... found
Looking (internally) for initialiseModule in FloatArrayPlugin ... not found
SUCCESS: Module FloatArrayPlugin is now initialized
Looking (internally) for primitiveAtPut in FloatArrayPlugin ... found
Looking for plugin Matrix2x3Plugin
LoadLibrary failed (126) -- The specified module could not be found.
LoadLibrary failed (126) -- The specified module could not be found.
LoadLibrary failed (126) -- The specified module could not be found.
Looking (internally) for setInterpreter in Matrix2x3Plugin ... found
Looking (internally) for getModuleName in Matrix2x3Plugin ... found
Looking (internally) for setInterpreter in Matrix2x3Plugin ... found
Looking (internally) for initialiseModule in Matrix2x3Plugin ... not found
SUCCESS: Module Matrix2x3Plugin is now initialized
Looking (internally) for primitiveComposeMatrix in Matrix2x3Plugin ... found
Looking (internally) for primitiveNeedsFlushPut in B2DPlugin ... found
Looking (internally) for primitiveAddBezierShape in B2DPlugin ... found
Looking (internally) for primitiveDisplayString in BitBltPlugin ... found
Looking for plugin LargeIntegers
LoadLibrary failed (126) -- The specified module could not be found.
LoadLibrary failed (126) -- The specified module could not be found.
LoadLibrary failed (126) -- The specified module could not be found.
Looking (internally) for setInterpreter in LargeIntegers ... found
Looking (internally) for getModuleName in LargeIntegers ... found
Looking (internally) for setInterpreter in LargeIntegers ... found
Looking (internally) for initialiseModule in LargeIntegers ... not found
SUCCESS: Module LargeIntegers is now initialized
Looking (internally) for primDigitAdd in LargeIntegers ... found
Looking (internally) for primNormalizePositive in LargeIntegers ... found
Looking (internally) for primDigitDivNegative in LargeIntegers ... found
Looking (internally) for primDigitMultiplyNegative in LargeIntegers ... found
Looking (internally) for primDigitSubtract in LargeIntegers ... found
Looking for plugin ImmWin32Plugin
LoadLibrary failed (126) -- The specified module could not be found.
LoadLibrary failed (126) -- The specified module could not be found.
LoadLibrary failed (126) -- The specified module could not be found.
Looking (internally) for setInterpreter in ImmWin32Plugin ... not found
Failed to find primSetCompositionWindowPosition (module ImmWin32Plugin was not loaded)
44539044 >idleProcess
44522040 [] in >startUp
44522132 [] in BlockContext>newProcess
Looking (internally) for shutdownModule in LargeIntegers ... not found
Looking (internally) for shutdownModule in Matrix2x3Plugin ... not found
Looking (internally) for shutdownModule in FloatArrayPlugin ... not found
Looking (internally) for shutdownModule in B2DPlugin ... not found
Looking (internally) for shutdownModule in BitBltPlugin ... not found
Looking (internally) for shutdownModule in SecurityPlugin ... not found
Looking (internally) for shutdownModule in FilePlugin ... found
Looking (internally) for shutdownModule in MiscPrimitivePlugin ... not found

-----------------------------------------------------------------------------------------------------------------------------------

On Fri, Feb 22, 2008 at 11:40 AM, Klaus D. Witzel <[hidden email]> wrote:
On Fri, 22 Feb 2008 16:51:55 +0100, Igor Stasenko wrote:

> Igor wrote:
>>
>> Btw this one works (minimalmorphic.7201) but not minimalmorphic2.
>>
>>  Okay i found the cause of this: simply because window is being hidden
>>  in SetWindowSize() and then never shown later :) I wonder why this bug
>>  pops out depending of what image i'm using.
>>
>>  By disabling hiding i'm also found that there are two main windows
>>  created instead of one.
>>  Oh.. this windowing stuff are quite messy.. i'll try to fix this today.
>>  But i'm not sure that this will fix a 'freezing' bug. Well, lets hope
>> it will :)
>>
>
> Okay, i'm just fixed that issue, please try it again with new
> executables.

o MinimalMorphic2 - now works :)
o MinimalMorphic with beautiful FreeType - works
o sq3.10-7159dev08.02.1 with beautiful UI theme - works
o Squeak3.9-final-7067 - works

All had to open file list and browser for qualifying as #works.

> You will find them on ftp:
>
> http://ftp.squeak.org/HydraVM/latest_builds/win32/
>
> To All: I will use this dir to place latest VM binaries.
>






Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] Re: HydraVM bins update. Was: (Re: Re: Re: [ANN] Hydra VM: A multi-core capable Croquet VM)

Igor Stasenko
On 22/02/2008, Robert Johnson <[hidden email]> wrote:
> Igor:
>
> I am having trouble running the HydraVM on 64Bit Vista. When I run the VM
> whit the latest Squeak image the development environment locks up.  I am
> attaching the logged output generated from Croquet.  If there is anything
> that you need form me to help solve this problem don't hesitate to ask.
>

It's not only 64 bit Vista. It's differs from even Windows XP version
you running.
Try use latest binaries and tell me if problem is gone.
I really hoping it is..

Spent too much time fighting with it.

http://ftp.squeak.org/HydraVM/latest_builds/win32/HydraVM-bin.zip

> BobJ
>


> --
Best regards,
Igor Stasenko AKA sig.

Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] Re: HydraVM bins update. Was: (Re: Re: Re: [ANN] Hydra VM: A multi-core capable Croquet VM)

RobertLJ
Thanks Igor

The VM is working beautifully on my system.  It is very fast!  Thanks for helping the new guy to the squeak community.

BobJ

On Fri, Feb 22, 2008 at 10:06 PM, Igor Stasenko <[hidden email]> wrote:
On 22/02/2008, Robert Johnson <[hidden email]> wrote:
> Igor:
>
> I am having trouble running the HydraVM on 64Bit Vista. When I run the VM
> whit the latest Squeak image the development environment locks up.  I am
> attaching the logged output generated from Croquet.  If there is anything
> that you need form me to help solve this problem don't hesitate to ask.
>

It's not only 64 bit Vista. It's differs from even Windows XP version
you running.
Try use latest binaries and tell me if problem is gone.
I really hoping it is..

Spent too much time fighting with it.

http://ftp.squeak.org/HydraVM/latest_builds/win32/HydraVM-bin.zip

> BobJ
>


> --
Best regards,
Igor Stasenko AKA sig.




Reply | Threaded
Open this post in threaded view
|

[squeak-dev] Re: HydraVM bins update. Was: (Re: Re: Re: [ANN] Hydra VM: A multi-core capable Croquet VM)

garduino
In reply to this post by Igor Stasenko
Hi Igor:

  I played a bit with this new vm (I think is different from the
  yesterday one) in another machine (were also the images were
  freezing).

  Trying with croquet image, don't freezes anymore.

  Trying with a 3.9-7067 final don't freezes neither.

  In this last I installed HydraVM and the results of trying the commands are:

  HydraVM isHydra (ok)

  HydraVM saveAsHeadlessImage: 'test.image' hangup the image with lot of
  messages "handling events nnnn" on the cmd console (or log file).

  After this crash the image don't respond (at windows level, means that
  I can't close pressing the X window button) and remain unusable. I
  meant after killing this process the image don't start anymore with
  croquet.exe nor with a common vm.

  Tried the same but with 3.9-7067 dev from Damien Cassou the image
  respond to 2 "Alt + ." when trying to generate the headless image and
  the image seems to be a  bit "confused" (I need to restore display several times).

  Obviosuly the previous is because I must press "Alt + ." because the
  generation of the headless image never ends.

  Hope this help.

  Cheers.

  ---
  Germán Arduino
  Squeak fan :)




  2008/2/23, Igor Stasenko <[hidden email]>:

> On 22/02/2008, Robert Johnson <[hidden email]> wrote:
  >  > Igor:
  >  >
  >  > I am having trouble running the HydraVM on 64Bit Vista. When I run the VM
  >  > whit the latest Squeak image the development environment locks up.  I am
  >  > attaching the logged output generated from Croquet.  If there is anything
  >  > that you need form me to help solve this problem don't hesitate to ask.
  >  >
  >
  >
  > It's not only 64 bit Vista. It's differs from even Windows XP version
  >  you running.
  >  Try use latest binaries and tell me if problem is gone.
  >  I really hoping it is..
  >
  >  Spent too much time fighting with it.
  >
  >  http://ftp.squeak.org/HydraVM/latest_builds/win32/HydraVM-bin.zip
  >
  >  > BobJ
  >  >
  >
  >
  >  > --
  >  Best regards,
  >
  > Igor Stasenko AKA sig.
  >
  >






Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] Re: HydraVM bins update. Was: (Re: Re: Re: [ANN] Hydra VM: A multi-core capable Croquet VM)

Igor Stasenko
On 24/02/2008, Germán Arduino <[hidden email]> wrote:

> Hi Igor:
>
>   I played a bit with this new vm (I think is different from the
>   yesterday one) in another machine (were also the images were
>   freezing).
>
>   Trying with croquet image, don't freezes anymore.
>
>   Trying with a 3.9-7067 final don't freezes neither.
>
>   In this last I installed HydraVM and the results of trying the commands
> are:
>
>   HydraVM isHydra (ok)
>
>   HydraVM saveAsHeadlessImage: 'test.image' hangup the image with lot of
>    messages "handling events nnnn" on the cmd console (or log file).
>
- this was trace message, for debugging. I removed it in latest binaries.

For firing delay semaphore events i tried:
 - waitable timers in separate thread. This caused freezing on some PCs.

 - multimedia timer event (with mmsystem). It also using separate
thread under the hood. In this case no freezing was reported anymore,
but i found that it's not 100% stable. Now at my PC, at some random
point after using VM, it starts eating 100% CPU and stops responding
to anything.

- with last build, i turned back to use own thread, but this time
without waitable timers. There is an event, which fired when delay
setting up, but thread's inner loop using simple waiting for event or
timeout. No freezing reported in this case, also it looks like issue
with 100% CPU hogging is gone.
http://ftp.squeak.org/HydraVM/latest_builds/win32/HydraVM-bin.zip (
24-Feb-2008 00:01)


>   After this crash the image don't respond (at windows level, means that
>   I can't close pressing the X window button) and remain unusable. I
>    meant after killing this process the image don't start anymore with
>   croquet.exe nor with a common vm.
>
>   Tried the same but with 3.9-7067 dev from Damien Cassou the image
>   respond to 2 "Alt + ." when trying to generate the headless image and
>
>    the image seems to be a  bit "confused" (I need to restore display
> several times).
>
>   Obviosuly the previous is because I must press "Alt + ." because the
>   generation of the headless image never ends.
>
A script for preparing image works only for croquet images. I will
explore what is not working in 3.9 - 3.10 images before releasing next
update.

By running #saveAsHeadlessImage: squeak should quit and if it don't
quits, then there is an error.


>   Hope this help.
>
>   Cheers.
>
>   ---
>   Germán Arduino
>   Squeak fan :)
>


--
Best regards,
Igor Stasenko AKA sig.


Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] Re: HydraVM bins update. Was: (Re: Re: Re: [ANN] Hydra VM: A multi-core capable Croquet VM)

garduino
Hi:

2008/2/24, Igor Stasenko <[hidden email]>:
On 24/02/2008, Germán Arduino <[hidden email]> wrote:
> Hi Igor:
>
>   I played a bit with this new vm (I think is different from the
>   yesterday one) in another machine (were also the images were
>   freezing).
>
>   Trying with croquet image, don't freezes anymore.
>
>   Trying with a 3.9-7067 final don't freezes neither.
>
>   In this last I installed HydraVM and the results of trying the commands
> are:
>
>   HydraVM isHydra (ok)
>
>   HydraVM saveAsHeadlessImage: 'test.image' hangup the image with lot of
>    messages "handling events nnnn" on the cmd console (or log file).
>

- this was trace message, for debugging. I removed it in latest binaries.

ok,  I saw.

For firing delay semaphore events i tried:
  - waitable timers in separate thread. This caused freezing on some PCs.

  - multimedia timer event (with mmsystem). It also using separate
thread under the hood. In this case no freezing was reported anymore,
but i found that it's not 100% stable. Now at my PC, at some random
point after using VM, it starts eating 100% CPU and stops responding
to anything.

Don't experienced myself, but hear of other with this CPU problem.
 

- with last build, i turned back to use own thread, but this time
without waitable timers. There is an event, which fired when delay
setting up, but thread's inner loop using simple waiting for event or
timeout. No freezing reported in this case, also it looks like issue
with 100% CPU hogging is gone.
http://ftp.squeak.org/HydraVM/latest_builds/win32/HydraVM-bin.zip (
24-Feb-2008 00:01)

Will check asap.

>   After this crash the image don't respond (at windows level, means that
>   I can't close pressing the X window button) and remain unusable. I
>    meant after killing this process the image don't start anymore with
>   croquet.exe nor with a common vm.
>
>   Tried the same but with 3.9-7067 dev from Damien Cassou the image
>   respond to 2 "Alt + ." when trying to generate the headless image and
>
>    the image seems to be a  bit "confused" (I need to restore display
> several times).
>
>   Obviosuly the previous is because I must press "Alt + ." because the
>   generation of the headless image never ends.
>


A script for preparing image works only for croquet images. I will
explore what is not working in 3.9 - 3.10 images before releasing next
update.

By running #saveAsHeadlessImage: squeak should quit and if it don't
quits, then there is an error.

I think that the problem (only checked very fast without much time to test) is related with the class InterruptWatcherProcess that don't exist in the images I have (except on Croquet). But, as I've said, only checked very fast.

>   Hope this help.
>
>   Cheers.
>
>   ---
>   Germán Arduino
>   Squeak fan :)
>


Thanks.
Cheers.

 

--

Best regards,
Igor Stasenko AKA sig.






--
Germán S. Arduino
http://www.arsol.biz
http://www.arsol.net


Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] Re: HydraVM bins update. Was: (Re: Re: Re: [ANN] Hydra VM: A multi-core capable Croquet VM)

johnmci
>

Ok, well a spend a day or so trying to compile up a vm

I wonder why perhaps this shouldn't be a plugin you load? So you could  
have full featured VM, then the plugin hydra vm with fewer features  
(like no sound, ui)

I note I could not use the vmmaker supplied and build a proper  
interp.c on the macintosh, it would not build for example foo-
 >endOfMemory even tho I said the VM should be build
using a structure.

I think in sqFilePluginBasicPrims.c
the source I have reads
sqInt sqFileAtEnd(PLUGIN_IPARAM_COMMA SQFile *f) {
        /* Return true if the file's read/write head is at the end of the  
file. */

        if (!sqFileValid(PLUGIN_IPARAM_COMMA f)) return vmFunction(success)
(PLUGIN_IARG_COMMA false);
        return ftell(getFile(f)) == getSize(f);
}

But as far as I could figure out that is wrong, it's reversed and  
should be.

sqInt sqFileAtEnd(PLUGIN_IARG_COMMA SQFile *f) {
        /* Return true if the file's read/write head is at the end of the  
file. */

        if (!sqFileValid(PLUGIN_IPARAM_COMMA f)) return vmFunction(success)
(PLUGIN_IPARAM_COMMA false);
        return ftell(getFile(f)) == getSize(f);
}

mmm MainVM = 0x0 when I want to read the first image file.  Oh well  
guess more work is required

I'll need some who wants to test, email me for details


--
=
=
=
========================================================================
John M. McIntosh <[hidden email]>
Corporate Smalltalk Consulting Ltd.  http://www.smalltalkconsulting.com
=
=
=
========================================================================