-
Notifications
You must be signed in to change notification settings - Fork 23
Examples for each CoPro core
Here are some brief instructions for things to do on each of the CPU cores in the PiTubeDirect. To switch cores, you need a *FX command followed by a Control-Break. If you always want to boot up with a specific core, edit the file cmdline.txt
on the SD card.
*FX 151,230,1
This core is very like the original external second processor, and is suitable for running Tube-aware games, such as Tube Elite. You can select a different speed, such as the 4MHz of the Master internal coprocessor, by editing the file cmdline.txt
on the SD card, or by issuing *FX 151,228,4
at the command line.
All other clock speeds will depend on which model of Pi you are using, but in this case the clock speed is calibrated.
*FX 151,230,0
This core offers 1 megabyte of banked memory although very few programs know how to use it. Both 65C02 cores come with three programs built-in:
- Sphere benchmark (
OLD
,RUN
)- Contains PiTubeDirect status readout (
LIST 1,9
)
- Contains PiTubeDirect status readout (
- ClockSP benchmark (
PAGE=&1000
,OLD
,RUN
)- this is tuned for Basic 2 speed comparison
- Klaus Dormann's test suite (
CALL &3400
)
To re-initialise memory, for Cobra release and later, use *FX 151,230,128
You can also run:
- BBC Basic and HiBasic the large-memory version
- Pi calculation
- Conway's Game of Life (can use the banked memory extension)
*FX 151,230,4
This core runs at full speed, about the equivalent of a 40MHz Z80. User guide here. You can run:
- BBC Basic (including assembler)
- ZEXDOC and ZEXALL test suites
- Pi calculation
- Acorn CP/M (many resources here)
- BBC Basic
- Mallard Basic
- COBOL with single-stepping debugger
- Zork, other infocom adventures
*FX 151,230,8
Runs DosPlus by Digital Research
- BBC Basic and large-memory BBC Basic (512k free)
- various demos, including PCW benchmarks (52MHz reported for Basic, 49MHz for
BigBasic
) - includes assembler
- various demos, including PCW benchmarks (52MHz reported for Basic, 49MHz for
- Games including chess, sopwith, wombat
- GEM graphical environment (needs a mouse)
- with word processor, paint program
- extremely slow Z80 emulator
*FX 151,230,9
- Flex operating system (user guide)
- Basic and XBasic
- Adventure (
adv9
) - Assemblers
- C compiler
- Forth
*FX 151,230,12
This is like the original ARM Evaluation System external coprocessor
- BBC Basic (with probably buggy assembler) (
AB
)- Mandelbrot (using Basic's hidden MANDEL command)
*FX 151,230,13
This is the 16/32 bit CPU found in the ABC, Master Scientific, and Cambridge Workstation products, also available as an external second processor, and with an FPU on board. Scans of documentation here.
- Basic: Bas32 and Bas32f
- Pi calculation (see here and here.)
- PanOS (disk images here and see also here.)
To set RAM size for this core, in Cobra release and later, use *fx 151,226,1
followed by *fx 151,228,val
where val counts up in 64k units. Add 128 to val to count in 8Mbyte units. Or, set a copro13_memory_size
value in cmdline.txt
*FX 151,230,15
This is the highest-performing core. Code is actually running on the Pi's ARM CPU directly, with no emulation layer. Basic runs at the speed of a multi-GHz 6502, if such a thing were possible.
- Basic (BAS135) (with assembler)
*FX 151,230,14
This is a convenience core, which offers no co-processor, and allows your Beeb to work as if the Pi were disconnected or powered off. On a Master, you can use *NOTUBE
to do the same.
Hardware
Software
- Build dependencies
- Running cmake
- Compiling kernel.img
- Deploying on a Pi
- Recommended config.txt and cmdline.txt options
- Validation
- Compilation flags
Implementation Notes