Lotus Improv 1.0 Beta with NextStep 2.0 Beta ("Magenta")

NeXT Computer, Inc. -> NEXTSTEP / OPENSTEP Software

Title: Lotus Improv 1.0 Beta with NextStep 2.0 Beta ("Magenta")
Post by: pl212 on July 09, 2025, 03:36:32 PM
For a few years I've have a MO disk labeled Lotus Improv Release 1.0 Beta (v 89.4):




Having finally had the time to examine it, I discovered it contains a bootable copy of NextStep 2.0 beta. The codename for this operating system release was "Warp 4.1 Magenta" according to a readme from Lotus on the disc.




I've imaged the disc (after write-protecting it) with:

dd if=/dev/od0a of=Improv_1.0Beta.dd
Is there an obvious place to upload it here, besides Internet Archive?

I'm also eager to learn if there's a better way to capture this disc forensically than the way I've done so far...


Title: Re: Lotus Improv 1.0 Beta with NextStep 2.0 Beta ("Magenta")
Post by: user217 on July 09, 2025, 05:20:38 PM
What a scoop! If no one else has PMed you yet about a place to upload it, I'll be happy to mirror it at INDeX (//******************/), which has a small (but growing) OS installation media collection (//******************/cdrom/OS/). I'm always looking for more stuff that hasn't been publicly posted yet; these forums are full of dusty old closet goldmines...

The big non-IA software collections around here are NeXTfiles and fsck.technology; NeXTfiles doesn't like hosting copyrighted installation media, and fsck.technology has been pretty mostly quiet for a while. I hope to eventually offer a middle ground for stuff that's "in the gray" as obvious abandonware.
Title: Re: Lotus Improv 1.0 Beta with NextStep 2.0 Beta ("Magenta")
Post by: andreas_g on July 10, 2025, 12:08:21 AM
Very interesting discovery! I can't wait to test this on Previous.
Title: Re: Lotus Improv 1.0 Beta with NextStep 2.0 Beta ("Magenta")
Post by: user217 on July 10, 2025, 01:16:12 AM
(Just a quick note to say I've sent @pl212 a PM with upload details—I know from experience that it can be tricky sometimes to realize when you've got one waiting...)

While we're waiting...

https://www.youtube.com/watch?v=rgGmKD87U3M
Truly deranged nerds might spot that Improv puts the resize pip (between the sheet and the formulas) on the left side, which also affirms it was in development since before the release of NeXTstep 1.0 in 1989. NeXTstep 0.9's Digital Librarian had it on the right side (https://i.imgur.com/cZICePp.png); version 1.0 fixed it in the center (https://i.imgur.com/v1qDrsJ.png), where we expect it to be; thus 1989 practices are emulated in a 1991 release. The release version of Improv 1.0 for NeXT still has this left-handed pip (https://i.imgur.com/4AqpyvE.png).
Title: Re: Lotus Improv 1.0 Beta with NextStep 2.0 Beta ("Magenta")
Post by: protocol7 on July 10, 2025, 08:20:56 AM
Very cool! Definitely gonna give this a spin when I can.

I'd suggest putting it on IA anyway just for posterity.
Title: Re: Lotus Improv 1.0 Beta with NextStep 2.0 Beta ("Magenta")
Post by: pl212 on July 10, 2025, 02:54:15 PM
Great, thanks all! Image is now uploaded to @Rhetorica 's server.

A few notes from looking at the image of the OD:

1) I set the write-protect switch before I ever inserted the disc into my Next.
2) This appears to have paid off, as the last modification date is 1990-09-27.
3) In terms of actual hour-and-minute timestamps, the last item touched was the .NextTrash folder, about a half hour after the (copy? modification?) timestamp of Lotus's ReleaseNotes.wn file.
4) I'm pretty sure this disc was never written to, or even booted from, after creation? (I wasn't about to boot the actual disc myself!)

I'll add this to the Internet Archive as well, perhaps with a few PDF conversions of the WriteNow files (which I'll share with Rhetorica of course too). Might have to wait a few days as I'm traveling for the weekend, but I'd encourage everyone to poke around the disc and see what's interesting...


Title: Re: Lotus Improv 1.0 Beta with NextStep 2.0 Beta ("Magenta")
Post by: user217 on July 10, 2025, 04:46:47 PM
Ack! I'm sorry to say the upload didn't go through. Serves me right for building an upload system without fully testing it with large files first. The server was configured to (silently) reject anything over 16MB.

I've fixed the problem and confirmed that the server will now actually accept uploads of up to 2048 MB. Please try again @pl212 when you're next able. The procedure is the same as before, but you'll actually get an "upload successful" message when it works.

Apologies for the delay, everyone. PHP and I are never easy allies.

[Update: pl212 has been in touch with me and will redo the upload on Monday.]
Title: Re: Lotus Improv 1.0 Beta with NextStep 2.0 Beta ("Magenta")
Post by: eagle on July 10, 2025, 07:57:46 PM
I absolutely love Improv, and I'm pretty sure I still have my installer around somewhere.  I have it on 3.5" floppy disks -- it came with my NeXT Computer when I got it from a NeXT employee... Blaine something.  All the manuals had his business card taped to the front.

Improv is, bar none, my favorite spreadsheet, even today, 30 years later.
Title: Re: Lotus Improv 1.0 Beta with NextStep 2.0 Beta ("Magenta")
Post by: pl212 on July 11, 2025, 12:44:09 AM
Just an update that I'm out of town for the weekend, but will re-upload the dd image on the server when I get back on Monday...

Meanwhile, I thought I might experiment with re-creating the environment that Lotus assumed you'd have when they distributed this disc with the NS2.0 beta on it. 

One problem, however, is that we can't boot from an emulated optical disc image -- or at least I couldn't, using a ZuluSCSI. I think this is due to differences in sdmach versus odmach, or at least different assumptions about a SCSI versus non-SCSI boot process?

Here are some things we could try:

1) Start with a fresh NS1.0a install on an emulated SCSI drive, and upgrade to NS2.0 beta using the disc.

But: NextStep 1.0 doesn't allow you to insert a locked, write-protected optical disc.  (Is this correct? It certainly seems to be on my Cube.)  And I'm not willing to put the optical disc in write-enabled.

2) Start with a fresh NS2.0 install on an emulated SCSI drive. This allows the insertion of a write-protected optical disc -- in fact, it's how I imaged the disc in the first place.

But: Installing 2.0beta on top of 2.0 doesn't seem like a good idea.  Haven't tried it yet...

3) Start with a fresh NS2.0 install on an emulated SCSI drive, insert the write-protected optical disc, and install 2.0beta onto a second, blank emulated SCSI drive, using the optical disc's BuildDisk app. Haven't tried this yet but it seems promising.

4) Do the same thing but with a loopback mount point, reading directly from the dd image?

5) Use a spare blank optical disc (which I have) and dd the Improv image file onto it, creating a real optical disc that we don't care if we write to.

6) Do this all using Previous and save a lot of trouble? :)
Title: Re: Lotus Improv 1.0 Beta with NextStep 2.0 Beta ("Magenta")
Post by: pTeK on July 12, 2025, 05:34:53 PM
Quote from: eagle on July 10, 2025, 07:57:46 PMI absolutely love Improv, and I'm pretty sure I still have my installer around somewhere.  I have it on 3.5" floppy disks -- it came with my NeXT Computer when I got it from a NeXT employee... Blaine something.  All the manuals had his business card taped to the front.

Improv is, bar none, my favorite spreadsheet, even today, 30 years later.

You sound like you are skilled with Improv. Can you use it to do Grant charts? That is one good thing with modern Excell the gradient filled grids to show completion of the task. I guess you could do that showing percentages or asterisks or hash glyphs in the cell.
Title: Re: Lotus Improv 1.0 Beta with NextStep 2.0 Beta ("Magenta")
Post by: user217 on July 12, 2025, 06:20:58 PM
Quote from: pTeK on July 12, 2025, 05:34:53 PMYou sound like you are skilled with Improv. Can you use it to do Grant charts? That is one good thing with modern Excell the gradient filled grids to show completion of the task. I guess you could do that showing percentages or asterisks or hash glyphs in the cell.

It sounds like you're referring to Gantt charts (https://en.wikipedia.org/wiki/Gantt_chart). Unfortunately, no. Improv is basically the PivotTable feature from Excel. This is sometimes called a "data modeling" program rather than a "spreadsheet" program. It has the ability to make normal 3D charts (as explained in the demo video I posted) but it's not a general-purpose spreadsheet editor.

For that matter you shouldn't be using Excel for Gantt charts either—the correct tool is Project, another application in the MS Office suite. On NeXT, the equivalent is Lighthouse TaskMaster (http://www.kevra.org/TheBestOfNext/ThirdPartyProducts/ThirdPartySoftware/InformationManagement/TaskMaster/TaskMaster.html). Use badkfetvn as a license key.

Lighthouse also made a clone of Improv called Quantrix, and a "traditional spreadsheet" called ParaSheet. From the dates I'm guessing most Improv users would've migrated to Quantrix, since Improv only ever had three releases: 1.0 for NeXT in 1991, 2.0 for Windows in 1993, and 2.1 for Windows in 1994. Perversely there is a company called Quantrix today that sells a similar program! I'm not sure if they're related, but it appeared around the time Sun formally killed Lighthouse, so it's possible. A story to investigate, definitely.
Title: Re: Lotus Improv 1.0 Beta with NextStep 2.0 Beta ("Magenta")
Post by: pTeK on July 13, 2025, 09:00:07 AM
Quote from: Rhetorica on July 12, 2025, 06:20:58 PMIt sounds like you're referring to Gantt charts (https://en.wikipedia.org/wiki/Gantt_chart). Unfortunately, no. Improv is basically the PivotTable feature from Excel. This is sometimes called a "data modeling" program rather than a "spreadsheet" program. It has the ability to make normal 3D charts (as explained in the demo video I posted) but it's not a general-purpose spreadsheet editor.

For that matter you shouldn't be using Excel for Gantt charts either—the correct tool is Project, another application in the MS Office suite. On NeXT, the equivalent is Lighthouse TaskMaster (http://www.kevra.org/TheBestOfNext/ThirdPartyProducts/ThirdPartySoftware/InformationManagement/TaskMaster/TaskMaster.html), which you can get from my updated Lighthouse suite CD here (//******************/cdrom/) or singularly here (//******************/archive/apps/LighthouseDesign/TaskMaster/). Use badkfetvn as a license key.

Lighthouse also made a clone of Improv called Quantrix, and a "traditional spreadsheet" called ParaSheet. From the dates I'm guessing most Improv users would've migrated to Quantrix, since Improv only ever had three releases: 1.0 for NeXT in 1991, 2.0 for Windows in 1993, and 2.1 for Windows in 1994. Perversely there is a company called Quantrix today that sells a similar program! I'm not sure if they're related, but it appeared around the time Sun formally killed Lighthouse, so it's possible. A story to investigate, definitely.
You are correct with Gantt charts. Will look into TaskMaster. MS Project did not come with student license of MS Office so we used Excel instead and found a template.
Title: Re: Lotus Improv 1.0 Beta with NextStep 2.0 Beta ("Magenta")
Post by: pl212 on July 14, 2025, 12:37:40 AM
The file Improv1.0Beta.dd has been uploaded.


;D
Title: Re: Lotus Improv 1.0 Beta with NextStep 2.0 Beta ("Magenta")
Post by: user217 on July 14, 2025, 01:17:03 AM
Quote from: pl212 on July 14, 2025, 12:37:40 AMThe file Improv1.0Beta.dd has been uploaded.


;D

Well, some disappointing news. So far Previous can't make heads nor tails of it—NS 1.0a calls it uninitialized and threatens to format it, and the ROM monitor can't boot off it. I even tried mounting it as a SCSI device, but that got me nowhere either.

"Improv1.0Beta.dd" is exactly what pl212 uploaded and "Improv1.0Beta.dd.gz" is merely a GZipped version of the same.

Here's hoping @andreas_g knows his filesystems well enough to figure out what's wrong. My best guess is that the dd command should have been copying from device rod0a instead of od0a—the "r" stands for "raw," and is what fsck uses. But I'm not really an expert in the vagaries of vintage BSD device management, so that could be totally off base!

D:\Emulation\Previous_r1660>ditool -im \NeXT\Improv1.0Beta.dd -lsp
Magneto-optical disk detected
Bad number of alternates per alternate group
Disk '' '' '' 0 MBytes
  Sector size: 1024 Bytes


---- done.

D:\Emulation\Previous_r1660>ditool -im \NeXT\Improv1.0Beta.dd -ls
Magneto-optical disk detected
Bad number of alternates per alternate group
---- done.

If/when we figure out how to handle this properly I'll make a nice package with a readme and the photo.

(EDIT: Going to try restoring the image by reversing the dd command. Should have thought of that sooner!)
Title: Re: Lotus Improv 1.0 Beta with NextStep 2.0 Beta ("Magenta")
Post by: user217 on July 14, 2025, 03:26:39 AM
Re-dd'ing it onto empty.ecc.od worked!

Not sure if this'll be bootable; do MO disks have boot sectors?
Title: Re: Lotus Improv 1.0 Beta with NextStep 2.0 Beta ("Magenta")
Post by: andreas_g on July 14, 2025, 06:35:17 AM
I had the same idea and copied the image back to an empty optical disk image using Previous. I can confirm: It does boot!



This is from my image, but I am pretty sure yours will work the same.

I also succeeded upgrading an 1.0a SCSI disk image to 2.0 Magenta. I can upload both images (Optical and SCSI) if you tell me how to do that.

One problem exists: Due to some bug in Previous' 68040 FPU simulation the images only boot on 68030. I am trying to find the bug and fix it.
Title: Re: Lotus Improv 1.0 Beta with NextStep 2.0 Beta ("Magenta")
Post by: protocol7 on July 14, 2025, 08:14:38 AM
Thanks for sharing the disk! I'm digging into it now.

I dumped the contents of Rhetorica's od image to a dump file which I'm now restoring to an empty MO image. Hopefully this will get me a bootable copy.

This is how the old 0.9-2.0 MO releases were shared some years back.

If you look at the .dd image in a hex editor you'll notice the lack of a disklabel. It's also about 4MB smaller than the empty od image that comes with Previous. This is likely why it can't be read as-is. There was some discussion about this back when the 1.0a Diagnostic MO disc was shared. IIRC the issue is that NS doesn't expose the (ECC?) data that holds this info.

It might be possible to access it within linux or similar but I don't know for certain. The data is there somewhere. It's just a case of how to get at it.
Title: Re: Lotus Improv 1.0 Beta with NextStep 2.0 Beta ("Magenta")
Post by: pl212 on July 14, 2025, 02:07:19 PM
Yes, I've noticed that it doesn't seem to image as a SCSI device - or at least not a bootable one. And the NeXT optical drive is of course *not* a SCSI device; it uses a proprietary connection so that could be one of the issues we're facing here.

I vaguely remember some kind of "optical disc dump" tool that could be used to create a more appropriate archive of these kinds of cartridges?
Title: Re: Lotus Improv 1.0 Beta with NextStep 2.0 Beta ("Magenta")
Post by: user217 on July 14, 2025, 02:30:46 PM
Quote from: andreas_g on July 14, 2025, 06:35:17 AMI also succeeded upgrading an 1.0a SCSI disk image to 2.0 Magenta. I can upload both images (Optical and SCSI) if you tell me how to do that.

The .od I got doesn't seem to be bootable (Previous crashed following a very curious "Unknown binar~" in the ROM monitor) so I'll send you upload instructions.
Title: Re: Lotus Improv 1.0 Beta with NextStep 2.0 Beta ("Magenta")
Post by: protocol7 on July 14, 2025, 02:50:42 PM
Yeah I found out from trial and error that there's something up with Rhetorica's od image. So I made my own by dd-ing the original dump to a formatted od image and it's booting fine now.

Some initial screenies:




 
Title: Re: Lotus Improv 1.0 Beta with NextStep 2.0 Beta ("Magenta")
Post by: pl212 on July 14, 2025, 03:14:15 PM
Quote from: Rhetorica on July 14, 2025, 01:17:03 AMMy best guess is that the dd command should have been copying from device rod0a instead of od0a—the "r" stands for "raw," and is what fsck uses.

I'll give this a whirl, just to see the size differences if nothing else...
Title: Re: Lotus Improv 1.0 Beta with NextStep 2.0 Beta ("Magenta")
Post by: user217 on July 14, 2025, 06:00:38 PM
Summary of apparent differences (– means in Magenta only, + means in final 2.0 release only):

/NextDeveloper/Demos:
+ Crop.app
– Draw-1.0
+ Grab
+ GuidedTour.app
+ ImprovDemo.app
+ Keyboard
– Mandelbrot
+ Mandelbrot.app
Icons changed in DataVizBridge, PendulumLab.app, ShowAndTell, TopologyLab.app

/NextApps:
— Mathematica.app
Icon changed in Terminal.app, seems to be a new implementation (1.0a's Terminal was single-window; if you wanted more you had to start the program multiple times)

The presence of Mathematica.app is probably just a consequence of this being an upgrade from 1.0a. The version of Mathematica is still 1.0 and the copyright date is still 1989.

/NextAdmin:
+ FrameUpdate.pkg
+ Upgrade2.0.app

/NextDeveloper/Apps:
– OldShell
– OldTerminal
(these match Shell and Terminal in 1.0a)

/NextDeveloper/Examples:
+ BusyBox
– Calculator++
+ CalculatorLab++
– Curve*
– Graph*
– IBPalette*
+ InterfaceBuilder
+ Lines
– MyShell*
+ ScreenSender
+ Subprocess
– TextEditor*
+ ToolInspector
+ VisibleView
* Not in my copy of 1.0a; possible new discovery
Title: Re: Lotus Improv 1.0 Beta with NextStep 2.0 Beta ("Magenta")
Post by: protocol7 on July 15, 2025, 05:00:02 AM
Logging into the root account there's an orphan tile (linked to NextApps/Shell).

Also Console warns that /Apps and /LocalApps are missing. In the regular user account it just warns about the missing /LocalApps.



Trying to build the TextEditor example fails because the required beta version of cc is missing:



Title: Re: Lotus Improv 1.0 Beta with NextStep 2.0 Beta ("Magenta")
Post by: andreas_g on July 15, 2025, 07:57:40 AM
Can someone test if 2.0 Magenta works on a real monochrome non-Turbo 68040 Cube or Slab?

It should be possible to copy nextstep_2.0b.dd onto a SCSI disk and use it for booting a real machine.
Title: Re: Lotus Improv 1.0 Beta with NextStep 2.0 Beta ("Magenta")
Post by: andreas_g on July 16, 2025, 03:59:18 AM
I made an interesting discovery. It seems that 2.0 Magenta has some early NeXTdimension support. Obviously it can support a secondary display by accessing the VRAM of the NeXTdimension board. But the board itself is inactive (the operating system of the ND board is not started). Obviously the OS of the ND board was not ready at that time.

When talking about things that are not ready: It would be really helpful to know if 2.0 Magenta boots on a real 68040 (must be non-Turbo monochrome). I am investigating a strange FPU phenomenon.

Title: Re: Lotus Improv 1.0 Beta with NextStep 2.0 Beta ("Magenta")
Post by: andreas_g on July 20, 2025, 10:50:22 AM
Thanks to forum member KennyPowers we can now confirm that 2.0 Magenta does not run on 68040 machines due to a bug in the integrated FPSP library (simulating unimplemented packed floating point format conversion is broken).

But there is a way to fix this:
Use some hex editor with the ability to find and replace data, open a raw disk image and replace this data

F2 3C 48 23 40 24 00 00 00 00 00 00 00 02 81 A8
with this fixed version

F2 3C 48 23 40 02 00 00 A0 00 00 00 00 00 00 00
That will fix the broken part of the code inside the kernel. Please note that this won't work on encoded optical disk images as created by Previous. If you want to fix an optical disk image you have to mount it and replace the kernels (odmach and sdmach) with patched ones.

The broken instruction is fmul.x #$4024000000000000000281A8,fp0The fixed instruction is fmul.x #$40020000A000000000000000,fp0
Obviously the extended precision floating point multiply was done with double precision constant 10 instead of extended precision constant 10.
Title: Re: Lotus Improv 1.0 Beta with NextStep 2.0 Beta ("Magenta")
Post by: user217 on August 05, 2025, 10:17:08 PM
Officially archived here: https://archive.org/details/improv-beta

Let me know if it needs any edits or adjustments.
Title: Re: Lotus Improv 1.0 Beta with NextStep 2.0 Beta ("Magenta")
Post by: andreas_g on August 06, 2025, 01:36:20 AM
Quote from: Rhetorica on August 05, 2025, 10:17:08 PMOfficially archived here: https://archive.org/details/improv-beta

Let me know if it needs any edits or adjustments.
Great description for that image! Just one suggestion: Maybe it would make sense to also add the original data to the archive. The Previous disk image is useless for those wanting to test this on real hardware.
Title: Re: Lotus Improv 1.0 Beta with NextStep 2.0 Beta ("Magenta")
Post by: Andreas on August 06, 2025, 05:32:57 AM
Stupid question: is it possible to transfer OD images to an ISO for CD-ROMs? (even if not bootable)
Title: Re: Lotus Improv 1.0 Beta with NextStep 2.0 Beta ("Magenta")
Post by: user217 on August 06, 2025, 05:42:59 AM
Quote from: andreas_g on August 06, 2025, 01:36:20 AMGreat description for that image! Just one suggestion: Maybe it would make sense to also add the original data to the archive. The Previous disk image is useless for those wanting to test this on real hardware.

It is done.

Quote from: Andreas on August 06, 2025, 05:32:57 AMStupid question: is it possible to transfer OD images to an ISO for CD-ROMs? (even if not bootable)

Not directly as the file system would be incompatible—NeXT CDs are ISO-9660 with Rock Ridge extensions, and I think MOs are UFS like hard drives (?). The pragmatic approach would be to extract all the files and then create an ISO image with mkisofs, which I can help with. Are you looking for a Lotus Improv beta CD, or is there something else in need of archiving?
Title: Re: Lotus Improv 1.0 Beta with NextStep 2.0 Beta ("Magenta")
Post by: Andreas on August 08, 2025, 01:26:22 AM
Quote from: Rhetorica on August 06, 2025, 05:42:59 AMNot directly as the file system would be incompatible—NeXT CDs are ISO-9660 with Rock Ridge extensions, and I think MOs are UFS like hard drives (?). The pragmatic approach would be to extract all the files and then create an ISO image with mkisofs, which I can help with. Are you looking for a Lotus Improv beta CD, or is there something else in need of archiving?
The OD images like Mediastation can be used on previous, but how can we handle this on real NeXT without working OD drive? Best way seems to me to put all the content from the backuped ODs also on an ISO - or is there a better way?
Title: Re: Lotus Improv 1.0 Beta with NextStep 2.0 Beta ("Magenta")
Post by: protocol7 on August 08, 2025, 03:46:14 AM
The old MO images of NS were shared as dump files. Maybe this is the best option to share a MO in a NeXT-compatible format?

I think a straight dd dump is still valuable as an archival format even if it's not usable as-is. It can be used to make a Previous-compatible image. Or one can be provided.

In the case of MediaStation where it's an application and not a bootable OS a tar archive would also work.
Title: Re: Lotus Improv 1.0 Beta with NextStep 2.0 Beta ("Magenta")
Post by: andreas_g on August 08, 2025, 05:36:13 AM
I agree with protocol7 that the dd dumps are still a good format for archiving. Definitely better than encoded images that are only readable by Previous or ditool. The dd dumps can be copied back to an encoded disk image via Previous or to a real disk using a real machine.

The only question to me is if it matters if those images are created by dd if=od0a or if=rod0a (also applies to sd0a vs. rsd0a, sd1b vs. rsd1b, etc). The results differ.

I am not sure if I can teach ditool to extract files from partition images instead of full disk images. That might help handling dd dumps of partitions (you can also dd full disks, but that probably does not work with optical disks).
Title: Re: Lotus Improv 1.0 Beta with NextStep 2.0 Beta ("Magenta")
Post by: andreas_g on August 09, 2025, 02:40:55 AM
Quick update: ditool can now read raw partition images created with dd if=od0a of=image.dd (in fact any partitions from floppy disks, SCSI disks and optical disks).

ditool -im <file> -out <directory> -nolabel
<file> is the image file you want to extract and <directory> is the destination of the extracted files.

For those who want to test it early, the code is in branch_filesharing (https://sourceforge.net/p/previous/code/HEAD/tree/branches/branch_filesharing/) and branch_softfloat (https://sourceforge.net/p/previous/code/HEAD/tree/branches/branch_softfloat/) r1700 and later.
Title: Re: Lotus Improv 1.0 Beta with NextStep 2.0 Beta ("Magenta")
Post by: protocol7 on August 09, 2025, 03:52:24 AM
Thanks Andreas! This will be a big help for exporting file listings of software compilations CDs that are not in RockRidge format. Faster and easier than exporting the list inside Previous.

However, the build on linux fails at the updated ditool:

/home/me/Documents/previous-code-r1700-branches-branch_softfloat/src/ditool/ditool.c: In function 'verify_attr_recr':
/home/me/Documents/previous-code-r1700-branches-branch_softfloat/src/ditool/ditool.c:427:50: warning: format '%d' expects argument of type 'int', but argument 2 has type '__dev_t' {aka 'long unsigned int'} [-Wformat=]
  427 |                 printf("rdev mismatch (act/exp) %d != %d %s\n", fstat.st_rdev, rdev, dirEntPath.vfs);
      |                                                 ~^              ~~~~~~~~~~~~~
      |                                                  |                   |
      |                                                  int                 __dev_t {aka long unsigned int}
      |                                                 %ld
/home/me/Documents/previous-code-r1700-branches-branch_softfloat/src/ditool/ditool.c: At top level:
/home/me/Documents/previous-code-r1700-branches-branch_softfloat/src/ditool/ditool.c:666:89: warning: 'struct FTW' declared inside parameter list will not be visible outside of this definition or declaration
  666 | st char* fpath, const struct stat* sb, int typeflag, struct FTW* ftwbuf) {
      |                                                             ^~~

/home/me/Documents/previous-code-r1700-branches-branch_softfloat/src/ditool/ditool.c: In function 'clean_dir':
/home/me/Documents/previous-code-r1700-branches-branch_softfloat/src/ditool/ditool.c:688:5: error: implicit declaration of function 'nftw'; did you mean 'ftw'? [-Wimplicit-function-declaration]
  688 |     nftw(path, ditool_remove, 1024, FTW_DEPTH | FTW_PHYS);
      |     ^~~~
      |     ftw
/home/me/Documents/previous-code-r1700-branches-branch_softfloat/src/ditool/ditool.c:688:37: error: 'FTW_DEPTH' undeclared (first use in this function)
  688 |     nftw(path, ditool_remove, 1024, FTW_DEPTH | FTW_PHYS);
      |                                     ^~~~~~~~~
/home/me/Documents/previous-code-r1700-branches-branch_softfloat/src/ditool/ditool.c:688:37: note: each undeclared identifier is reported only once for each function it appears in
/home/me/Documents/previous-code-r1700-branches-branch_softfloat/src/ditool/ditool.c:688:49: error: 'FTW_PHYS' undeclared (first use in this function); did you mean 'FTW_NS'?
  688 |     nftw(path, ditool_remove, 1024, FTW_DEPTH | FTW_PHYS);
      |                                                 ^~~~~~~~
      |                                                 FTW_NS
make[2]: *** [src/ditool/CMakeFiles/ditool.dir/build.make:79: src/ditool/CMakeFiles/ditool.dir/ditool.c.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:689: src/ditool/CMakeFiles/ditool.dir/all] Error 2
make: *** [Makefile:136: all] Error 2
Title: Re: Lotus Improv 1.0 Beta with NextStep 2.0 Beta ("Magenta")
Post by: andreas_g on August 09, 2025, 08:16:55 AM
Quote from: protocol7 on August 09, 2025, 03:52:24 AMHowever, the build on linux fails at the updated ditool

This is strange. Does the old (C++) version in current trunk compile? It seems that the nftw() function and its flags are not available on your system. But the old version also used them. I read somewhere that you might have to add a definition (#define _XOPEN_SOURCE 500) before including ftw.h. But that definition was not present on the old version either and I don't want to introduce such definitions. They make the code hard to understand and hard to maintain.
Title: Re: Lotus Improv 1.0 Beta with NextStep 2.0 Beta ("Magenta")
Post by: protocol7 on August 09, 2025, 08:36:08 AM
Quote from: andreas_g on August 09, 2025, 08:16:55 AMThis is strange. Does the old (C++) version in current trunk compile?
Yep, the trunk build compiles fine. I re-ran the trunk and softfloat builds and there's an additional warning in the softfloat build:

[ 28%] Building C object src/softfloat/CMakeFiles/SoftFloat.dir/softfloat.c.o
/home/me/Documents/previous-code-r1700-branches-branch_softfloat/src/softfloat/softfloat.c: In function 'roundAndPackInt64':
/home/me/Documents/previous-code-r1700-branches-branch_softfloat/src/softfloat/softfloat.c:648:23: warning: operand of '?:' changes signedness from 'long int' to 'long long unsigned int' due to unsignedness of other operand [-Wsign-compare]
  648 |               zSign ? (int64_t) LIT64( 0x8000000000000000 )
      |                       ^

Maybe this is causing the problems later on?
Title: Re: Lotus Improv 1.0 Beta with NextStep 2.0 Beta ("Magenta")
Post by: andreas_g on August 09, 2025, 01:07:20 PM
Good news: With the help of protocol7 I was able to fix the Linux build issue and some non-critical warnings. I also changed the behaviour of ditool to auto-detect if a label is present. Therefore the -nolabel option is no longer required.
Title: Re: Lotus Improv 1.0 Beta with NextStep 2.0 Beta ("Magenta")
Post by: protocol7 on August 17, 2025, 09:34:37 AM
I just had a closer look at the second Improv installer on the disk. It's in the /Lotus/.LotusUseOnly folder and is named Improv.4.3.pkg. The timestamps are 4 hours earlier than the 4.1 installer. Comparing the contents the only differences are the two binaries: Improv and PresentationBuilder.

Here it is in 2.1. It looks much the same at first glance with the exception of the about screen showing that it's for Warp 4.3 (Presentation Builder still shows Warp 4.1):

Title: Re: Lotus Improv 1.0 Beta with NextStep 2.0 Beta ("Magenta")
Post by: user341 on August 18, 2025, 02:08:03 PM
Weird that the next version has info panel for warp. But I guess they were doing a cross development thing with it?

Go to top  Forum index