Hacker News new | past | comments | ask | show | jobs | submit login
QEMU 680x0 support [video] (youtube.com)
43 points by cbmuser on Nov 8, 2020 | hide | past | favorite | 13 comments



Will this help Amiga emulation, etc?


Currently, QEMU fully emulates a Macintosh Quadra 800 and partially a NextCube.

The latest addition to QEMU for M68k presented in this talk - which has not been upstreamed yet - is a new pure virtual machine type based on Google Goldfish, optimized for speed.

The goal of the new virtual machine type is to offer something for developers working on Linux/m68k. It does not run any operating system without the necessary modifications.

So, no, it does not help Amiga emulation directly unless someone adds Amiga hardware emulation support to QEMU based on top of this work.

But it will certainly help the Amiga indirectly by providing a fast development and testing target for the Motorola 68000 CPU.


> So, no, it does not help Amiga emulation directly unless someone adds Amiga hardware emulation support to QEMU based on top of this work.

It may also be possible to add virtualized hardware support to the Amiga OS up to version 3.9 (which runs on 68020 and up), by whoever has legal rights to do so.

It may fail to run games or other software that expects access to the Amiga hardware, but if you want to run well-behaved Amiga programs, it should be possible.


What’s Google Goldfish?


The QEMU fork that the Android Emulator uses, or at least used.

I had thought Goldfish was no longer used, and something closer to the QEMU repo is used for Android, but I'm not sure about that side of things.


Generally for systems like that (broadly, "games machines" where a lot of the guest software is bare metal, graphics intensive, likely to make strong assumptions either deliberately or accidentally about exact timings of operations and of interactions between different parts of the system) QEMU is not the place to start. QEMU's core use case is really "run Linux", and more generally running guest code which stays within the documented bounds of system functionality, doesn't require much in the way of device support beyond the CPU itself, and which is happy with "runs as fast as possible" behaviour with no accurate emulation of timing.

For a system like the Amiga you will be much better off looking at one of the specifically-an-Amiga-emulator projects.


Amiga was the first non-x86 computer that Linux ran on!


Interesting, was that a fork (or out-of-tree port)? From this interview with maddog, I had the impression that Alpha was the first non-x86 port:

https://youtu.be/EZMA3Ge144U?t=1610 (background) https://youtu.be/EZMA3Ge144U?t=1871 (start of the specific anecdote)


Yes, Linux/m68k mostly lived out-of-tree for a while (with bits and pieces of it landing upstream); from its inception in 1993 until it was (iirc) fully merged in 1996.

Being the first non-x86 port, a lot of things originated there. The virtual console everyone is familiar with originated in Linux/m68k; the i386 Linux used the hardware's built-in text-mode, but the Amiga only had a bitmap display, so in order to get a shell they had to implement a virtual text display that rasterized the text in software.

Maddog had the Alpha sent to Linus in 1994, but Linus didn't begin work until January 1995.

Here's the June 1993 announcement of Linux/m68k 0.05, which I understand to be the first release that was publicly distributed http://www.ibiblio.org/pub/historic-linux/ftp-archives/tsx-1... I haven't actually been able to track down that release tarball, but the 0.05p1 patch release is at http://www.oldlinux.org/Linux.old/ftp-archives/tsx-11.mit.ed... More links at https://www.reddit.com/r/archlinux/comments/ejkp1x/what_is_t...


Did the Amiga actually have an MMU capable of running Unix? I seem to remember an early version of the m68k port faked fork by copying memory back and forth (so each "forked" process saw the same memory addresses), but I might be confusing Linux with Minix.



Linux-m68k required a 68020/030+68x51 MMU, or a 68040/060 with built-in MMU.


It could, but more work would be needed for all those Amiga specific custom chips. It has already been done, so it's possible, but we already have very functional emulators such as UAE. And native simulators such as AROS.

https://fs-uae.net/ https://aros.sourceforge.io/




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: