Dolphin 3 failing to open on WinXP

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

Dolphin 3 failing to open on WinXP

Steve Taylor-3
I have a Dolphin 3 image which I've been tinkering with for - well,
years. While I own Dolphin 4 and 5, I've never had any reason to
consider porting this code before, but...

I've just got a new machine running WinXP, after my old Win98 machine
finally expired (you can see I don't exactly chase the belleding edge of
technology...) and my Dolphin 3 image refuses to launch about 20% of the
time. The symptom is a walkback appearing as soon as I double click on
the the dolphin.exe or the .img, complaining of a division by 0. The
full trace appears at the end of this message.

While I don't seriously think Dolphin 3 needs too much supporting at
this point - I'll just bite the bullet and move my code over to Dolphin
5 - I am curious. Have other people seen this problem? Have other
versions of Dolphin had problems with WinXP?


                                       Steve


ProcessorScheduler>>zeroDivide:
[] in ProcessorScheduler>>vmi:list:no:with:
BlockClosure>>ifCurtailed:
ProcessorScheduler>>vmi:list:no:with:
SmallInteger>>/
InputState>>onStartup
DevelopmentSessionManager(SessionManager)>>basicPrimaryStartup
DevelopmentSessionManager(SessionManager)>>primaryStartup
DevelopmentSessionManager>>primaryStartup
DevelopmentSessionManager(SessionManager)>>onStartup:
ProcessorScheduler>>onStartup:
[] in ProcessorScheduler>>vmi:list:no:with:
BlockClosure>>ifCurtailed:
ProcessorScheduler>>vmi:list:no:with:
DevelopmentSessionManager>>snapshot:
DevelopmentSessionManager>>snapshot
DevelopmentSessionManager>>saveImageDefault
[] in DevelopmentSessionManager(SessionManager)>>saveImage
BlockClosure>>ensure:
DevelopmentSessionManager(SessionManager)>>saveImage
SmalltalkSystem>>saveImage
Symbol>>forwardTo:
[] in Command>>value
BlockClosure>>ensure:
Command>>value
SmalltalkSystemShell(Shell)>>performCommand:
CommandQuery>>perform
CommandPolicy>>route:
[] in ShellView(View)>>onCommand:
BlockClosure>>ensure:
Cursor>>showWhile:
ShellView(View)>>onCommand:
ShellView(View)>>wmCommand:wParam:lParam:
ShellView(View)>>dispatchMessage:wParam:lParam:
[] in InputState>>wndProc:message:wParam:lParam:
BlockClosure>>ifCurtailed:
ProcessorScheduler>>callbackEvaluate:
InputState>>wndProc:message:wParam:lParam:
InputState>>pumpMessage:
InputState>>loopWhile:
InputState>>mainLoop
[] in InputState>>forkMain
ExceptionHandler(ExceptionHandlerAbstract)>>markAndTry
[] in ExceptionHandler(ExceptionHandlerAbstract)>>try:
BlockClosure>>ensure:
ExceptionHandler(ExceptionHandlerAbstract)>>try:
BlockClosure>>on:do:
[] in BlockClosure>>newProcess


Reply | Threaded
Open this post in threaded view
|

Re: Dolphin 3 failing to open on WinXP

Steve Taylor-3
Steve Taylor wrote:

> (you can see I don't exactly chase the belleding edge of
> technology...)

Or proofread. That should be 'bleeding'.



                         Steve


Reply | Threaded
Open this post in threaded view
|

Re: Dolphin 3 failing to open on WinXP

Ian Bartholomew-18
In reply to this post by Steve Taylor-3
Steve,

> I've just got a new machine running WinXP, after my old Win98 machine
> finally expired (you can see I don't exactly chase the belleding edge
> of technology...) and my Dolphin 3 image refuses to launch about 20%
> of the time. The symptom is a walkback appearing as soon as I double
> click on the the dolphin.exe or the .img, complaining of a division
> by 0. The full trace appears at the end of this message.

This is not due to XP but because your new machine is faster than the
old one.  This was a known problem "back in the good old days" and the
suggested fix was to change the InputState>>onStartup method to include

~~~~~~~~~~~~~~

 "Calculate a sampling interval of approximately 24576 on a P100"
 startTime := Delay millisecondClockValue.
 loops := 0.
 [ loops := loops + 1.
  1 to: 68000 do: [:i |].
  (ticks := Delay millisecondClockValue - startTime) <= 0] whileTrue.
 SamplingInterval := (((24576 * loops / ticks * 40) asInteger)
     min: 1048576)     "no longer than 2^20"
      max: 16384.   "no shorter than 2^14"

~~~~~~~~~~~~~~

This was the code used in D4 (according to the newsgroup archive) but
the method has been refactored out in D5 (see
InputState>>setSamplingInterval)

--
Ian

Use the Reply-To address to contact me.
Mail sent to the From address is ignored.


Reply | Threaded
Open this post in threaded view
|

Re: Dolphin 3 failing to open on WinXP

Steve Taylor-3
Ian Bartholomew wrote:

> This is not due to XP but because your new machine is faster than the
> old one.  [...snip...]

Thank you! I knew I never should have moved on from the old Sinclair
Spectrum. No good will come of all this loose computing power...




                              Steve