infinite-mac icon indicating copy to clipboard operation
infinite-mac copied to clipboard

Investigate Previous

Open mihaip opened this issue 1 year ago • 10 comments

NeXTSTep is not System Software/Mac OS, but it's a contemporary and would be interesting to see how it influenced Rhapsody and Mac OS X.

Homepage: http://previous.alternative-system.com/ Source code: https://sourceforge.net/projects/previous/ Mac builds: https://previous.unixdude.net/ Development discussions: http://www.nextcomputers.org/forums/index.php?topic=2642.0 (two threads mentioning Emscripten) OS downloads: https://winworldpc.com/product/nextstep/3x and https://winworldpc.com/product/nextstep/4x

  • [x] Basic boot
  • [x] Video out
  • [x] Sound out
  • [ ] Disk image loading
    • [ ] Floppy
    • [x] Hard disk
    • [x] CD-ROM
  • [x] Keyboard input
  • [x] Mouse input
  • [ ] Performance
    • [x] Add framebuffer hashing
    • [x] Avoid frequent Wasm <-> JS traversals (may need to move for(;;) {...} body in m68k_run_mmu040 to a separate non-inlined function)
    • [x] Adjust emulated speed (see host_real_time_offset checks)
    • [ ] Investigate speeding up the boot by disabling networking bits
    • [x] Semi-frequent skipped frames when moving the mouse around
    • [ ] Many disk chunks are loaded after the Workspace Manager is rendered
  • [ ] Bugs
    • [x] Colors are off
    • [x] Blank screen while doing initialization test
    • [x] Date/time is off
    • [x] #278
    • [x] Mouse is too sensitive
    • [x] Double clicking does not work and keys send repeat events under NeXTStep 0.8
  • [x] Add support for more OS versions
    • [x] NeXTStep 0.8 (tour)
    • [x] NeXTStep 0.9
    • [x] NeXTStep 1.x
    • [x] NeXTStep 2.x
    • [ ] Add Developer tools to 3.3 image and defragment it
    • [x] OPENSTEP 4.x (see this page for all the capitalization rules)
  • [ ] Features
  • [x] NeXT version of Infinite HD
    • [x] Doom and DoomEd
    • [x] WorldWideWeb/Nexus
    • [x] OmniWeb
    • [x] Daydream/Darkmatter
  • [x] UI
    • [x] Add dark screen frame
    • [x] Add NeXT-style appearance
    • [x] Mark notable releases
    • [x] Add "NeXT" filter
    • [x] Allusion to NexT in the intro text and about screen (add FAQ?)
  • [ ] Code cleanup
    • [ ] Remove more SDL references
    • [ ] Remove need for SDLGui_Init,SDLGui_Text and other stubs
  • [x] Update fork to 3.1 release and see if there's any benefit to using ADB input

mihaip avatar Mar 21 '23 18:03 mihaip

+1 for this! Many of the pre-Mosaic WWW browsers* compile and run in Previous, so this would be a wonderful way to be able to showcase them.

* http://9p.sdf.org/who/tweedy/ancient_browsers/index.html

tweedyf avatar Aug 14 '23 19:08 tweedyf

Getting somewhere:

localhost_3127_1992_System%207 1_machine=NeXTstation+Turbo+Color debug_paused=true

mihaip avatar Jan 04 '24 17:01 mihaip

Early version of this is now running at https://infinitemac.org/1994/NeXTSTEP%203.3

mihaip avatar Jan 07 '24 04:01 mihaip

I have a question, is there a possibility of utilizing a differently formatted Infinite HD disk image under NeXTSTEP? Or is NeXTSTEP already have HFS support?

Lucas-mother3 avatar Jan 24 '24 02:01 Lucas-mother3

NeXTSTEP has HFS support (I'm not sure since which version, but it's definitely there in 3.3), which does allow the Infinite HD and Saved HD disks to get mounted. Saved HD is useful, both for persistence and as a bit-bucket to transfer data to/from other emulators (most useful when used in combination with Basilisk II/SheepShaver based ones, because then you can use The Outside World to get data in/out).

Infinite HD is less useful because you can't actually run any software on it (though it might be fun to get Daydream running). However, I can look into whether I can make a variant of it that has NeXTSTEP-only software. (there's already a System 6-and-earlier variant of Infinite HD that gets built).

image

mihaip avatar Jan 24 '24 05:01 mihaip

NeXTSTEP has HFS support (I'm not sure since which version, but it's definitely there in 3.3), which does allow the Infinite HD and Saved HD disks to get mounted. Saved HD is useful, both for persistence and as a bit-bucket to transfer data to/from other emulators (most useful when used in combination with Basilisk II/SheepShaver based ones, because then you can use The Outside World to get data in/out).

Infinite HD is less useful because you can't actually run any software on it (though it might be fun to get Daydream running). However, I can look into whether I can make a variant of it that has NeXTSTEP-only software. (there's already a System 6-and-earlier variant of Infinite HD that gets built).

image

I could recommend getting the WorldWideWeb/Nexus working on that, and putting it into Infinite HD. Maybe Doom too if we could be able to use and distribute the NeXTSTEP source. I am interested in NeXT emulation mainly to try out the first ever web browser.

Lucas-mother3 avatar Jan 24 '24 08:01 Lucas-mother3

ISO downloads for a bunch of NeXTStep/OpenSTEP versions (including "J" versions): https://fsck.technology/software/NeXT/NeXTSTEP%20Installation%20Media/ https://fsck.technology/software/NeXT/OpenStep%20Installation%20Media/

Lucas-mother3 avatar Jan 27 '24 14:01 Lucas-mother3

Does Networking work in NeXTSTEP in Infinite Mac? Can you ping 1.1.1.1?

rocheston avatar Feb 01 '24 05:02 rocheston

Does Networking work in NeXTSTEP in Infinite Mac? Can you ping 1.1.1.1?

No networking support at this time.

mihaip avatar Feb 01 '24 06:02 mihaip

There is now a NeXT version of Infinite HD with some apps. Notably, it includes Daydream/Darkmatter (a Mac emulator) thus you can experience System 7.1 running on black hardware:

image

mihaip avatar Mar 14 '24 06:03 mihaip