Hello,
I have been doing some programming with random numbers and have been using result = RndStrong(#Integer, 8)
I get an Amiga Dos Error
Please insert Volume
RANDOM:
in any drive
Process: XXX "Hollywood"
If I press Cancel, I get a Hollywood Error
Error generating Random Number
File: HWTemp$ (Current Line: xx - In Function RndStrong)
I'm using Hollywood 9.1, in Windows 10 it works, in AOS4.1 (Final Edition Update 2) it gives and error.
Even if I just use the one line, result = RndStrong(#Integer, 8) I get the error.
Cheers
Leo
RndStrong() causes DOS Error
RndStrong() causes DOS Error
----------------------------------------------------------------------------------------
Redlion
Sam460 Lite
A4000 A3000 A2000 A1200 A1000 A600 A500 CD32
Redlion
Sam460 Lite
A4000 A3000 A2000 A1200 A1000 A600 A500 CD32
- airsoftsoftwair
- Posts: 5277
- Joined: Fri Feb 12, 2010 2:33 pm
- Location: Germany
- Contact:
Re: RndStrong() causes DOS Error
Hmm, it works here with Hollywood 10 on my OS4.1 system but I'm still using Final Edition Update 1. Are you using any patches or is this a clear OS4.1 Final Edition Update 2 system? I remember things like A-EON Enhancer replacing many system components...
Re: RndStrong() causes DOS Error
@ airsoftsoftwair
Its a standard AmigaOS 4.1 with update 2 and the free Enhancher software Core Edition 1.1 .
Normal Rnd() works, just not RndStrong()
It used to work when I first installed Hollywood 9.1, even the compiled version crashes with the same error. I have checked there are no assigns of devices named RANDOM: on my machine.
Here is the code block, but i can repeat the error with just the line " dirc = RndStrong(#INTEGER, 8) "
I can work around this with Rnd() but RndStrong() was giving me a better spread.
Can anyone with Enhancer Software Core installed test, just to eliminate it from the picture.
Cheers
Leo
Its a standard AmigaOS 4.1 with update 2 and the free Enhancher software Core Edition 1.1 .
Normal Rnd() works, just not RndStrong()
It used to work when I first installed Hollywood 9.1, even the compiled version crashes with the same error. I have checked there are no assigns of devices named RANDOM: on my machine.
Here is the code block, but i can repeat the error with just the line " dirc = RndStrong(#INTEGER, 8) "
Code: Select all
SelectBrush(Map)
SetFillStyle(#FILLCOLOR)
Local X = (790/2)
Local Y = (790/2)
Local line_x = X
Local line_y = Y
Local l = 1
Repeat
dirc = RndStrong(#INTEGER, 8) ; pick a random number ( direction )
If dirc <> last_dirc ; dont repeat a direction
Switch dirc
Case 0 ; north
line_y = line_y - 45
Case 1 ; east
line_x = line_x + 45
Case 2 ; south
line_y = line_y + 45
Case 3 ; west
line_x = line_x - 45
Case 4 ; northeast
line_y = line_y - 45
line_x = line_x + 45
Case 5 ; southeast
line_x = line_x + 45
line_y = line_y + 45
Case 6 ; southwest
line_y = line_y + 45
line_x = line_x - 45
Case 7 ; northwest
line_y = line_y - 45
line_x = line_x - 45
EndSwitch
If x > 1 And x < 731 And y > 1 And Y < 731 ; only draw line if in bounds of grid
Line(x, y, line_x, line_y, #YELLOW)
SetFillStyle(#FILLCOLOR)
Box(X-17, Y-17, 35, 35, Colour)
x = line_x
y = line_y
EndIf
EndIf
last_dirc = dirc
l = l + 1
Until l = 900 ; increase for more possible room connections
Box( 0, 0,728, 18,#GRAY) ; clean up edges
Box( 0, 0, 18,728,#GRAY) ; clean up edges
Box(728, 0, 18,728,#GRAY) ; clean up edges
Box( 0,728,746, 18,#GRAY) ; clean up edges
EndSelect
Can anyone with Enhancer Software Core installed test, just to eliminate it from the picture.
Cheers
Leo
----------------------------------------------------------------------------------------
Redlion
Sam460 Lite
A4000 A3000 A2000 A1200 A1000 A600 A500 CD32
Redlion
Sam460 Lite
A4000 A3000 A2000 A1200 A1000 A600 A500 CD32
- airsoftsoftwair
- Posts: 5277
- Joined: Fri Feb 12, 2010 2:33 pm
- Location: Germany
- Contact:
Re: RndStrong() causes DOS Error
I've now checked it on an 4.1 Final Edition Update 2 system and it works without problems on that system too. Must be something that is wrong with your OS4 installation. Have you got L:random-handler installed?
Re: RndStrong() causes DOS Error
@ airsoftsoftwair
I have had a look and there is a L:random-handler size:8580, dated 23-Nov-14 Ver52.1(10-12-2006)
I think that is the original install version.
RndStrong() did work with Hollywood 7
Using just Rnd() for the moment.
Cheers
Leo
I have had a look and there is a L:random-handler size:8580, dated 23-Nov-14 Ver52.1(10-12-2006)
I think that is the original install version.
RndStrong() did work with Hollywood 7
Using just Rnd() for the moment.
Cheers
Leo
----------------------------------------------------------------------------------------
Redlion
Sam460 Lite
A4000 A3000 A2000 A1200 A1000 A600 A500 CD32
Redlion
Sam460 Lite
A4000 A3000 A2000 A1200 A1000 A600 A500 CD32
- airsoftsoftwair
- Posts: 5277
- Joined: Fri Feb 12, 2010 2:33 pm
- Location: Germany
- Contact:
Re: RndStrong() causes DOS Error
I've checked and the OS4 implementation of RndStrong() is completely unchanged since its introduction in 7.1. So I'm sure if you try it with Hollywood 7.1 now it won't work either. There must be something wrong with your OS4 installation. L:random-handler should install a handler that fetches accesses to RANDOM: but that doesn't seem to work on your system. Maybe ask on an OS4 support forum why L:random-handler doesn't work any more.
Re: RndStrong() causes DOS Error
Could you check random-handler to work?
Type this in a shell window: Type "RANDOM:TEXT/SIZE=10"
The result here is something like this:
The same should work in Hollywood:
Here on OS4FEU2 RndStrong() is works.
Type this in a shell window: Type "RANDOM:TEXT/SIZE=10"
The result here is something like this:
Code: Select all
9.WorkBench:> Type "RANDOM:TEXT/SIZE=10"
lnxpvw0y4w9.WorkBench:>
Code: Select all
OpenFile(1,"random:TEXT/SIZE=10",#MODE_READ)
a=ReadBytes(1,10)
DebugPrint(a)
CloseFile(1)