https://youtu.be/DLSUAVPKeYk
Ok, going to need a tldr(w) version of this along with an assessment: true?
If
@Bryce or
@TotO can verify the electronics and whether there would be any downside on cpc? Perhaps it could work in a socketted z80 containing the daughter board in the z80 socket with a way to turn the memory protection on or off via an io port then it could mean some interesting debugging software could be written on cpc or perhaps enhancements to symbos could be made?
It sort of boils down to: if you design the entire system around fudging an IO protection scheme onto a Z80, you could theoretically do it. Which isn't exactly news.
It's also not something you could just drop in as a replacement for how things currently work, it requires OS level support as well as specific hardware design.
It's definitely a clickbait title. Implementing a hardware feature into a computer gives the *computer* that feature, not the CPU.
That's what I figured, but the CPU must be able to in the first place, no?
Well... The title is just to make people click on it. The guy has discovered nothing, he just explain an idea to handle something like a propected memory mode. You always have to save the registers in the stack by software. It is more interresting to use the Z80 CTC than hooking /IORQ on /NMI to improve a Z80 multitasking OS.
Quote from: Gryzor on 15:39, 16 October 22That's what I figured, but the CPU must be able to in the first place, no?
Not really.
He basically says if you put hardware in between the CPU and everything else that intercepts io requests, you can configure things such that programs can't do generic IO. Couple that with trapping RST instructions to a ROM based OS, you could fake a certain amount of memory protection by not allowing programs to arbitrarily page memory - instead being forced to use an "OS"
It's nothing you couldn't do with any old CPU by just bolting on enough hardware. Indeed he even say so in the video.
Ahh ok thanks, didn't get that far in the vid!
To me it is a good and novel idea if it hasn't been done before, at least I haven't seen it in any existing designs. And as I mentioned it could be used in a debugger to cause breakpoints for IO operations which can also be handy.