11 August 2019, 21:27 | #1 |
Warhasneverbeensomuchfun
Join Date: Jun 2001
Location: Rio de Janeiro / Brazil
Age: 41
Posts: 3,450
|
Creating an array gives me a Guru
In my code I have a line that's exactly like this:
Code:
Dim map.b(15,375) when I run the code on Winuae it works flawlessly. when I try to run on my A600, this line gives me a "Program Failed (error #80000003)" message and then a Guru. Sometimes just a straight reboot+Guru This is with the debugger on. if I change it to Code:
Dim map.w(15,375) Anyone has any idea of what's happening? It's really weird for me when code runs on Winuae but then fails on real hardware (and it happens more than I would like) EDIT: I tried to create the array at the FIRST line of my code, too see if something else done before was the culprit, still got the Guru. If I make a program with just this line and nothing else I have no problems. What the hell..... Last edited by Shatterhand; 11 August 2019 at 21:34. |
11 August 2019, 22:29 | #2 | |
Registered User
Join Date: Jan 2008
Location: Warsaw/Poland
Age: 55
Posts: 1,957
|
Quote:
|
|
11 August 2019, 23:15 | #3 |
Registered User
Join Date: Mar 2019
Location: Melbourne, Australia
Posts: 420
|
You are the guru Don Adan... there is no substitute for real hardware.
|
11 August 2019, 23:21 | #4 |
Warhasneverbeensomuchfun
Join Date: Jun 2001
Location: Rio de Janeiro / Brazil
Age: 41
Posts: 3,450
|
Any idea of how to solve it?
|
11 August 2019, 23:50 | #5 |
Registered User
Join Date: Jan 2008
Location: Warsaw/Poland
Age: 55
Posts: 1,957
|
|
12 August 2019, 01:12 | #6 |
Warhasneverbeensomuchfun
Join Date: Jun 2001
Location: Rio de Janeiro / Brazil
Age: 41
Posts: 3,450
|
Urr.. no idea of how to do that, I think the compiler is supposed to take care of this kind of thing by its own.
I made the rest of the code work with Word instead of Byte, but now it's using double the memory it needs. This is insanely weird |
12 August 2019, 08:33 | #7 |
son of 68k
Join Date: Nov 2007
Location: Lyon / France
Age: 51
Posts: 5,322
|
You may try something like :
Code:
Dim map.b(16,375) Code:
Dim map.b(15,376) If it doesn't help you'll have to post more of the code, because it's probably not the definition of data that causes the trouble but the actual use of it. |
12 August 2019, 08:37 | #8 |
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,502
|
Did you have 68000 + more compatible ticked? Only more compatible (and more accurate modes) emulate 68000/010 address errors.
|
12 August 2019, 10:05 | #9 |
Registered User
Join Date: Oct 2008
Location: Finland
Posts: 643
|
You can use the EVEN command also in Blitz Basic, since inline assembly is supported. I don't know if it will fix the problem though.
|
12 August 2019, 15:50 | #10 |
Gets there in the end...
Join Date: Sep 2005
Location: Wales
Posts: 862
|
Can you change it to (16,376) and see if that works?
|
12 August 2019, 15:53 | #11 | |||
Warhasneverbeensomuchfun
Join Date: Jun 2001
Location: Rio de Janeiro / Brazil
Age: 41
Posts: 3,450
|
Ok, lots of suggestions , thank you guys, a lot! . I'll only have time to play with my Amiga again in a few days, so it will take a while to test all of this
Quote:
Quote:
I complained "I get errors on real hardware that I don't get on Winuae" but its probably because of the different configurations. Quote:
|
|||
13 August 2019, 14:12 | #12 | |
Registered User
Join Date: Oct 2008
Location: Finland
Posts: 643
|
Quote:
Code:
myvar.w=4 GetReg d0,myvar ; d0 will be set to the value of myvar (4) mulu.w #10,d0 ; inline assembly, multiply d0 with 10 PutReg d0,myvar.w ; myvar will be set to the value of d0 (40) |
|
13 August 2019, 15:23 | #13 |
Warhasneverbeensomuchfun
Join Date: Jun 2001
Location: Rio de Janeiro / Brazil
Age: 41
Posts: 3,450
|
Shit, it's that simple?
I hoped it would be a very complicated thing, so I could say "Oh that's too much hassle" as an excuse to not learn assembly. Damn it. |
13 August 2019, 20:18 | #14 |
Registered User
Join Date: Sep 2008
Location: Gainesville U.S.A.
Posts: 771
|
1 - w/68000 CPU most compatible, CE, WinUAE guru happens.
2 - REDDebugger is at fault. The mere act of invoking it, not this array, causes guru. One error trying to move long word "REXX" to odd. Another trying to go odd w/D0.L. That's enough to consider it a lost cause. This type of crash also plagues one of the tracker libraries. The only recourse I see is replacing defaultdbug file with the (~32k) one on Blitz2 floppy. It is crude by comparison but does work w/68000. Last edited by clenched; 15 August 2019 at 21:41. Reason: typo; forgot most compatible |
13 August 2019, 20:54 | #15 |
Banana
Join Date: Jul 2016
Location: Darmstadt
Posts: 1,213
|
The annals of computer programming must be littered with stunned developers staring at the screen in disbelief, muttering to themselves "how did this thing ever work?"
|
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Amiga 2000 Rev4.4 Resistor Array types | ronybeck | support.Hardware | 2 | 14 August 2019 13:17 |
Array putting garbage in register | Locash | Coders. Asm / Hardware | 8 | 04 March 2018 13:03 |
Limited Array Of CDTV Games | fondpondforever | Retrogaming General Discussion | 9 | 23 July 2015 14:20 |
Blitz2: Pointer to array | idrougge | Coders. Blitz Basic | 3 | 26 March 2015 21:44 |
Guru! | Fackamato | support.WinUAE | 17 | 15 September 2004 22:57 |
|
|