CompuServe Thread

#GURU #9,432,312.6

2 messages in this thread
#134144From: John DraperJul 11, 1988 4:03 PM
Ben, Withiut looking at the actual numbers (LVO, etc.), I think one of the problems might be with the trashing of register in the smoother() function. For an example of a C program using setfunction, see beepit in DL 9 or 10. I had to use inline assembler (though Vic tells me I should have been able to do it without). basically, I had to use asm to stash the registers for a proper return, and had to use the getA4() function to point the compiler at the data hunk. Hmm… if memory serves, I also had to put in a stub or two to get rid of some excess bagage that the compiler put in there. Why not just write it in asm to start with? -larry
#134179From: Black Belt SystemsJul 11, 1988 10:27 PM
Well…. seems to me that the problem so far is more subtle…. the call being set is "ScrollRaster" and the program doesn't recover from the SetFunction call…. it's not an issue of the smoother func not working – if I call the thing (menu key) then press the menu button, the machine locks up – ScrollRaster was never invoked by anything, so I'm at a loss as to what's happening. I see what you mean about the register bindings.. that could get you on the incoming call to Scroll raster, which expects it's parames on the stack. Smoother, I mean. But It's not getting that far. I do have Beepit, and I did look at it – perhaps I'll have to do that. The only reason I didn't use assembler is beacause nothing ELSE in the program does (it's about 200k object) and it didn't seem to require it. See anything that might be buggering the actual call? (You might tell me where I'm supposed to find the LVO – I looked in the actual library forr it – a doubtful proceedure, as I'm not all that familiar with the library itself). Thanks for the answer, tho – I knew somebody would have looked at this kind of stuff here. –Ben–