Info please! Acorn's in-house large-memory 6502 co-pro

for bbc micro/electron hardware, peripherals & programming issues (NOT emulators!)
User avatar
BigEd
Posts: 2784
Joined: Sun Jan 24, 2010 10:24 am
Location: West
Contact:

Info please! Acorn's in-house large-memory 6502 co-pro

Post by BigEd » Fri Jun 24, 2016 4:39 pm

Has anyone any information, insights, or recollections of Acorn's Turbo second processor? All I can find out is that it was a 6502-based second processor with 256k RAM, used in-house to assemble large programs around the time of developing the 65816-based Communicator product. The special feature is that it had more than 64k of memory, which could be accessed using 3 byte pointers, by overloading a few of the 6502 opcodes to fetch an additional byte in parallel with the high byte of the zero page pointer. The extra byte is fetched from page 3.

Pretty much the only information we seem to have is from a document by Acorn employee Stuart Swales explaining the various 6502 emulators which Acorn offered on their 32-bit ARM machines:
(ii) 65Turbo

Emulates an extended (Turbo) 6502 second processor environment, similar to
65Tube, but understands the difference between normal and Turbo 6502 code if
they have a standard image header (normally associated with sideways ROM
code, but it's actually more general). Normal 6502 code images have type bytes of
the form 2_x1xx0010 (ProcType = 2_000)for a language or 2_01100000 for BASIC
(special case), whereas Turbo code has type bytes of the form 2_x1xx0011
(ProcType = 2_001).

A Turbo second processor has nothing to do with the Master Turbo, which is just a faster
6502 second processor; it is in fact a 256 KByte 6502 second processor which
uses page 03 as extra indirection bytes, so that indirect and indirect,Y
opcodes take an extra cycle to fetch a byte from &0301 + zp_offset to yield
a 24-bit address, of which only the bottom 18 bits is used. The extra memory
cannot be accessed using any other addressing modes than these two.
When not executing code with a Turbo type byte, it behaves just like a normal 64K Byte second processor.

This emulator is useful for running TurMasm and TurMasm816 which are needed
to build BBC OS'es, 6502 emulator code, File Server code, Communicator code etc.
Due to the extra address fetch involved in all xxxI and xxxIY opcodes, it is about 1.5%
slower than the standard emulator on typical BASIC programs. However, it is
probably of little interest to outside punters, as Turbo processors
never really got outside of Acorn.
Use *EmulateTurbo to start the emulator.
Use *Quit to exit the emulator.
Deviant versions of the above can be made containing any language ROM, for instance TurMasm.
- from http://www.chiark.greenend.org.uk/~theo ... late65.txt

There's a thread at
http://forum.6502.org/viewtopic.php?f=4&t=1465
which mentions this machine - a previous attempt to see if anyone knew anything about it.

I'm repeatedly tempted to guess that the machine had two banks of byte-wide memory, so it could access an even and an odd page in the same cycle, and so fetch the third byte in the same cycle as the second. But the document above does say that it takes an extra cycle. Either way, I think you need a little state machine - you have to detect the fetch of the special instructions and count clocks until the vital cycle.

Does anyone have a binary for this 65Turbo emulator aka EmulateTurbo command? If so, how could I run it? The emulator might give us some clues about the hardware.

Photos of the machine would be great too - there must be a few ex-Acorn people here, and people here might know a few more personally.

User avatar
tricky
Posts: 3922
Joined: Tue Jun 21, 2011 8:25 am
Contact:

Re: Info please! Acorn's in-house large-memory 6502 co-pro

Post by tricky » Fri Jun 24, 2016 7:57 pm

Sorry, no info about this, but I have come across 6502 boards that use (zp,x) to access alternate memory, with the trigger being the read on cycle 6 and probably some aspect of the op code - I've forgotten!

User avatar
BigEd
Posts: 2784
Joined: Sun Jan 24, 2010 10:24 am
Location: West
Contact:

Re: Info please! Acorn's in-house large-memory 6502 co-pro

Post by BigEd » Fri Jun 24, 2016 8:30 pm

I'd be interested in those boards too, if you could dredge up any kind of specifics...

User avatar
BeebMaster
Posts: 2985
Joined: Sun Aug 02, 2009 4:59 pm
Location: Lost in the BeebVault!
Contact:

Re: Info please! Acorn's in-house large-memory 6502 co-pro

Post by BeebMaster » Sat Jun 25, 2016 2:55 pm

I've never heard of anything like that, although my reading of the text file (as some have mentioned on the 6502 thread) is that this was an emulator. I know emulators emulate real hardware, but I don't think it necessarily means that there was a special 6502 second processor as a piece of hardware.

Are we saying that the !65Turbo application is lost? I thought I may have seen that somewhere. I wonder if it could be found if it would run on the ARM7 co-pro?

On a separate but slightly related note, it looks like by the late 1980s Acorn were developing their software for 8 bit machines using ARM based machines. They may have been doing it for a long time. The FileStore dealer test disc has the source code (all in BASIC) stored on it, and the load/exec addresses suggest it was done on ARM BASIC, maybe even on an ARM second processor. The 6502 assembler for the ADFS free space map checksum calculation (directly lifted from Superform) is commented out and replaced with a BASIC version in the formatter, FServFmt.
Image

User avatar
jgharston
Posts: 3806
Joined: Thu Sep 24, 2009 11:22 am
Location: Whitby/Sheffield
Contact:

Re: Info please! Acorn's in-house large-memory 6502 co-pro

Post by jgharston » Sat Jun 25, 2016 3:00 pm

I've always read the documentation as saying that 65Turbo was an emulator, not hardware. What it ran on is another question, when I first came across the notes years ago I wondered if it ran on Acorn's VAX. That was prompted by the comment of it being used to build BBC OSes. An ARM application running on early ARM systems would be 1985 or so and later, missing everything before the MOS 3.50 upgrade.

Code: Select all

$ bbcbasic
PDP11 BBC BASIC IV Version 0.25
(C) Copyright J.G.Harston 1989,2005-2015
>_

paulb
Posts: 811
Joined: Mon Jan 20, 2014 9:02 pm
Contact:

Re: Info please! Acorn's in-house large-memory 6502 co-pro

Post by paulb » Sat Jun 25, 2016 3:11 pm

BeebMaster wrote:I've never heard of anything like that, although my reading of the text file (as some have mentioned on the 6502 thread) is that this was an emulator. I know emulators emulate real hardware, but I don't think it necessarily means that there was a special 6502 second processor as a piece of hardware.
The description sounds like it is describing hardware, though. It does talk about Turbo second processors as if they were physical devices ("Turbo processors never really got outside of Acorn").
BeebMaster wrote:On a separate but slightly related note, it looks like by the late 1980s Acorn were developing their software for 8 bit machines using ARM based machines. They may have been doing it for a long time. The FileStore dealer test disc has the source code (all in BASIC) stored on it, and the load/exec addresses suggest it was done on ARM BASIC, maybe even on an ARM second processor. The 6502 assembler for the ADFS free space map checksum calculation (directly lifted from Superform) is commented out and replaced with a BASIC version in the formatter, FServFmt.
There was a product which I think Dabs Press were selling for the 32-bit machines that targeted the 6502-based machines, and I think Paul Fellows wrote it, so I imagine that this could have been similar to what you are describing, if not the same thing.

Edit: ABC65 is the BASIC-to-6502 product I was thinking of.
Last edited by paulb on Sat Jun 25, 2016 4:20 pm, edited 1 time in total.

User avatar
BigEd
Posts: 2784
Joined: Sun Jan 24, 2010 10:24 am
Location: West
Contact:

Re: Info please! Acorn's in-house large-memory 6502 co-pro

Post by BigEd » Sat Jun 25, 2016 3:46 pm

Oh, there certainly was hardware - but for devs, so probably hand-built and possibly only ever a very few. The hardware was needed to develop for the 816 (16bit) Communicator. Then, when they had a 32bit platform, they wanted the emulator so they could reuse their software.

tom_seddon
Posts: 361
Joined: Mon Aug 29, 2005 11:42 pm
Contact:

Re: Info please! Acorn's in-house large-memory 6502 co-pro

Post by tom_seddon » Mon Nov 25, 2019 9:38 am

This thread was mentioned on an ebay listing for an "extended 6502 second processor": https://www.ebay.co.uk/itm/Acorn-Extend ... 3412375870

--Tom

User avatar
BigEd
Posts: 2784
Joined: Sun Jan 24, 2010 10:24 am
Location: West
Contact:

Re: Info please! Acorn's in-house large-memory 6502 co-pro

Post by BigEd » Mon Nov 25, 2019 9:55 am

It's great to have confirmation that the device was not only a real physical device, but that it went up to at least serial number 79. And to see the circuit board, and to see that it looks like any other 6502 cheese wedge (but perhaps with a missing informational backplate.) And that it was a normal 6502 rated at 3MHz and presumably clocked at 3MHz. I think the chip datecodes indicate late 1983 as the earliest likely date for this particular one. (The board design is 211,000 in Acorn numbers, and it's an Issue A.)

Which is extra interesting, I think, if this extended addressing by Acorn can be shown to predate Commodore's rather less usable 6509.

User avatar
Lardo Boffin
Posts: 1779
Joined: Thu Aug 06, 2015 6:47 am
Contact:

Re: Info please! Acorn's in-house large-memory 6502 co-pro

Post by Lardo Boffin » Mon Nov 25, 2019 12:00 pm

I wonder what this will go for in eBay given its extreme rarity?
Atom, issue 5
BBC model B 32k issue 4, 16k sideways RAM, Watford 12 ROM board, Acorn 6502 coproc
BBC model B 32k issue 7, turboMMC, Opus Challenger 3 512k, Pi 3 coproc
USA Model B
BBC Master, Datacentre + HDD, pi co-proc, econet, NULA

cmorley
Posts: 1143
Joined: Sat Jul 30, 2016 7:11 pm
Location: Oxford
Contact:

Re: Info please! Acorn's in-house large-memory 6502 co-pro

Post by cmorley » Mon Nov 25, 2019 12:31 pm

Yes it will be interesting to see what it goes for. I have watched it on eBay now to keep tabs. I suspect it'll go for more than I'd be willing to pay! I am very curious about the hardware.

RobC
Posts: 2775
Joined: Sat Sep 01, 2007 9:41 pm
Contact:

Re: Info please! Acorn's in-house large-memory 6502 co-pro

Post by RobC » Mon Nov 25, 2019 12:35 pm

I'm bidding on it but also suspect it'll go for more than I'm willing to pay :(

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

Re: Info please! Acorn's in-house large-memory 6502 co-pro

Post by danielj » Mon Nov 25, 2019 12:55 pm

The board needs photographing and the ROM imaging :/ has anyone been in touch with the seller to ask if, whoever buys it, can be put in touch with us to help do that?

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

Re: Info please! Acorn's in-house large-memory 6502 co-pro

Post by hoglet » Mon Nov 25, 2019 2:58 pm

Here are the seller's photos, in a zip so the forum doesn't mess with them:
extended_6502_co_pro.zip
(2.53 MiB) Downloaded 55 times

User avatar
Pernod
Posts: 1823
Joined: Fri Jun 08, 2012 10:01 pm
Location: Croydon, UK
Contact:

Re: Info please! Acorn's in-house large-memory 6502 co-pro

Post by Pernod » Mon Nov 25, 2019 6:15 pm

RobC wrote:
Mon Nov 25, 2019 12:35 pm
I'm bidding on it but also suspect it'll go for more than I'm willing to pay :(
Really hope you get it [-o<

So from what I'm understanding the extra RAM is only accessible through indirection, so would that mean it's not possible to execute code in the extended RAM? I suspect the ROM will help me understand how it works, which would hopefully contain a RAM test to demonstrate it being accessed.

I imagine it's not that useful unless it's running code specifically designed for it, as normal 6502 copro software will only see the first 64K.
- Nigel

BBC Model B: ATPL Sidewise, Acorn Speech, 2xWatford Floppy Drives, AMX Mouse, Viglen case, BeebZIF, etc.

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

Re: Info please! Acorn's in-house large-memory 6502 co-pro

Post by hoglet » Mon Nov 25, 2019 6:28 pm

Pernod wrote:
Mon Nov 25, 2019 6:15 pm
So from what I'm understanding the extra RAM is only accessible through indirection, so would that mean it's not possible to execute code in the extended RAM?
Yes, that's my assumption as well.
Pernod wrote:
Mon Nov 25, 2019 6:15 pm
I suspect the ROM will help me understand how it works, which would hopefully contain a RAM test to demonstrate it being accessed.
It's possible the 2732 (4KB) client ROM doesn't actually make any accesses to the additional RAM, and that the only difference from the normal 6502 client ROM is the boot message. i.e. the usage of the extended addressing may well be entirely contained in the application code (the TurMasm and TurMasm816 assemblers).

Dave

User avatar
BigEd
Posts: 2784
Joined: Sun Jan 24, 2010 10:24 am
Location: West
Contact:

Re: Info please! Acorn's in-house large-memory 6502 co-pro

Post by BigEd » Mon Nov 25, 2019 6:50 pm

I hadn't thought that it might not do a RAM check. Does the ordinary 64k 6502 copro do a RAM check?

It seems that Turbo-capable applications have a Turbo type byte instead of a 6502 type byte, so it seems the page 3 extended vector logic has an enable/disable which the ROM will tweak when it loads an application. Which means this extended 2nd processor will also run all the usual applications as well as Turbo-aware applications.

But yes, my understanding is that it's for a large data space, not a large code space - unless you plan to write an overlay system and do a lot of block-moves...

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

Re: Info please! Acorn's in-house large-memory 6502 co-pro

Post by hoglet » Mon Nov 25, 2019 6:52 pm

BigEd wrote:
Mon Nov 25, 2019 6:50 pm
I hadn't thought that it might not do a RAM check. Does the ordinary 64k 6502 copro do a RAM check?
I don't think so.

VectorEyes
Posts: 281
Joined: Fri Apr 13, 2018 1:48 pm
Contact:

Re: Info please! Acorn's in-house large-memory 6502 co-pro

Post by VectorEyes » Mon Nov 25, 2019 10:52 pm

danielj wrote:
Mon Nov 25, 2019 12:55 pm
The board needs photographing and the ROM imaging :/ has anyone been in touch with the seller to ask if, whoever buys it, can be put in touch with us to help do that?
I have contacted the seller on eBay and asked whether they’d be willing to tell the winner about the interest from the StarDot folks and that they’d really appreciate being able to get detailed photos and image the ROM.

There’s sadly no documentation for it though.

tom_seddon
Posts: 361
Joined: Mon Aug 29, 2005 11:42 pm
Contact:

Re: Info please! Acorn's in-house large-memory 6502 co-pro

Post by tom_seddon » Mon Nov 25, 2019 11:37 pm

hoglet wrote:
Mon Nov 25, 2019 6:52 pm
BigEd wrote:
Mon Nov 25, 2019 6:50 pm
I hadn't thought that it might not do a RAM check. Does the ordinary 64k 6502 copro do a RAM check?
I don't think so.
JGH has a disassembly of the Tube parasite OS: http://mdfs.net/Software/Tube/6502/Clnt65v1.src - looks like the 64K message is hard-coded.

--Tom

User avatar
BigEd
Posts: 2784
Joined: Sun Jan 24, 2010 10:24 am
Location: West
Contact:

Re: Info please! Acorn's in-house large-memory 6502 co-pro

Post by BigEd » Tue Nov 26, 2019 8:00 am

Ah, thanks. I think the ROM does check the type byte of a downloaded application and is able to reject it if it's for the wrong CPU? That bit of code must be different, as this extended 2nd processor will respond to two values of the type byte - 6502 and what we might call 6502x. But it may be that we don't know what that second byte value is.

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

Re: Info please! Acorn's in-house large-memory 6502 co-pro

Post by hoglet » Tue Nov 26, 2019 8:03 am

BigEd wrote:
Tue Nov 26, 2019 8:00 am
Ah, thanks. I think the ROM does check the type byte of a downloaded application and is able to reject it if it's for the wrong CPU? That bit of code must be different, as this extended 2nd processor will respond to two values of the type byte - 6502 and what we might call 6502x. But it may be that we don't know what that second byte value is.
The ROM Type byte is well documented, including the value for Turbo6502:
http://beebwiki.mdfs.net/Paged_ROM#ROM_headers
http://beebwiki.mdfs.net/Code_header#ROM_type_byte

Or are we talking about a different type of "type"?

User avatar
BigEd
Posts: 2784
Joined: Sun Jan 24, 2010 10:24 am
Location: West
Contact:

Re: Info please! Acorn's in-house large-memory 6502 co-pro

Post by BigEd » Tue Nov 26, 2019 8:17 am

Oh, that's great! Thanks. That's exactly the byte I mean. Is it the case that the ordinary 6502 2nd processor's ROM will reject code of type 1? It feels like it should.

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

Re: Info please! Acorn's in-house large-memory 6502 co-pro

Post by hoglet » Tue Nov 26, 2019 10:04 am

There will also be differences to the implemetation of OSBYTE &83 and &84:
http://beebwiki.mdfs.net/OSBYTE_%2683
http://beebwiki.mdfs.net/OSBYTE_%2684

These return the bottom and top of user memory.

Dave

User avatar
1024MAK
Posts: 9615
Joined: Mon Apr 18, 2011 4:46 pm
Location: Looking forward to summer in Somerset, UK...
Contact:

Re: Info please! Acorn's in-house large-memory 6502 co-pro

Post by 1024MAK » Tue Nov 26, 2019 10:53 am

So, at the moment there are four bidders. How many are StarDotters? My bid won’t show up yet as I’m thinking of using an auction sniper.

It would not be in our best interests to bid against one another if the objective is for one of us to get our hands on it so that we can dump the EPROM and possibly try to reverse engineer the circuitry or try to run some test code on it.

Mark

User avatar
jms2
Posts: 2363
Joined: Mon Jan 08, 2007 6:38 am
Location: Derby, UK
Contact:

Re: Info please! Acorn's in-house large-memory 6502 co-pro

Post by jms2 » Tue Nov 26, 2019 12:10 pm

I can't visualise how this board would cause certain opcodes to behave differently, if the CPU is a standard one?

RobC
Posts: 2775
Joined: Sat Sep 01, 2007 9:41 pm
Contact:

Re: Info please! Acorn's in-house large-memory 6502 co-pro

Post by RobC » Tue Nov 26, 2019 12:21 pm

1024MAK wrote:
Tue Nov 26, 2019 10:53 am
So, at the moment there are four bidders. How many are StarDotters? My bid won’t show up yet as I’m thinking of using an auction sniper.
I'm bidding as mentioned above. Happy to do any EPROM dumping and loan it to other members for investigation if I win.
jms2 wrote:
Tue Nov 26, 2019 12:10 pm
I can't visualise how this board would cause certain opcodes to behave differently, if the CPU is a standard one?
Presumably, the additional memory decoding (i.e. which bank of memory is accessed) is triggered by certain page accesses and opcodes. The CPU just sees it all as memory in its 64KB space and isn't really aware that the additional memory has been accessed.

VectorEyes
Posts: 281
Joined: Fri Apr 13, 2018 1:48 pm
Contact:

Re: Info please! Acorn's in-house large-memory 6502 co-pro

Post by VectorEyes » Tue Nov 26, 2019 12:49 pm

I’d like to bid on this for my CoPro collection. If I win I’m very happy to bring it to ABUGs, help with imaging the ROM, etc.

SteveBagley
Posts: 223
Joined: Sun Mar 15, 2015 8:44 pm
Contact:

Re: Info please! Acorn's in-house large-memory 6502 co-pro

Post by SteveBagley » Tue Nov 26, 2019 12:54 pm

RobC wrote:
Tue Nov 26, 2019 12:21 pm
Presumably, the additional memory decoding (i.e. which bank of memory is accessed) is triggered by certain page accesses and opcodes. The CPU just sees it all as memory in its 64KB space and isn't really aware that the additional memory has been accessed.
From the description above, it seems to be a variation on the idea of SHADOW RAM -- Shadow Ram alters which bank of memory is accessed based on what address the instruction accessing memory is from (RAM, or OS), while this alters which bank of memory is accessed based on what the opcode is (or rather which addressing mode it is).

Interestingly, it seems a lot of the IC numbers and ICs line up with the same ICs in the standard 6502 coprocessor, so I suspect it might be possible to partially work out how it functions by looking at the extra ICs present on the board.

Steve

User avatar
BigEd
Posts: 2784
Joined: Sun Jan 24, 2010 10:24 am
Location: West
Contact:

Re: Info please! Acorn's in-house large-memory 6502 co-pro

Post by BigEd » Tue Nov 26, 2019 2:17 pm

I think it might need only 6 or 7 extra bits of state to pull this off. There's a mode bit, three bits to count the cycles of an affected instruction, and two bits to hold the extra two bits of address. Maybe another bit to keep track of the stretched cycle.

Agreed though, we can learn a fair bit just from the photos of the top side.

It would be great to be able to investigate this box!

Post Reply