Unilab Serial Computer Module

classic non-acorn hardware, software & languages
Post Reply
User avatar
maniacminer
Posts: 1334
Joined: Thu Sep 21, 2017 2:59 am
Location: Cambridge / Singapore
Contact:

Unilab Serial Computer Module

Post by maniacminer »

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
Unilab Serial Computer Module Top.jpg
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...
Unilab Serial Computer Module Bottom.jpg
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 [-o<
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!)
julie_m
Posts: 597
Joined: Wed Jul 24, 2019 9:53 pm
Location: Derby, UK
Contact:

Re: Unilab Serial Computer Module

Post by julie_m »

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 .....
User avatar
maniacminer
Posts: 1334
Joined: Thu Sep 21, 2017 2:59 am
Location: Cambridge / Singapore
Contact:

Re: Unilab Serial Computer Module

Post by maniacminer »

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!)
User avatar
maniacminer
Posts: 1334
Joined: Thu Sep 21, 2017 2:59 am
Location: Cambridge / Singapore
Contact:

Re: Unilab Serial Computer Module

Post by maniacminer »

OK, I was massively overthinking this (as usual) #-o

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 :lol:
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!)
User avatar
dhoggan
Posts: 467
Joined: Tue Jul 10, 2018 11:45 pm
Location: UK
Contact:

Re: Unilab Serial Computer Module

Post by dhoggan »

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
User avatar
maniacminer
Posts: 1334
Joined: Thu Sep 21, 2017 2:59 am
Location: Cambridge / Singapore
Contact:

Re: Unilab Serial Computer Module

Post by maniacminer »

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
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.
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!)
User avatar
maniacminer
Posts: 1334
Joined: Thu Sep 21, 2017 2:59 am
Location: Cambridge / Singapore
Contact:

Re: Unilab Serial Computer Module

Post by maniacminer »

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 :lol: 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)
BBC 5 pin &quot;Domino&quot; wiring
BBC 5 pin "Domino" wiring
PC 9 pin D wiring
PC 9 pin D wiring
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. =D>

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
This program in action
This program in action
...and on the CM...
...and on the CM...
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!)
User avatar
dhoggan
Posts: 467
Joined: Tue Jul 10, 2018 11:45 pm
Location: UK
Contact:

Re: Unilab Serial Computer Module

Post by dhoggan »

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 :-)
User avatar
maniacminer
Posts: 1334
Joined: Thu Sep 21, 2017 2:59 am
Location: Cambridge / Singapore
Contact:

Re: Unilab Serial Computer Module

Post by maniacminer »

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 :D 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!)
Post Reply

Return to “other vintage hardware, software and languages”