Welcome, Guest. Please login or register.
May 05, 2024, 08:04:52 PM

Login with username, password and session length
* Home Help Arcade Login Register
.
+  Forum
|-+  Homebrew Player Tracking and EFT Systems.
| |-+  NLG Homebrew Player Tracking and EFT Systems.
| | |-+  SAS Host Development Advice for Linux/Ubuntu/C++ environment
0 Members and 1 Guest are viewing this topic. « previous next »
Pages: [1] Go Down Print
Author Topic: SAS Host Development Advice for Linux/Ubuntu/C++ environment  (Read 8040 times)
sammy1117
New NLG Member 1 to 100 Post
**

Total Karma Storms: 0
Offline Offline

Posts: 4



« on: January 25, 2013, 11:08:07 PM »

Hello buddies,

           Thanks for viewing my thread. I am relatively very new to SAS Host Development.   
I got one Bally and one atronic video slot machines to work with. I am trying to develop the Host in
Linux/Ubuntu as that is open source. 

           It seems slot machines are happy if the host is windows.  In windows with c#, i could get the data from the machine by G polls. 
 But, in Linux, i am not getting any data.  It s been 2 weeks i am trying to get it work.  I could able to configure, write data to the port.
(only port. not sure whether its actually writing to the device. Even if i remove the cable, still write to the port  is successful) .
 But, i couldnt able to read any data from the port. Always fails.

           Please anyone of you advice me on this. i would really appreciate it.

Thanks,
sammy
« Last Edit: January 30, 2013, 11:04:54 PM by sammy1117 » Logged
TZtech
Contributing Gold NLG Member
Sr.Tech NLG Member 1000+ Post
*

Total Karma Storms: 129
Offline Offline

Gender: Male
Posts: 1113



« Reply #1 on: January 29, 2013, 04:59:50 PM »

Hi Sammy

Welcome to NLG. To establish SAS comms it critical that You are able to communicate with a 9 bit serial string and able to set the 9th bit high or low so that the machin know its being adressed. I have no linux experience so cant tell You how this is done. This works in windows but a number of members doing PC based versions have reported issues.
The alternative is to use a microcontroller as a bridge and let the micro do the 9th bit manipulation. Zarobhr has build a pretty sophisticated system using this idea.

Please keep us posted on Your progress - Keen to get something like the raspberry Pi and play around with Linux a bit.

Regards
Ian
Logged
sammy1117
New NLG Member 1 to 100 Post
**

Total Karma Storms: 0
Offline Offline

Posts: 4



« Reply #2 on: January 29, 2013, 05:31:28 PM »

Hi Ian,

           Thanks for the reply. To emulate Wake up bit (9th bit), i am using Mark Parity.  8N2. No parity. Two stop bits. 1 bit will act as wakeup bit
and stays 1 atleast for G polls. I wil have to sue space parity for longer messages..  I am sure that port configuration is okey.   Windows with c# is
fine. Same port configuration i could get the data.  But, in ubuntu i am not getting it.. Hope, to get some idea from Zarobhr too. Otherwise, I will
switch to windows c#.   I will keep the progress posted.

Thanks again,
sammy
Logged
zarobhr
Contributing Gold NLG Member
Sr.NLG Member 501 to 1000 Post
*

Total Karma Storms: 178
Offline Offline

Gender: Male
Posts: 622



« Reply #3 on: January 29, 2013, 06:19:58 PM »

Hi Ian,

           Thanks for the reply. To emulate Wake up bit (9th bit), i am using Mark Parity.  8N2. No parity. Two stop bits. 1 bit will act as wakeup bit
and stays 1 atleast for G polls. I wil have to sue space parity for longer messages..  I am sure that port configuration is okey.   Windows with c# is
fine. Same port configuration i could get the data.  But, in ubuntu i am not getting it.. Hope, to get some idea from Zarobhr too. Otherwise, I will
switch to windows c#.   I will keep the progress posted.

Thanks again,
sammy

i have not tried using 8n2 the specification says with wndows you should use 8 bits with space and mark parity and one stop bit, dont think its really wise to say no parity, becasue then i believe the other stop bit would be a one and it would think parity is set
Logged
sammy1117
New NLG Member 1 to 100 Post
**

Total Karma Storms: 0
Offline Offline

Posts: 4



« Reply #4 on: January 30, 2013, 02:49:36 PM »

Hi Zarobhr... thanks for the reply. Actually, in linux there are no option to set Mark/Space parities. Linux directly supports only even ,
 odd and no parity it seems.  We have to do some workaround to emulate mark parity. 8M1 can be emulated using 8N2 according
to this link.   http://www.lothosoft.ch/thomas/libmip/markspaceparity.php.  Please go through it. If i've
misunderstood the parity settings, please let me know.
Logged
zarobhr
Contributing Gold NLG Member
Sr.NLG Member 501 to 1000 Post
*

Total Karma Storms: 178
Offline Offline

Gender: Male
Posts: 622



« Reply #5 on: January 30, 2013, 03:20:13 PM »

Hi Zarobhr... thanks for the reply. Actually, in linux there are no option to set Mark/Space parities. Linux directly supports only even ,
 odd and no parity it seems.  We have to do some workaround to emulate mark parity. 8M1 can be emulated using 8N2 according
to this link.   http://www.lothosoft.ch/thomas/libmip/markspaceparity.php.  Please go through it. If i've
misunderstood the parity settings, please let me know.

i dont know much about linux but where i think and could be wrong s that the over ahead requred for those methods could lead to polling issues here are some of the timing issues you have to deal with

when send any poll there can be no longer than 5ms between bytes depending on how well the computer serail ports react to changing the space/mark paity spot bits etc, may make the delay longer, since you need to be sure the change has taken effect before the next byte is sent out

now the tidbit of information
the protocaol specification is IGT, but so far on the S2000 and Igames that i have been dealing with they are the most forgiving on the protocol here are some examples

using certain types of serial ports, i have 15-20 ms delay between bytes and do not have an issue. with other gaming machines (undesa,and alphas) for example would not except the poll even when the timing was reduced to just 6ms but worked with 4 ms between bytes.

also with the igt machines i have been dealing with if i send too much information in a long poll it will ignore the extra information
for example on a poll that requires the address 01 and the command 0F only without crc works fine, but if i accidently program poll to include CRC bytes on most igt machines they would still process the 01 0F and ignore the crc bytes, but on the other non igt machines an incorrect poll is ignored

this is the reason i made my own interface it does use an arduino UNO, to actually do the serial communication with the machines since i can easily change the parity bits and get the timing between bytes down to 1ms. the main difference between this interface and lets say Bettor TITO is mine only sends commands that are coming from the computer via Ethernet and at this time will never poll without the host software i have written
 
Logged
sammy1117
New NLG Member 1 to 100 Post
**

Total Karma Storms: 0
Offline Offline

Posts: 4



« Reply #6 on: January 30, 2013, 11:03:45 PM »

I understand. Its very complicated. Really appreciate your inputs there. It will help me immensly in going further.  I am taking small steps now.
Still, i didnt get into byte delay. I will send you PMs if i need any further help.  Thanks!
Logged
xbitman
New NLG Member 1 to 100 Post
**

Total Karma Storms: 0
Offline Offline

Posts: 2



« Reply #7 on: June 13, 2013, 06:55:23 AM »

Hi!

friends and me are working to implement SAS on linux computer to manage the slots machines, but we're working little steps because we don't know anything about SAS, and have a lot of questions

at first step we're trying to communicate trough SAS protocol with an Amatic-MultiLiner machine without any response, only 0x00 when we open the serial port at the serial port monitor software

wich hardware do you use to connect the pc to the slot machine ?

thanks
Logged
Pages: [1] Go Up Print 
« previous next »
Jump to:  


If you find this site helpful, Please Consider Making a small donation to help defray the cost of hosting and bandwidth.



Newlifegames.com    Newlifegames.net    Newlifegames.org
   New Life Games    NewLifeGames  NLG  We Bring new Life to old Games    1-888-NLG-SLOTS
Are all Copyright and Trademarks of New Life Games LLC 1992 - 2021


FAIR USE NOTICE:

This site contains copyrighted material the use of which has not always been specifically authorized by the copyright owner.
We make such material available in an effort to advance awareness and understanding of the issues involved.
We believe this constitutes a fair use of any such copyrighted material as provided for in section 107 of the US Copyright Law.
In accordance with Title 17 U.S.C. Section 107, the material on this site is distributed without profit to those
who have expressed a prior interest in receiving the included information for research and educational purposes.

For more information please visit: http://www.law.cornell.edu/uscode/17/107.shtml.

If you wish to use copyrighted material from this site for purposes of your own that go beyond fair use,
you must obtain permission directly from the copyright owner.

NewLifeGames.net Web-Site is optimized for use with Fire-Fox and a minimum screen resolution of 1280x768 pixels.


Powered by SMF 1.1.20 | SMF © 2013, Simple Machines
Loon Designed by Mystica
Updated by Runic Warrior
Page created in 0.087 seconds with 19 queries.