News:

Stuttgart museum purchases 40 NeXT machines from Rob Blessin

Main Menu

What Needs to be done for a NeXT Emulator

Started by andreas_g, Sep 08, 2025, 04:47 PM

Previous topic - Next topic

Rhetorica

Quote from: ZombiePhysicist on Sep 22, 2025, 05:37 PMIn case you want to see it on the bottom of the dock. [...]

It's surreal seeing a bland gray background behind dock tiles like that on a modern Apple product. :) It's like there's a little gremlin at the company that keeps the UX department up at night making them feel insecure about how their icons aren't as cool as NeXT ones.

Do all old icons get that gray color, or does it vary based on the luminosity of the image?
WARNING: preposterous time in Real Time Clock -- CHECK AND RESET THE DATE!

ZombiePhysicist

Some interplay depending on the icon, but basically all grey.

Rhetorica

For those who want maximum overdrive on their simulated black hardware, @jeffburg posted his secret trove of Previous performance optimizations here. (Ignore the first one—that just removes the amd64 binary since he doesn't use it personally.)

@andreas_g, how hard would it be to add these as runtime options? Say, as toggles requiring a restart to enable or disable.

If it's impractical, how would you feel about "high-performance" builds of Previous being circulated on previous.nextcommunity.net—perhaps with a warning label about stability/accuracy/being unsupported?

I think there's real merit to having a high-performance virtualization solution readily available, even if it isn't as authentic, especially with the ongoing interest in accelerators for NeXT machines, as it will make the next68k environment more accessible for archival and development activities.
WARNING: preposterous time in Real Time Clock -- CHECK AND RESET THE DATE!

andreas_g

These optimisations only have a minor effect. Turning these into runtime options would sacrifice some efficiency for both modes and thus makes little sense. You get a much larger effect by editing the configuration file and setting nCpuFreq to a greater number.

jeffburg

At some point I will do an A/B comparison to see how many MHz I can get with it on and off. But I remember it being significant. Like 200MHz without the optimization and 300MHz with the optimization on the same computer. But yes, as @andreas_g said. In either case you need to quit Previous and then open the config file in a text editor and increase the speed manually by changing the nCpuFreq, then restart Previous. So it's quite tedious to dial in. Also, if the workload increases in the Virtual Machine the clock speed can drop significantly. So you need to spend time optimizing it for your specific host system.
Grab my app, MathEdit for OpenStep - https://github.com/jeffreybergier/MathEdit
Follow me on Mastodon for Retro Mac Adventures - https://jeffburg.social/@jeff

wmlive

Trying with both these patches and also the manual interventions mentioned, i don't see any meaningful speed increase from the user's point of view.
Increasing the nCpuFreq to various levels between 80 and 300 mostly results in an avalanche of 'Events queue overflow!' messages for me on a Thinkpad T480 with i5-8350U CPU.
If there are any performance differences they are so marginal that its probably impossible to perceive them without specific measurement tools.

I remember having tried this before based on www.nextcomputers.org/forums/index.php?action=post;quote=32895;topic=5745 with similar assessment results.

andreas_g

Hello all,

I am happy to announce the release of Previous v4.0! This release comes with an improved version of the command line utility "ditool" (disk image tool). ditool is now able to read a wider range of disk images and has improved error handling.

Previous itself has also improved: It is now possible to hide the title bar using shortcut-T and Previous identifies SCSI CD-ROM and floppy drives as known real devices instead of PreviousCD-ROM and PreviousFLOPPY. There are also some bug fixes and under the hood improvements included.

Please note that with the release of Previous v4.0 I have updated trunk to SDL3. If for some reason you cannot use SDL3 please compile branch_softfloat instead of trunk.

As usual I have compiled a binary for macOS v10.13 and later (Intel and Apple Silicon). You can load the binary here.

Have fun and feel free to report any issues.

Protocol 7

Thanks for the new year's update Andreas!

I just built the trunk and ran into a minor issue. The build (on linux) fails on dns.c but suggests the fix: adding #include <ctype.h> after #include "ctl.h". This fixed the build for me.

Speaking of ditool, would it be possible to add support for Rhapsody (and maybe OS X Server 1.x images)? Rhapsody is particularly annoying as the Intel and PPC filesystems are incompatible with each other. Having a way to extract files from the CDs would be great.

ZombiePhysicist

Quote from: andreas_g on Jan 01, 2026, 01:45 PMHello all,

I am happy to announce the release of Previous v4.0! This release comes with an improved version of the command line utility "ditool" (disk image tool). ditool is now able to read a wider range of disk images and has improved error handling.

Previous itself has also improved: It is now possible to hide the title bar using shortcut-T and Previous identifies SCSI CD-ROM and floppy drives as known real devices instead of PreviousCD-ROM and PreviousFLOPPY. There are also some bug fixes and under the hood improvements included.

Please note that with the release of Previous v4.0 I have updated trunk to SDL3. If for some reason you cannot use SDL3 please compile branch_softfloat instead of trunk.

As usual I have compiled a binary for macOS v10.13 and later (Intel and Apple Silicon). You can load the binary here.

Have fun and feel free to report any issues.
Wow, what a super way to start off the year! Happy happy new year @andreas_g and to all! So psyched to see your amazing project continue to improve. Thank you so much for all your dedication and amazing work!

Rhetorica

#24
Quote from: andreas_g on Jan 01, 2026, 01:45 PMHello all,
I am happy to announce the release of Previous v4.0! This release comes with an improved version of the command line utility "ditool" (disk image tool). ditool is now able to read a wider range of disk images and has improved error handling.
Previous itself has also improved: It is now possible to hide the title bar using shortcut-T and Previous identifies SCSI CD-ROM and floppy drives as known real devices instead of PreviousCD-ROM and PreviousFLOPPY. There are also some bug fixes and under the hood improvements included.
Please note that with the release of Previous v4.0 I have updated trunk to SDL3. If for some reason you cannot use SDL3 please compile branch_softfloat instead of trunk.
As usual I have compiled a binary for macOS v10.13 and later (Intel and Apple Silicon). You can load the binary here.
Have fun and feel free to report any issues.

Great stuff! I've updated http://rhetori.ca/next/ with a Windows build and http://previous.nextcommunity.net/ with both Windows and macOS builds. I keenly await new .deb files from @wmlive for Linux 4.0 coverage.

A while ago you said you'd gotten full control at last over the Sourceforge repo. Is it possible to get the "Previous Web Site" link on https://sourceforge.net/projects/previous/ updated to point to the nextcommunity subdomain? EDIT: The alternative-system site is notable as a historical artifact but it's not an ideal introduction to the emulator overall.
WARNING: preposterous time in Real Time Clock -- CHECK AND RESET THE DATE!

andreas_g

Quote from: Protocol 7 on Jan 01, 2026, 02:07 PMI just built the trunk and ran into a minor issue. The build (on linux) fails on dns.c but suggests the fix: adding #include <ctype.h> after #include "ctl.h". This fixed the build for me.
Thank you for reporting! This should be fixed now.

Quote from: Protocol 7 on Jan 01, 2026, 02:07 PMSpeaking of ditool, would it be possible to add support for Rhapsody (and maybe OS X Server 1.x images)?
I just checked a Rhapsody disk image. It seems to have the same disk label as NeXTstep, but uses the BSD4.4 variant of UFS instead of BSD4.3, which is used by NeXTstep. Those two different variants are incompatible. Therefore it would be necessary to re-write the core of ditool (which was not created by me). I'm afraid this is a bit beyond my capabilities.

Quote from: Rhetorica on Jan 01, 2026, 06:06 PMA while ago you said you'd gotten full control at last over the Sourceforge repo. Is it possible to get the "Previous Web Site" link on https://sourceforge.net/projects/previous/ updated to point to the nextcommunity subdomain?
Thank you for updating the page! I have now changed the link on sourceforge to point to the NeXTcommunity subdomain for Previous.

wmlive

The previous packages at wmlive.rumbero.org/repo/pool/main/p/previous/ have been updated to its current 4.0-r1747 version.
The builds are based on libsdl3 version 3.2.10 as offered in Debian/Trixie, which is the target release these packages have been built for.
As usual, packages for i386, amd64, and arm64 have been provided.

There will be no further builds for Debian/Bookworm, as it doesn't include any libsdl3 support packages.

Rhetorica

Quote from: andreas_g on Jan 02, 2026, 08:58 AMThank you for updating the page! I have now changed the link on sourceforge to point to the NeXTcommunity subdomain for Previous.
Excellent! Here's hoping we'll no longer have to contend with YouTubers and others getting the darn site wrong!

Quote from: wmlive on Jan 02, 2026, 10:09 AMThe previous packages at wmlive.rumbero.org/repo/pool/main/p/previous/ have been updated to its current 4.0-r1747 version.
The builds are based on libsdl3 version 3.2.10 as offered in Debian/Trixie, which is the target release these packages have been built for.
As usual, packages for i386, amd64, and arm64 have been provided.

There will be no further builds for Debian/Bookworm, as it doesn't include any libsdl3 support packages.

I've put these builds up on previous.nextcommunity.net and moved the 3.9 packages to the legacy builds section, marked as "Linux SDL2 (.deb)"—I'm guessing that's enough information to get the target platform across to visitors, but let me know if it needs more qualifiers.
WARNING: preposterous time in Real Time Clock -- CHECK AND RESET THE DATE!