
Previous: NeXT computer hardware emulator - ingve
http://previous.alternative-system.com/
======
ftio
Missed an opportunity to render it like this: prEvious

On a more serious note, what's the difference between a project like this and
virtualization? Is there one? Once this is completed, could it be run in
virtualization software, or is it not that kind of thing?

~~~
snazz
Emulation replicates the hardware of the machine being emulated in as many
details as are necessary to run the program, while with virtualization, the
guest OS runs directly on the host hardware, with hardware and software
barricades that allow it to run simultaneously with the host OS (VT-d and VT-x
are the host CPU features required).

Virtualization doesn’t work when the guest OS was built to be run on a
different architecture, which is often the case for retro computing projects.

See [https://stackoverflow.com/questions/6044978/full-
emulation-v...](https://stackoverflow.com/questions/6044978/full-emulation-vs-
full-virtualization)

~~~
eschaton
Virtualization doesn’t require VT-x or VT-d, those are just performance
enhancement mechanisms for virtualization on 80386-derived CPUs. Most other
32-bit and 64-bit CPU architectures have supported virtualization reasonably
well from the start. The biggest popularizer of the technique was the IBM
System/360.

For a microprocessor example, the Motorola 68000 almost supported
virtualization, and the 68010 corrected the one flaw—insufficient exception
context to restart an instruction—that prevented it. That’s why even though
the personal computer market didn’t touch it, workstations migrated to 68010
as soon as it was available.

Of course there are a variety of ways to make virtualization easier on the
implementer and more efficient to use. Intel’s enhancements really shine
there. But they’re not required, just useful.

~~~
m_mueller
would you agree that emulation can be put as a subset of virtualization, as
the terms are used today?

~~~
jki275
Emulation and virtualization are two very different concepts.

Every OS you virtualize must be supported by the base processor in the
hardware. That is not so in an emulation, where another architecture can be
supported.

See the differences between qemu and virtualbox.

~~~
m_mueller
This is in contradiction to eschaton, and I agree with GP in this regard:
pass-thru of CPU instructions to host hardware is just an optimization, not a
defining feature of virtualization. There were VM hosts before processors
supported this, and back then I think that virtualization == emulation.

------
leoc
This site seems to be out of date: the current development site seems to be
[https://sourceforge.net/projects/previous/](https://sourceforge.net/projects/previous/)
while [https://bytecellar.com/2018/04/25/bbsing-on-a-virtual-
next-c...](https://bytecellar.com/2018/04/25/bbsing-on-a-virtual-next-cube-
thanks-to-previous-2-0/) seems to have some relevant links too.

How does the experience of running NeXTStep or OpenStep in Previous compare to
that of running x86 OpenStep or NeXTStep
[https://www.youtube.com/watch?v=Rz2nPJGx4Qg](https://www.youtube.com/watch?v=Rz2nPJGx4Qg)
on x86 hardware, on an old x86 box as in
[https://www.youtube.com/watch?v=Rz2nPJGx4Qg](https://www.youtube.com/watch?v=Rz2nPJGx4Qg)
or on a modern x86 system?

~~~
jhbadger
It is similar if you can get it to run on x86, but NextStep/OpenStep on Intel
was notoriously picky about hardware, supporting only a tiny number of video
and networking cards. Even virtualization doesn't work that well -- I tried
VirtualBox for OpenStep X86 a few years ago and never got the networking to
work, and was stuck with subpar VESA graphics.

------
oneguynick
I have had a tough time emulating even OpenStep on x86, excited to see NeXT
attempt to be run semi-natively. It is still one of my favourite architectures
and members of the home server farm. Looking forward to seeing where this ends
up.

~~~
armadsen
Previous has been around a while already, and works well. It emulates "Black
Hardware" (Cube, I think.), and will run even very early versions of NeXTstep.
You should give it a try!

------
zelias
I know next to nothing about this space, but I'm curious whether the
cheekiness of the name is worth the confusion it inevitably brings (as a fan
of generally cheeky things).

~~~
jackhack
You might be surprised. The core of the MacOS is nextstep (thus the reason
that modern MacOS system functions begin with the prefix "ns") and even the
software development tools will feel familiar to modern XCode users. There is
a lot of elegant refinement in modern MacOS, but the bones of it are solidly
NeXT.

~~~
walrus01
Based on, yes, but since OSX 10.0 it's been diverging from what was the 1990s
era NeXT. The core OSX team up to v10.5 or so was basically the same people
who wrote the NeXT OS, and were acqui-hired.

Apple bought NeXT pretty much for their IP and software. By the time they were
acquired NeXT had been out of the hardware manufacturing business for many
years.

~~~
samatman
I get a kick out of the bon mot that NeXT acquired Apple for -$429 milion
dollars.

------
blakespot
I use it and wrote a bit about it here. It’s pretty slick when I’m not looking
to fire up one of my NEXTSTEP systems.

[https://bytecellar.com/2018/04/25/bbsing-on-a-virtual-
next-c...](https://bytecellar.com/2018/04/25/bbsing-on-a-virtual-next-cube-
thanks-to-previous-2-0/)

------
saagarjha
Worked great when I used it to run NEXTSTEP 3.3 last year. Development still
seems to be ongoing, which means the source code still builds!

------
AdmiralAsshat
So does this include the OS as well, or is it just an emulated hardware box
that paves the way to then install NEXTSTEP on?

~~~
jhbadger
The latter -- it emulates the hardware of various NeXT workstations and you
need to install the OS from scratch, or at least find a hard drive image of an
install. Both are around if you search, although not distributed with the
emulator for obvious reasons. Once you get it working it is quite nice and
nostalgic for those who used NeXTStep back in the day.

------
ttflee
Previous discussion:
[https://news.ycombinator.com/item?id=8745943](https://news.ycombinator.com/item?id=8745943)

------
agumonkey
Iterator<T> almost implemented

------
karmakaze
I thought it would be named PReV.

