68020 code can be made to work on the 68000 but it is much more difficult. Code has to be added to support missing instructions for example. The 68k is forward compatible but not backward. From 68000 to 68020 is mostly just deletion and some minor optimizations. Vasm performs many of the optimizations for me on reassembly. It's still possible to do 68020 to 68000. If there isn't many 68020 instructions it can be trivial. It's easy to miss things like the scale factor not being used on the 68000 though.
Yes, I'm aware of differences, and as you say, going from 68000 to 68020+ is much easier that the other way around, that's one of the reasons I dont quite like the trend of dumping 68000 for marginal gains. If at some point in the future you might want/need 68000 compatibility again, it's just so much more work.
And why code for 68000 instead of 68020? Well, first of all Freescale still offers a whole range of cheap 68000 chips that might be used in various minimig incarnations. This is not the case for 68020+ chips, they are mostly out of production, or very expencive.
Secondly there are several 68000 softcore options for FPGA, and as of yet, no 68020 one that I am aware or. The 68000 softcores are already faster than any 68020 was, I dont know how much of a speed gain a 68020 softcore will have over a 68000 softcore or a real 68000 chip. Anyone?
Sure, keep on optimizing for 020+, but please just don't leave 68000 code behind, and please pretty please mark the binaries with what the CPU requirements are, so that "version full" shows it clearly, I have wasted quite a bit of time with programs and libraries that just crashed out of the blue when updating from one version to the next, without any mention of any 020+ optimization in the changelogs.
I am really wanting to do a 68020+ for the new BoingBag updates and Natami right now. You might try learning assembler to do the modifications yourself. I really wanted a good disassembler with floating point support. I had never done a program bigger than hello world in C but now I have ADis working well enough to reassemble libraries. You also now have the tool I created to help you. You see how this works
.
You are absolutely correct, I should engage myself more in this. I have played around with various asm sources I've found, changed and compiled, tested, crashed, changed more, compiled again, tested, crashed again etc... :laughing:
What I never managed to wrap my head around though, is disassembling, so any tool and help in that regard is most welcome
