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:
- from http://www.chiark.greenend.org.uk/~theo ... late65.txt(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.
There's a thread at
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.