Click here to go to the forum index Click here for the home page
 
Author Message

<  TAP and patch development  ~  TAP_SystemProc()

Page 1 of 1
EMJB
Posted: Fri Mar 02, 2012 7:09 pm Reply with quote
Frequent contributor Joined: 08 Jul 2005 Posts: 3632 Location: Maldon Essex
Can someone please clarify whether this returns control to the calling TAP:

(a) When the highest level pending task (e.g. keypress processing) is complete

or

(b) When all other pending tasks are complete

or

(c) When all other pending tasks have been completed, and every other TAP has received an idle event

or

(d) Something else I haven't thought of

TIA,

EMJB
View user's profile Send private message
R2-D2
Posted: Sat Mar 03, 2012 11:12 am Reply with quote
Frequent contributor Joined: 18 Dec 2006 Posts: 12148
It does things in this order:
  • processes a pending serial input (passing to TAPs [EVT_UART] then to the Command Console, if necessary)
  • processes a pending high-level internal event (button press, etc.)
  • processes any low-level message (EIT processing, etc.)
  • terminates any exiting TAPs
  • sends an EVT_IDLE to the next two TAPs that are due one
  • services any TSR timers that are due (sleep timer, current programme update, etc.)

Your TAP may get an EVT_IDLE from this call, so you need to be able to cope sensibly with the re-entrancy.

_________________
Troubleshooting -- User Manual -- Dark Side of the Matrix: Firmwares and Patches
View user's profile Send private message Visit poster's website
EMJB
Posted: Sat Mar 03, 2012 2:05 pm Reply with quote
Frequent contributor Joined: 08 Jul 2005 Posts: 3632 Location: Maldon Essex
R2-D2 wrote:
It does things in this order:
  • processes a pending serial input (passing to TAPs [EVT_UART] then to the Command Console, if necessary)
  • processes a pending high-level internal event (button press, etc.)
  • processes any low-level message (EIT processing, etc.)
  • terminates any exiting TAPs
  • sends an EVT_IDLE to the next two TAPs that are due one
  • services any TSR timers that are due (sleep timer, current programme update, etc.)

Your TAP may get an EVT_IDLE from this call, so you need to be able to cope sensibly with the re-entrancy.


Thanks for the clarification - seems very odd that only the next two TAPs get idle events as the calling TAP.

EMJB
View user's profile Send private message
Geoff Bacon
Posted: Sat Mar 03, 2012 2:14 pm Reply with quote
Frequent contributor Joined: 12 Jan 2007 Posts: 4377
As I read it, the calling tap isn't guaranteed to get an idle event; it only get one if it is in the next two taps waiting for the event.

Geoff

_________________
TopManager program
TF5800, TS On, F/W: MS6 Recommended F/W 12/9/2009 -Sy+EvEzPfUUuZ
TAPs: PcControl B1.4; StopExit v1.01; PruneEPG 1.0; fsSave 1.1; QuickJump 1.72; SecCache (UK) v0.4; EIT Sub (Game) v0.6; EPG2MEI v0.96; MyStuff 6.6; Bookmark 3.0; Extend v1.7; Font Manager 1.0d; MyInfo B5.6; MHEG On/Off A3;
Sig generated by EMJB's MyInfo.tap on 29/12/18
View user's profile Send private message Visit poster's website
R2-D2
Posted: Sat Mar 03, 2012 4:53 pm Reply with quote
Frequent contributor Joined: 18 Dec 2006 Posts: 12148
EMJB wrote:
seems very odd that only the next two TAPs get idle events as the calling TAP.

This helps keep things responsive, I suppose, by spreading the TAP load a bit more and allowing more system tasks in between all that TAP processing.

_________________
Troubleshooting -- User Manual -- Dark Side of the Matrix: Firmwares and Patches
View user's profile Send private message Visit poster's website

Display posts from previous:  

All times are GMT + 1 Hour
Page 1 of 1

Jump to:  

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum