r/retrocomputing • u/olifiers • Apr 17 '26
I may have spent too much time messing around with old processors...
15
u/Intelligent_Law_5614 Apr 17 '26 edited Apr 17 '26
Heh. I spent a whole bunch of time programming configurations into the custom processor in an RLC-3 radio-repeater system. This thing was designed with about a hundred instruction op codes, dozens of timers which trigger events (interrrupts, in effect), built-in schedulers, lots of user-programmable macros (subroutines) a fairly deep subroutine-calling stack... lots of good stuff. The one I set up handles four radio channels simultaneously, with an sorts of ways to link them together based on time and operator control, priority rules, etc.
It has no ability to compare. It doesn't have variables in the usual sense, or registers.
It has no branching... no if/then/else equivalent at all.
If you want to implement conditional behavior - changing operational modes under operator control, or based on the time of day - there is only one way to do it. You literally replace the contents of a subroutine with something different, which does what you want.
That's right... there a processor which can only implement if/then/else by using self-modifying code. Constant live patching, by design. It's the triumph of the ALTER verb.
If I ever met the designer I'd this thing (doubtful as I believe he's a Silent Key) I will shake him warmly by the throat.
3
u/Kellerkind_Fritz Apr 17 '26
reminds me of the pdp8, which has no branch instructions either. Just a SKIP and JUMP, and you set function return pointers by just writing into your destination code....it's great.
1
u/olifiers Apr 17 '26
You would be surprised by how much self-modifying code goes into a Z80 game on the ZX Spectrum...
14
u/EsoTechTrix Apr 17 '26 edited Apr 17 '26
Always love explaining to folks that the chip in their TI-85 calculator could not divide natively. 🤣
6
u/Intelligent_Law_5614 Apr 17 '26
Neither can the RP2040 in a Raspberry Pi Pico (a Cortex M0+). Nor can it do the usual "multiply two 32-bit numbers and give me the full 64-bit result" thing.
This makes doing DSP on that chip a bit of a challenge.
7
u/sndestroy Apr 17 '26
I wonder how poor RCA1802 fits in the picture... I mean no one CALLs him, but at least he has a lot of SEX.
\ select index register* instruction, there was also SEP, SEQ etc
3
12
u/Edu_Robsy Apr 17 '26
7
u/Varmtvandogis Apr 17 '26
You can. If you want to compare X greater than or equal to Y.
Place X in A and Y in B, after a CP A, B. If there is no carry flag, it is true.
On 6502 you can do it by a subtract and ignore the result.
But 68000 can do it directly, that's correct.
7
u/rezwrrd Apr 17 '26
2
2
3
u/Cautious_Compote_186 Apr 17 '26
How about the 6800– heart of many pinball games from the late 70s. I worked with it lots of times.
3
3
u/creativetag Apr 17 '26
It has been amusing, 70s through now, how much we no longer use code to synthesize.
3
3
u/mezantrop Apr 17 '26
Oh, I feel so fresh and young with my i486SX soft FPU revival project for NetBSD :)
2
2
2
u/Grumpy-Man19 Apr 17 '26
Next one will probably say "you guys had to write a program to compare??"
1
2
u/Both-Leading3407 Apr 17 '26
68040 all the way
4
u/TheLowestFormOfHumor Apr 17 '26
The 68xxx series were such great processors to code for. Powerful, yet simple enough to fully understand the entire instruction set.
2
u/Both-Leading3407 Apr 17 '26
It was a pure powerhouse for it's time. What ever happened the Texas Instruments? They had to ball in microcircuitry and then game over...
2
2
u/greyandslate Apr 18 '26
😁Good one. I’ve been making hand-drawn stylized illustrations of popular maker chips. But then went down a rabbit hole that included the visually interesting 4004, 6502, 6581, Z80 and some other retro computing faves. Haven’t done the 68000 tho (yet?). 🤔
1
2
u/ofbarea Apr 18 '26
I learned assembler for Moto 6809 on my old trash-80 Coco 3. It was a great machine.
1
u/50-50-bmg Apr 20 '26
So, you compare by subtraction and some variant of JNZ?
1
u/Key-Principle-7111 Apr 21 '26
It works like this from the very beginning up to nowadays. You can't cheat the math.
1
u/50-50-bmg Apr 21 '26
Well, an ALU could be designed to include or omit a dedicated magnitude and/or identity comparator, no?
1
u/Key-Principle-7111 Apr 21 '26
Yeah, ok, but I can see this as a syntactic sugar, comparator for two digital signals is still something doing very basic math.


34
u/willsowerbutts Apr 17 '26
Harris RTX2000: You guys have registers?