Re:How the 8086 processor's microcode engine works
by rwmj on Sunday December 04, 2022 @09:47AM
(#33854122)
Back in the day I tried running a CP/M program on the V30 alternate instruction set. It didn't work and I eventually tracked it down to the program using one of the Z80-only LDI/LDR/LDIR block instructions. You're not supposed to use those with CP/M but because CP/M ran on many UK Z80 machines like the Amstrads, inevitably real world programs did. The V30 would have been a great way to run Z80 software [in the late 1980s] if only they'd implemented these :-)
Re:How the 8086 processor's microcode engine works
by rasz on Sunday December 04, 2022 @10:39AM
(#33854610)
Wouldnt undefined instruction trap take care of that?
Re:How the 8086 processor's microcode engine works
by rwmj on Sunday December 04, 2022 @11:10AM
(#33854876)
Good question! Did V30 trap on undefined instructions?
8086 didn't according to https://retrocomputing.stackexchange.com/questions/11327/wha..., but V30 was more like an 80186 which did trap, but then 8080 emulation mode might have worked differently again.
Also I don't recall how I worked out that the extended Z80 instructions were causing the problem. Debugging was a lot more complicated in those days, although programs were also much smaller.
Re:How the 8086 processor's microcode engine works
by kens on Sunday December 04, 2022 @12:54PM
(#33855906)
I took a look at the V30 manual and it doesn't have an undefined instruction trap. It's an interesting chip, a superset of the 8086 as well as 8080 emulation. It includes bit manipulation instructions kind of like the Z80, along with multidigit BCD arithmetic.
https://www.ceibo.com/eng/datasheets/NEC-V20-V30-Users-Manua...
Re:How the 8086 processor's microcode engine works
by rasz on Sunday December 04, 2022 @04:31PM
(#33858122)
V33/V53 and V33A/V53A do have them, with non A variants as non standard exception 122 http://elm-chan.org/docs/dev/v53_e.html mentions it. They build a cute board around it in 1998 http://elm-chan.org/works/cpu_v53/report.html
according to MAME V40 has it as standard exception 6? https://github.com/lesbird/MAME4apple-037b5/blob/master/MAME... Then again https://forum.vcfed.org/index.php?threads/nec-v20-and-cp-m.7... says no.
I had absolutely no idea re: the LinnDrum being a PC. That's really cool. I've never seen one in the flesh, but now I'm wondering if anybody has done conservation of the firmware. It would be a lot of fun to look at the code.
[0] http://old.chuma.org/ultralite/index.shtml