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

Arc/RPCs, peripherals, RISCOS operating system & ARM kit eg GP2x, BeagleBoard
Post Reply
philpem
Posts: 156
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: 1042
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: 156
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: 723
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: 156
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: 156
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: 7784
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: 156
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: 156
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.

User avatar
myelin
Posts: 779
Joined: Tue Apr 26, 2016 9:17 pm
Location: Mountain View, CA, USA
Contact:

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

Post by myelin » Wed Jan 29, 2020 10:52 pm

This is amazing! I have an A5000 that appears to at least get into the POST sequence (I can scope up LA* and see the ROM checksum happening), so this would be very helpful.

It's interesting to see what happened to TESTAK on later machines. On the A540 it's just Romcs*, on the A5000 it's an input to IOEB, and on the A3020 it's wired to the /OE pins on the ROM chips -- which makes so much more sense! The original designer must have kicked themself when someone realized that just driving /OE would work :)

I don't have the particular CPLD you used, but it looks like this builds fine for the XC9572XL, and I have a few boards floating around with one of them and a microcontroller, so I might see what I can do there. With any luck driving TESTAK to 3.3V will be good enough.

In fact, it appears that it will build fine for the XC9536XL if I tell it to synthesize the state machine more compactly, I get rid of the LCD code, and I just output the low bit of the shift register (plus a clock output that pulses low when the shift register value changes), which should give me enough to read the output on a logic analyzer.

Did you need to pull D0 high with an external resistor, or is that built in to the machine?
SW/EE from New Zealand, now in Mountain View, CA, making BBC/Electron hardware projects for fun.
Most interesting: Arcflash, FX2+PiTubeDirect Tube/Cartridge adapter, USB cart interface.

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

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

Post by philpem » Thu Jan 30, 2020 9:48 am

The D0 pull up is on the motherboard :)

I keep meaning to do a final PCB version of this... But sadly the RISC PC motherboard I was debugging turned out to have a much more serious fault than I expected.

User avatar
myelin
Posts: 779
Joined: Tue Apr 26, 2016 9:17 pm
Location: Mountain View, CA, USA
Contact:

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

Post by myelin » Thu Jan 30, 2020 7:42 pm

philpem wrote:
Thu Jan 30, 2020 9:48 am
The D0 pull up is on the motherboard :)

I keep meaning to do a final PCB version of this... But sadly the RISC PC motherboard I was debugging turned out to have a much more serious fault than I expected.
Confirmed that my A5000 also appears to have a built in D0 pullup :)

I may one day get around to throwing together a simple PCB based on one of my existing projects -- with an XC9572XL and an ATSAMD21E18A because that's what I'm familiar with. It should be fairly straightforward to get the MCU to receive the POST data over SPI and dump it out the USB serial port. Right now I'm just saving the LA21 transitions from my logic analyzer and running them through a Python script that looks for groups of 3, 2, and 1 -- until I can get the SPI output working better :)
SW/EE from New Zealand, now in Mountain View, CA, making BBC/Electron hardware projects for fun.
Most interesting: Arcflash, FX2+PiTubeDirect Tube/Cartridge adapter, USB cart interface.

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

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

Post by philpem » Fri Jan 31, 2020 1:08 am

There's actually a debug interface in the RISC OS ROM, which allows you to send memory read/write requests across the debug link.

Sadly I haven't been able to find a copy of the Module (Probe) which runs it. The details are in part 5 of the A540 Service Manual - http://www.drobe.co.uk/archives/backwat ... A540sm.pdf

User avatar
myelin
Posts: 779
Joined: Tue Apr 26, 2016 9:17 pm
Location: Mountain View, CA, USA
Contact:

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

Post by myelin » Fri Jan 31, 2020 6:31 pm

Indeed; I've been making heavy reference to the A540 Service Manual to understand this :)

That's a pity that the Probe module is missing. At least we have the source to the RISC OS side of things, which might make it possible to create a workalike: https://gitlab.riscosopen.org/RiscOS/So ... Src/ExtCmd
SW/EE from New Zealand, now in Mountain View, CA, making BBC/Electron hardware projects for fun.
Most interesting: Arcflash, FX2+PiTubeDirect Tube/Cartridge adapter, USB cart interface.

User avatar
myelin
Posts: 779
Joined: Tue Apr 26, 2016 9:17 pm
Location: Mountain View, CA, USA
Contact:

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

Post by myelin » Thu Feb 06, 2020 12:45 am

I've been working on getting this to talk to a microcontroller (ATSAMD21E18A) over SPI. Have had some luck, although it turns out that getting the SPI chip select line to behave the way the MCU expects is tricky: the MCU needs to write a byte to the SPI data register *before* the chip select line goes low. I ended up with a bit of handshaking logic to make this work, so can't be too far off, although am still not quite at the point where I can just power on my A5000 and see the POST output in my terminal. It should be fairly smooth sailing from that point, as once I can respond to the 0x90 command prompt with something other than zero, it should be easy enough to implement the "write memory", "read memory", and "bus exercise" commands, as the packet format appears to be documented in the A500/R200 SM (and the source code, if necessary).
SW/EE from New Zealand, now in Mountain View, CA, making BBC/Electron hardware projects for fun.
Most interesting: Arcflash, FX2+PiTubeDirect Tube/Cartridge adapter, USB cart interface.

User avatar
myelin
Posts: 779
Joined: Tue Apr 26, 2016 9:17 pm
Location: Mountain View, CA, USA
Contact:

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

Post by myelin » Thu Feb 06, 2020 5:37 pm

Success! I now get self-test info through the USB serial port on my MCU. Here's a log from a poweron plus a few resets:

Code: Select all

Target not yet started; ignoring
Target not yet started; ignoring
Target not yet started; ignoring
Target not yet started; ignoring
Target is alive!

SELFTEST R1.47
ROM :
M Size :
M Size 0200.08
Data :
Data @ 2000000
Data-F FF000000
Data-P FF000000
IOC :
IOC Flt w0FFw1FF
IOEB :
SRAM :
Target is alive!
ROM :
M Size :
M Size 0200.08
Data :
Data @ 2000000
Data-F FF000000
Data-P FF000000
IOC :
IOC Flt w0FFw1FF
IOEB :
SRAM :
Target is alive!
SELFTEST R1.47
ROM :
M Size :
M Size 0200.08
Data :
Data @ 2000000
Data-F FF000000
Data-P FF000000
IOC :
IOC Flt w0FFw1FF
IOEB :
SRAM :
Target is alive!
ROM :
M Size :
M Size 0200.08
Data :
Data @ 2000000
Data-F FF000000
Data-P FF000000
IOC :
IOC Flt w0FFw1FF
IOEB :
SRAM :
This is just sending zero any time the target asks for a byte. Next step is to implement one of the commands described in the A500/R200 SM (p5-15 - p5-17).
SW/EE from New Zealand, now in Mountain View, CA, making BBC/Electron hardware projects for fun.
Most interesting: Arcflash, FX2+PiTubeDirect Tube/Cartridge adapter, USB cart interface.

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

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

Post by danielj » Thu Feb 06, 2020 6:16 pm

Phil, is that without any CPLD mediating?
Do you think the STM32F103 will be fast enough if I can get the SPI peripheral to play nicely?

d.

User avatar
myelin
Posts: 779
Joined: Tue Apr 26, 2016 9:17 pm
Location: Mountain View, CA, USA
Contact:

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

Post by myelin » Thu Feb 06, 2020 6:31 pm

This is with an XC9536XL CPLD in the way, I'm afraid. I believe that the pulses on TESTREQ (LA21) are something like 300ns wide, with a 200ns gap between adjacent pulses, so you could possibly catch them by reading a GPIO at full speed. You'll need to be able to respond immediately (I'm guessing you have about 250ns to raise TESTACK after the rising edge of the TESTREQ pulse), so I don't think using SPI will work. I'm not sure if the STM32F103 could keep up, but given that kernelcrash managed to emulate a ROM at 2MHz for the Electron, it might be possible with an ST32F407!
SW/EE from New Zealand, now in Mountain View, CA, making BBC/Electron hardware projects for fun.
Most interesting: Arcflash, FX2+PiTubeDirect Tube/Cartridge adapter, USB cart interface.

User avatar
myelin
Posts: 779
Joined: Tue Apr 26, 2016 9:17 pm
Location: Mountain View, CA, USA
Contact:

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

Post by myelin » Sun Feb 09, 2020 3:46 pm

Hooray! After much tweaking and poring over Saleae traces, I just saw command 0x16 (read word data from memory) working for the first time, correctly reading the first few bytes of ROM. Looking forward to seeing what reading and writing memory *actually* does on my broken A5000, and will definitely be attempting to see if a ROM dump through the debug interface is at all practical.
SW/EE from New Zealand, now in Mountain View, CA, making BBC/Electron hardware projects for fun.
Most interesting: Arcflash, FX2+PiTubeDirect Tube/Cartridge adapter, USB cart interface.

User avatar
myelin
Posts: 779
Joined: Tue Apr 26, 2016 9:17 pm
Location: Mountain View, CA, USA
Contact:

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

Post by myelin » Mon Feb 17, 2020 5:00 am

A less interesting update today, but meaningful for me — I added in better flow control to the CPLD, and can now reliably distinguish input and output transactions, which makes error detection much easier. I successfully read a few words from the ROM on my partially working A7000, and it the write data command is nearly there. I hope to soon be able to run a more detailed memory test on my A5000 through this interface, and see what data is really coming back when I write a location then read it back.
SW/EE from New Zealand, now in Mountain View, CA, making BBC/Electron hardware projects for fun.
Most interesting: Arcflash, FX2+PiTubeDirect Tube/Cartridge adapter, USB cart interface.

User avatar
anightin
Posts: 382
Joined: Thu Aug 23, 2018 1:03 pm
Location: Cambridge UK
Contact:

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

Post by anightin » Mon Feb 17, 2020 11:28 pm

Hi Phil,

I'm intrigued at giving this a try on my RISCPC and I'm handy with Pi and/or Arduino but haven't yet jumped into CPLD/FPGA world yet save programming other peoples bit files for other Xilinx projects on the Forum such as ElPizza boards and YARRB -- on the todo list along with SMD soldering (although I was proud of myself for moving a 0 Ohm surface mount resistor on a 3.5" floppy for my system 3 build to get drive 0 select).

It would be great if you could share a schematic, and what to program the CPLD with so I can try this. I assume I can read the CPLD using an Arduino Sketch compatible MCU or similar? I have an ESP8266 and a Teensy2+ in the bits box at the moment and even a spare CPLD (XC9572XL-PC44) from a YARRB build.

Cheers

Andy

User avatar
myelin
Posts: 779
Joined: Tue Apr 26, 2016 9:17 pm
Location: Mountain View, CA, USA
Contact:

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

Post by myelin » Tue Feb 18, 2020 6:21 pm

Absolutely... I haven't pushed it to GitHub yet because the code is pretty messy, but will see about doing so soon. I'm using one of my XC9536 breakout boards plus a spare ATSAMD21E18 board I made a while back; that's the same as the one on the Adafruit Circuit Playground, and similar to the Arduino Zero. I'll probably make a PCB for this at some point, but for now you'll want something with a ATSAMD21 variant, as the code is pretty specific to that (it uses a SERCOM for the SPI port and pokes various registers directly).

Wiring wise, the test connector provides 5V for the CPLD board, and testreq / testack / reset are connected to the CPLD. D0 should be pulled up to 5V but this seems unnecessary on the A5000 and A7000, so I just left that wire disconnected. The CPLD has ten or so connections to the MCU (reset, SPI port, plus various flow control signals), and the MCU connects to a host machine over USB.
SW/EE from New Zealand, now in Mountain View, CA, making BBC/Electron hardware projects for fun.
Most interesting: Arcflash, FX2+PiTubeDirect Tube/Cartridge adapter, USB cart interface.

User avatar
hoglet
Posts: 8833
Joined: Sat Oct 13, 2012 6:21 pm
Location: Bristol
Contact:

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

Post by hoglet » Tue Feb 18, 2020 7:01 pm

I just wanted to say what an excellent thread this is!

Today I've recompiled philpem's github project for the XC9572XL, and hooked this up to a one-line HD44780 display. I think I actually need a two line display, because I'm clearly missing some of the messages.

I've been testing this on my faulty A4000, see this thread for more details:
viewtopic.php?f=16&t=6830

This machine has been a continued source of frustration to me for nearly 7 years now!

In summary, it reliably boots to the desktop when run from ~4.2V, but crashes randomly during boot when run from 5V. What's completely perverse is you can boot it at 4.2V, then when you are in the desktop increase the voltage back up to 5V and it will run happily for hours. Go figure!

I was hoping the extended self-test that is run when the display adapter is present would show something, but unfortunately not. It always passes, even at 5V.

Maybe the debug commands would be useful.

I'm currently suspecting some kind of weird DRAM memory issue; maybe the timing is marginal.

Dave

User avatar
myelin
Posts: 779
Joined: Tue Apr 26, 2016 9:17 pm
Location: Mountain View, CA, USA
Contact:

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

Post by myelin » Tue Feb 18, 2020 7:17 pm

hoglet wrote:
Tue Feb 18, 2020 7:01 pm
I was hoping the extended self-test that is run when the display adapter is present would show something, but unfortunately not. It always passes, even at 5V.

Maybe the debug commands would be useful.

I'm currently suspecting some kind of weird DRAM memory issue; maybe the timing is marginal.
Unfortunately the extended self-test is just the power on self-test with debug output, so there's no extra testing past what you're already getting. When you get a crash during boot at 5V, does the machine hang during POST (i.e. with the screen blue or purple), or afterward? You probably already know this, but if you get a red screen, the machine will still proceed to boot after it's done flashing the error code out on the floppy LED.

What I'm working on right now is a bit more random memory testing; the DRAM test on my A5000 is indicating that one byte of the RAM is completely bad, so I'm starting out with a simple loop to write random words to random locations then read them back, to see if bits are stuck high or low or are changing randomly, whether the address matters, and so on.

There's an 'execute' command, so if you have (mostly) working RAM, uploading and running your own more detailed memory test algorithm for a 5V boot might work.
SW/EE from New Zealand, now in Mountain View, CA, making BBC/Electron hardware projects for fun.
Most interesting: Arcflash, FX2+PiTubeDirect Tube/Cartridge adapter, USB cart interface.

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

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

Post by danielj » Tue Feb 18, 2020 7:22 pm

Dave, can you share details? I've got a 9572XL dev board a-la: https://uk-m.banggood.com/Xilinx-XC9572 ... 56768.html and a two line display sat here... As well as a bunch of riscpc motherboards that could do with bringing back to life. Could I feasibly bodge it together?

User avatar
hoglet
Posts: 8833
Joined: Sat Oct 13, 2012 6:21 pm
Location: Bristol
Contact:

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

Post by hoglet » Tue Feb 18, 2020 10:19 pm

danielj wrote:
Tue Feb 18, 2020 7:22 pm
Dave, can you share details? I've got a 9572XL dev board a-la: https://uk-m.banggood.com/Xilinx-XC9572 ... 56768.html and a two line display sat here... As well as a bunch of riscpc motherboards that could do with bringing back to life. Could I feasibly bodge it together?
Sure, I'll try to push what I have tomorrow.

That board has a 50MHz Oscillator, so a bit of tweaking might be needed.

Dave

User avatar
hoglet
Posts: 8833
Joined: Sat Oct 13, 2012 6:21 pm
Location: Bristol
Contact:

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

Post by hoglet » Wed Feb 19, 2020 4:33 pm

danielj wrote:
Tue Feb 18, 2020 7:22 pm
Dave, can you share details?
I've pushed my changes to a fork on github:
https://github.com/hoglet67/acorn_postb ... af574d688d

Dave

User avatar
hoglet
Posts: 8833
Joined: Sat Oct 13, 2012 6:21 pm
Location: Bristol
Contact:

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

Post by hoglet » Thu Feb 20, 2020 3:05 pm

I got a two-line display today, so here's a couple of pictures:
IMG_1848.JPG
IMG_1846.JPG
And here's the full set of screens from my A4000:

Code: Select all

-------------------
SELFTEST
 R1.47
-------------------
ROM :
-------------------
M Size :
-------------------
M Size
 0800.10
-------------------
Data :
-------------------
Addrs :
-------------------
Byte :
-------------------
Exp? :
-------------------
Exp? @
 2200000
-------------------
Exp?
00000000
-------------------
IOC :
-------------------
IOC
FFF84280
-------------------
IOEB :
-------------------
IOEB
exists
-------------------
SRAM :
-------------------
IOinit :
-------------------
Speed :
2EE2.1.1
-------------------
RAM :
-------------------
CAMs :
-------------------
PPLs :
-------------------
VIDC :
-------------------
ARM ID :
-------------------
ARM ID
00000000
-------------------
PASS :
0000004A
-------------------
Dave

Post Reply