BSR X-10 control with C4P or C8P

Post Reply
lowrybt1
Posts: 140
Joined: Sun Mar 08, 2015 3:42 pm

BSR X-10 control with C4P or C8P

Post by lowrybt1 » Wed Nov 20, 2019 1:49 am

I'm trying to get a C8P with a 540B working with an old ultrasonic version of the BSR X-10 command console. Looking at the SAMS manual for the C4P, it looks as if the 540B had all the necessary components populated to facilitate "connection" ultrasonically with the BSR command console. However, it looks as one of the RCA phono jacks was wired into the AC control circuitry. Can anyone verify whether or not there needed to be a hard-wired connection between a C8P/C4P and the BSR command console?

Thanks, Tom
C4PDF w. 24K, 2 x 5.25 MPI B-51 drives
C1P RevB with fully-populated 610 board and A-13. Klyball D-13.
Spares: 600 Rev.D, 610 board, 540A, A-13 with homebuilt data separator, MPI B-51 logic board (w/o data sep module) and mechanicals

Mark
Posts: 58
Joined: Tue Sep 16, 2008 6:04 am
Contact:

Re: BSR X-10 control with C4P or C8P

Post by Mark » Wed Nov 20, 2019 3:51 am

Hi,
This is something I looked at back when it was new. So from memory:

The OSI X-10 interface used an opto-isolated wired connection to the ultrasonic input of the BSR command controller. I remember the OSI modified BSR X-10 controllers had an RCA jack on the back, and the modification didn't prevent the ultrasonic remote from working. So I think it consisted of a resistor, the opto-isolator (4n22?) and an RCA jack. Unfortunately I don't have any modified consoles to reverse engineer, though I do have some unmodified ultrasonic consoles to experiment on.
The OSI emulates the 13bit ultrasonic commands sent from the remote, so it can only send the unit code # and the commands ALL OFF, ALL LIGHTS ON, ON, OFF, BRIGHT, and DIM on whatever house code the base is set to. I decode X-10 commands in WinOSI and can provide more protocol details if desired. I wonder if one of the OSI journals has a schematic somewhere?

-Mark

lowrybt1
Posts: 140
Joined: Sun Mar 08, 2015 3:42 pm

Re: BSR X-10 control with C4P or C8P

Post by lowrybt1 » Wed Nov 20, 2019 8:23 pm

Mark,

This very helpful. I'll scan the journals to see if I can find something about the modification. I do remember an article (maybe in Compute) about adding a very simple ultrasonic transducer circuit to the serial port of PET computers, and then sending the right pokes to the port to send X-10 compatible signals.

I have an alternative solution -- a Heathkit GD-1530 that connects to RS-232, interprets print statements sent to the serial port and converts the output to X-10 compatible signals. The bummer is that I can't find a way to interface this device to Fred Schwierske's BSR X/10 Home Control software.

If anyone is wondering why bother using a 38 year-old computer to control lights in the house, the answer is "because it's there."
C4PDF w. 24K, 2 x 5.25 MPI B-51 drives
C1P RevB with fully-populated 610 board and A-13. Klyball D-13.
Spares: 600 Rev.D, 610 board, 540A, A-13 with homebuilt data separator, MPI B-51 logic board (w/o data sep module) and mechanicals

Mark
Posts: 58
Joined: Tue Sep 16, 2008 6:04 am
Contact:

Re: BSR X-10 control with C4P or C8P

Post by Mark » Thu Nov 21, 2019 10:15 pm

Okay I think I have this sussed out.
The OS65D version used for AC control is a modified version that contains the embedded AC control driver in it. I find it in Fred's X10 home control disk, the OSI Dealer Demo Disk, and an 8" copy of the CA-15/CA-14 phone dialer demo I found this summer. It uses the CB1 input of the disk PIA to watch the time ticks for the realtime clock and probably calculate the timing needed to send ultrasonic BSR commands. The BASIC keyword table has been modified to remove the WAIT command and replace it with "ACTL", the hook to send X-10 commands.

The ACTL command can accept multiple comma separated decimal values to send X-10 events. 1-16 is the unit code, 65-70 are the command codes "ON", "BRIGHT", "ALL LIGHTS ON", "OFF", "DIM", and "ALL OFF" respectively.

Here is the Dealer Demo Disk code, which demonstrates the ACTL command usage:

Code: Select all

REM  OSI OS65D AC BASIC 5.25" disk @ $337E  

10 REM  AC CONTROL PROGRAM
20 REM  (WITH EMBEDDED AC CONTROL DRIVER)
30 REM SETUP VECTOR TO 'ACTL' CODE
40 POKE 548,127: POKE 549,50: REM $0224 = $7F, $32
50 REM
60 REM PRESET STATUS TO 64 CHAR DISPLAY
70 POKE249,7
80 REM
90 REM  OPERATOR INTERFACE FOR AC CONTROL
95 FORI=1TO30:PRINT:NEXT
96 GOSUB400
100 INPUT "DEVICE, COMMAND NUMBER "; N, M
105 IFN=0ORM=0THEN120
110 ACTL N,M:GOTO95
120 REM
130 REM  MINI LIGHT SHOW
140 NN=65: BR=66: LO=67: REM  ON: BRIGHT: LIGHTS ON
150 FF=68: DI=69: AF=70: REM  OFF: DIM: ALL OFF
200 ACTL 1,2,3,12
210 ACTL NN
220 ACTL 1,FF,2,FF,3,FF,12,FF
230 ACTL 12,NN,3,NN,2,NN,1,NN
240 ACTL 1,2,3,12
250 FOR I=1 TO 10
260 ACTL DI
270 NEXT I
280 ACTL AF
300 RUN"BEXEC*"
400 PRINT"          DEVICES 1 , 2 , 3  OR 12"
405 PRINT:PRINT
406 PRINT"     COMMANDS:":PRINT:PRINT
410 PRINT"         65  ON          66 BRIGHT"
420 PRINT"         67  ALL ON      68 OFF"
430 PRINT"         69  DIM         70 ALL OFF"
440 PRINT:PRINT:PRINT
450 PRINT"    ** TYPE 0,0 FOR A SHORT LIGHT SHOW **"
455 PRINT"    ** PROGRAM WILL END AFTER THE SHOW **"
460 FORI=1TO5:PRINT:NEXT
500 RETURN

So to modify Fred's Home control software (not included here), you'd need to modify the lines in the 5000's to convert from OSI's ACTL commands to a serial format compatible with your device. I think OS65D uses device #1 for serial I/O. So maybe PRINT #1, "UNIT1,ON" kind of thing?

For future reference, here are my notes on the serial word format used by the BSR X-10 ultrasonic remote. The OSI software needs to match the timing specifications to send commands to the X-10 console.

Code: Select all

BSR X-10 Ultrasonic Wireless remote protocol (Used by OSI 540 board)
Originally, a 40KHz signal was used with a push button cordless (ultrasonic) remote
The house code is set on the base so the remote can only command devices on that house code.

The ultrasonic transmission protocol sends one complete message every ~100ms.
There are 13bits in each message, each bit is 8ms long
logic 1 is 4ms of 40Khz, 4ms silence
logic 0 is 1.2ms of 40Khz, 6.8 ms silence

13bit handheld remote message definition:
SOM 5-bit binary code    Inverted code       EOM
|# | D4| D3| D2| D1| D0|!D4 |!D3|!D2|!D1|!D0|###|###|

SOM (start of message) = 4ms on, 4ms off (normal '1')
EOM (end of message)   = 16ms "on" burst

Cordless controller push-button codes and decimal equivalents.
 			5-BIT BINARY CODE 	
UNITCODE 	D4 	D3 	D2 	D1 	D0 	DECIMAL		OSI_ACTL values
1		0 	1 	1 	0 	0 	12		  1
2 		1 	1 	1 	0 	0 	28		  2
3 		0 	0 	1 	0 	0 	04		  3
4 		1 	0 	1 	0 	0 	20		  4
5 		0 	0 	0 	1 	0 	02		  5
6 		1 	0 	0 	1 	0 	18		  6
7 		0 	1 	0 	1 	0 	10		  7
8 		1 	1 	0 	1 	0 	26		  8
9 		0 	1 	1 	1 	0 	14		  9
10 		1 	1 	1 	1 	0 	30		 10
11 		0 	0 	1 	1 	0 	06		 11
12 		1 	0 	1 	1 	0 	22		 12
13 		0 	0 	0 	0 	0 	00		 13
14 		1 	0 	0 	0 	0 	16		 14
15 		0 	1 	0 	0 	0 	08		 15
16 		1 	1 	0 	0 	0 	24		 16

			5-BIT BINARY CODE 	
COMMAND 	D4  	D3 	D2 	D1 	D0 	DECIMAL		OSI_ACTL values
ALL OFF		0 	0 	0 	0 	1 	01		  70
ALL LIGHTS ON	0 	0 	0 	1 	1 	03		  67
ON		0 	0 	1 	0 	1 	05		  65
OFF		0 	0 	1 	1 	1 	07		  68
DIM		0 	1 	0 	0 	1 	09		  69
BRIGHT		0 	1 	0 	1 	1 	11		  66

OSI OS65D AC Control Software command is "ACTL" it replaces the WAIT command in other BASIC versions 
ACTL can take multiple arguments comma separated.  Values 1-16 are device selection,
Values 65-70 are commands (see above)
Cheers,
-Mark

Mark
Posts: 58
Joined: Tue Sep 16, 2008 6:04 am
Contact:

Re: BSR X-10 control with C4P or C8P

Post by Mark » Fri Dec 06, 2019 5:23 am

Oh, hey
I remembered where I saw the BSR X-10 information years ago. There are schematics and details In the Radio Electronics September 1980 issue.
I'm going to look into modifying one of the old controllers. I don't have an OSI controller to reverse engineer, but the schematic is a big help!

Eventually I'll probably just hang one of the X10 firecracker wireless interfaces on the back of the OSI. There is already code to control it!

Cheers,
-Mark

Post Reply