News:

HTTPS is back; rejoice if you love security theatre

Main Menu

Recent posts

#11
Virtualization / Re: What Needs to be done for ...
Last post by mikeboss - May 25, 2026, 11:33 AM
IMHO it's always better to capture the unmolested data. filters can easily be applied later if desired.
#12
Software / Re: Looking for NeXT Mach, gcc...
Last post by ptek - May 25, 2026, 10:53 AM
or just use:

$ basename `pwd`

I think this is the shortest command line. The line I used before the previous post was longer still  :'(
#13
Software / Re: Tutorial:
Last post by ptek - May 25, 2026, 10:50 AM
Can you add Interface Builder™ and Object-Oriented Design in the NeXTStep® 2.0 Environment to the title. I don't know why I forgot that.
#14
Virtualization / Re: What Needs to be done for ...
Last post by andreas_g - May 25, 2026, 08:49 AM
Question on sound recording: At the moment Previous records sound after volume adjustment and the experimental (and not very accurate) low-pass filter is applied. Do we want to keep this behaviour or do we prefer saving sound before these adjustments?

In other words: Better save what is heared from Previous or better save the pure data?
#15
Software / Re: Tutorial:
Last post by Rhetorica - May 25, 2026, 08:32 AM
Not the most useful thread title, but definitely a valuable find.
#16
Software / Tutorial: Interface Builder™ a...
Last post by ptek - May 25, 2026, 07:51 AM
Interface Builder™ and Object-Oriented Design in the NeXTstep® Environment by Michael K. Mahoney

This was available for on the Peanuts-1 CD but the following link converts the .ps to .pdf

https://discmaster.textfiles.com/view/29330/Peanuts-1.iso/Documents/developer/objc/IB_tutorial.ps.gz/IB_tutorial.ps

It seems to be for NS2.0 but should be easy to change for NS3.3/OS4.2. He also co-wrote the free NextStep programming pdf on the Simson site.
#17
Hardware / Re: NeXTSTEP on PA-RISC | open...
Last post by legodude - May 25, 2026, 02:33 AM
I love my turbo color, but my favorite Next system is my 712/100... 192mb and dual monitors.
#18
Software / Re: Turbolent's projects: driv...
Last post by ptek - May 25, 2026, 01:21 AM
Quote from: turbolent on May 24, 2026, 10:56 PM
QuoteTo get things out of the way—pTek will be disappointed to learn that all of this is for OPENSTEP 4.2 only and will not work on NEXTSTEP 3.3. Sorry, buddy.

As for compatibility with other operating system versions: My main system is OPENSTEP and so far I have only focused on that. These packages might also work on Rhapsody and even NeXTSTEP, I just simply haven't tried yet. Feedback (and patches) are very welcome!

  The RTL drive compiled straight away with NS3.3, the EIDE driver I had to use #ifdef  DRIVERKIT_VERSION_330 around the __private_extern__ calls around your code to get it compiled. I still have to try the EIDE driver.

Quote from: turbolent on May 24, 2026, 10:56 PM
QuoteLooking through Turbolent's other repos, I noticed two drivers, both of which are quite young:

Driver for Bus Master IDE: https://github.com/turbolent/BusMasterIDE (3 weeks ago)
Driver for RTL8139 ethernet devices: https://github.com/turbolent/RTL8139 (2 weeks ago!)

Regarding the drivers:

I recently came across Omores' video on how to run Rhapsody DR2 on a modern x86 system: https://www.youtube.com/watch?v=uE6qp94InBM. So I got the same Gigabyte mainboard and was able to recreate the setup: Both Rhapsody and also OPENSTEP run really well (NeXTSTEP probably too, but I haven't tried yet). Installation on this board works, because it can not only emulate SATA drives as IDE, but also in a way that NeXTSTEP/OPENSTEP/Rhapsody require, IRQ 14 for the primary IDE/ATA controller ("legacy IDE emulation").

It turns out that the generic EIDE drivers that ship in OPENSTEP (and I think also in Rhapsody), e.g. "Primary/Secondary (Dual) EIDE/ATAPI Device Controller", only support slow PIO modes (see https://www.idc-online.com/technical_references/pdfs/data_communications/Ata_Ide_And_Eide.pdf). Only the PIIX driver ("Intel PIIX PCI EIDE/ATAPI Device Controller") supports fast transfers via (bus-master) DMA! So BTW, if you are running OPENSTEP/Rhapsody in a VM, make sure to replace the Primary/Secondary driver with the PIIX driver after installation, and tick "Bus Master DMA".

Only some old mainboards have a PIIX chip, so I couldn't use the PIIX driver on the modern mainboard. I then realized that the modern mainboard doesn't just support legacy IDE emulation, but it also supports bus-master DMA!

So I investigated how to get bus-master DMA support added to the EIDE driver. Though we don't have the original sources of the OPENSTEP EIDE driver, I found newer sources in the Darwin 0.3 open source SDK (https://github.com/evolver56k/Darwin-0.3/tree/master/drvEIDE-1/EIDE.drvproj). While they unfortunately didn't build on OPENSTEP, the PIIX sources showed how to implement bus master DMA (which isn't PIIX-specific). With the help of https://wiki.osdev.org/PCI_IDE_Controller and https://web.archive.org/web/20230225074319/http://www.bswd.com/pciide.pdf I then wrote a new EIDE driver. I've been running it for a while and haven't had any problems yet. I'm using one of those cheap "M.2 SSD SATA Adapter 2 in 1 16GB" (they're around ~25$) and everything is very snappy :-)

  I think the NeXT EIDE drivers only went up to ATA-2 standard (Or was it ATAPI-2 standard?) because that is when it started to get the HDD information from the HDD instead of the BIOS. Don't forget to use the idemodes program that is supplied with the Darwin 0.3 EIDE driver. By editing it can read and display the correct LBA and sectors for over 8GB.

  I'm glad you managed to make a compilable as I was not looking forward to starting from stretch and copying and posting code from the drv-EIDE as I can play with your one instead.

Quote from: turbolent on May 24, 2026, 10:56 PM
QuoteI should note that the drivers might work just fine on NS3.3, since OS4.2's dev environment literally can't produce drivers; NeXT continued using (and recommending) 3.3 systems for this purpose until x86 was deprecated in OS X Server 1.0. I suppose Turbolent might have used the 3.3 dev environment installed on 4.2, though, in which case actual usage on 3.3 would be untested...

Yes, the drivers might also work on NeXTSTEP, I just haven't tested that yet. I'll try to set up NeXTSTEP on the machine I got and see if the drivers and the package manager work there, too.

I also read somewhere that OPENSTEP supposedly can't produce drivers - but found it not to be true: I have an OPENSTEP 4.2 system with Developer Tools and Patch 4 installed, and that's all that is needed to build the two drivers.

This was because it was difficult to compile the example drivers with Project Builder on OS4.2. If you did not convert the driver with Project Builder and just copied them to a local folder and used gnumake in the terminal then the driver would compile.
#19
Software / Re: Turbolent's projects: driv...
Last post by turbolent - May 25, 2026, 01:15 AM
You should definitely give it another try! AI assistance has been a game changer, without it, none of this would be possible (it would probably take me years, given these are just side projects).

For both drivers I first used 86Box (but VirtualBox or VMWare should work the same) and a Telnet MCP server (https://github.com/turbolent/telnet-mcp), with a raw disk image. The AI can run commands in the VM and transfer files with FTP (both telnet and FTP servers are set up by default already). Then once the new driver code is copied over and built and the new driver installed (small script helps), cycle and try it out.

Then once the driver is working in the VM, I used dd and a cheap SATA to USB adapter to transfer that same raw disk image, and booted it up on the real hardware. Took me a few hundred tries, but persistence is key :-D

At some point I considered automating it more, but didn't end up having the time.

One thing I wanted to have, but I couldn't figure out, and don't even know if possible: Get boot logs on serial output. If anyone has any hints on how this could be done, please let me know.
#20
Software / Re: Turbolent's projects: driv...
Last post by jeffburg - May 25, 2026, 01:02 AM
@turbolent thanks for all your hard work here. this is amazing! I haven't tried building my own white hardware, but I did invest some time into getting the experience to be good in VirtualBox. I added widescreen resolutions to the VirtualBox VGA driver.

The main thing that is pretty bad in VirtualBox is the mouse driver situation. VirtualBox just does not do a good job emulating a PS2 mouse at this point (especially when running in retina resolution on a Mac). So I wanted to see if I could use the VMWare OpenStep driver to work on VirtualBox so we would have per pixel point precision, but I didn't get very far. Now granted this was before Vibe Coding AI... so I should probably give it another try.

But anyway, your recent work is a huge inspiration! Keep it up!