I am wondering if anyone has any software to drive the Unilab Serial Computer Module 540.027? I just re-found it in a box of "tend to it directly" stuff...
It is very similar to the BBC Micro version 540.006 but it is driven via the serial port. Taking the back off, there's a PIC chip (512 words of code) an input and output latch and a MAX232 for RS232<->logic duties. Connecting it up to the PC I don't get anything useful from it when poking it with a couple of bytes of data from a double loop. This is the board and this is what is on the bottom, I had tacked some wires to it a few years ago to hassle it from the PC... any help would be appreciated, it would be fun to connect this to the Pi and run some of the 3-Chip-Plus demos from Python
Unilab Serial Computer Module
- maniacminer
- Posts: 1334
- Joined: Thu Sep 21, 2017 2:59 am
- Location: Cambridge / Singapore
- Contact:
Unilab Serial Computer Module
Big Model B Econet,Master 512,Electron,A3000,A540,Atom,Unilab 3-Chip Plus,6502,Z80,65C816,80186,32016,Matchbox,ARM7TDMI,Master 10/100,PiCoPro,Teletext,Music500,PiSCSI,Challenger3,Gotek,VideoNuLA,GoSDC,GoMMC,Integra-B,RGB2HDMIv4,Epson LQ-850 (for the win!)
Re: Unilab Serial Computer Module
Does anything come out of the board's serial interface? If you have an oscilloscope, you might be able to work out the baud rate from the durations of bits. I'm guessing you probably have to give it some sort of instruction to read the inputs or set the outputs, and sending CHR$(13) at the correct baud rate should produce some sort of response. Of course, the command syntax will then need to be determined .....
- maniacminer
- Posts: 1334
- Joined: Thu Sep 21, 2017 2:59 am
- Location: Cambridge / Singapore
- Contact:
Re: Unilab Serial Computer Module
Nothing much comes out, unfortunately. Given the basic nature of the PIC I assumed single byte instructions and single byte responses. I don't even know if the board is working as I don't have any others to compare against. I made a program to send every permutation of three bytes (16.7M combinations) and got nothing useful back despite running it four times with four different switch inputs. It might be easier to replace the PIC with another programmed by me...
Big Model B Econet,Master 512,Electron,A3000,A540,Atom,Unilab 3-Chip Plus,6502,Z80,65C816,80186,32016,Matchbox,ARM7TDMI,Master 10/100,PiCoPro,Teletext,Music500,PiSCSI,Challenger3,Gotek,VideoNuLA,GoSDC,GoMMC,Integra-B,RGB2HDMIv4,Epson LQ-850 (for the win!)
- maniacminer
- Posts: 1334
- Joined: Thu Sep 21, 2017 2:59 am
- Location: Cambridge / Singapore
- Contact:
Re: Unilab Serial Computer Module
OK, I was massively overthinking this (as usual)
It is very, very basic. Serial is 9600, 8, N, 1 - there is an identity byte array when byte=0x00 is sent and this returns four bytes 0xAA,0x02,0xC0,0x0F
The command to read the 8 inputs is 0x01 and this returns a byte representing the input states of the 8 input lines
The command to write to the 8 outputs is 0x05 with the output state in the second byte, e.g. 0x05, 0xFF will turn on all the outputs
I can't see any other commands in the communication I monitored, but it's enough to get almost any computer on the planet to be able to use this module and it can stop collecting dust on my workbench
Now to make up a cable, the two wire bodge to a 9D-Sub is precarious at best
It is very, very basic. Serial is 9600, 8, N, 1 - there is an identity byte array when byte=0x00 is sent and this returns four bytes 0xAA,0x02,0xC0,0x0F
The command to read the 8 inputs is 0x01 and this returns a byte representing the input states of the 8 input lines
The command to write to the 8 outputs is 0x05 with the output state in the second byte, e.g. 0x05, 0xFF will turn on all the outputs
I can't see any other commands in the communication I monitored, but it's enough to get almost any computer on the planet to be able to use this module and it can stop collecting dust on my workbench
Now to make up a cable, the two wire bodge to a 9D-Sub is precarious at best
Big Model B Econet,Master 512,Electron,A3000,A540,Atom,Unilab 3-Chip Plus,6502,Z80,65C816,80186,32016,Matchbox,ARM7TDMI,Master 10/100,PiCoPro,Teletext,Music500,PiSCSI,Challenger3,Gotek,VideoNuLA,GoSDC,GoMMC,Integra-B,RGB2HDMIv4,Epson LQ-850 (for the win!)
Re: Unilab Serial Computer Module
A old thread but did you get very far in getting the board working with the Beeb?
I've managed to pick one up and was hoping you could share some info on the cabling and any software you use - it'd save me from reinventing the wheel. Unfortunately, I can't find a copy of the Unilab ROM anywhere and the one on CJE has sold.
Thanks,
Dave
I've managed to pick one up and was hoping you could share some info on the cabling and any software you use - it'd save me from reinventing the wheel. Unfortunately, I can't find a copy of the Unilab ROM anywhere and the one on CJE has sold.
Thanks,
Dave
- maniacminer
- Posts: 1334
- Joined: Thu Sep 21, 2017 2:59 am
- Location: Cambridge / Singapore
- Contact:
Re: Unilab Serial Computer Module
Yeah, it's very simple, there's only TX, RX and GND, make a loop for the CTS/RTS inside the DIN connector. I wrote my own software as it's dead easy to send individual bytes to the serial port and it's also simple enough to change code written for the printer+user ports on the user VIA to send a byte to the serial port instead. I prefer the serial port as I barely use it for anything and like a mouse and printer in the user/printer ports and there are the full complement of eight switches and eight LEDs vs. the parallel version of the computer module.dhoggan wrote: ↑Thu Oct 19, 2023 10:17 am A old thread but did you get very far in getting the board working with the Beeb?
I've managed to pick one up and was hoping you could share some info on the cabling and any software you use - it'd save me from reinventing the wheel. Unfortunately, I can't find a copy of the Unilab ROM anywhere and the one on CJE has sold.
Thanks,
Dave
Big Model B Econet,Master 512,Electron,A3000,A540,Atom,Unilab 3-Chip Plus,6502,Z80,65C816,80186,32016,Matchbox,ARM7TDMI,Master 10/100,PiCoPro,Teletext,Music500,PiSCSI,Challenger3,Gotek,VideoNuLA,GoSDC,GoMMC,Integra-B,RGB2HDMIv4,Epson LQ-850 (for the win!)
- maniacminer
- Posts: 1334
- Joined: Thu Sep 21, 2017 2:59 am
- Location: Cambridge / Singapore
- Contact:
Re: Unilab Serial Computer Module
I dug out my cable for the PC and made a Beeb version of it. The cable starts out life as a "Kenable" DAP Audio HQ 8 pin Mini DIN Plug to 8 pin Mini DIN Plug Cable 1.5M and I take that cable and cut it in half - that's the Computer Module end sorted then I snip all the wires except the shield, white, green and brown. Then I put a 5 pin "domino" DIN on with the CTS/RTS bridged (not strictly necessary if driving it directly by poking the buffers)
I wrote a program to show the state of the inputs and outputs to the CM board via serial to accompany this new cable.
Wrap the shield wire around the outside of the cable and clamp the cable strain relief around it, this should provide shielding for the cable without forming a ground loop. Notch towards the RGB output when plugging into the Beeb.I wrote a program to show the state of the inputs and outputs to the CM board via serial to accompany this new cable.
Code: Select all
10 MODE7:VDU23;8202;0;0;0;
20 OSCLI"FX7,7":OSCLI"FX8,7":REM 9600,8,N,1
30 PROCtitle
40 O%=0:PROCoutput(O%):REM initialise current output state
50 REPEAT
60 PROCinput
70 D%=INKEY(0)-48
80 IFD%>-1ANDD%<8 O%=O%EOR2^D%:PROCoutput(O%)
90 UNTIL0
100 END
110 DEFPROCshow(B%,X%,Y%)
120 PRINTTAB(X%,Y%);
130 FORA%=7TO0STEP-1
140 IFB%>=2^A% PRINT;"1";:B%=B%-2^A% ELSE PRINT;"0";
150 NEXT
160 ENDPROC
170 DEFPROCoutput(O%)
180 ?&FE09=5:?&FE09=O%:REM send byte to CM output
190 PROCshow(O%,10,11):REM show output state of CM
200 ENDPROC
210 DEFPROCtitle
220 PRINT"Unilab Computer Module 540.027"
230 PRINT
240 PRINT"Use the number keys 0-7 to set bits on"
250 PRINT"the output port. The bits will toggle,"
260 PRINT"so repeated presses will turn on and"
270 PRINT"off the selected bit. Input bits are"
280 PRINT"shown automatically as they change."
290 PRINTTAB(5,8);"Bits 76543210";TAB(7,10);"In";TAB(6,11);"Out"
300 ENDPROC
310 DEFPROCinput
320 ?&FE09=1:REM send read request to CM
330 PROCshow(?&FE09,10,10):REM show input state of CM
340 ENDPROC
Last edited by maniacminer on Tue May 21, 2024 1:41 am, edited 2 times in total.
Big Model B Econet,Master 512,Electron,A3000,A540,Atom,Unilab 3-Chip Plus,6502,Z80,65C816,80186,32016,Matchbox,ARM7TDMI,Master 10/100,PiCoPro,Teletext,Music500,PiSCSI,Challenger3,Gotek,VideoNuLA,GoSDC,GoMMC,Integra-B,RGB2HDMIv4,Epson LQ-850 (for the win!)
Re: Unilab Serial Computer Module
Hi Manic,
Thanks so much for taking the time to do this - it'll certainly move me forward enough to get these up-and-running!
It'll likely be the weekend before I can do anything on the Beeb - that should allow time for the sacrificial lead
to arrive
Thanks so much for taking the time to do this - it'll certainly move me forward enough to get these up-and-running!
It'll likely be the weekend before I can do anything on the Beeb - that should allow time for the sacrificial lead
to arrive
- maniacminer
- Posts: 1334
- Joined: Thu Sep 21, 2017 2:59 am
- Location: Cambridge / Singapore
- Contact:
Re: Unilab Serial Computer Module
Glad you have some of this old Unilab stuff, most of it got chucked out when schools moved over to simulation on desktop PCs and later on, iPads. Can't beat doing science with the Beeb and automating everything those were the days. If you cut the cable in half you can make a PC cable and then control the CM board from almost anything. I've tried a Sharp IQ-9000 and a Micro Professor MPF1 and a Digiac 6502, all can easily control the CM board.
Big Model B Econet,Master 512,Electron,A3000,A540,Atom,Unilab 3-Chip Plus,6502,Z80,65C816,80186,32016,Matchbox,ARM7TDMI,Master 10/100,PiCoPro,Teletext,Music500,PiSCSI,Challenger3,Gotek,VideoNuLA,GoSDC,GoMMC,Integra-B,RGB2HDMIv4,Epson LQ-850 (for the win!)