OS_ServiceCall &9F (DCI)
Rick Murray (539) 13840 posts |
One could say that most software is “unfinished”. That’s what upgrades and version twos are about. ;-) |
Colin Ferris (399) 1814 posts |
As you get older – if you think of the mind is like a library – the writing on the Doors/Shelves/Books gets a little cloudy/dusty :-( |
Colin Ferris (399) 1814 posts |
As a matter of interest – how does the swi below enter ‘SVC’ mode? swi OS_EnterOS |
Rick Murray (539) 13840 posts |
That SWI pretty much does nothing. The processor enters SVC mode when a SWI is called, and OS_EnterOS returns from the SWI dispatcher leaving the processor still in SVC mode. |
nemo (145) 2546 posts |
It does something that is impossible to day any other way. So there’s that. |
nemo (145) 2546 posts |
On the subject of HostFSFiler, I finally got around to implementing my Hover Protocol: Hover is a sort of lightweight drag/drop protocol, but much simpler, and which allows interaction with things (by hovering) over them. Wimp sends a message while dragging. Apps can respond if they want (adding the little ‘drop in here’ icon) or if they don’t, the Wimp does something sensible. |
Colin Ferris (399) 1814 posts |
Back to ‘Hibernate’ with VRPC-DL RO5.25. ‘Hibernate’ works with RedSquirrel RO5.25 – I wonder if it works with softloaded RO4.xx etc? |
André Timmermans (100) 655 posts |
I remember playing with the drag/drop protocol years ago for my applications, IIRC it was not that complicated: while dragging you keep sending the dragging at regular interval, if the application acknowledges the message you keep sending it directly to that task till either it drops its interest on the message (like the pointer leaving the task’s windows or icons), you cancel the drag (which you signal by sending a last message with a cancellation flag) or complete the drag (at this point you start the data transfer protocol but with a reference to the last dragging message). The application which is interested in the message will signal it visually by altering the pointer shape, showing an insertion caret where it would insert the data, etc, and will undo these visual clues when loosing interest, when the cancellation flag is set or when data transfer stars. As for the sender, when the receiving application ignores the dragging message, it just reverse to a normal sending of the message. There were nice features in the message like the sender listing by decreasing preference the file types in which it can export the format and the responder listing which of those it supports, and a flag to demand deletion of the source data (i.e a move instead of a copy). There was also IIRC a part of the protocol which I completely ignored about ensuring that only a single selection of data exists system wide. |
nemo (145) 2546 posts |
The Drag/Drop protocol must be implemented by the application that owns the icon that is being dragged. If that task does not implement it, none of that occurs. The Hover protocol is implemented by the Wimp, and if ignored by the task you are hovering over, the Wimp does something on its behalf, so it is fully automatic. The ability to interact with things while dragging is also built in to Hover – in the above video, hovering over the yellow drive icon causes the root directory to open. Hovering over a window’s close icon causes the window to close, and if it’s a directory, the parent to open instead. Hovering over the back icon puts the window to the back. etc |