Previous Emulator News

NeXT Computer, Inc. -> Emulation / Virtualization

Title: Previous Emulator News
Post by: user341 on March 25, 2020, 04:28:33 PM
I figure we could use a thread just to see how things are developing on Previous. It's tough to follow some of the non Previous specific emulator threads. So let's start one here.

Most important thing are a few links to get us started.

Here are links to compiled version of Previous which seems to be the only compiled version of 2.2 I could find for the Mac and 2.0 for windows:

http://www.nextcomputers.org/NeXTfiles/Software/Previous68Kemulator/

And here is a link where you can find many of the ROM files you'll need to make Previous work:
http://www.nextcomputers.org/NeXTfiles/Software/ROM_Files/

I forget, somewhere I recall there was a link to getting clean versions of disk images of the operating system. Maybe someone else can post a link.

Here are a few more links but these dont seem to show the latest build, at least not immediately obvious:

http://previous.alternative-system.com
https://sourceforge.net/projects/previous/

I'm not really even sure what the latest version is. Is 2.2 the last version?
Title: Re: Previous Emulator News
Post by: Rob Blessin Black Hole on March 26, 2020, 03:21:11 PM
Hello NeXT Community: If there are newer versions of Previous please let me know and I will upload them to our archives! Best regards Rob Blessin
Title: Re: Previous Emulator News
Post by: eagle on March 27, 2020, 08:03:28 AM
On my site -- previous.unixdude.net -- I only had up to 2.1, so I missed 2.2.  I should look for the changelog and add that version.
Title: Re: Previous Emulator News
Post by: trodemaster on March 28, 2020, 01:58:07 AM
Source code for what appears to be the latest 2.2 version.
https://sourceforge.net/p/previous/code/HEAD/tarball?path=/branches/branch_softfloat

Was able to compile this on macOS 10.15.4 & Xcode 11.4 by following the readme.
Title: Re: Previous Emulator News
Post by: oevl on March 30, 2020, 11:42:15 AM
I recently compiled the last source code (2.2) on an Ubuntu 18.04 machine, with both SLiRP and PCAP networking,
in fact I am posting this from a NS3.3 install with OmniWeb.

Tried to compile for Windows 10 with both MinGW and Cygwin, but there is an error with some variable definitions
in headers that I could not fix.

The 2.0 Win32 binaries available here and at neozeed's site can't use the network under Win10. There is also a 1.6
binary that used to work, but some MS update seemed to have messed up the file access mechanism. The emulator works
until it becomes not responsive with just Hardclock error messages on the console, and this corrupts the disk image.
Title: Re: Previous Emulator News
Post by: user341 on March 30, 2020, 02:59:38 PM
Quote from: trodemaster on March 28, 2020, 01:58:07 AMSource code for what appears to be the latest 2.2 version.
https://sourceforge.net/p/previous/code/HEAD/tarball?path=/branches/branch_softfloat

Was able to compile this on macOS 10.15.4 & Xcode 11.4 by following the readme.

How did you do it? It says it requires Cmake and I downloaded that, but on the Mac it's a GUI app. I get errors when I try to use it.

From the source readme:
Quote from: undefined3) Compiling and installing
 ---------------------------

For using Previous, you need to have installed the following libraries:

Required:
- The SDL library v2.0.5 or later (http://www.libsdl.org)
- The zlib compression library (http://www.gzip.org/zlib/)

Optional:
- The libpng PNG reference library (http://www.libpng.org)
  This is required for printing to files.
- The pcap library (https://github.com/the-tcpdump-group/libpcap or
  https://www.winpcap.org)
  This is required if networking via PCAP is preferred over SLiRP.


Don't forget to also install the header files of these libraries for compiling
Previous (some Linux distributions use separate development packages for these
header files)!

For compiling Previous, you need a C compiler (preferably GNU C), and a working
CMake installation (see http://www.cmake.org/ for details).

CMake can generate makefiles for various flavors of "Make" (like GNU-Make)
and various IDEs like Xcode on Mac OS X. To run CMake, you've got to pass the
path to the sources of Previous as parameter, for example run the following if
you are in the topmost directory of the Previous source tree:
 cmake .


On Windows MinGW/MSYS is recommended for building Previous. CMake needs an
extra argument for generating the makefiles:
 
 cmake -G "MSYS Makefiles" .

If you're tracking Previous version control, it's preferable to do
the build in a separate build directory as above would overwrite
the (non-CMake) Makefiles coming with Previous:
 mkdir -p build
 cd build
 cmake ..

Have a look at the manual of CMake for other options. Alternatively, you can
use the "cmake-gui" program to configure the sources with a graphical
application.

After cmake finished the configuration successfully, you can compile Previous
by typing "make". If all works fine, you'll get the executable "Previous" in
the src/ subdirectory of the build tree.

I downloaded the code from here using the "download snapshot link"
https://sourceforge.net/p/previous/code/HEAD/tree/

I downloaded the Cmake from here:
https://cmake.org/download/

Thanks for any pointers on how to compile it...
Title: Re: Previous Emulator News
Post by: rumbeard on April 02, 2020, 05:13:50 AM
For me I believe I just made sure I had a full latest Xcode, then installed homebrew and put the latest gcc and cmake on using that.
Title: Re: Previous Emulator News
Post by: trodemaster on April 03, 2020, 09:07:51 PM
I just stuck with ggc thats included with Xcode. The dependent libraries installed via macports as needed.If there is a way to post binaries here I can do that.
Title: Re: Previous Emulator News
Post by: user341 on April 05, 2020, 02:10:25 PM
Does anyone know what settings to use in Previous to get it to boot using a First, is there a way to add graphics/screen grabs into posts here. It seems you can only link in graphics via URLs and not directly upload here. It would be useful to upload graphics directly as often URLs die and then you lose all the graphics in the posts and context thereto.

Second, and more the real question, is there a way to configure Previous.app so the NeXT dimension board is the only monitor being used; i.e., so that the boot graphics and console show during boot up with setting up Previous so the NeXTdimension board display is the only display?

Right now I have to use 2 screens, use the B&W screen and a NeXT dimension board and see the boot up graphics and console output only on the B&W screen. I wanted to paste in screen shots of my settings but there seems to be no way to do that.

I currently have Previous confirmed to act as a NeXTcube Turbo with variable clock speed, 60ns memory, 128MB, DSP 56001 with 96kb, SCSI chip NCR53C90A, RTC chip MCCS1850 (I have no idea why the difference is between the SCIS and RTC chips), Network is twisted pair...

Graphics are set to NeXTdimesion board being in slot 2. "Show display:" setting to "Color (Slot 2)". "Main display" setting is checked on to "Console on NeXTdimension (Slot 2).

Yet with all those settings above, the boot graphics and boot console screen ONLY shows up if turn on and use the Monochrome display (using either the "Monochrome" or "All" setting under "Show display" setting under "Graphics options".

Thanks for any pointers/help!

Title: Re: Previous Emulator News
Post by: user341 on April 05, 2020, 02:42:58 PM
Also, I'm trying to figure out the "max" settings that are stable. I think my Previous emulator seems to hang frequently. I think when I set the settings to use 60ns memory it seems to be less stable. Also, I think I saw somewhere that you dont want to load the maximum memory in the NeXTdimesion because that causes issues too.

I'll start with my own best settings so far:
System:
CPU Clock: Variable
Memory size: 128MB
Memory speed: 70ns
DSP: 56001
DSP memory: 96kB
NBIC: Checked On
SCSI chip: NCR53C90A
RTC chip: MCCS1850

ROM setup:
68030: Rev_1.2.bin
68040: Rev_2.4_v66.bin
Turbo ROM: Rev_3.3_v74.bin

Graphics options
NeXTdimension boards:
Board at slot 2: Bank0: 4MB, Bank1: 4MB, Bank2: 4MB, Bank3: 4MB
Main display: 'Console on NeXTdimension (Slot 2)' checked on

Ethernet
Guest interface: 'Ethernet connected' checked on
Twisted pair selected

Host interface: SLiRP

Boot options
SCSI disk checked on

Power-on test options: perform power-on test, sound out test, SCSI test, verbose test mode -- all checked on

SCSI disks
SCSI Disk 0: Harddisk, ~pathtodrive.dd

MO disks
none used

Floppy disks
none used

Keyboard
Keyboard mapping: Scancode checked on

Mouse options:
Lindear adjustment: Normal mode: 1.0, Locked mode: 1.0
Exponential adjustment: Normal mode: 1.0, Locked mode: 1.0
'Enable auto-locking' checked on

Sound enabled checked on

Printer
'Printer connected' checked on
Paper size: Letter
Directory to save printer output: ~/Desktop/

Hoping someone might care to share their best/fastest/most reliable settings so everyone can benefit.
Title: Re: Previous Emulator News
Post by: user341 on April 05, 2020, 04:27:20 PM
Quote from: zombie on April 05, 2020, 02:42:58 PMAlso, I'm trying to figure out the "max" settings that are stable. I think my Previous emulator seems to hang frequently. I think when I set the settings to use 60ns memory it seems to be less stable. Also, I think I saw somewhere that you dont want to load the maximum memory in the NeXTdimesion because that causes issues too.

I'll start with my own best settings so far:
System:
CPU Clock: Variable
Memory size: 128MB
Memory speed: 70ns
DSP: 56001
DSP memory: 96kB
NBIC: Checked On
SCSI chip: NCR53C90A
RTC chip: MCCS1850

ROM setup:
68030: Rev_1.2.bin
68040: Rev_2.4_v66.bin
Turbo ROM: Rev_3.3_v74.bin

Graphics options
NeXTdimension boards:
Board at slot 2: Bank0: 4MB, Bank1: 4MB, Bank2: 4MB, Bank3: 4MB
Main display: 'Console on NeXTdimension (Slot 2)' checked on

Ethernet
Guest interface: 'Ethernet connected' checked on
Twisted pair selected

Host interface: SLiRP

Boot options
SCSI disk checked on

Power-on test options: perform power-on test, sound out test, SCSI test, verbose test mode -- all checked on

SCSI disks
SCSI Disk 0: Harddisk, ~pathtodrive.dd

MO disks
none used

Floppy disks
none used

Keyboard
Keyboard mapping: Scancode checked on

Mouse options:
Lindear adjustment: Normal mode: 1.0, Locked mode: 1.0
Exponential adjustment: Normal mode: 1.0, Locked mode: 1.0
'Enable auto-locking' checked on

Sound enabled checked on

Printer
'Printer connected' checked on
Paper size: Letter
Directory to save printer output: ~/Desktop/

Hoping someone might care to share their best/fastest/most reliable settings so everyone can benefit.

And I lied. Even with the above settings, Previous.app hangs. So far I cannot get anything to work reliably without hanging using NeXTdimension for output. I seem to have more luck with mostly the same settings but using a NeXTstation Turbo Color.

:(
Title: Re: Previous Emulator News
Post by: user341 on April 05, 2020, 04:57:59 PM
Does anyone know how to make a new empty drive image for Previous to use. Previous comes with a bunch of empty size SD disks, but how could I make my own?

Also, I remember it was possible to create a non-bootable 4GB partition in OPENSTEP. The trick was to use a 1024block size instead of 512. It would be great to be able to do that but Im not sure how to make the empty images that Previous uses. Any clues/hints would be appreciated!
Title: Re: Previous Emulator News
Post by: pitz on April 05, 2020, 07:19:42 PM
It's been more than three years since I've tried to build Previous on a Raspberry Pi.  Back then, on a Raspberry Pi 2, the emulation runs very slow, like 40% of an emulated 25MHz system.

With a little more time at home nowadays, I took the latest snapshot (r950) and tried it on a Raspberry Pi 4. You just need to get a few additional packages before building from source:

sudo apt-get install cmake libsdl2-dev libpcap-dev
./configure
make

With the faster processor of the RPi4, the emulation is quite usable now.

Note that there seems to be a bug where the system/configuration dialogs do not close. I suggest setting the configuration, turning off the dialogs on startup, saving as the default configuration, and re-running Previous.
Title: Re: Previous Emulator News
Post by: user341 on April 05, 2020, 10:29:14 PM
Quote from: zombie on April 05, 2020, 04:27:20 PMAnd I lied. Even with the above settings, Previous.app hangs. So far I cannot get anything to work reliably without hanging using NeXTdimension for output. I seem to have more luck with mostly the same settings but using a NeXTstation Turbo Color.

:(

So the fastest stable system settings I've found so far are for a Turbo color slab:

System:
Machine Type: NeXTstation, 'Turbo' check on, 'Color' checked on
CPU Clock: Variable
Memory size: 128MB
Memory speed: 70ns
DSP: 56001
DSP memory: 96kB
NBIC: Checked On
SCSI chip: NCR53C90A
RTC chip: MCCS1850

ROM setup:
68030: Rev_1.2.bin
68040: Rev_2.4_v66.bin
Turbo ROM: Rev_3.3_v74.bin

Graphics options
NeXTdimension boards:
Board at slot 2: Bank0: 4MB, Bank1: 4MB, Bank2: 4MB, Bank3: 4MB
Main display: 'Console on NeXTdimension (Slot 2)' checked on

Ethernet
Guest interface: 'Ethernet connected' checked on
Twisted pair selected

Host interface: SLiRP

Boot options
SCSI disk checked on

Power-on test options: perform power-on test, sound out test, SCSI test, verbose test mode -- all checked on

SCSI disks
SCSI Disk 0: Harddisk, ~pathtodrive.dd

MO disks
none used

Floppy disks
none used

Keyboard
Keyboard mapping: Scancode checked on

Mouse options:
Lindear adjustment: Normal mode: 1.0, Locked mode: 1.0
Exponential adjustment: Normal mode: 1.0, Locked mode: 1.0
'Enable auto-locking' checked on

Sound enabled checked on

Printer
'Printer connected' checked on
Paper size: Letter
Directory to save printer output: ~/Desktop/
Title: Re: Previous Emulator News
Post by: Nitro on April 06, 2020, 12:55:32 AM
Quote from: zombie on April 05, 2020, 02:10:25 PMDoes anyone know what settings to use in Previous to get it to boot using a First, is there a way to add graphics/screen grabs into posts here. It seems you can only link in graphics via URLs and not directly upload here. It would be useful to upload graphics directly as often URLs die and then you lose all the graphics in the posts and context thereto.

You can attach pictures and files to posts by selecting the "Preview" button in the lower right corner of the "Quick Reply" window at the bottom of each topic page.  When the preview window opens, select "Attachments and other options" under the message box.  It would be nice if the attachment drop-down menu was also on the Quick Reply window so it would be easier to find.  I'll have to take a look and see if there's a way to add it.
Title: Re: Previous Emulator News
Post by: user341 on April 06, 2020, 03:25:36 AM
Thanks Nitro!
Title: Re: Previous Emulator News
Post by: berskyboy on April 18, 2020, 02:53:08 PM
Yes it is! I've got my NeXT Cube all build with a 3D printed and painted and running Previous very well!  I use the previous load on my iMac and then copy over the .dd file and it runs great.  I even built a MegaPixel Display and a Mini sound box.  I love it!
Title: Re: Previous Emulator News
Post by: eagle on April 22, 2020, 07:35:16 AM
berskyboy, please post complete details about your build, including photos.  I want one!
Title: Re: Previous Emulator News
Post by: neozeed on May 03, 2020, 02:22:27 AM
Quote from: oevl on March 30, 2020, 11:42:15 AMThe 2.0 Win32 binaries available here and at neozeed's site can't use the network under Win10. There is also a 1.6
binary that used to work, but some MS update seemed to have messed up the file access mechanism. The emulator works
until it becomes not responsive with just Hardclock error messages on the console, and this corrupts the disk image.

Ugh, well that's not good.

No doubt I have to take a look.  I've been stuck at work again, and I honestly have been debating about quitting as I'm clearly not doing projects that I find interesting.

I was just given a "cheap" MacPro.  I since installed Catalina and all I got was constant kernel panics, and of course no working software.  What a garbage experience it's been.

I've been messing with 4.4BSD (IBM RT branch) and moving it to mainline NetBSD into a "real" 4.4, not 4.4lite derived thing.  Although I know that's neither here nor there, but I'm just one person trying to better understand how this kernel stuff interlinks.

Anyways while I was spending time torturing my kids with games I'd play at their age, I stumbled onto this port of Vice the c64 emulator to the Pi2/3 (apparently the pi4 is wildly different), but it's a bare metal port!  That's right, NO LINUX!

This got me thinking that something like Previous bare metal would really be AWESOME as it could basically boot into the EMU directly, and boot the PROM.

I've never done anything like this on ARM, the closest thing to 'bare metal' outside of MS-DOS was when I got the Inform Infocom interpreter from '87 running on a cisco 1701 router.

Anyways not to derail, but I'll try to look at rebuilding Previous for Windows.  I can't imagine what changed, but I know I was using 'dated tools' to try to keep up the back end, but it's 2020 now, maybe it's finally time to cut off Windows 2000/XP users, and go 64bit and Windows 10 or nothing.

Anyways assuming I can't reproduce it right now, as I need to get Windows 10 pro to run on VMware, can you post the error, console output?  I'll have to see if I had Dr MinGW compiled into that to do crashlogs, I don't recall.
Title: Re: Previous Emulator News
Post by: berskyboy on May 28, 2020, 09:48:11 PM
Quote from: pitz on April 05, 2020, 07:19:42 PMIt's been more than three years since I've tried to build Previous on a Raspberry Pi.  Back then, on a Raspberry Pi 2, the emulation runs very slow, like 40% of an emulated 25MHz system.

With a little more time at home nowadays, I took the latest snapshot (r950) and tried it on a Raspberry Pi 4. You just need to get a few additional packages before building from source:

sudo apt-get install cmake libsdl2-dev libpcap-dev
./configure
make

With the faster processor of the RPi4, the emulation is quite usable now.

Note that there seems to be a bug where the system/configuration dialogs do not close. I suggest setting the configuration, turning off the dialogs on startup, saving as the default configuration, and re-running Previous.

Yup, the Raspberry Pi4 runs Previous very very well.  I've been using reading the Bible on my NeXTstation then transfer the .snd files to FTP server, then on my iMac import those files into Previous emulator on my iMac, then take that image (NS32_2GB.dd) in put it on the RPi and it loads great and the sound actually works too!  I even created a Mini NeXTcube with a mini MegaPixel Display.

Here's a video:
Of me reading on the NeXTstation
https://www.youtube.com/watch?v=iQf7I2pwu_s

Me making the Mini Raspberry Pi NeXTcube
https://www.youtube.com/watch?v=tQFQajTU5I8

and a fun little video how I can carry it
https://www.youtube.com/watch?v=9D_vOKP8MLw

LOL,
enjoy

Title: Re: Previous Emulator News
Post by: crispin on May 29, 2020, 05:42:36 PM
Thats a gorgeous NeXTCube. Someone should sell those.
Title: Re: Previous Emulator News
Post by: pitz on October 11, 2020, 04:19:40 AM
Quote from: pitz on April 05, 2020, 07:19:42 PMWith the faster processor of the RPi4, the emulation is quite usable now.

Note that there seems to be a bug where the system/configuration dialogs do not close. I suggest setting the configuration, turning off the dialogs on startup, saving as the default configuration, and re-running Previous.

A couple hours of debugging and I fixed the RPi/SDL issue around the system/dialogs that do not seem to close.  I fixed this on the master branch of my fork in GitHub https://github.com/kernelcoredump/previous (https://github.com/kernelcoredump/previous)

I've partially enabled the GitHub workflow to build from source code and generate an AppImage for the RPi.  The AppImage is released in GitHub for a single-file download, change file permission to executable, and run:  https://github.com/kernelcoredump/previous/releases (https://github.com/kernelcoredump/previous/releases)
Title: Re: Previous Emulator News
Post by: eagle on October 16, 2020, 08:34:46 AM
Wow, those videos are awesome - thanks!

The mini Apple Lisa was neat too - I've never seen that project.
Title: Re: Previous Emulator News
Post by: rcfa on November 16, 2020, 02:00:14 AM
Quote from: zombie on April 05, 2020, 04:57:59 PMDoes anyone know how to make a new empty drive image for Previous to use. Previous comes with a bunch of empty size SD disks, but how could I make my own?

Also, I remember it was possible to create a non-bootable 4GB partition in OPENSTEP. The trick was to use a 1024block size instead of 512. It would be great to be able to do that but Im not sure how to make the empty images that Previous uses. Any clues/hints would be appreciated!

I have the same question, but further, I can't even find the empty disk images. Where are these supposedly?

I built the executable from source for arm64 on the RasPi4, and it seems to work OK, up to the point where I'd want to install an OS and can't for lack of HD image...
Title: Re: Previous Emulator News
Post by: rbz on November 17, 2020, 11:17:27 PM
Quote from: rcfa on November 16, 2020, 02:00:14 AMI have the same question, but further, I can't even find the empty disk images. Where are these supposedly?

I built the executable from source for arm64 on the RasPi4, and it seems to work OK, up to the point where I'd want to install an OS and can't for lack of HD image...

You can create blank images using `dd` and then initialize them in Previous. Are you planning on doing the OS install yourself from the boot floppies or using the pre-made 3.3 image for previous?

Either way I put some instructions on how I build images for real hardware using Previous here which covers how to create blank images, etc: Previous and SCSISD Version 5.1 NeXTSTEP 3.3 boot (http://www.nextcomputers.org/forums/index.php?topic=4504.msg26294#msg26294)
Title: Re: Previous Emulator News
Post by: Rob Blessin Black Hole on November 18, 2020, 10:43:51 PM
Quote from: rcfa on November 16, 2020, 02:00:14 AMI have the same question, but further, I can't even find the empty disk images. Where are these supposedly?

Hello NeXT Community: When you download previous and install it  , it creates a main previous folder under the Previous directory tree.
In the Directory Tree are different selections for hard drive and floppy drive image size.
Pick a drive image and unzip it.
It is the equivalent of an empty drive.
In the main Previous configuration menu find the image and set it as the destination hard drive for the install at scsi id 0 or 1  .
Set the boot floppy image in the same way, unzip it and point the NeXT 68K boot floppy image at it.
Set the CDrom scsi id 6 and point your NeXTSTEP3.3 User.iso at it.
Be sure and pick a configuration ie NeXT Cube or NeXTStqtion and matching rom file, save the configurtion.
Start the boot process, at the NeXT> type bfd for boot floppy disk

https://www.youtube.com/watch?v=-Xt-PdJN8_8    my video how to.
Title: Re: Previous Emulator News
Post by: user341 on January 31, 2021, 05:41:52 PM
It would be great if someone could make some blank 4GB drives to share with the group. At the very least, it's useful as a 2ndary drive even if there are difficulties making it a boot drive.
Title: Re: Previous Emulator News
Post by: rcfa on April 06, 2021, 09:30:27 PM
Just curious: has anyone tried/considered doing an i(Pad)OS version of Previous?
Running this on an iPad Pro with MagicKeyboard would be fantastic...
...the ultimat NeXT portable ;)
Title: Re: Previous Emulator News
Post by: Billvestre on July 23, 2022, 06:59:31 AM
Quote from: berskyboy on May 28, 2020, 09:48:11 PMYup, the Raspberry Pi4 runs Previous very very well.  I've been using reading the Bible on my NeXTstation then transfer the .snd files to FTP server, then on my iMac import those files into Previous emulator on my iMac, then take that image (NS32_2GB.dd) in put it on the RPi and it loads great and the sound actually works too!  I even created a Mini NeXTcube with a mini MegaPixel Display.

Here's a video:
Of me reading on the NeXTstation
https://www.youtube.com/watch?v=iQf7I2pwu_s

Me making the Mini Raspberry Pi NeXTcube
https://www.youtube.com/watch?v=tQFQajTU5I8

and a fun little video how I can carry it
https://www.youtube.com/watch?v=9D_vOKP8MLw

LOL,
enjoy



Hello

I'm tryning to install Previous on a PI4b with ubuntu 22.04 LTS

but the make halts and I get those errors :

collect2: error: ld returned 1 exit status
make[2]: *** [src/CMakeFiles/Previous.dir/build.make:852: src/Previous] Error 1
make[1]: *** [CMakeFiles/Makefile2:260: src/CMakeFiles/Previous.dir/all] Error 2
make: *** [Makefile:136: all] Error 2

can you help me ?


Title: Re: Previous Emulator News
Post by: cuby on July 23, 2022, 11:20:32 PM
You posted the bits of the log that don't give the error :).

The "collect2" message tells you that the linker found a problem, usually this is due to either a missing library or a missing symbol (e.g. variable or function) in one of the libraries. So you need to find more detailed messages in the log output.

Go to top  Forum index