lowlevel.library v51.00 for MorphOS What is supported: o Most of the original lowlevel.library API (including all known undocumented functions) should be working. Although everything is probably implemented in a very different, much cleaner and more system/multitasking friendly way. No interrupt is ever used: everything is reimplemented using tasks, input handlers and so on... o Joysticks - bblan's Pegasos "game port" is supported - USB joysticks are supported through the Poseidon USB stack - there is an emulation using keyboard.device to help programmers with no game hardware. Keys are hardcoded to arrows, space, enter and F1 to F7. To enable it: setenv save LOWLEVEL_JOYPORT_KBEMU o Some automagic stuff like: - gamepads self-calibration - gamepads hotplug (attention: the gameport hardware does NOT support it!) - ReadJoyPort() resets MorphOS 1.5+ blankers timeout on joystick input Limitations: o ReadJoyPort() only reports mouse button events on the port 0 o ReadJoyPort() does not report mouse movement o Poseidon does not use the keyboard.device so USB keyboards are not supported o some features are not implemented on purpose: - SystemControlA()/SCON_CDReboot (to reboot on CD eject) - SystemCOntrolA()/SCON_StopInput (to kill input...) What is new since v50.15 (MorphOS 1.4.5): - should be a lot faster and use less CPU (f.e. MAME gained a few FPS) - implemented the required feature to generate joystick IDCMP messages. Polling ReadJoyPort() is not required anymore! - all known bugs are fixed. News in details: o ReadJoyPort() - now reports mouse clicks for the port 0 - does not output debug when JP_ANALOGUE_PORT_MAGIC is set (this caused some slowdown with powersdl f.e.) - optimised for concurrent or heavy joyports polling (return values are now cached during 20ms) - now interrupt safe (!) - does not support amiga joystick port anymore (it never worked properly) o SystemControlA() - added support for the SCON_TakeOverSys tag - added support for the SCON_AddCreateKeys and SCON_RemCreateKeys tags - really does nothing on failure o General - fixed a few races - fixed to work even if keyboard.device is not available - library can be safely open from a task - lot of internal changes. Feel free to contact me if you have any suggestion, wish or bug report. Enjoy! -- 2007/12/30 Nicolas Sallin henes at biclodon dot com