Acorn "POST box" display adaptor (0086,804)

Arc/RPCs, peripherals, RISCOS operating system & ARM kit eg GP2x, BeagleBoard
Post Reply
philpem
Posts: 123
Joined: Fri Apr 04, 2014 5:42 pm
Contact:

Acorn "POST box" display adaptor (0086,804)

Post by philpem » Sat Jul 13, 2019 9:46 am

I'm sure most of you are aware of the six-pin "POST" connector on most Acorn 32-bit motherboards.

According to the A500/R200 service manual (http://chrisacorns.computinghistory.org ... R200SM.pdf), there was at one point a "Display Adapter" available (Acorn part number 0086,8040). This box connected to the "POST" port on an Acorn 32-bit motherboard and displayed the status of the power-on self test (including the error codes, addresses, etc.) on a
For an added bonus, you could connect it to a User Port podule on a second machine and use it to run diagnostic tests (e.g. read/write ports) using a second machine.

Has anyone ever seen one of these devices 'in the wild'?


Even more interestingly, pages 86 onward of the service manual (link above) and the RISC OS source code (see links below) contain some very useful information on the communications protocol. I wonder if there's enough here to produce a modern replica or work-a-like?

As for remote debugging/diagnostics, It seems the only thing missing is the "Probe" module...

Relevant RISC OS 3.6 source:
I/O routines: https://www.riscosopen.org/viewer/view/ ... ag=RO_3_60
External commands: https://www.riscosopen.org/viewer/view/ ... ag=RO_3_60
POST main loop: https://www.riscosopen.org/viewer/view/ ... ag=RO_3_60

Thanks
Phil
Last edited by philpem on Sat Jul 13, 2019 9:47 am, edited 1 time in total.

sirbod
Posts: 999
Joined: Mon Apr 09, 2012 8:44 am
Location: Essex
Contact:

Re: Acorn "POST box" display adaptor (0086,804)

Post by sirbod » Sun Jul 14, 2019 7:41 am

I believe LK4 was very short lived and only on the 540 and R-series so there's probably not been much demand for it. I guess it was replaced with JTAG from ARMv3.

philpem
Posts: 123
Joined: Fri Apr 04, 2014 5:42 pm
Contact:

Re: Acorn "POST box" display adaptor (0086,804)

Post by philpem » Sun Jul 14, 2019 9:27 am

sirbod wrote:
Sun Jul 14, 2019 7:41 am
I believe LK4 was very short lived and only on the 540 and R-series so there's probably not been much demand for it. I guess it was replaced with JTAG from ARMv3.
Well, there's certainly "LK4-style" data on the RISC PC's POST connector (also badged LK4), and the RISC PC service manual calls it out as being available.
The timing's a lot faster though. The pulses are 500ns on, 500ns off (1us period), with inter-block gaps in the region of 27us.

The logic doesn't look terribly difficult. It's fundamentally a state-machine and a timer.
The timing makes it tricky to do on a PIC, but easy to do on a programmable logic device (or a board full of TTL).

And as for JTAG - the RISC PC certainly has that (for the IOMD and VIDC), but I haven't noticed it on the A3010. The VIDC JTAG mappings are in the VIDC Functional Spec on Marutan, but unfortunately the IOMD ones are missing (the IOMD Functional Spec is incomplete).
Last edited by philpem on Sun Jul 14, 2019 9:42 am, edited 1 time in total.

User avatar
flibble
Posts: 704
Joined: Tue Sep 22, 2009 10:29 am
Contact:

Re: Acorn "POST box" display adaptor (0086,804)

Post by flibble » Sun Jul 14, 2019 2:56 pm

There's a tiny amount mentioned in this Application note about POST

https://www.retro-kit.co.uk/user/custom ... ote225.pdf

"Additionally there is a piece of hardware called the POST (Power On Self Test) interface test box. The POSTinterface connect to any piece of equipment produced from the A540 onwards and provides meaningfulmessages on a display on the POST interface box.The POST interface test box is available from Atomwide for £299.00 + VAT. Further details can be obtainedfrom Atomwide directly"

I've been tempted to try to remake it using something like an atmel board, but I've not an original to compare it against to see what functionality it actually provided.

And yeah the POST port is on pretty much every Arc/RPC/A7000

philpem
Posts: 123
Joined: Fri Apr 04, 2014 5:42 pm
Contact:

Re: Acorn "POST box" display adaptor (0086,804)

Post by philpem » Mon Jul 15, 2019 9:51 am

flibble wrote:
Sun Jul 14, 2019 2:56 pm
https://www.retro-kit.co.uk/user/custom ... ote225.pdf

"Additionally there is a piece of hardware called the POST (Power On Self Test) interface test box. The POSTinterface connect to any piece of equipment produced from the A540 onwards and provides meaningfulmessages on a display on the POST interface box.The POST interface test box is available from Atomwide for £299.00 + VAT. Further details can be obtainedfrom Atomwide directly"
That's interesting! I had no idea Atomwide were involved. Nice find.

flibble wrote:
Sun Jul 14, 2019 2:56 pm
I've been tempted to try to remake it using something like an atmel board, but I've not an original to compare it against to see what functionality it actually provided.

And yeah the POST port is on pretty much every Arc/RPC/A7000
I was looking at doing it with a PIC, at least initially. I think there's enough data in the A500 Service Manual, RISC PC TRM and the RISC OS source code to figure it out. The LCD interface turns out to be really easy - it writes data to a shift register, then follows it with a read operation. The read strobe is ANDed with one of the data bits to produce the E-strobe for the LCD (HD44780 16x1 type).

The main problem with using a micro is the response time, and lining the response data on TESTACK up with TESTREQ (LA22). If you don't get that right, you'll stop the CPU from accessing the ROM and crash the thing. Logically and electrically, it's an AND gate chased with a diode (or a tristate buffer with OE wired to TESTREQ).

In terms of logic, it's a state machine with a monostable. Incoming pulses advance the state machine's state and the monostable timeout triggers that action. Data transfer is done with a set number of pulses followed by a delay. It'll probably fit in the Altera MAX7000S chip I've got sat on my desk.

To do the remote-debugging interface, I'd probably need a copy of the Probe module to poke at. I'm not certain that there's enough information in the R500 service manual to implement that. Of course the other option is to tie an FT245R USB-to-FIFO to the CPLD and use USB.

I'm going to give this a shot tonight, because at this point I have a dead RISC PC board that's in almost the worst possible state -- it can't tell me what's wrong, almost always fails the selftest but sometimes (very rarely) passes it.

philpem
Posts: 123
Joined: Fri Apr 04, 2014 5:42 pm
Contact:

Re: Acorn "POST box" display adaptor (0086,804)

Post by philpem » Wed Jul 17, 2019 11:29 pm

Oh my, I seem to have created something...

Here's what my workbench looks like at the minute...
2019-07-17 21.28.03.jpg
big pile o' junk
What you see here is a RISC PC Mk3 motherboard (1208,000) and power supply on my workbench. On the breadboard atop the power supply is a 16MHz TTL oscillator, an old FPGAArcade DIL28 CPLD board and a 20x2 LCD I found in the spares box (the correct LCD would be a 16x1, Hitachi LM020L or similar - but the way Acorn wrote their code, an 8x2 would also work).

And with RISC OS 3.71 ROMs installed...
2019-07-17 23.22.19.jpg
SELFTEST...
2019-07-17 21.28.10.jpg
Let's play "guess the CPU"
... It runs the selftest!

The screen changes colour as you'd expect, but much more slowly. The purple screen stays on for a good while, then flips to blue while the Full RAM test runs. Finally the RAM test finishes and the screen goes either red or green, with the selftest box showing the diagnostic code:
2019-07-17 23.42.44.jpg
PASS!

I've put the Verilog HDL files on Github: https://github.com/philpem/acorn_postbox
At the moment this just reproduces the POST LCD interface, but with a little work and a bigger CPLD this could be extended to do everything the POST Box could (including the PC-side debug interface).

Oh, side note... the comments in the RISC OS source code are blatantly wrong about how the LCD is wired up. That took a bit of debugging, which incidentally is why the logic analyser is there...

Cheers
Phil.

User avatar
danielj
Posts: 7446
Joined: Thu Oct 02, 2008 4:51 pm
Location: Manchester
Contact:

Re: Acorn "POST box" display adaptor (0086,804)

Post by danielj » Thu Jul 18, 2019 6:32 am

Phil, that's brilliant :D

Does it tell us more than the floppy-flashes?

philpem
Posts: 123
Joined: Fri Apr 04, 2014 5:42 pm
Contact:

Re: Acorn "POST box" display adaptor (0086,804)

Post by philpem » Thu Jul 18, 2019 7:53 am

danielj wrote:
Thu Jul 18, 2019 6:32 am
Phil, that's brilliant :D

Does it tell us more than the floppy-flashes?
It gives you a lot of extra information you don't get from the blink codes. Things like failure addresses and error masks, which can be very useful when chasing a RAM or ROM fault.

It also forces the full RAM test on, which seems to be a decent stability test. I found out that my 32MB SIMMs were stable individually but failed when used as a pair (high bus loading I expect).

You also need absolutely bugger all hardware to get to that point - and if the I/O system is shot (meaning no blink codes) it's invaluable.

I'm hoping to add a USB interface - which will open up the option of using the POST box to run "scope loops" to check chip selects and address/data lines on latches and buffers.

Days of multimeter testing reduced to an hour or two...

theom
Posts: 6
Joined: Fri Sep 05, 2014 8:17 am
Contact:

Re: Acorn "POST box" display adaptor (0086,804)

Post by theom » Wed Aug 07, 2019 10:22 am

Sounds like fun :-)

I think a useful platform for this would be a Cypress PSoC 5LP eval board. The PSoC is a microcontroller with a small mixed-signal FPGA (it'll do programmable analogue stuff too):

Image

This CY8CKIT-059 dev kit is $10/about £13 and, once flashed, has a micro USB port on the end that can be a USB serial port among other things. It'll also drive a display if you want that, and it has 5V I/Os.

As a very quick experiment, I took your postcode.v verilog file and synthesised it on the PSoC with a USB-UART. Since I'm lazy, I wired all your inputs and outputs to I/Os and gave it a 16MHz clock. The tool complained about a few verilog linting things (it doesn't like signals used before they're defined), but otherwise it fit just fine:

Code: Select all

------------------------------------------------------------
Technology mapping summary
------------------------------------------------------------

Resource Type                 : Used : Free :  Max :  % Used
============================================================
Digital Clocks                :    1 :    7 :    8 : 12.50 %
Analog Clocks                 :    1 :    3 :    4 : 25.00 %
CapSense Buffers              :    0 :    2 :    2 :  0.00 %
Digital Filter Block          :    0 :    1 :    1 :  0.00 %
Interrupts                    :    9 :   23 :   32 : 28.13 %
IO                            :   34 :   38 :   72 : 47.22 %
Segment LCD                   :    0 :    1 :    1 :  0.00 %
CAN 2.0b                      :    0 :    1 :    1 :  0.00 %
I2C                           :    0 :    1 :    1 :  0.00 %
USB                           :    1 :    0 :    1 : 100.00 %
DMA Channels                  :    0 :   24 :   24 :  0.00 %
Timer                         :    0 :    4 :    4 :  0.00 %
UDB                           :      :      :      :        
  Macrocells                  :   35 :  157 :  192 : 18.23 %
  Unique P-terms              :   86 :  298 :  384 : 22.40 %
  Total P-terms               :   88 :      :      :        
  Datapath Cells              :    0 :   24 :   24 :  0.00 %
  Status Cells                :    0 :   24 :   24 :  0.00 %
  Control Cells               :    0 :   24 :   24 :  0.00 %
Opamp                         :    0 :    4 :    4 :  0.00 %
Comparator                    :    0 :    4 :    4 :  0.00 %
Delta-Sigma ADC               :    0 :    1 :    1 :  0.00 %
LPF                           :    0 :    2 :    2 :  0.00 %
SAR ADC                       :    0 :    2 :    2 :  0.00 %
Analog (SC/CT) Blocks         :    0 :    4 :    4 :  0.00 %
DAC                           :      :      :      :        
  VIDAC                       :    0 :    4 :    4 :  0.00 %

Obviously this is a bit of a drive-by attempt, since I didn't set it up for the particular dev board, and I don't have an Acorn machine handy to plug anything into to look at this further. But, since these boards are freely available, I think this could be a very handy general purpose tool for doing repairs like yours...
Last edited by theom on Wed Aug 07, 2019 10:24 am, edited 1 time in total.

philpem
Posts: 123
Joined: Fri Apr 04, 2014 5:42 pm
Contact:

Re: Acorn "POST box" display adaptor (0086,804)

Post by philpem » Wed Aug 07, 2019 12:20 pm

theom wrote:
Wed Aug 07, 2019 10:22 am
Sounds like fun :-)

I think a useful platform for this would be a Cypress PSoC 5LP eval board. The PSoC is a microcontroller with a small mixed-signal FPGA (it'll do programmable analogue stuff too):

Image
... I have two of those in my desk drawer waiting for a project. I knew about the analog side, but I had no idea you could synthesize Verilog into it.
theom wrote:
Wed Aug 07, 2019 10:22 am
Obviously this is a bit of a drive-by attempt, since I didn't set it up for the particular dev board, and I don't have an Acorn machine handy to plug anything into to look at this further. But, since these boards are freely available, I think this could be a very handy general purpose tool for doing repairs like yours...
Yeah, I agree. I'll have to look into this!

It looks like it'd be easy to build something up with one of these and a bit of Veroboard. If it's just plugged into the POST port it acts as a display with pause/reset buttons, and if the USB is plugged in then it gives diagnostic access.

Thanks, Theo!
Last edited by philpem on Thu Aug 08, 2019 1:40 am, edited 1 time in total.

Post Reply