The color scheme of that JR-100 reminds me of the Mattel Aquarius - which is universally regarded as an awful failure.
Someone blogged about using a IIc+ as a VT220 emulator - see this thread:
Working from home on the //c+
Had another hack session this afternoon, having made a bit of progress over the weekend with @Revaldinho, helping him patch his C model of Ferranti’s 16 bit micro into PiTubeDirect, and today we managed to get the first sign of life from the new second processor:
(That’s a BBC Master, a Pi with a level shifter hanging off the Tube port, and my trusty monochrome monitor showing the boot message produced by the F100 code. All the F100 code is written in assembly, so far. The Master’s BASIC ROM is announcing itself, but it’s a 6502 Basic and doesn’t play a part here.)
There are a few steps yet, to support a few more OS calls, so we can support a command line and do file access. We’ll probably add a debugger too - that’s written in C, runs on the Pi, and talks over a serial port to offer a command line interface, with visibility and control for things like breakpoints and single stepping. @hoglet has offered advice and assistance…
A bit more progress yesterday! Thanks to @hoglet I got a serial debug connection to the Pi and we could run the debugger which he’d recently ported to this new core. We could then use breakpoints, watchpoints, disassembly, single-stepping:
Raspberry Pi Direct 0 65C02 (fast) Client
emulator speed 0
Copro Memory size 0
cycle counter = 1527923648
I_CACHE_MISS = 925197
D_CACHE_MISS = 177
tube reset - copro 0
New Copro = 28
cycle counter = 222881468736
I_CACHE_MISS = 236122456
D_CACHE_MISS = 16728
tube reset - copro 28
Raspberry Pi Direct 28 Ferranti F100-L Client
emulator speed 0
Copro Memory size 0
cycle counter = 226694210944
I_CACHE_MISS = 236122755
D_CACHE_MISS = 151002
tube reset - copro 28
>> b 800
Exec breakpoint set at 0800
cpu: F100 debug enable = 1
>> cycle counter = 6936630720
I_CACHE_MISS = 97360480
D_CACHE_MISS = 799
tube reset - copro 28
Exec breakpoint hit at 0800
0800 : 8000 7c01 : LDA ,7c01
>> r
ACC = 0000
OR = 0040
PC = 0800
PSR = F:0 M:0 C:0 S:0 V:0 Z:1 I:0
>> r pc 896
PC = 0896
>> c
Running
>>
And what is that mysterious program at 0896? It’s @Revaldinho’s recent addition to the ROM, and we can watch it sending characters up to the Beeb:
>> r pc 896
PC = 0896
>> d 896
0896 : 8000 0fff : LDA ,0fff
0898 : 4003 : STO 0003
0899 : 8000 ff2a : LDA ,ff2a
089b : 4002 : STO 0002
089c : 8000 0002 : LDA ,0002
089e : 4903 : STO /0003+
089f : 7002 089c : ICZ 0002 089c
08a1 : 8000 ffc0 : LDA ,ffc0
08a3 : 400a : STO 000a
08a4 : 8000 0000 : LDA ,0000
08a6 : 4005 : STO 0005
08a7 : 400b : STO 000b
08a8 : 4004 : STO 0004
08a9 : 8000 00d5 : LDA ,00d5
08ab : 4006 : STO 0006
08ac : 9000 1000 : ADD ,1000
>> c
Running
Mem Wr watchpoint hit at 083b : 7ef9 = 0033
Mem Wr watchpoint hit at 083b : 7ef9 = 0031
Mem Wr watchpoint hit at 083b : 7ef9 = 0034
Mem Wr watchpoint hit at 083b : 7ef9 = 0031
Mem Wr watchpoint hit at 083b : 7ef9 = 0035
Mem Wr watchpoint hit at 083b : 7ef9 = 0039
Mem Wr watchpoint hit at 083b : 7ef9 = 0032
Mem Wr watchpoint hit at 083b : 7ef9 = 0036
Mem Wr watchpoint hit at 083b : 7ef9 = 0035
Mem Wr watchpoint hit at 083b : 7ef9 = 0033
Mem Wr watchpoint hit at 083b : 7ef9 = 0035
Mem Wr watchpoint hit at 083b : 7ef9 = 0038
Mem Wr watchpoint hit at 083b : 7ef9 = 0039
Mem Wr watchpoint hit at 083b : 7ef9 = 0037
Mem Wr watchpoint hit at 083b : 7ef9 = 0039
You’ve got to love the unique assembly syntax.
Not really retrocomputing, but related: I made a playfield editor for the Atari VCS / Atari 2600 (the 40-fat-pixel background graphics), generating ready-to-use assembler code in realtime.
This and other tools may be found at a common landing page: Atari VCS Tools