What Needs to be done for a NeXT Emulator

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

Previous topic - Next topic

andreas_g

@marvin
Thank you very much for testing! The result on the non-Turbo machine is surprsing. I'll have to investigate this.

If it is not too much effort could you redo the test but replace eb 0201a000 with eb 0211a000 (everything else unchanged)?

marvin

#31
Hi @andreas_g ,

here are the new values from my non-turbo NeXTcube (ROM monitor 2.1 v59) with Pyro-card installed, so the values may be not standard:

NeXT>eb 0211a000
211a000: 10? 0
211a001: ff? .
NeXT>eb 0211a000
211a000:  6d?
211a001:  6d?
211a002:  66?
211a003:  a3?  .
NeXT>eb 0211a000
211a000:  d6?
211a001:  d6?
211a002:  d1?
211a003:  01?  .

Here are the new values from my Turbo-Color slab (ROM monitor 3.1 v71) for the sake of completeness:

NeXT>eb 0211a000
211a000: 00? 0
211a001: 0a? .
NeXT>eb 0211a000
211a000:  00?
211a001:  0e?
211a002:  2e?
211a003:  a5?  .
NeXT>eb 0211a000
211a000:  00?
211a001:  01?
211a002:  e5?
211a003:  c9?  .

Color-Slab-2.jpgPyro-Cube-2.jpg
DON'T PANIC

marvin

Can confirm Previous 4.0 (r1755) is running fine with Debian 12 (x86-64) and SDL3.

I had to install my own version of SDL3.

## unzip source code into src/ folder
cd /usr/local/Software/libs/x86_64/src/SDL3-3.4.0/

## https://wiki.libsdl.org/SDL3/README-cmake
cmake -S . -B build -DSDL_SHARED=ON -DSDL_STATIC=ON -DSDL_TESTS=ON
cmake --build build

mkdir /usr/local/Software/libs/x86_64/SDL3-3.4.0
cmake --install build --prefix /usr/local/Software/libs/x86_64/SDL3-3.4.0

Then compile Previous:

cd /usr/local/Software/Previous/previous-code-r1755-trunk/
setenv SDL3_DIR /usr/local/Software/libs/x86_64/SDL3-3.4.0/lib/cmake/SDL3/ ; ./configure
make
DON'T PANIC

andreas_g

@marvin
Thank you very much for testing again! The values on the Turbo make sense while those on the non-Turbo are still strange. Pyro does not affect this.

The event counter is a mystery to me. I think it should reset to zero if being written but it is unclear if it continues counting immediately after write or only if read afterwards.

ramalhais

Hi all, first post here.
How do i get to the serial console(s) in previous? Is there any branch that has this functionality?
Thanks!

ptek

Quote from: ramalhais on Feb 19, 2026, 06:45 PMHi all, first post here.
How do i get to the serial console(s) in previous? Is there any branch that has this functionality?
Thanks!
Is this the one where at the login screen you use username "console" and it boots to the terminal and asks for your username and password?

ramalhais

Quote from: ptek on Feb 20, 2026, 07:26 PM
Quote from: ramalhais on Feb 19, 2026, 06:45 PMHi all, first post here.
How do i get to the serial console(s) in previous? Is there any branch that has this functionality?
Thanks!
Is this the one where at the login screen you use username "console" and it boots to the terminal and asks for your username and password?

i mean the emulator equivalent of the serial port on the back of a next machine  8)

andreas_g

#37
Quote from: ramalhais on Feb 19, 2026, 06:45 PMHow do i get to the serial console(s) in previous? Is there any branch that has this functionality?
Thanks!

Unfortunately I have not yet been able to add this. The problem is that I have no idea how to connect the simulated serial port to the console or some other text input/output interface of the host.

The appended patch demonstrates serial console output but does nothing useful.

alt_cons.diff

andreas_g

Hello all,

I am happy to announce the release of Previous v4.1! I have updated the timing system. It should be a bit more efficient and much more accurate in variable speed mode.

It also includes some minor stability improvements and bug fixes.

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.

Rhetorica

Great! Confirmed that all the important stuff still works just fine:

previous-4.1.png

Sound playback is smoother than ever, and NFS works like a gem. And I think my cycle count is higher than usual (a more comfortable hovering around 75-80 MHz!)

The build posted above and a MinGW build from the same source are up on the Previous page here: https://previous.nextcommunity.net/
WARNING: preposterous time in Real Time Clock -- CHECK AND RESET THE DATE!

jeffburg

@andreas_g thanks! I can't wait to try performance improvements
@Rhetorica what is that little CPU monitor utility in the Dock you have there?
Grab my app, MathEdit for OpenStep - https://github.com/jeffreybergier/MathEdit
Follow me on Mastodon for Retro Mac Adventures - https://jeffburg.social/@jeff

Rhetorica

Quote from: jeffburg on Mar 02, 2026, 03:20 AM@Rhetorica what is that little CPU monitor utility in the Dock you have there?
That is KPerfMon 1.3C, which you can exhume from here. It spawned a whole family of clones for WindowMaker and AfterStep (see here), but there were only really a couple noteworthy specimens of this proto-Rainmeter "display all the system status widgets!" trend on NeXT proper. Intriguingly its predecessor was likely written by a NeXT employee (based on a Sun widget...)
WARNING: preposterous time in Real Time Clock -- CHECK AND RESET THE DATE!

andreas_g

Quote from: jeffburg on Mar 02, 2026, 03:20 AM@andreas_g thanks! I can't wait to try performance improvements
The performance improvement is not that big. You can measure it but I don't think you will notice it under normal conditions. The update is more about improved accuracy.

wmlive

The Previous packages at wmlive.rumbero.org/repo/pool/main/p/previous/ have been updated to version 4.1-r1777.
The binary packages were built for target release Debian/Trixie and CPU architectures i386, amd64, and arm64.

Rhetorica

Quote from: wmlive on Mar 03, 2026, 11:02 PMThe Previous packages at wmlive.rumbero.org/repo/pool/main/p/previous/ have been updated to version 4.1-r1777.
The binary packages were built for target release Debian/Trixie and CPU architectures i386, amd64, and arm64.
Great! I've mirrored them as usual.
WARNING: preposterous time in Real Time Clock -- CHECK AND RESET THE DATE!