PreOs + :
- Runs on V200.
- Runs on AMS version 2.07 & 2.08.
- Uses HW2Tsr .
- Anti Crash protection for nostub and kernel programs (even if the kernel programs have a real better protection)
-protected exit mode-.
- If the Kernel AntiCrash failed (It could), it will use the nostub Anti-Crash. There are 3 ways that the kernel protection failed : if the windows list is corrupted (Nostub protection works), if the Error frame is corrupted (Nostub protection works) and finaly if the handle table or the VAT is corrupted (Nostub protection doesn't work).
- Uses ON + ESC at any time to have an Hot-Reset : you will restart your calc, without losing your files. But you will lose some memory (~200b). If the Window List is corrupted, Preos may fail to recover some memory (But it should not crash).
- [SHIFT] + ON calls 'shell' program as soon as tios::idle is called. It will save the screen into a handle (You need 4Kb more than if you run it under the home entry, but you can interrupt some quite long calcul !) (Doorsos uses EV_hook for this)
- You can even call 'ticTex' with SHIFT+ON !
- An unused library is freed as soon as you don't need it.
- The libraries have now an internal version number so that a program won't run if the library is outdated (With other Kernels, it just checks if the required function exists in the library . But PreOs checks if the internal version number is greater than the required version of the library, mentionned by the program). The new libraries with a version number are still compatible with other Kernels.
- Rewriten versions of the standard libs.
- Support of compressed libraries.
- Support of auto extratible Pack Archive.
- Support of Static files in Pack Archive. Exemple : you have 'smacode' (the code which needs to be executed in RAM) and 'smadata' (the data which should in archive memory). With previous version of Preos, you were able to declare 'smadata' as ReadOnly so that this library wouldn't be unarchived (To gain RAM memory). Now, you can add in a Pack Archive both code and data ! 'smacode' will be added in the pack and compressed, 'smadata' will be added too but not compressed. When you run your Pack Archive, it (uncompress &) runs 'sma'. But 'smadata' will remain in the archive memory ! You have only ONE file ('sma', the pack archive) which starts itself, with BOTH code (compressed), data & BSS section separated, and without any overcost of RAM : only the code uses the RAM (Strictly speaking you'll have an overcost of 18 bytes. So ~0

.
- Support of auto-run kernel programs (kernel programs can install the kernel before running).
- Fix Crash Bug when you change your batteries on HW2 if no Hw2Tsr (By JM) : that is to say, trap #4 in an asm program (RAM) won't crash anymore on HW2 if you change the batteries.
- 92+ emulation on V200 : if the program is not designed to run on V200, Preos will tell to the program that it is a 92+, instead of a V200. Of course, if the program is designed to work on V200 (Bit 5 set), then Preos tells to it that it is a V200 ! It allows some programs to run fine on V200 (It was designed to support Txtrider).
- Under Kernel programs, all the vectors and EV_hook are restored like the ports $600010 and $600017.
- Don't save the screen, but redraw it (You gain 4Kb of memory !) exept if you run it with SHIFT+ON (Save_screen flag doesn't work also under SHIFT+ON call).
- A kernel program cannot be recalled 255 times (It should never happen).
- Check if the stub of a program is valid !
- Virtual Ti is detected as an HW1.
- Supports for EMULATOR RAM_CALLS.
- ROM_THROW support on AMS < 2.04, and ROM_THROW support even in supervisor mode on all AMS (AMS 2.05 doesn't support ROM_THROW under Supervisor mode).
- Create a saved copy of the new auto-ints and EV_hook each time preos is called : if you have installed a TSR which changes the auto-ints, you should run preos after so that PreOs reload a new right configuration of the auto-ints (It will restore them when nostub programs crash).
- Add 12 usefull RAM_CALLS functions :
+ kernel::exec
+ kernel::Ptr2Hd
+ kernel::Hd2Sym
+ kernel::LibsBegin
+ kernel::LibsEnd
+ kernel::LibsCall
+ kernel::LibsPtr
+ kernel::LibsExec
+ kernel::HdKeep
+ kernel::ExtractFromPack
+ kernel::ExtractFile
+ kernel::ExtractFileFromPack
- Add 8 new RAM_CALLS to improve compatibility.
- Save_Screen flag is supported !
- Read_Only flag is supported !
- The userlib::exec function supports zipped programs : it uses conditionnal libs so that, if it isn't a zipped program, you don't need ziplib. But it is useless, since even 'Doors explorer' doesn't use this feature (It uncompresses the program by itself). kernel::exec and util::exec don't support zipped programs.
- The original contrast value is restored in case of a crash (Nostub or kernel).
- ROM_THROW supports special value $FFF0 (Long jsr offset), $FFF1 (Long jmp offset) and $FFF2 (Word RomThrow)
- Restore original AMS auto-int in case saved auto-ints are corrupted.
Voila les + de PreOS