News:

HTTPS is back; rejoice if you love security theatre

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

I have corrected my 4.5 builds for Windows; they were r1857, not r1858.
WARNING: preposterous time in Real Time Clock -- CHECK AND RESET THE DATE!

wmlive

Quote from: Rhetorica on Oct 12, 2026, 07:14 AMWe await Debian builds from @wmlive!
Sorry for the delay in finally getting the packages built and uploaded to https://wmlive.rumbero.org/repo/pool/main/p/previous/ . It is done now.

Due to a currently rather unfortunate financial situation on my behalf, it would be appreciated very much if downloaders of these previous packages could contribute with a donation to help cover my life expenses. While not feeling comfortable begging for support, it would probably be idiotic false modesty to not ask for help when it is actually needed. I really do not want to end up in a life situation where i'd be unable to work providing the software packages people are using.

Ostrich

I found a condition-flag restoration bug in Previous r1804 running NEXTSTEP 3.3 on the emulated 68040. An instruction-fetch fault across an 8 KiB page boundary can make a conditional branch take the wrong path.

The MMU loops modify a local struct flag_struct after setjmp, then read it after longjmp. Without volatile, its value is indeterminate. The attached patch makes that snapshot volatile in the 68030, 68040 and 68060 loops.

Build the attached reproducer inside NEXTSTEP: cc -O2 page-branch-main.c page-branch.s -Wl,-segaddr,__PAGEPROBE,02000000 -o page-branch

Run ./page-branch, then ./page-branch prefault, then ./page-branch again. All should return 0. Pristine r1804 returns 1, 0, 1; patched r1804 returns 0, 0, 0. Both emulator builds use -O2 -DNDEBUG. The guest executable was built with native NeXT GCC 2.5.8.

Runtime testing covers the 68040 only. Current trunk r1858 still has the non-volatile declarations, but I have not run the reproducer on it.

andreas_g

@Ostrich
Thank you for testing and providing a patch! I forwarded this to Toni Wilen, maintainer of WinUAE. If he agrees and applies this to WinUAE it will also be applied to Previous soon. I will also do some testing in the meantime.

andreas_g

@Ostrich
An extended version of your fix has been added to WinUAE, Hatari and Previous. Thank you again for finding and fixing the issue!

andreas_g

#125
I am currently working on Ethernet and during this process some questions arise. Is anyone able to do some tests with the NeXT hardware diagnostics utility on an 68030 NeXT Computer? It would be great if someone could run the Ethernet tests (i) with these parameters (Ethernet test parameters can be set from the "s" menu):

Test 1:
Transmit block size: 128H
Receive block size: 400H

Test 2:
Transmit block size: a0H
Receive block size: 40H

Test 3:
Transmit block size: 400H
Receive block size: 123H

Please check if these tests succeed and if not write down and post the error messages that are shown or ideally all messages from the start of the test.

It is not necessary to connect the machine to a network. The test will internally loop back the Ethernet packets.

cuby

#126
Just started my 030 cube, but I need to figure out how to boot the diagnostics first... now where's my Thinnet hardware?

IMAGE 2026-10-31 16:40:44.jpg

retronym67

Hi, I'm new here, and it seems I'm having some issues with the CTRL key. Specifically, I would like to use the Previous Emulator to program some small projects in NextStep 3.3.

Unfortunately, I can't seem to connect two objects in Interface Builder. To do this, you have to click on one object (e.g., a Slider) while holding down the CTRL key and drag it to a second object (e.g., a TextField). However, it doesn't seem to recognize the CTRL key in the Previous Emulator (neither on the Mac in version 4.5 nor in Bare Metal on the Raspberry Pi).

andreas_g

Key positions on the NeXT keyboard might be different from the host keyboard. Which key do you want to press (see keyboard photo)?

NeXT_Computer_keyboard_66682.jpg

retronym67

Quote from: andreas_g on Nov 01, 2026, 05:45 PMKey positions on the NeXT keyboard might be different from the host keyboard. Which key do you want to press
-> On the far left, the key labeled "Ctrl"

andreas_g

Is the option "Enable auto-locking" or "Map control-click to right-click" enabled in the Mouse options?

retronym67

Quote from: andreas_g on Nov 01, 2026, 06:12 PMIs the option "Enable auto-locking" or "Map control-click to right-click" enabled in the Mouse options?
"Enable auto-locking" was enabled and now it works by disabling it!
Thx!