Every interrupt function causing random amiga issues
Using Every function or cmd is causing..(Amiga mode manifest issue). Beta 10&11 same.
a) Gosubs do not complete at random including ones with (if else endif inside them) evaluates are not working etc in the gosubs, they never complete and return.
b) Also alot of amiga (screen modes or screen display) fail to set or take any note of screen hide cmd/function etc you end up with screens to back instead front or not hidden at all.
c) I also found the program counter had moved to random positions in the code, very odd indeed.
It seams as paul found out, if one is using the "Every 1 proc " procedure, it seams to cause all the above in the current builds.
I disabled as did paul and found things now worked. Also because of this problem, I have been unable to use the previewer in Beta 10&11 at all, the code would only run in fullscreen browsers.
Updated by malcolm harvey about 2 years ago
- Status changed from Feedback to Closed
Hmm, I dont know if I can replicate this simply.
Ill close the ticket and if I can find what does this simply ill add another ticket.
It might be best I put in a ticket showing just what is not working in the previewer instead.
Updated by malcolm harvey almost 2 years ago
Example of things that stop working recently in Amiga mode using "every x interrupt method" but did previously but work only now currently using alt method "Myint = Set Interval( 5, "readclock" ). (Basically if any of the below occurs it just stops executing.
Seams yes something in every has changed. Doing multiple screen open and hiding them straight after can stop it one after the other that you might have previously opened or even doing screen display 2,0,0,640,512 can also give an error which should not be.
I do think tho, its just some cascading effect simply using every now, bombing out normal commands that should not be effected.
(If else end if loops)
scrollinscreenu: // screen fades moves wipes etc. (This routine scrolls screen in from bottom to top (Experimantal) (not in use) offsetposy=offsetposyvalue //offset y value preset before call start offsetposy1=offsetposyvalue1 //offset y value preset before call start screen display 0,offsetposxnow,offsetposy,320,256 screen display 1,offsetposx,offsetposy1,158,236 checkscrpos: if offsetposy>=yposvalue // Stop if >=40 or moves 254 pixels up offsetposy=offsetposy-2 // 2 pixel scroll offsetposy1=offsetposy1-2 wait vbl screen display 0,offsetposxnow,offsetposy,320,256 screen display 1,offsetposx,offsetposy1,158,236 goto checkscrpos else end if // print offsetpos // print screen offset pos (Viewport)..// return
(Open screen and hide screens)
//hidden screen 2 for inventory //Open second screen for copy and paste objects for blitter Screen Open 2,640,512,256,Hires //This is the inventory screen/sprites and loading/exit pics screen 2 screen display 2,0,0,640,512 //Set Font "sapphire",14 screen hide 2 curs off
(Get block & put block)
if currentposmapcoord#=6.0 //cannonroom screen 4 //Get Icon 2,1,0,128 To 160,256 Get Block 1,0,384,160,128 if showmudmap=1 //if mudmap showing bypass gfx screen 10 Put block 1,0,0 //put current background screen 2 screen 0 goto Blitroomgfxdone else end if screen 0 //Paste Icon 160,56,1 Put Block 1,160,56 Else end if