SASM crashes on certain sources
TD-Linux
Posts: 33
I am having a major problem programming my XGameStation with my brand new SX-Key. The software/programmer that came with the XGameStation works fine, except for one of the programs. The SX-Key software only works with about half. I get a message like this when I try to assemble:
We are sorry, SASM.dll has encountered a problem and needs to close. We are sorry for this inconveinience.
More Microsoft junk follows...
The one program that the XGS studio cannot assemble gives me the same crash box except for S.exe, which I am guessing is the old Parallax compiler.
I think it might have to do with some things being read-only. All the files are read-write, but the folder itself that they are in stays read-only. The one that crashes both assemblers has a read-only folder in the source directory.
However, others that say they are in read-only folders assemble fine.
No matter what I do, I can't seem to get rid of the read-only attributes. I have Win XP Home on that computer. If it helps, I can install it and try assembling on another computer.
I'll post the crashing files as soon as possible.
File posted. This one crashes both assemblers, even on a different computer. However, the XGS people have screenshots of it working. Assemble mic-musdisk_05.src in the demo/ directory.
Update: I found have found that all the crashing files have this music player built in. However, one that has the mp does not.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
SX-Key + SX52 + Proto Board + SX-Key Software + Computer + USB to Serial Adapter + LED = Blinky LED!
Post Edited (TD-Linux) : 8/4/2005 8:40:03 PM GMT
We are sorry, SASM.dll has encountered a problem and needs to close. We are sorry for this inconveinience.
More Microsoft junk follows...
The one program that the XGS studio cannot assemble gives me the same crash box except for S.exe, which I am guessing is the old Parallax compiler.
I think it might have to do with some things being read-only. All the files are read-write, but the folder itself that they are in stays read-only. The one that crashes both assemblers has a read-only folder in the source directory.
However, others that say they are in read-only folders assemble fine.
No matter what I do, I can't seem to get rid of the read-only attributes. I have Win XP Home on that computer. If it helps, I can install it and try assembling on another computer.
I'll post the crashing files as soon as possible.
File posted. This one crashes both assemblers, even on a different computer. However, the XGS people have screenshots of it working. Assemble mic-musdisk_05.src in the demo/ directory.
Update: I found have found that all the crashing files have this music player built in. However, one that has the mp does not.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
SX-Key + SX52 + Proto Board + SX-Key Software + Computer + USB to Serial Adapter + LED = Blinky LED!
Post Edited (TD-Linux) : 8/4/2005 8:40:03 PM GMT
Comments
The short answer/workaround is this:
Move the demo code from whatever directory it's in currently to one that has a much shorter path. In other words, if it's in:
"C:\This\Is\a\Long\Path\To\Have\The\Code\Sitting\In\XGS_Music_Compiler\demo",
then move it to:
"C:\XGS_Music_Compiler\demo"
You may not need to have it located all the way out at the root directory, but I ddn't take the time to test how deep you can go.
The long answer is that the crash is due to a problem in SASM that is actually related to some design decisions made by the original programmer(s) many years ago. I need to look into what is required to fix it properly, but for now, moving to a shorter path will let you compile the code.
BTW, make sure that you have the configuration for SASM set to, "SASM files to 'SASM OUTPUT' dir." This is just in case you still have the source directory as a read only directory. I don't want you fighting both a problem in SASM and the Windows file rights system.
Thanks, PeterM
Thank You!
Thank You!
I think I saw this somewhere before...
YIPPIE! My SX52 proto board came today!
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
SX-Key + SX52 + Proto Board + SX-Key Software + Computer + USB to Serial Adapter + LED = Blinky LED!
Funny, this is the setting that has caused me problems in the past. By default. SX-Key installs itself in Program Files and the SASM OUTPUT directory appears to be located under this tree as well. I typically install software as Administrator but then run as a non-privileged user and this will cause some interesting errors since a non-admin doesn't have rights to place files in the "Program Files" directory tree.
True, the permissions issue does come up for those who run as non-admin and try to use the SASM output directory. Of course, that's exactly the reason that I didn't force people to use the output directory and left it as an option instead. If you run as a non-admin then you can un-check the output directory option and everything works as advertised. You can also go in as the admin and give your non-admin login (or any other user) permission to use just the output directory for read/write, thus enabling you to use the output directory and not run as admin.
BTW, the reason I brought up the output directory was contained in the sentence before the one you quoted, and it reads, "This is just in case you still have the source directory as a read only directory." I didn't want them to have a read only directory and wonder why the IDE couldn't assemble a file in it. While you bring up a valid issue regarding permissions (which I hope I have addressed above), it is a very different issue than the one I was specifically addressing in my earlier reply.
Just so you know, I have always worked hard to have the IDE "just work". That is the reason there are no special project files or any other overhead needed. If you want to use the IDE, you just start typing code and hitting the assemble button. Along the same lines, if you try and open a recently used file and it no longer exists, the IDE tells you and then removes it from the list instead of leaving it there like many programs do. When I integrated Gunther Daubach's SxSim into the IDE, I made it so that if SxSim was running and you switched source files from within the IDE, SxSim would be notified to update and use the new source file. I also left both the original Parallax assembler and the original Parallax editor in place for those with nostalgic feelings or a need to maintain old code without wanting to make the small changes needed to use SASM. There are tons more examples of little things like this that I try to implement so that the user experience is as simple as possible.
Why do I mention this? Just to let you understand that the choice of the location for the output directory is not arbitrary. By having it in the same directory tree as the program itself, I can guarantee that no matter what happens to the file system (user name changes, different users, directory changes, etc), the IDE will always know exactly where to go to find the output directory. Yes, this causes a minor inconvenience for folks who run non-admin, but it was a concious decision. Of course, there may be a better approach that is as bullet proof but more flexible. If so, let me know.
Thanks, PeterM