How To : Emulate NeXTStep in Previous or Other Emulator

Anything not about Mac emulation.

Moderators: Cat_7, Ronald P. Regensburg

Post Reply
Mominul
Student Driver
Posts: 22
Joined: Mon Jan 06, 2014 11:16 am
Location: Bangladesh

How To : Emulate NeXTStep in Previous or Other Emulator

Post by Mominul »

Hello! I want to emulate NeXTStep in Previous.If any one know please help me.I have downloaded NeXTStep 0.9.It is in dump format.If any know how to convert the format that Previous supports please let me know.Please Help Me! I need Help!
User avatar
24bit
Forum All-Star
Posts: 1424
Joined: Wed Nov 11, 2009 5:47 pm
Location: Germany

Re: How To : Emulate NeXTStep in Previous or Other Emulator

Post by 24bit »

OpenStep is not an option, I presume?
http://macintoshgarden.org/apps/openstep
Mominul
Student Driver
Posts: 22
Joined: Mon Jan 06, 2014 11:16 am
Location: Bangladesh

Re: How To : Emulate NeXTStep in Previous or Other Emulator

Post by Mominul »

Sorry :sad: I can't guess what you meaning for? Do you know how to emulate NeXTStep or Openstep in Previous? Please help Me! I need Help!
User avatar
Ronald P. Regensburg
Expert User
Posts: 7857
Joined: Thu Feb 09, 2006 10:24 pm
Location: Amsterdam, Netherlands

Re: How To : Emulate NeXTStep in Previous or Other Emulator

Post by Ronald P. Regensburg »

I understand that Previous is a NeXT hardware emulator. So what you are probably asking is how to use that emulator.
Mominul
Student Driver
Posts: 22
Joined: Mon Jan 06, 2014 11:16 am
Location: Bangladesh

Re: How To : Emulate NeXTStep in Previous or Other Emulator

Post by Mominul »

Yes you are Right! :smile:
User avatar
Cat_7
Expert User
Posts: 6209
Joined: Fri Feb 13, 2004 8:59 am
Location: Sittard, The Netherlands

Re: How To : Emulate NeXTStep in Previous or Other Emulator

Post by Cat_7 »

Hi,

Previous works in the same way as Hatari. Hatari has documentation explaining how to run it. You can use that to learn how to run Previous.
If the NextStep version you download is a dump file, I assume it means it is a disk image of a hard disk running NextStep. You would then need to attach the dump file to Previous. I think you need to start Previous, and click SCSI disks. Then click Browse at SCSI disk 0 and select your dump file. Go back to the main menu and save the configuration.
To run NextStep you will also need the correct ROM file. If you have it, you can click ROM and browse to the rom file. Save the configuration again and then run Previous.

EDIT: the version of previous you can download from their site only allows booting into the rom. It will not boot into Nextstep. There is some newer code in the previous repository, so perhaps building your own version will allow booting Nextstep, but I don't know.

Best,
Cat_7
Last edited by Cat_7 on Tue Jan 07, 2014 11:40 pm, edited 1 time in total.
Reason: added EDIT.
Mominul
Student Driver
Posts: 22
Joined: Mon Jan 06, 2014 11:16 am
Location: Bangladesh

Re: How To : Emulate NeXTStep in Previous or Other Emulator

Post by Mominul »

Very very thank you for you information.I will now learn how to build previous.can you help in this?the dump file is a raw dump file of next step 0.9 optical disk,I have found this information from a text file that was included with the dump file.very sorry for my bad English :oops: .
User avatar
24bit
Forum All-Star
Posts: 1424
Joined: Wed Nov 11, 2009 5:47 pm
Location: Germany

Re: How To : Emulate NeXTStep in Previous or Other Emulator

Post by 24bit »

I do not know your plans with NextStep, nor your hardware.
Compiling and running a emulator under construction may imply a steep learning curve. :)

If you want something simple, I would rather try NextStep 3.3 in VMWare.
The VMWare player is free for many host systems and a playable prebuilt disk image of 3.3 is available on the net.
VMWare player comes with help files. I think you just had to set the player to "import appliance from another machine" to get going.

NextStep 3 in VMWare is a 80X86 BSD based operating system, if your are aiming at a Motorola 680X0 OS it may be of little help.
The VM should look like this:
Image

I gave up, as I could not manage to exchange files with my host.
User avatar
adespoton
Forum All-Star
Posts: 4321
Joined: Fri Nov 27, 2009 5:11 am
Location: Emaculation.com
Contact:

Re: How To : Emulate NeXTStep in Previous or Other Emulator

Post by adespoton »

I just realized... it's been 20 years now since I was using that OS!
Once upon a time, I had marginal success in getting that VM running in VirtualBox, which allows for easier file exchange. It was buggier than it was in VMWare though.
Mominul
Student Driver
Posts: 22
Joined: Mon Jan 06, 2014 11:16 am
Location: Bangladesh

Re: How To : Emulate NeXTStep in Previous or Other Emulator

Post by Mominul »

Good News!
Previous can boot NeXTStep 0.x to 4.0 beta and OpenStep 4.2 For Mach.
Here are some sreenshots-
Image
imgupload

Image
post images

Image
screen shots

Image
image upload no compression

Image
upload img

Image
screen cap

All of images not by me. I have copyed images form forum.
User avatar
adespoton
Forum All-Star
Posts: 4321
Joined: Fri Nov 27, 2009 5:11 am
Location: Emaculation.com
Contact:

Re: How To : Emulate NeXTStep in Previous or Other Emulator

Post by adespoton »

Wow... that brings back memories :) I'll have to dig out my old software and see if I can get it working :D

Truth be told, other than the bugs screensaver, most of what I did on cubes was open a csh terminal, or play the tilemapped version of Rogue.
Mominul
Student Driver
Posts: 22
Joined: Mon Jan 06, 2014 11:16 am
Location: Bangladesh

Re: How To : Emulate NeXTStep in Previous or Other Emulator

Post by Mominul »

To boot the operating systems you have to compile the new source.

Code: Select all

svn checkout svn://svn.code.sf.net/p/previous/code/branches/branch_mmu previous-branch
branch_mmu is recently updates.
User avatar
adespoton
Forum All-Star
Posts: 4321
Joined: Fri Nov 27, 2009 5:11 am
Location: Emaculation.com
Contact:

Re: How To : Emulate NeXTStep in Previous or Other Emulator

Post by adespoton »

Branch_MMU -- is this another MMU implementation? I know that what Steve did at NeXT isn't the same as what was done with the MMU at Apple, but I find it interesting the number of MMU-savvy projects popping up lately.
Mominul
Student Driver
Posts: 22
Joined: Mon Jan 06, 2014 11:16 am
Location: Bangladesh

Re: How To : Emulate NeXTStep in Previous or Other Emulator

Post by Mominul »

Hello adespoton,
Your thinking about Branch_MMU is not right( may be :roll: )! Branch_MMU is a branch of our developer Andreas. He maintain this branch. May be he created this brunch to develop the MMU.
I am trying to learn C and C++ if I can help them.
User avatar
adespoton
Forum All-Star
Posts: 4321
Joined: Fri Nov 27, 2009 5:11 am
Location: Emaculation.com
Contact:

Re: How To : Emulate NeXTStep in Previous or Other Emulator

Post by adespoton »

I was wondering whether it was an MMU dev branch or just someone's initials. Sounds like that's still murky :)
andreas_g
Student Driver
Posts: 23
Joined: Thu Dec 02, 2010 5:50 pm
Location: Austria

Re: How To : Emulate NeXTStep in Previous or Other Emulator

Post by andreas_g »

It was an MMU development branch, but has become my general development branch.

All NeXT computers used either 68030 or 68040 CPUs. Both had an integrated MMU and both are fully emulated in Previous.
There is also near complete emulation of the 6888x FPU and 68040 integrated FPU.

Most parts of the CPU come from Toni Wilen's WinUAE. I wrote the core of the 68030's MMU.
I think the CPU from WinUAE, now also part of Previous, is the most complete m68k emulation that exists.
User avatar
adespoton
Forum All-Star
Posts: 4321
Joined: Fri Nov 27, 2009 5:11 am
Location: Emaculation.com
Contact:

Re: How To : Emulate NeXTStep in Previous or Other Emulator

Post by adespoton »

Hmm... I wonder how difficult it would be to make a self-selecting 030/040 emulator that used UAE, Previous and a Mac equivalent, using the same hardware core set and swapping hardware as desired... kind of like MESS.
emendelson
Forum All-Star
Posts: 1730
Joined: Tue Oct 14, 2008 12:12 am

Re: How To : Emulate NeXTStep in Previous or Other Emulator

Post by emendelson »

24bit wrote:I gave up, as I could not manage to exchange files with my host.
The way to exchange files with the host with NextStep or OpenStep running in VMware is to use an FTP program on the host to connect with the VMware guest. Set the network adapter of the VMware guest to be shared with the host system. Run NextStep or OpenStep and assign the guest an IP address in your VMware network, and run an FTP program on the host to access the guest.

Under OS X I haven't been able to run an FTP program on the guest to access the host, because OS X now blocks FTP, but it's easy to move things in and out of the guest via an FTP program running in OS X itself.
User avatar
adespoton
Forum All-Star
Posts: 4321
Joined: Fri Nov 27, 2009 5:11 am
Location: Emaculation.com
Contact:

Re: How To : Emulate NeXTStep in Previous or Other Emulator

Post by adespoton »

http://www.nextcomputers.org/forums/vie ... d304eea37e

There are also sshd builds available for NextStep and OpenStep -- this should give you a safer option, as you can sftp in either direction, and use certs instead of l/p for login.

[edit] Hah! and from that thread...
emendelson
Joined: 06 Feb 2012
Posts: 9
Posted: Tue Feb 07, 2012 8:59 pm
Now that I've got ssh working, thanks to your help, could I continue with another question:
User avatar
adespoton
Forum All-Star
Posts: 4321
Joined: Fri Nov 27, 2009 5:11 am
Location: Emaculation.com
Contact:

Re: How To : Emulate NeXTStep in Previous or Other Emulator

Post by adespoton »

andreas_g wrote: Wed Apr 09, 2014 1:21 pm It was an MMU development branch, but has become my general development branch.

All NeXT computers used either 68030 or 68040 CPUs. Both had an integrated MMU and both are fully emulated in Previous.
There is also near complete emulation of the 6888x FPU and 68040 integrated FPU.

Most parts of the CPU come from Toni Wilen's WinUAE. I wrote the core of the 68030's MMU.
I think the CPU from WinUAE, now also part of Previous, is the most complete m68k emulation that exists.
So... here I am back in this thread after 10 years.

I've been trying to do some Previous automation, which requires loading config files from the command line.

Unfortunately, Previous 3.1 (and 2.6) don't appear to be reading the command line anymore? -h, -c, --confirm-quit, -k and --fast-forward all fail to do anything.

I've been looking through the code, and see where argv is supposed to be ingesting and parsing things, but this doesn't appear to be connected to the functions.

Also, the code has the nice fall-through of locations to look for things, but none of these are the one that's loading for me by default? No matter what I do, it tries to read ~/.previous/previous.cfg -- which appears to be the replacement legacy location, according to paths.c (replacing ~/.hatari/).

I may have to do the hacky thing of re-defining $HOME to point it elsewhere, but I'd prefer to just use the command line.

I was also wondering, @andreas_g, would it be useful for me to go through and move all the Hatari strings to be Previous strings and add a bit of in-line documentation?

[edit] Yeah... so, for now I went the hacky route, and created a launch script:

Code: Select all

#!/bin/sh
mypath=`dirname "$0"`
cd "$mypath"
export HOME='./../Resources/'
./previous 
This seems to do the trick, storing previous.cfg in the Resources folder, so I can have multiple copies of the app running multiple configurations.
andreas_g
Student Driver
Posts: 23
Joined: Thu Dec 02, 2010 5:50 pm
Location: Austria

Re: How To : Emulate NeXTStep in Previous or Other Emulator

Post by andreas_g »

Great to see there is still some interest in Previuos here! Some time went past and there was lots of progress on Previous since then. Make sure you compile trunk for up-to-date and non-experimental code.

Previous is a pure GUI application now. It does not read from the command line in normal operation. Only while in debugger it does read the command line. It would have caused too much effort to keep the command line options with all the testing required.

Your trick with including the configuration file inside the application bundle is interesting. By default on macOS the configuration file previous.cfg is placed in and loaded from ~/Library/Application Support/Previous.
User avatar
adespoton
Forum All-Star
Posts: 4321
Joined: Fri Nov 27, 2009 5:11 am
Location: Emaculation.com
Contact:

Re: How To : Emulate NeXTStep in Previous or Other Emulator

Post by adespoton »

andreas_g wrote: Thu Apr 18, 2024 11:40 am Great to see there is still some interest in Previuos here! Some time went past and there was lots of progress on Previous since then. Make sure you compile trunk for up-to-date and non-experimental code.

Previous is a pure GUI application now. It does not read from the command line in normal operation. Only while in debugger it does read the command line. It would have caused too much effort to keep the command line options with all the testing required.

Your trick with including the configuration file inside the application bundle is interesting. By default on macOS the configuration file previous.cfg is placed in and loaded from ~/Library/Application Support/Previous.
Yes, I thought the default was supposed to be ~/Library/Application Support/Previous -- which is why I found it odd that it was instead using ~/.previous/ -- which is the "if none of the others can be used" option.

Good to know that the command line options were intentionally de-linked. I was surprised at the amount of debug information that goes to stdout in regular operation.

Anyway, my solution was to toss a shell script in the MacOS folder that changes $HOME and launches the "previous" MachO binary -- it seems to work reliably. I'm currently using your "3.1" build, but I should probably change my framework like I have for SheepShaver/BII/QEMU so that I just have an outer shell app I manage myself and can drop the Previous build du jour into the Resources folder. The nice thing about using the script-in-the-app method is that, for some reason, signing and notarization still works just fine if I take someone else's signed and notarized app and inject my own bootstrapping script via the Info.plist. Not sure why Apple left this security hole wide open, but I'll take it for this purpose.
Post Reply