Black_Art_Games Posted April 21, 2019 Share Posted April 21, 2019 Hi all, I've just been compiling some Atari Workshop stuff, part of Workshop series #1 - (My document is dated 8th Nov 1994 if its of interest)Now, my problem isnt the compiling of code or even getting it to run. The problem I believe lies in the way the workshop code ends with 'Illegal', now reading a few other forums it seems that this was some magic way to use the alpine board.The code runs but crashes on this piece of code.Is there a way to create an infinite loop in ASM.I did try the usual...loop bra loopbut it seems Virtual Jaguar crashed using a loop like this on both versions I use...v2.1.2 andGIT 20160613I have other samples that use 'ILLEGAL' to exit and these crash also, sometimes ending VJ abruptly or causing a non-responsive attitude If I could get it to loop at least Id be able to see how it works and how to create loops. Maybe there is some specific way as opposed to simply infinite looping lol. Im all VERY new to ths and have literally just got into Workshop #1I know 'SOME' assembly but my forte is Atari ST coding.Any help would be much appreciated, a stable loop with an OPL and VBL would help greatly tbh Scott 1 Quote Link to comment Share on other sites More sharing options...
+CyranoJ Posted April 21, 2019 Share Posted April 21, 2019 You need to rebuild or refresh the object list every frame or the system will crash. You can't just dive into an infinite loop (Unless you have an interrupt rebuilding the list - usually tied to VI) 1 Quote Link to comment Share on other sites More sharing options...
Black_Art_Games Posted April 21, 2019 Author Share Posted April 21, 2019 Thanks man, I'm literally just starting out on all this, so any and all help is appreciated tbh. Oh, and damn do you write some nice stuff for the Jag Quote Link to comment Share on other sites More sharing options...
dilinger Posted April 21, 2019 Share Posted April 21, 2019 (edited) Beside the object list refresh, you can also keep the illegal and set his vector #4 in accordance and do whatever you want (infinite loop in your case). Vector #, Address, Exception name, Trigger condition 0, 000000, Reset SP, Not really a vector. Used to initialize the stack pointer. 1, 000004, Reset PC, Reset/startup 2, 000008, Bus error, Bus cycle couldn't complete properly. 3, 00000C, Address error, Misaligned (odd) word or longword memory access. 4, 000010, Illegal instruction, Tried executing an invalid opcode. Edited April 21, 2019 by dilinger Quote Link to comment Share on other sites More sharing options...
Cyprian Posted April 22, 2019 Share Posted April 22, 2019 loop bra loop try loop nop bra loop Quote Link to comment Share on other sites More sharing options...
+CyranoJ Posted April 23, 2019 Share Posted April 23, 2019 try loop nop bra loop It's still going to crash once the Object list is trashed. Quote Link to comment Share on other sites More sharing options...
Zerosquare Posted April 23, 2019 Share Posted April 23, 2019 (edited) I don't think it actually crashes, since the height of the bitmap objects ends up at zero after the OP is done. But of course, this means you'll get a blank screen, so... Edited April 23, 2019 by Zerosquare Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.