Subject: 
  | 
            Re: Warning: No CyberMaster in Macs
  | 
             
            Newsgroups: 
  | 
            lugnet.robotics
  | 
             
            Date: 
  | 
            Thu, 17 Dec 1998 10:20:01 GMT
  | 
             
            Original-From: 
  | 
            Peter Ljungstrand <peter@informatik.#saynotospam#gu.se>
  | 
             
            Viewed: 
  | 
            2439 times
  | 
              
     |      | 
             |       |  
      > Unfortunately people with Macs are _destined_ to not be able to use their  CyberMaster, since it's not supported at the hardware level. 
> It's simple: CyberMaster needs two handshake lines in the serial port to 
be able to download programs, and Mac only supports one. 
 
Well, this is not entirely true. You can't make a Mac work with CyberMaster 
without some additional hardware, but you still would need a serial cable 
converter (9-pin DSUB to the Mac serial port) anyway, wouldn't you? 
 
When the RCX and the CM communicates with another computer via the IR/RF 
tower, all data in transmitted via the normal serial lines, RxD and TxD. In 
addition to this the GND line is needed for as a reference voltage. This is 
all that's needed for the _data transmission_. 
 
However, additional lines are used by the hardware/software in order to 
check that everything is connected as it should. 
According to Kekoa Proudfoot 
(http://graphics.stanford.edu/~kekoa/rcx/#Hardware), the software in the PC 
checks that the IR tower is connected by checking that CTS tracks RTS, and 
these lines must therefore by hardwired together, at least if you use the 
original software on the PC. This has nothing to do with how the hardware 
of the IR Tower works, if you run a different piece of software on your 
PC/MAC, all that you actually need is three cables: TxD, RxD and GND. 
 
The CyberMaster and its RF Tower works somewhat differently. Still, all 
that is needed for the actual data transmission are the same three lines, 
TxD, RxD and GND. The software on the PC does not perform the same check to 
see if the RF Tower is connected as when using the RCX, actually is doesn't 
seem to check this at all (in that sense, with dedicated hardware, of 
course it detects if the normal serial communication doesn't work). 
However, instead the RF Tower performs the check, built into its hardware. 
In order to operate properly, there must be the correct voltage on the DTR 
and RTS lines (DTR is not used at all with the RCX). On the PC, one is able 
to set the voltage (mark/space = low/high) on the outgoing ports DTR and 
RTS through software. It seems that the default value on these lines on 
most operating systems is space (high voltage, approx. +12 volts). The 
trick is that the RF tower needs the DTR line to be set to space (high 
voltage, +12 V), and the RTS line to be mark (low voltage, -12V). On the 
PC, this can be done using software. 
 
When it comes to the Mac, it only has _one_ programmable outgoing line. 
This single line can be set through software to either high or low voltage, 
but since there is only one programmable outgoing line, you can't have both 
high and low voltage at the same time on separate lines, which is what the 
RF Tower requires to operate. 
 
However, there is a quite simple solution to this problem: All that the RF 
Tower detects are high and low voltages on these lines, and you don't have 
to supply the voltage from the serial port. According to the RS-232 specs, 
voltages in the range +3 through +25 Volts should be regarded as space, and 
voltages in the range -3 through -25 Volts should be regarded as mark. This 
voltage can be taken from anywhere, as long as it is aligned with the rest 
through a common ground signal. I actually built a simple setting where I 
used two small external +9 DC power supplies. The low voltage line of one 
of these was connected to the GND line in the serial port, and the high 
voltage was connected to the DTR line in the RF Tower (which was not at all 
connected to the PC). On the other power supply, I connected to high 
voltage to the GND line, and the low line to the RTS pin on the RT Tower 
(not connected at all to the PC), switching the polarity this way, in order 
to get -9V in this case. Only the three before mentioned lines TxD, RxD and 
GND were connected between the PC and the RF Tower. This setting worked 
perfectly, even using the original LEGO software! 
 
Thus: All you need to be able to use the CyberMaster with a Mac (or a PC 
for that matter), is to be able to input a stable +/- 9 volt into the RF 
Tower while doing data transmissions. One of these can be taken from the 
Mac's serial port, and the other one from somewhere else. I suppose the 
Mac's internal power supply would do fine, or otherwise use an external 
power supply as I did. You probably don't even need +/- 9 volts, I guess 
+/- 5 volts would work just as fine. 
 
> We should thank Dave Baum that found this while building support to 
CyberMaster in NQCC. 
 
Dave Baum provided the insights about the shortcomings of the Mac's serial 
interface, I did the actual reverse engineering of the RF Tower and its low 
level communication.... 
 
For more info about this and CyberMaster programming/hacking in general, 
see my web page: 
 
http://www.viktoria.informatik.gu.se/~peter/lego/ 
 
 
------------------------------------------------------------------------- 
Peter Ljungstrand; PLAY Research Group, Viktoria Institute 
 
http://www.viktoria.informatics.gu.se 
Email:		peter@informatics.gu.se 
Phone:		+46-(0)31-7735543        Mobile:		+46-(0)708-302251 
Fax:			+46-(0)31-7735530        ICQ:		6820636 
Visitors:		Viktoriagatan 13, 7th floor 
Snail-mail:	Box 620, 40530 Göteborg, Sweden 
 |  
       |  
           
   
        Message is in Reply To:
             |    | Warning: No CyberMaster in Macs
  |  
  |  I've been reading some posts regarding Mac problems and I noticed that no one ever referred to CyberMaster problems in Mac (which is a good thing). Unfortunately people with Macs are _destined_ to not be able to use their CyberMaster, since it's not (...)   (27 years ago, 16-Dec-98, to lugnet.robotics)   
   |         
      2 Messages in This Thread:      
 
      - Entire Thread on One Page:
      
        
- Nested: 
        All | Brief | Compact | Dots
        
 Linear: 
        All | Brief | Compact
           
         | 
        
  | 
      
 
   | 
           |