JP1 Remotes Forum Index JP1 Remotes


FAQFAQ SearchSearch 7 days of topics7 Days MemberlistMemberlist UsergroupsUsergroups RegisterRegister
ProfileProfile Log in to check your private messagesLog in to check your private messages Log inLog in

Anatomy of a FAV key?
Goto page Previous  1, 2, 3  Next
 
Post new topic   Reply to topic    JP1 Remotes Forum Index -> JP1 - General Forum
View previous topic :: View next topic  
Author Message
unclemiltie
Expert


Joined: 21 Jan 2004
Posts: 1795
Location: Pittsburgh, PA

                    
PostPosted: Tue Apr 13, 2010 12:02 am    Post subject: Reply with quote

Vicky

I was looking at the JP1.3 extender source (for another reason) last night and this topic got me to look at how the FAV is done.

There are two limiting factors in the JP1.3 extenders regarding the FAV processing (which is essentially a multimacro)

First, there is a limit of 15 FAV sequences since the low-nibble of the byte that determines that it is a FAV is used as the index into which macro to look for. IR codes up the FAV processing as $30 plus the index for each macro.

Second, the code fixes the length of the macro at 5 bytes. I *think* that this is controlled by an entry in the RDF, but since I really didn't do much to this area of the code, I don't remember much. however, the code in the JP1.3 extenders does have this as a variable in the code, so in theory I could make the sequences longer. One thing though, IR does pad out the FAV processing so that the length of the macro is always the maximum number by filling it in with zeros (which the extender key processing ignores)

So in theory we could make the extenders process more than 5 keys in each macro, however I'd have to build and test the logic with the constant $05 changed to see if it works. However, the other thing we could do, and I have to think about this a bit, is to allow Multi-Macro on any key (not just the small list in the remote) and essentially process EVERY macro as a multimacro. There are issues with how to keep track of the macro index for each key (I don't know if I have the room to do this) I've got to think a bit more.

-bill
_________________
this JP1 stuff is a sickness!
Back to top
View user's profile Send private message
vickyg2003
Site Admin


Joined: 20 Mar 2004
Posts: 7073
Location: Florida

                    
PostPosted: Tue Apr 13, 2010 7:00 am    Post subject: Reply with quote

unclemiltie wrote:
Vicky

I was looking at the JP1.3 extender source (for another reason) last night and this topic got me to look at how the FAV is done.

Yes, did it have anything to do with avoiding turbo-tax, Laughing . You and I always delve into extenders at this time of year, and that's the only good reason I can come up with.

Quote:


There are two limiting factors in the JP1.3 extenders regarding the FAV processing (which is essentially a multimacro)

First, there is a limit of 15 FAV sequences since the low-nibble of the byte that determines that it is a FAV is used as the index into which macro to look for. IR codes up the FAV processing as $30 plus the index for each macro.

Second, the code fixes the length of the macro at 5 bytes. I *think* that this is controlled by an entry in the RDF, but since I really didn't do much to this area of the code, I don't remember much. however, the code in the JP1.3 extenders does have this as a variable in the code, so in theory I could make the sequences longer. One thing though, IR does pad out the FAV processing so that the length of the macro is always the maximum number by filling it in with zeros (which the extender key processing ignores)

So in theory we could make the extenders process more than 5 keys in each macro, however I'd have to build and test the logic with the constant $05 changed to see if it works. However, the other thing we could do, and I have to think about this a bit, is to allow Multi-Macro on any key (not just the small list in the remote) and essentially process EVERY macro as a multimacro. There are issues with how to keep track of the macro index for each key (I don't know if I have the room to do this) I've got to think a bit more.

-bill


Quote:
Binky wrote
For example, 18 30 0A 15 15 15 12 00 16 16 16 12 00 will be stored in the Keymove/Macro area. $18 is FAV button. Top nibble of $30 is 3 which means FavKey type. Bot nibble is device type. $0A(10 bytes) is length of entry and since each entry is a fixed size of 5 bytes, this listing has 2 entries that will be cycled thru. The entries are a 3-digit channel followed by Enter button. Fifth button is listed as 00(not used).


So we can make this fixed length segment, 3 or 4 or 5 as long as its a fixed length. I don't know how the JP1.3 extenders do this type of key processing, but the JP1.2 remotes go fishing out of the e2 area so there is no reason that we have to limit this to 15 groups of 3 or 5 digits. By reading what Binky wrote, it appears that the length of the is kept in a byte, so this fav key could be up to 255 buttons long so you could have 50 groups of 5 keys instead of 15 with no coding. The problem with having multiple keys is that we have one register that's keeping track of the state. For my own needs, as a theme based fav-list, I don't care where it starts, I just want to surf by theme like I used to on DirecTV. I don't have access to the TV-guide so I have to get my TV schedule off the internet. BUT when I have control of the TV, I don't have control of the PC Crying or Very sad, house rules here. So I'd like to be able to scan the channels of interest by pressing l1 for girlie channels, l2 for sporting channels or L3 for educational channels. Since I'm okay with a random start, I can easily have multiple-FAV keys except that IR won't allow it.
_________________
Remember to provide feedback to let us know how the problem was solved and share your upgrades.

Tip: When creating an upgrade, always include ALL functions from the oem remote, even if you never plan on assigning them to a button. Complete function lists makes an upgrade more helpful to others.
Back to top
View user's profile Send private message Visit poster's website
ElizabethD
Advanced Member


Joined: 09 Feb 2004
Posts: 2348

                    
PostPosted: Tue Apr 13, 2010 7:51 pm    Post subject: Reply with quote

Vicky,
I'm still not sure what you're after. And not familiar with 8811.
In case this helps, jp1 8910ext FAV structure,
http://www.hifi-remote.com/forums/dload.php?action=file&file_id=8285
please note that you can only here have Fav button working one device inspite of the selection on the bottom left corner of the tab, and that I don't use it for channels though the procedure would be identical. But the FAV syntax is the same - 5 commands, Pause end. Each Pause is a binary zero(s) in RawData. And Fav stuff is always at the end after the macros. Edit the FAV macro in my file and you will see how jp1 works. I'm yet to see the light on Atlas or Comcast. It's all different and every attempt at use of FAV fails for me. But I haven't looked hard enough, and I gather there's no Fav support in the extender anyway. Finally, every post about 'ca we assign Fav to more than one device' either ended up with no answers or, as John Fine indicated, IR supports >1 device, the remotes do not. Maybe different with jp1.3.
_________________
Liz
Tweeking 8910, HTPro/9811, C7-7800, 6131o, 6131n, AtlasOCAP-1056B01, RCA-RCRP05B and enjoying the ride Smile
Back to top
View user's profile Send private message
vickyg2003
Site Admin


Joined: 20 Mar 2004
Posts: 7073
Location: Florida

                    
PostPosted: Tue Apr 13, 2010 9:35 pm    Post subject: Reply with quote

ElizabethD wrote:
Vicky,
I'm still not sure what you're after.

Well I started coding to allow FAV support in the JP1.2 remotes. And while I was doing it I found that IR is forcing us to construct the FAV key the way an unextended remote would need to see it. But those restrictions close off a lot of opportunities for the extended remotes. A FAV key has one memory variable that keeps track of the state. So typically you'd only want one FAV key. Unfortunately as the lightbulbs were going off in my head as how I could/would use this type of structure I found that IR is blocking me. I want to produce different lists of stations. I don't care that I'd be "out of place" if I switched from one FAV list to another, I just want to cycle through a list by category. The format of the instruction where you have the header that contains a length byte which is a number of keys that's a multiple of the FAV length is perfect for processing lists of channels. Imagine that! The header contains the button and the device type, but we ONLY allow one button one device type. There is no reason for this restriction if you are using an extender.



Quote:
. I'm yet to see the light on Atlas or Comcast. It's all different and every attempt at use of FAV fails for me. But I haven't looked hard enough, and I gather there's no Fav support in the extender anyway.


Not in the JP1.2 remotes. However there will be in the next iteration.

Quote:

Finally, every post about 'ca we assign Fav to more than one device' either ended up with no answers or, as John Fine indicated, IR supports >1 device, the remotes do not. Maybe different with jp1.3.


I think in some remotes, the FAV device is not stored in the FAV's header, but rather in a diffeent location.
_________________
Remember to provide feedback to let us know how the problem was solved and share your upgrades.

Tip: When creating an upgrade, always include ALL functions from the oem remote, even if you never plan on assigning them to a button. Complete function lists makes an upgrade more helpful to others.
Back to top
View user's profile Send private message Visit poster's website
unclemiltie
Expert


Joined: 21 Jan 2004
Posts: 1795
Location: Pittsburgh, PA

                    
PostPosted: Wed Apr 14, 2010 10:27 am    Post subject: Reply with quote

vickyg2003 wrote:
ElizabethD wrote:
Vicky,
I'm still not sure what you're after.

Well I started coding to allow FAV support in the JP1.2 remotes. And while I was doing it I found that IR is forcing us to construct the FAV key the way an unextended remote would need to see it. But those restrictions close off a lot of opportunities for the extended remotes. A FAV key has one memory variable that keeps track of the state. So typically you'd only want one FAV key. Unfortunately as the lightbulbs were going off in my head as how I could/would use this type of structure I found that IR is blocking me. I want to produce different lists of stations. I don't care that I'd be "out of place" if I switched from one FAV list to another, I just want to cycle through a list by category. The format of the instruction where you have the header that contains a length byte which is a number of keys that's a multiple of the FAV length is perfect for processing lists of channels. Imagine that! The header contains the button and the device type, but we ONLY allow one button one device type. There is no reason for this restriction if you are using an extender.


I think that it would be easier to do what you are trying to do using MultiMacro, however the extenders don't do that right now. The more I 've thought about this over the past couple of days it seems that the right thing to do here is to leave FAV the way it was and to implement multimacro in the extenders. I'm still thinking about that right now.



Quote:
Quote:
. I'm yet to see the light on Atlas or Comcast. It's all different and every attempt at use of FAV fails for me. But I haven't looked hard enough, and I gather there's no Fav support in the extender anyway.


Not in the JP1.2 remotes. However there will be in the next iteration.


The JP1.3 extenders all have FAV support, it's the same as the FAV support that was done way back in the JP1 days.

Quote:
Quote:

Finally, every post about 'ca we assign Fav to more than one device' either ended up with no answers or, as John Fine indicated, IR supports >1 device, the remotes do not. Maybe different with jp1.3.


I think in some remotes, the FAV device is not stored in the FAV's header, but rather in a diffeent location.


The JP1.3 and JP1 extenders have a FAV-Device register that stores what device will be used for the FAV. I can't remember if you can set that from within IR because I don't think that value is read as part of the E2 block at startup.
_________________
this JP1 stuff is a sickness!
Back to top
View user's profile Send private message
vickyg2003
Site Admin


Joined: 20 Mar 2004
Posts: 7073
Location: Florida

                    
PostPosted: Wed Apr 14, 2010 1:14 pm    Post subject: Reply with quote

unclemiltie wrote:
vickyg2003 wrote:
ElizabethD wrote:
Vicky,
I'm still not sure what you're after.

Well I started coding to allow FAV support in the JP1.2 remotes. And while I was doing it I found that IR is forcing us to construct the FAV key the way an unextended remote would need to see it. But those restrictions close off a lot of opportunities for the extended remotes. A FAV key has one memory variable that keeps track of the state. So typically you'd only want one FAV key. Unfortunately as the lightbulbs were going off in my head as how I could/would use this type of structure I found that IR is blocking me. I want to produce different lists of stations. I don't care that I'd be "out of place" if I switched from one FAV list to another, I just want to cycle through a list by category. The format of the instruction where you have the header that contains a length byte which is a number of keys that's a multiple of the FAV length is perfect for processing lists of channels. Imagine that! The header contains the button and the device type, but we ONLY allow one button one device type. There is no reason for this restriction if you are using an extender.


I think that it would be easier to do what you are trying to do using MultiMacro, however the extenders don't do that right now. The more I 've thought about this over the past couple of days it seems that the right thing to do here is to leave FAV the way it was and to implement multimacro in the extenders. I'm still thinking about that right now.




Okay, my remotes are not as well endowed as yours are. The Comcast 3 device is my remote of choice. Its got 1/4 as much e2 area as your Comcast. So I'm looking at the amout of space these keys are going to be taking. To implement this with multimacros, I'd have to have 3 header bytes for every 3 channel digits. On the other hand, the FAV key can have 3 header bytes and then a pretty much unlimited number of 3 digit codes. The device type and the key is stored in the header. We already have the tools to create the format. Why are we making them be the same for every single FAV key? And then for the 40+ stations that would be 40 macros that would have 240 bytes for a multimacro approach, or 129 bytes for 3 fav lists.

I wish I could convey the concept as clearly as I can see it.
_________________
Remember to provide feedback to let us know how the problem was solved and share your upgrades.

Tip: When creating an upgrade, always include ALL functions from the oem remote, even if you never plan on assigning them to a button. Complete function lists makes an upgrade more helpful to others.
Back to top
View user's profile Send private message Visit poster's website
unclemiltie
Expert


Joined: 21 Jan 2004
Posts: 1795
Location: Pittsburgh, PA

                    
PostPosted: Wed Apr 14, 2010 1:44 pm    Post subject: Reply with quote

vickyg2003 wrote:


Okay, my remotes are not as well endowed as yours are. The Comcast 3 device is my remote of choice. Its got 1/4 as much e2 area as your Comcast. So I'm looking at the amout of space these keys are going to be taking. To implement this with multimacros, I'd have to have 3 header bytes for every 3 channel digits. On the other hand, the FAV key can have 3 header bytes and then a pretty much unlimited number of 3 digit codes. The device type and the key is stored in the header. We already have the tools to create the format. Why are we making them be the same for every single FAV key? And then for the 40+ stations that would be 40 macros that would have 240 bytes for a multimacro approach, or 129 bytes for 3 fav lists.


Ahah! now I get what you're at. Of course, you could always trade in your JP1.2 gray button comcast remote for a JP1.3 red button version and you wouldn't be size challenged. (not only that, they can be had for under $10 shipped on ebay these days) But I know that you have a soft spot for that JP1.2 stuff, so you probably don't want to go over to the other side!
_________________
this JP1 stuff is a sickness!
Back to top
View user's profile Send private message
vickyg2003
Site Admin


Joined: 20 Mar 2004
Posts: 7073
Location: Florida

                    
PostPosted: Wed Apr 14, 2010 2:11 pm    Post subject: Reply with quote

unclemiltie wrote:

Ahah! now I get what you're at. Of course, you could always trade in your JP1.2 gray button comcast remote for a JP1.3 red button version and you wouldn't be size challenged. (not only that, they can be had for under $10 shipped on ebay these days) But I know that you have a soft spot for that JP1.2 stuff, so you probably don't want to go over to the other side!


Not a chance! I HATE that assembler. Laughing I've had to work with it quite a bit trying to get my "masters" in protocol building and it just is so backwards!
_________________
Remember to provide feedback to let us know how the problem was solved and share your upgrades.

Tip: When creating an upgrade, always include ALL functions from the oem remote, even if you never plan on assigning them to a button. Complete function lists makes an upgrade more helpful to others.
Back to top
View user's profile Send private message Visit poster's website
vickyg2003
Site Admin


Joined: 20 Mar 2004
Posts: 7073
Location: Florida

                    
PostPosted: Fri Apr 30, 2010 6:20 am    Post subject: Reply with quote

I've been experimenting with FAVs bypassing IR in favor of hand coding them and doing an unsafe upload, and I think that we really missed the boat on this one.

I went through the posts last night doing research on FAV's. It seems we've had lots of requests for multiple FAV keys. A FAV key on the JP1.x remotes carries the device number, device mode, and key so there is no need to restrict it to one device/one key. Its a compact way to store long lists for actual FAV lists like I want to do.

Another use for the FAV key is its a to create macros that pause for input. I went so far as to write a small protocol to zero out the FAV index so that I could start the FAV key sequence at the beginning .
_________________
Remember to provide feedback to let us know how the problem was solved and share your upgrades.

Tip: When creating an upgrade, always include ALL functions from the oem remote, even if you never plan on assigning them to a button. Complete function lists makes an upgrade more helpful to others.
Back to top
View user's profile Send private message Visit poster's website
mathdon
Expert


Joined: 22 Jul 2008
Posts: 4523
Location: Cambridge, UK

                    
PostPosted: Wed Jul 21, 2010 10:25 am    Post subject: Reply with quote

I am currently implementing Fav/Scan for RMIR, by studying the source code of IR.exe and implementing the same behavior on RMIR. It would help, however, if I understood better what it actually does. I am OK with the action of a single entry in the Fav/Scan grid. What is puzzling me is the significance of multiple entries (i.e. multiple lines of Fav/Scan "multi-macros").

There is no ambiguity in what to do with such multiple entries in remotes with 2-byte advanced code headers (AdvCodeBindFormat = Normal), as the header does not store the index for the device button. That goes at an address given by the FavKey entry in the RDF. So in that case I know how to handle it, even though I don't understand what multiple entries actually do.

The real problem lies with remotes with 3-byte advanced code headers (AdvCodeBindFormat = Long), such as the URC 6820/8820/10820. There the device button index is stored as part of the header. The behavior of IR.exe there seems weird. If you create a New entry, the device button index of all entries, including the new one, is set to zero, regardless of the setting of the Device drop-down on the Fav/Scan tab. If you change the setting in this drop-down, the device button index of the LAST entry changes, but that of all the other entries remains zero.

I can't believe this is what is intended. I can copy this behavior in RMIR but I would prefer to do what is intended, if I knew what that was.

To add to my confusion, I downloaded the User Manual for the URC-6820. It seems to imply that there is only ONE Fav/Scan "multi-macro". So are the entries other than the last one in the Fav/Scan grid all ignored?

Can anyone help, please?
_________________
Graham
Back to top
View user's profile Send private message
vickyg2003
Site Admin


Joined: 20 Mar 2004
Posts: 7073
Location: Florida

                    
PostPosted: Wed Jul 21, 2010 11:34 am    Post subject: Reply with quote

Hi Graham,
I've only studied this on the 10820n, and on the 10820n out of the box, that this FAV can only be a single list, with one header.

There is one register in the remote, dedicated to keeping track of the current position in the FAV key. The remote moves through the list 5 bytes at a time. Those {pause} keys that appear on the screen are just place holders when you don't need all 5 bytes while recording your macro.

As implemented by UEI, when you press the FAV key it just keeps stepping through the list of channels until the FAV key is pressed again.

UEI only allows you to record the FAV key in certain modes, and you can only have one list. This makes sense, since there is only 1 register keeping track.

On the 10820N
Once my extender has control of the remote I just hunt for a FAV header on the current key and device mode. The only reason to limit this to 1 is because of the one register. But if you don't care where the list starts processing there is no reason to keep it to one keycode or one device index. As far as I can see it is just a very compact storage method.

The limit of having one device, keycode limitation has been bothering me. I would REALLY like to be able to use this storage method for processing multiple lists on different keys, sharing that same register. Tricking IR to let me do this is difficult, since IR will not let me hand edit the RAW data, it keeps changing it back, I need to hide the RDF, open the rdf, find the bytes, change them........ Its tedious, especially when the cable company keeps moving the channels around.


I believe other extenders use a multi-macro aproach, but I haven't explored those.
_________________
Remember to provide feedback to let us know how the problem was solved and share your upgrades.

Tip: When creating an upgrade, always include ALL functions from the oem remote, even if you never plan on assigning them to a button. Complete function lists makes an upgrade more helpful to others.
Back to top
View user's profile Send private message Visit poster's website
mathdon
Expert


Joined: 22 Jul 2008
Posts: 4523
Location: Cambridge, UK

                    
PostPosted: Wed Jul 21, 2010 12:20 pm    Post subject: Reply with quote

Many thanks, Vicky. Very interesting. It seems that as far as unextended remotes are concerned, I was right that all except the last entry are ignored. I presume the remote uses the last Fav/Scan entry in the Advanced Codes section, since that is the one that the Device drop-down affects. So the ability to put in multiple entries is presumably only there for extenders, and apparently IR.exe doesn't do what extender-writers want!

With that clarification, I'm happy with what I have done on RMIR, and pending further testing, it is finished. It will look like it does on IR.exe but the device handling works a little differently. I've kept to the IR.exe business of the Device drop-down only changing the last Fav/Scan entry, but (a) it doesn't zero out the previous ones, it leaves them unchanged, and (b) when it creates a new one it puts in the current value from the drop-down.

This enables you to put in a series of Fav/Scan entries with different devices in their headers, but you have to set the device as you want it, before you put in the next entry. Maybe that is some help to you - and will get you to try RMIR! (Wow! What is the world coming to - me advocating RMIR Very Happy )

It would probably have been better to diverge from the IR.exe appearance and have a separate device editing box for each entry, but I wanted to keep the present "look and feel". I can change it in the future if there is a consensus on how it really ought to look and work.
_________________
Graham
Back to top
View user's profile Send private message
gfb107
Expert


Joined: 03 Aug 2003
Posts: 3411
Location: Cary, NC

                    
PostPosted: Wed Jul 21, 2010 2:07 pm    Post subject: Reply with quote

mathdon wrote:
Maybe that is some help to you - and will get you to try RMIR! (Wow! What is the world coming to - me advocating RMIR Very Happy )
I don't have the words to express my joy! For advocating, but even more for the work you've done on RMIR.
_________________
-- Greg
Original RemoteMaster developer
JP1 How-To's and Software Tools
The #1 Code Search FAQ and it's answer (PLEASE READ FIRST)
Back to top
View user's profile Send private message Visit poster's website
ElizabethD
Advanced Member


Joined: 09 Feb 2004
Posts: 2348

                    
PostPosted: Wed Jul 21, 2010 7:48 pm    Post subject: Reply with quote

I'm totally out of time, so this is just (likely sloppy) bunch of comments on the latest FAV developments. If I speak nonsense, the SiteOwner can zap this post.

Vicky,
You wrote: "As implemented by UEI, when you press the FAV key it just keeps stepping through the list of channels until the FAV key is pressed again."
But that's in a unextended mode.
In extended mode it runs one mini-macro til you press Fav again, then the index advances, and it runs the second 5-step minimacro, and so on and then it cycles. Also in 8910 is not limited to channels, at least in extender. It's to any buttons/temp devices you code on the Fav list. I doubt UEI code cares if it's a number or any other button code.

Mathdon,
You wrote: "So the ability to put in multiple entries is presumably only there for extenders, and apparently IR.exe doesn't do what extender-writers want!"
as I said earlier, John Fine said in IR you can code FAV macros for multiple devices, but the remote won't accept it. At least in 8910, there's ONE byte where the FAV device is stored once forever. 8910 extender writed (David Vasques) did not assume that you can code FAV macros for more than one device. At least I never saw such a reference. Perhaps other extenders do.

Greg,
"I don't have the words to express my joy!" you finally, finally, finally, have a buddy to help. That's a first for RM in a looooong time, isn't it?

Much of my not understanding parts of this thread has to do with the definition of a header. What is it?
_________________
Liz
Tweeking 8910, HTPro/9811, C7-7800, 6131o, 6131n, AtlasOCAP-1056B01, RCA-RCRP05B and enjoying the ride Smile
Back to top
View user's profile Send private message
vickyg2003
Site Admin


Joined: 20 Mar 2004
Posts: 7073
Location: Florida

                    
PostPosted: Wed Jul 21, 2010 8:25 pm    Post subject: Reply with quote

ElizabethD wrote:
I'm totally out of time, so this is just (likely sloppy) bunch of comments on the latest FAV developments. If I speak nonsense, the SiteOwner can zap this post.

Vicky,
You wrote: "As implemented by UEI, when you press the FAV key it just keeps stepping through the list of channels until the FAV key is pressed again."
But that's in a unextended mode.
In extended mode it runs one mini-macro til you press Fav again, then the index advances, and it runs the second 5-step minimacro, and so on and then it cycles. Also in 8910 is not limited to channels, at least in extender. It's to any buttons/temp devices you code on the Fav list. I doubt UEI code cares if it's a number or any other button code.

That's true here too. They don't have to be channels, they can be any sequence of 5 byte buttons. In extenders we just stuff them into the macro buffer.


Quote:

Much of my not understanding parts of this thread has to do with the definition of a header. What is it?

The beginning of a block of data. Each keymove, and macro and fav key have a header that tells you . What key, what device, what type and how long the next record is. Followed by the data.
_________________
Remember to provide feedback to let us know how the problem was solved and share your upgrades.

Tip: When creating an upgrade, always include ALL functions from the oem remote, even if you never plan on assigning them to a button. Complete function lists makes an upgrade more helpful to others.
Back to top
View user's profile Send private message Visit poster's website
Display posts from previous:   
Post new topic   Reply to topic       JP1 Remotes Forum Index -> JP1 - General Forum All times are GMT - 5 Hours
Goto page Previous  1, 2, 3  Next
Page 2 of 3

 
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


 

Powered by phpBB © 2001, 2005 phpBB Group
Top 7 Advantages of Playing Online Slots The Evolution of Remote Control