CalcMan06 wrote:
What about xLib-created BASIC programs? Will DCS support those? Because Mirage doesn't....
Not sure, but I don't see why it wouldn't work... What happens when you run xLib progs from MOS?
From the manual of xLib:
xLib manual wrote:
DO NOT TRY TO RUN YOUR BASIC PROGRAM FROM MIRAGEOS!!!! I use a saferam area that MirageOS uses, it may cause instability.
That's why.
Aha. Actually, come to think of it, BASIC program are allowed to overwrite just about any SafeRAM area in MOS. Tell you what, let's try it out and see what happens, eh?
xLib uses SavesScreen and AppBackupScreen. I think that MirageOS might have a conflict with xLib in those areas and crash the calculator. Just in case, I'm going to test on TiLem.
MOS leaves AppBackUpScreen alone. I'm not completely sure about SaveScreen though. I could check really quick.
Edit: Nope. MOS leaves SaveScreen alone.
Edit2: Oh, wait, these are for ASM programs. It's possible it uses them when running BASIC programs.
Well, I tried it on DCS, and here's what happened. XLib installed fine. DCS started up fine. The program ran fine, and it returned to Doors CS fine. When I quit Doors CS, however, the calc went kabloie.
Do you think that you could fix that if you looked at the Xlib documentation, saw which ram areas it used, and altered DCS accordingly? Or will the user have to run Xlib programs from the regular program menu? I vote for the former, even though the latter is so much easier
KermMartian wrote:
I think the vast majority of 83+ users that play ASM games use Mirage, especially since Ion works improperly on the 84 series. With MOS supprt in DCS 6, there's no reason to use anything _but_ Doors CS.
I still use MOS but, its interface sucks, unlike DoorsCS, go MOS support!
Heh, fear not, I have faith that I will be able to successfully debug MOS support.
But what about Xlib support?
Since Mirage does not support xLib, I suppose you COULD run a check to see what kind of BASIC program it is, then have DCS act accordingly. But I'm a n00b when it comes to ASM, so what do
I know?
Well, it would be very hard to tell if it uses Xlib or not, if not impossible. The only difference between a BASIC program that uses Xlib and a BASIC program that doesn't are the real( statements, but you can have a non-Xlib program that still uses real( statements. It's not like the other types of programs which use headers to classify themselves.
CalcMan06 wrote:
Since Mirage does not support xLib, I suppose you COULD run a check to see what kind of BASIC program it is, then have DCS act accordingly. But I'm a n00b when it comes to ASM, so what do
I know?
MOS = an ASM library
Xlib = a BASIC library
Since its easy to check if a program is ASM or BASIC, the problem then comes in implementing XLib support - which is more a problem of which areas of RAM are conflicting between XLIB and DCS
Personally, I think DCS should just have its own interperated language with a focus on speed (compared to BASICs focus on precision, using FP for everything - total waste ) - Maybe that should be DCS 7's killer feature
But what about BASIC programs that are Mirage compatible?
CalcMan06 wrote:
But what about BASIC programs that are Mirage compatible?
Those have worked fine since v4. I like the idea of some kind of cool interpreted lang for 7.
Which commands did you use when you made your xLib test program? All of them?
I actually used the Grayscale Number Guessing Game by xLibMan.
If it's specific functions that make DCS crash, then it's better if you know what they are. Maybe look at the source? I used a few of the functions in TiLem and did not experience a crash.
Hmm, I was using PindurTI, and that happened. Maybe I'll try with a clean install and see what happens.
CalcMan06 wrote:
But what about BASIC programs that are Mirage compatible?
Thats just a BASIC program with a ":" at the beginning. MOS doesn't add any advanced BASIC features or anything cool like that. The only thing different about "Mirage compatible BASIC programs" are that they show up in the MOS menu, thats about it....