Pernod wrote:Thanks, do you also have the system disc that came with it?

‘fraid not. Just the device, rom and manual.

I just checked the manual and according to that, there was no system disc. "Chapter 1.1 Checklist of Items" states:

"As well as this User Guide, you should have the follwing items in the box you have just opened - the B2P Second Processor and the BOS ROM. Should either of these items are damaged or missing contact PMS without delay."

The only reference to a disk from B2P in the manual is regarding Hi-Wordwise Plus which B2P sold on disk and requires that Wordwise Plus is also installed on ROM. The manual mentions both "B2P Hi-Wordwise Plus" and "BBC Hi-Basic" as available via B2P. Given that Hi-BASIC for the Acorn processor works fine, I suspect that B2P Hi-Wordwise Plus is no different for the version for the Acorn 2nd processor from Computer Concepts but haven't tried.

mlouka wrote:I just checked the manual and according to that, there was no system disc.

Yeah, I saw that in the manual. I was referring to http://chrisacorns.computinghistory.org ... mDiscs.pdf, but it doesn't actually say what's on the discs.
I'm not sure how easy it is to get into the B2P but would you be able to get a good photos (so that all IC's are identifiable) of both sides of the board? Does anyone have any theories on how the 65C02 boots without a ROM present on the board? The last page of the user guide would've been much more useful if the author didn't run out of coffee!

We know it uses the NPFD line from the 1MHz bus and so must map page &FD into the 65C02 address space, then trigger a reset. It transfers &800 bytes from the ROM into &F800-&FFFF. Need to take a closer look at the ROM to understand further.

I can explain the workings of the E2P, which is the Electron equivalent of the same thing. I also have a commented disassembly somewhere of the E2P code.

However, the B2P can't work in exactly the same way as the E2P. This is because the E2P plugs into a cartridge slot on the Plus 1 and is therefore occupying a rom slot by default, whereas the B2P plugs into the Tube and the 1MHz bus.

The E2P hardware is arranged so that a 256-byte window of Second Processor memory (&FF00-&FFFF) also appears at &8000-&80FF at the relevant ROM slot, in other words you have 0.25K of sideways RAM! When the software is loaded from disc it is able to copy 256 bytes to this location. This then causes three things to happen:

1) Writing to this area generates an interrupt (because of the E2P hardware) and this brings the second processor out of reset.
2) Because the data occupies &FF00-&FFFF, it provides all the vector addresses including (&FFFC). This jump runs a short routine which copies across the remainder of the OS into &F800-&FF00.
3) Subsequent presses of Break retain the second processor environment because some rom header code is retained, which means that when the sideways rom is polled it jumps straight back into the Tube code.

I think what must be happening is that the "window" appears in page &FD on the BBC micro rather than at &8000. I guess there are similar arrangements on the BBC to catch Break presses and do something with 1MHz bus devices?

There is a ROM version of the E2P software, but because the Electron has to maintain the E2P "fake rom" plugged in all the time (except during disc accesses), the code cannot actually run from there. What it does is copy itself into RAM (not only at &400, but also at about &2000 I think) and run from there. The BOS ROM is presumably different; whilst it copies the Tube code to &400 as usual, any * commands can remain accessible from the ROM.

The manual also mentions DRAM refresh. This is done on the E2P by means of a regular clock-generated NMI signal which accesses a a rotating block of memory on a periodic basis. This obviously places a load on the processor, dragging down its performance a bit more than the advertised 2Mhz clock speed would suggest.

This is the bit where we attempt to tell you how our B2P works. The B2P does not have a fancy, expensive ULA chip, but instead simulates the TUBE hardware protocols through some discrete components, and some very neat software. The effect of this is that at language level the TUBE behaves exactly like its ACORN counterpart. However machine code programmers will discover that TUBE software will run slightly slower for two reasons. Firstly the 6502A (or 65C02) processor in the B2P runs at 2MHz as opposed to 3MHz on the ACORN, and secondly, the FIFOs on the TUBE ULA are simulated by the neat software we mentioned previously.

The TUBE byte is located at its official location of &FEE5, but the OSWRCH queue etc. are located in page &FD. This is the reasoning behind the extra connection to the 1MHz bus. All of page &FD is used, so other hardware which uses page &FD will be incompatible with the B2P. After all, page &FD IS set aside for a 64K RAM expansion, and the B2P has got 64K of RAM on board!
Oh dear, I seem to have run out of coffee, so I will stop here and leave the explanations on how we start up a processor without ROM and the concept of DRAM refresh by ----"

Interesting, I have no idea what might have been on those disks. I guess that a search for old magazine ads might be the only way to find out although I suspect that they might simply be referring to the disks they offered for HiWordwise, HiBASIC, etc.

Pernod wrote:
I'm not sure how easy it is to get into the B2P but would you be able to get a good photos (so that all IC's are identifiable) of both sides of the board? Does anyone have any theories on how the 65C02 boots without a ROM present on the board? The last page of the user guide would've been much more useful if the author didn't run out of coffee!

It's fairly easy to open but uses little bolts with rather small nuts so needs to be done with care to avoid losing the nuts. I don't have time now but can probably open it up and take pictures tomorrow evening.