Hi Robert,
Thanks for your reply I was going kind of crazy with INKEY$ - that explains it if it's not implemented in this BASIC! I thought it would throw an error, but it seems that unassigned variables are just emtpty strings, which would explain everything. It also seems that the BASIC that ships with the CP/M version of the RS 2014 is a different version that does support INKEY$ which explains Wayne's reply.
I previously was using INPUT to get a seed value from the user, but I wanted to somehow do it 'randomly'. Now I've managed to do what I want by modifying Scott Lawrence's program from 2017, and using the contents of the r registers as a seed value.
100 REM Poking in the 'random' seed program
110 read op
120 if op = 999 then goto 200
130 poke mb, op
140 let mb = mb + 1
150 goto 110
200 REM == JP start address (c3 00 f8) jp f800 ==
210 mb = &H8048
220 poke mb, &HC3
230 poke mb+1, &H00
240 poke mb+2, &HF8
260 seed = usr(0)
270 x = rnd(-seed)
280 print int(rnd(1)*6)+1
290 end
9000 REM == program ==
9001 DATA 237, 95, 60, 237, 79, 71, 175, 195, 125, 17
9003 DATA 999
Thanks for your reply, I couldn't figure out what the matter was!
James