tokafondo wrote:
Well... thanks all for your comments.
It seems to me that the 65xx ecosystem is strongly influenced by the hardware it runs on.
You're probably right there... I can't think of any (65xx) systems by different manufacturers that might in any way be considered compatible. Even in the same manufacturer... Apple // and Apple /// ? Acorn Atom, BBC Micro? Different makers had different ideas and even in the same company ideas differed (Sinclair ZX80, 81 and Spectrum) - the only common thing is that you need a little bit of ROM at the top (or a way to get code/vectors there) and a little bit of RAM at the bottom.
Even BASIC (moving to a high level language) wasn't that universal - even between systems which had a MS derived BASIC - "what are the peeks and pokes" was what we often asked when we got our hands on something new... (OSI, PET, Apple, Vic20, C64, ....)
But things like the USCD-P system did run on many different platforms and CPUs but we're back to an underlying VM or some sorts. I'm most familiar with it running on the Apple II (so 6502), but did briefly work in a lab where it was also running on some weird Z80 system (it may even have been a CP/M system) and a Terak (LSI-11) system. Programs could run over many different systems - almost - My application used graphics on the Apple II so that more or less confined it to that platform.
I do like the idea of analysing code then synthesizing an FPGA to run just the instructions that code actually needs - so you have a plethora of instructions, a high level language (or some macro/meta thing that's like a very posh macro assembler?) then using todays compiler technology
you optimise it out, generate the instructions you actually need use that to generate a custom CPU and 'ROM' image, program it into an FPGA and off you go... But that almost has echoes of the Fairchild Symbol Computer...
See:
https://muse.jhu.edu/article/235250... and when looking for that, my initial search brought this up:
https://dl.acm.org/doi/pdf/10.1145/53990.54000which might be worth a read.
However I'm suspecting that this starts to get away from the 65xx world, even if you create your instruction set to be very 65xx like...
-G
_________________
--
Gordon Henderson.
See my
Ruby 6502 and 65816 SBC projects here:
https://projects.drogon.net/ruby/