68020 compatible Q68?

Nagging hardware related question? Post here!
User avatar
Peter
QL Wafer Drive
Posts: 1295
Joined: Sat Jan 22, 2011 8:47 am

68020 compatible Q68?

Postby Peter » Sun May 16, 2021 9:57 am

Not sure this is really worth an extra topic, but it was disturbing the Pascal software discussion, so I pull it over.
pjw wrote:Thanks, Peter. Most informative! Might we see a Q68/20 some day? ;)

From a pure development view, the Q68 logic could be changed to 68020 compatibility quite easily. (This would not include cache, which I hope to implement separately someday. But I suspect cache was not your focus.)

It would rather be a logistical problem. Firstly, the Q68 is a compromise for retro computing and the 68020 introduces a few incompatibilities for ancient software. So I can not change the Q68 in general. Secondly, the fact that the Q68 FPGA is factory programmed does not allow the user to switch between 68000-compatible and 68020-compatible hardware.

The Qzero might be a solution for this issue, because it allows user updates of the logic. But it is a much different piece of hardware - a tiny board for electronics tinkerers that does not include all the connectors a desktop computer user expects. Now the Qzero is terribly versatile and could be turned into a desktop computer by adding a baseboard that carries the connectors. I did not yet decide to go that route, since a two board solution is always more expensive and more work to build than a single board. (Just by the way, the lack of clarity what to use the Qzero for, has also lead me not to release it yet. Supporting the large range of possible applications calls for so much boring detail work, documentation and testing that it loses the fun factor for me.)

Can you explain a bit, why you want 68020 compatibility? Is it performance or the elegance for assembler programming?


User avatar
NormanDunbar
Forum Moderator
Posts: 1604
Joined: Tue Dec 14, 2010 9:04 am
Location: Leeds, West Yorkshire, UK
Contact:

Re: 68020 compatible Q68?

Postby NormanDunbar » Sun May 16, 2021 12:18 pm

Peter wrote:Not sure this is really worth an extra topic, but it was disturbing the Pascal software discussion, so I pull it over.


Much obliged, thank you very much Peter.


Cheers,
Grumpy Norm!


Why do they put lightning conductors on churches?
Author of Arduino Software Internals - https://www.amazon.co.uk/Arduino-Softwa ... 1484257898, https://www.apress.com/gb/book/9781484257890
Derek_Stewart
Font of All Knowledge
Posts: 2354
Joined: Mon Dec 20, 2010 11:40 am
Location: Runcorn, Cheshire, UK

Re: 68020 compatible Q68?

Postby Derek_Stewart » Sun May 16, 2021 2:38 pm

Hi,

There seems to be no software that can take advantage the 68020 codes.

How many application programmes can use the 68020 CPU?

I can only think of GWASS.

Is anyone writing 68020 compatible software?


Regards,

Derek
Tinyfpga
Chuggy Microdrive
Posts: 57
Joined: Thu Sep 27, 2018 1:59 am

Re: 68020 compatible Q68?

Postby Tinyfpga » Sun May 16, 2021 6:31 pm

I already see the Q68 as a tinkerer's board and have made two keyboard cases to house the Q68
and a PICAXE micro-controller to assist with tinkering.(see photos below). There are no implementations
of SMSQE that are suitable for everyday desktop activities. Even the Raspberry pi400, with the unknown
millions spent on its development, cannot really replace the PC.

20210403_120455.jpg

20210403_120535.jpg

20210403_120718.jpg


I would compare the Q68 and the Qzero (as shown in photo below) with any number of much more
popular experimenter's boards but with one major advantage. That advantage being the vastly superior SMSQE
operating system and the SMS2 programming environment it can support.

20210516_163833.jpg


At the moment the Q68, and its programming environment do not support the kind of I/O found on other
experimenter's boards and it seems to me that supporting that kind of thing would be much more
interesting than 68020 compatibility. If one was going to contemplate encoding into FPGA other processors
why not the Apollo 68080. (I am sure Peter posted somewhere why he would not use Apollo core)

I see no lack of clarity for the use of a Qzero.I would use it exactly as it is intended to be used; for experiments.
The making of carriers, housings, I/O support, documentation and testing would be part of the fun. Just as it
is with the Q68 and all of those boards I have photographed.

The support offered for the popular boards is aimed at the already knowledgeable. Once you have bought
them you are on your own. They do not come with comprehensive beginners guides and I have yet to find any.
Worst still, once you scratch (no pun intended) the surface of these so called learner's boards, you discover
just how much arcane technology can be packed into a tiny slice of silicon.


User avatar
pjw
Aurora
Posts: 862
Joined: Fri Jul 11, 2014 8:44 am
Location: Norway
Contact:

Re: 68020 compatible Q68?

Postby pjw » Sun May 16, 2021 10:34 pm

M68008 wrote:
pjw wrote:Perhaps thats a matter for the philosophers to ponder. Since the FPGA is not a 68k CPU it must perforce just be a simulation..?


Philosophical question indeed, as "emulator" can have a variety of meanings. The FPGA doesn't implement the same transistor layout and characteristics as the original Motorola chip, so I consider it a hardware emulation. Like a software emulation, it may be more or less accurate.
My understanding is that TG68K tries to emulate the behaviour of a 68K, but the internal architecture is relatively different. The FX68K FPGA core is much closer to the original architecture and even uses the same microcode as the original, but the low level hardware in a FPGA is still different from the original (e.g. different timing constraints).

Btw, the 68000 contains "microcode"!! So in a way there is a very simple software layer even inside the 68K! Apparently Motorola even had a version of the 68K with different microcode that was able to directly execute IBM 360 instructions. If you are curious, there is a long but interesting document here about the 68K history and design: https://www.youtube.com/watch?v=UaHtGf4aRLs

FPGA doesn't need a software simulation layer on top (although some boards like Mister also have an ARM processor and emulation of hardware like networking may be delegated to it) and offers primitives that are closer to the original hardware. For example, it's easier to accurately simulate the timing of hardware registers and video output, if one is interested in accurate simulation of the original QL hardware. Software emulation on a fast enough CPU can get similarly accurate for all practical purposes, but is less direct.

Perhaps a FPGA-implemented 68K CPU core can also be considered as a compatible CPU rather than an emulator.

For another point of view, it may be interesting to read the wikipedia article about emulators:
https://en.wikipedia.org/wiki/Emulator

Thanks for that enlightening piece! It lays out technically what I
intuitively understand, so I agree with what you write. I do not feel
a need to quibble over whether a 68k FPGA is an emulator or a
"compatible". It doesnt matter. As you say, there is microcode
underneath our favourite assembler, so its all illusion, really. Go
for whatever twiddles your bits!

Now, is Q-emulator really an emulator or is it a simulator?


Per
Be wary of large West-Coast corporations bearing gifts!
- Ancient Trojan proverb
User avatar
pjw
Aurora
Posts: 862
Joined: Fri Jul 11, 2014 8:44 am
Location: Norway
Contact:

Re: 68020 compatible Q68?

Postby pjw » Sun May 16, 2021 10:38 pm

Thanks for your explanation, Peter!
Peter wrote:<>
Can you explain a bit, why you want 68020 compatibility? Is it performance or the elegance for assembler programming?
I'll try, but I need to think some more..


Per
Be wary of large West-Coast corporations bearing gifts!
- Ancient Trojan proverb
User avatar
Peter
QL Wafer Drive
Posts: 1295
Joined: Sat Jan 22, 2011 8:47 am

Re: 68020 compatible Q68?

Postby Peter » Mon May 17, 2021 9:21 am

M68008 wrote:Philosophical question indeed, as "emulator" can have a variety of meanings. The FPGA doesn't implement the same transistor layout and characteristics as the original Motorola chip, so I consider it a hardware emulation.

I see where you come from as emulator author, and your expertise is of course great to work on 68k CPUs in general. But I have to disagree to this statement. With that reasoning, a 68060, which everybody understands as a 68k hardware implementation, would be an emulator. Total confusion then.

Is the 68008 an "emulator" also, because it has a different transistor layout? That would break every common sense and understanding of terms in electronics, for everything from PAL to ASIC. I find it better to try to keep a little technical clarity, the world is complex enough already.

The point is not exactness in reproducing the 68000, as all 68k CPUs differ from it. The point is implementation or emulation.


User avatar
Peter
QL Wafer Drive
Posts: 1295
Joined: Sat Jan 22, 2011 8:47 am

Re: 68020 compatible Q68?

Postby Peter » Mon May 17, 2021 10:52 am

Tinyfpga wrote:I see no lack of clarity for the use of a Qzero.I would use it exactly as it is intended to be used; for experiments.
The making of carriers, housings, I/O support, documentation and testing would be part of the fun.

There are just so many experiments I'd be pressured to support if I release it. The Qzero is electrically/mechanically suitable to

- plug onto a RPi and become a slave board / hat
- behave like a RPi as master and use RPi hats
- be a PC to QL network adaptor
- be a mini QL with VGA
- be a mini QL with DVI
- be a portable QL inside a keyboard
- be a compute module on a black box QL replacement mainboard
- be a compute module on a GoldCard replacement mainboard
- be a compute module on a Q68 replacement mainboard
- Implement dual QL cores, which forbids using the second SDRAM for separate video

And the list could go on. Obviously that would require I/O settings to be user-configurable, different peripherals which map to differnt pins depending on usage. There is sort of a "basic set" on the two small pin headers, which roughly provide the Q68 ones minus ethernet plus DVI. But everything on the large 40 Pin "RPi style" connector yet to be defined. Example boards need to be designed, and project specific questions answered. Endless room to dissipate one's energies.

Maintainance of public logic versions is also a problem unless everything is squeezed into the same project - which requires a very thoughtful design. And no, not all of that is fun. There is a huge difference between a public release and just my own tinkering! If there is ever going to be a public release, I probably need to restrict this jungle. Remember it is a hobby which already takes too much time, not too little.

The Qzero was only a side remark because it is more suitable for a 68020 option, please start a new topic if there is need to discuss more.



Who is online

Users browsing this forum: No registered users and 7 guests