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.comhttps://sourceforge.net/projects/previous/I'm not really even sure what the latest version is. Is 2.2 the last version?
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
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.
Source code for what appears to be the latest 2.2 version.
https://sourceforge.net/p/previous/code/HEAD/tarball?path=/branches/branch_softfloatWas able to compile this on macOS 10.15.4 & Xcode 11.4 by following the readme.
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.
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...
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.
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.
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!
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.
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.
:(
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!
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.
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 disksSCSI Disk 0: Harddisk, ~pathtodrive.dd
MO disksnone used
Floppy disksnone used
KeyboardKeyboard 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/
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.
Thanks Nitro!
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!
berskyboy, please post complete details about your build, including photos. I want one!
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.
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_sMe making the Mini Raspberry Pi NeXTcube
https://www.youtube.com/watch?v=tQFQajTU5I8and a fun little video how I can carry it
https://www.youtube.com/watch?v=9D_vOKP8MLwLOL,
enjoy
Thats a gorgeous NeXTCube. Someone should sell those.
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)
Wow, those videos are awesome - thanks!
The mini Apple Lisa was neat too - I've never seen that project.
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...
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)
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.
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.
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 ;)
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 ?
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.