KenLowe's Level Shifter Interface hardware (Tube Interface or 1Mhz Bus Interface)
Hoglet67 and BigEd's PiTubeDirect Software implementation for the Raspberry Pi (RPi)
I will come back here and add the definitive answers I receive in this thread.
Questions follow in the next Post...
EDIT 1/4/20: Thanks to Hoglet, KenLowe, BigEd and dp11 for indulging me in this thread.
Below is my abridged collation from this thread to provide a guide to Installation and Use:
You will need:
- A Tube Level Shifter - available from KenLowe for £12
- A Raspberry Pi - (I am using the RPi 1B - either 256MB or 512MB version)
- A MicroSD Card 8GB or higher preferably Class 6 or higher
- PiTubeDirect Software (latest level is Fer-De-Lance) from https://github.com/hoglet67/PiTubeDirect
- A 40 Pin Tube Port Extender (unless you are using a Rpi Zero which needs no extender) - More about this below
- And, of course a Beeb with either DFS1.2 or DFS 2.6 or MMFS which contain the Tube Software,
You will need to remove the Yellow Composite Video Connector as it interferes with the 40 Pin GPIO interface of the Tube Level Shifter and does not allow the RPi 1B to drop low enough into the Connector Well of the Beeb You can either de-solder it or simply cut the pins under the socket. I also removed the Ethernet Socket to gain some more clearance but this isn't essential. Making the 40 Pin Tube Extender:
With acknowledgment to KenLowe, the simplest and most compact solution is to use two of these 12mm Header Extenders plugged into one another as shown below: Step By Step Procedure:
- Format the MicroSD Card as FAT32 and simply copy all of the contents of the PiTubeDirect zip file into the Root Directory. Place the MicroSD Card in the RPi using a SD Card to MicroSD Card adapter if necessary.
- If you have or intend to have the Case Screw in place, put a small piece of insulating tape on the Tube Level Shifter at the contact point.
- Plug the Tube Level Shifter into the Extender and plug the Extender into the Tube Port under the Beeb.
- Plug the Raspberry Pi into the Tube Level Shifter taking care not to misalign the pins with the Header. The 26 Pins of the RPi 1B go into the Leftmost 26 sockets of the Tube Level Shifter (nearest the Case Wall). BE CAREFUL! Mis-plugging WILL destroy the Raspberry Pi GPIO.
- Carefully turn the Beeb over, and Switch On
- You will hear the customary Boo .... but NO Bip. This is normal
- You should now see this Startup Message on the Screen:
- Running TUBEELT
If you have the Beeb.MMB Games Compendium on SD Card with TurboSPI or MicroSPI, try:
Press F0 to launch
You will need the Elite Manual available here https://openretro.org/file/37a540d37634 ... b46dfb7fe4
- Browse Hoglet and BigEd's Wiki Page here https://github.com/hoglet67/PiTubeDirec ... CoPro-core for details of each Core
- Browse BigEd's Thread here viewtopic.php?f=2&t=15974 to see what others are using PiTubeDirect for
- Emulating a ZX81, or a ZX Spectrum or Jupiter Ace (you also need a VideoNula for some of those to work). But the most important reason is to be able to run Zork.
Taming the Beast!
The default co-processor is defined by the copro=N parameter in cmdline.txt on your SD Card, (copro=0 copro1_speed=3 copro3_speed=4 tube_delay=0 elk_mode=0)
where N is:
- 0 for the fastest 65tube based 65C102 Co Processor
- 1 for a 3MHz 65tube based 65C02 Co Processor
- 2 for the lFast 65C102 Co Processor
- 3 for 4MHz 65C102 (Acorn internal 65C102 Co Pro)
- 4 for the Z80 Co Processor
- 8 for the 80x86 Co Processor
- 9 for the 6809 Co Processor
- 11 for the PDP-11 Co Processor
- 12 for the ARM2 Co Processor
- 13 for the 32016 Co Processor
- 14 for no Co Processor (to save having to power off the Pi)
- 15 for the fastest native ARM7 Co Processor
- 16 for the 64KB Normal 65C02 (lib6502) Co Processor
- 17 for the 256KB Turbo 65C02 (lib6502) Co Processor
- 20 for the OPC5LS Co Processor
- 21 for the OPC6 Co Processor
- 22 for the OPC7 Co Processor
I decided to leave the RPi SD Card installation as standard and achieve my objective by changing the !BOOT file on Disc 0 of the SD Card to set up the Programmable Function Keys to give me a range of configuration options thus:
F0 Co Processor 14 (Off)
F1 Co Processor 0 (65C102)
F2 Co Processor 0 (65C102 and Start TUBEELT)
F3 Co Processor 1 (65C102 @ 3MHz)
F4 Co Processor 14 (Off and start STH Games Menu)
F5 Switch to Disk 455
F6 Switch to Disk 455
F7 Enable Floppy Drive (*OPT 5,1)
F8 Enable Floppy Drive and Disable MMFS (Useful to Format etc. Floppy Discs)
F9 Disable DFS and Start STH Games Menu (Keeps Page at &0E00)
So, to Boot to STH Games Menu: Switch On; Shift-Break; F0; Shift-Break; F4
To Boot to STH Games Menu with DFS Disabled and Page at &0E00: F9; Ctrl-Break; Shift Break; F4
To Boot to TubeELT: Shift-Break; F2
To do this you first need to Unlock Disc 0 on the SD Card:
*RENAME !BOOT OLD!BOOT
Now create a new !BOOT File using an editor like View containing:
Code: Select all
*KEY 0 *FX 151,230,14|M *KEY 1 *FX 151,230,0|M *KEY 2 *FX 151,230,0|M*DIN45|M*TUBEELT|M *KEY 3 *FX 151,230,1|M *KEY 4 *TV255|M*/MENU|M *KEY 5 *MMFS|M*OPT5,1|M*DIN300|M*RLOAD COP114 11|M *KEY 6 *OPT5,0|M*DIN456|M*.|M *KEY 7 *MMFS|M*OPT5,1|M*DISC|M*.|M *KEY 8 *KILL10|M*KILL15|M*| Ctrl-Break *KEY 9 *MMFS|M*OPT5,0|M*DIN0|M*KILL06|M*| PRESS F4 *|TOFF TON TELT T3MHz GAME COP 456 DFS NoMMFS NoDFS