felixrieseberg / macintosh.js Goto Github PK
View Code? Open in Web Editor NEW🖥 A virtual Apple Macintosh with System 8, running in Electron. I'm sorry.
🖥 A virtual Apple Macintosh with System 8, running in Electron. I'm sorry.
A question:
Why is the Windows release in both 64 bit, and 32 bit, but the Linux one is in 64 bit only?
And has an attempt to build the source code in a 32 bit Linux environment been tried?
Oh and if it helps I am a Slackware user myself and versions 13.37 all the way to 14,.2 are available in both.
Hi felixrieseberg, it's a very interesting project. However, there are many non-debian linux distributions. Would you consider some more universal packaing format such as AppImages?
Whenever the mouse cursor is moved, it jumps around rapidly almost as if it's trying to exist in the superposition of two or sometimes three different cursor locations, each of which scale differently with mouse movement. It's difficult to describe, so I made a video: https://youtu.be/wr_hh1mULHk
macOS 10.14.6 on MacBookPro10,1/16 GB RAM/512 GB SSD. macintosh.js downloaded, unzipped, moved to /Applications. When I double-click the app the "Loading emulator dependencies..." dialog comes up and nothing else. I can quit from the menu and can access Help and Credits but the app never loads or runs. I see what loos like a similar issue was fixed on Linux but I couldn't find any mention of this bug on macOS.
Is it possible to transfer files on a linux formatted drive to the macintosh.js?
if so, what is the directory path?
Running macintosh.js on Ubuntu 20.04 it crashes while starting with the following output:
(node:201806) UnhandledPromiseRejectionWarning: Error: Cannot find module 'github-url-to-object'
Require stack:
--unhandled-rejections=strict
(see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)Some old software ask me to set the screen to Two colors, but when doing it n the monitors and sound panel, it crash the emulator.
First of all, thanks for this awesome project, that makes so easy to play around with an old OS without having to set up emulators and applications!
But unfortunately I have some bugs, one that doesn't affect the interaction with the OS, so it is fine, but I've got some corruption around the window and reinstalling didn't fix it. [screenshot below]
The other bug affects the interaction a little, it is showing 2 mouse pointers, the regular one and other that shows up blinking while I move the pointer, it shows up and disappears while I move the pointer and when it shows it steals the focus from the other pointer (but the other pointer doesn't blink), so, for example, if I click just after moving the mouse, sometimes the other pointer that clicks, and when dragging the mouse to select multiple files, it changes the selection square between the 2 pointers.
I can record the screen if you want to show the problem.
My system: Linux (Fedora 32 Gnome - X11) running on an Intel Core i5-9400f with a Vega 56 GPU (using the regular open source drivers from Fedora repos).
Hi
It is a great project!
Do you plan to make something similar with A/UX?
I know that A/UX uses System 7.0.1, which is the older OS than Mac OS 8.
However, It could be the far more interesting alternative for the Linux/Unix/Mac users that want to run classic Mac applications
on Unix.
I deleted version 1.04 and download 1.05 but it only loads with a flashing folder. Can you pleas upload 1.0.4 macOs standalone in the release section since I do not know how to build one. Thank you
I've perused the code and noticed emscripten references. Was this accomplished by compiling C++ into JS?
Could this be done with Web Assembly to improve performance?
What font is used for the "macintosh.js" header in the image?
Gives a system error, and app is unusable after that.
See title, it is stuck. Using macOS Catalina.
Hi!
2008 black MacBook Pro, 4 gig RAM, Core2 Duo
Debian Buster Stable 10.4
Loving the concept of running MacOS on my Mac,but while itinstalls well, and boots about as fast as I remember it from the Olden Days, alas it crashes as soon as I click on any of the folders or menus. No error messages appear, sadly.
What a pity because I do want to run Hypercard novels on it.
Is there a fix? Tips or trix?
Thanks for a great project.
Netscape Navigator is pre-installed, but cannot resolve DNS or access web pages. What might be involved in adding networking support to this?
The application is not downloading on ubuntu due to permissions error. Please change the permissions and give us the right to download.
Any ideas about how to implement a full screen mode ?
I was trying to move an application folder over from an old drive. The folder itself was not seen so I then moved the contents of the folder over. The files were seen but the apps were not. How can I install apps to the emulator?
Thank you for the effort, so much fun to see the old desktop 👍
I installed via https://github.com/felixrieseberg/macintosh.js/releases/download/v1.0.2/macintosh.js-1.0.2-1.x86_64.rpm
At bootup it gets stuck at 66.6% and exceptions is logged:
BasiliskII-worker-boot.js:209 getPrefs: Failed to set prefs Error: EACCES: permission denied, open '/usr/lib/macintosh.js/resources/app/src/basilisk/prefs'
at Object.openSync (fs.js:462:3)
at Object.func [as openSync] (electron/js2c/asar.js:140:31)
at Object.writeFileSync (fs.js:1283:35)
at getPrefs (file:///usr/lib/macintosh.js/resources/app/src/basilisk/BasiliskII-worker-boot.js:207:8)
at startEmulator (file:///usr/lib/macintosh.js/resources/app/src/basilisk/BasiliskII-worker-boot.js:493:29)
at self.onmessage (file:///usr/lib/macintosh.js/resources/app/src/basilisk/BasiliskII-worker-boot.js:357:5)
...
/usr/lib/macintosh.js/resources/app/src/basilisk/BasiliskII.js:5649 Uncaught Loading data file "prefs" failed.
/usr/lib/macintosh.js/resources/app/src/basilisk/prefs did not exist but /usr/lib/macintosh.js/resources/app/src/basilisk/prefs_template did. Copying the template to prefs resolved issue.
Not sure if this is bug or documentation oversight?
Running the standalone app on a Mac, I keep hitting command-W and similar shortcuts that, instead of being directed to the emulated target system, are received by the Mac app, causing it to close the window (and thereby killing it).
So, could you please see that all the shortcuts are removed from the app's menus? Would make using the emulation much less frustrating.
Besides that: Impressive work!
Hi,
first this I have to say this is an awesome project. I love it! :)
second the controls in duke3d seem buggy. the main character keeps moving left although no button is pressed.
cheers and keep up the good work :)
I am trying to run this game (and I also tried a couple others)
https://macintoshgarden.org/games/crystal-quest
I used this to mount it and it works
https://macintoshgarden.org/apps/virtual-dvd-romcd-utility
But when I run it, the app freezes. Tried this with a couple other games and utilities and the same issue.
This is a neat project and works perfectly for what it´s made for, but is there a possible way to maybe change the resolution from 800x600 to 1024x800 or higher?
Changing installdir\resources\app\src\main\window.js and installdir\resources\app\src\renderer\screen.js width and height values will corrupt the emulator screen.
massive thank you.
i’ve been tryna load LoadRunner the game for years!!!
this finally achieves that goal.
this is a thank you so much issue.
y’all done did great work!
SquirrelSetup.log shows:
2020-07-29 22:51:34> Program: Starting Squirrel Updater: --install .
2020-07-29 22:51:43> Program: Starting install, writing to C:\Users\tester\AppData\Local\SquirrelTemp
2020-07-29 22:51:50> Program: About to install to: C:\Users\tester\AppData\Local\macintosh
2020-07-29 22:51:58> CheckForUpdateImpl: Couldn't write out staging user ID, this user probably shouldn't get beta anything: System.IO.DirectoryNotFoundException: Could not find a part of the path 'C:\Users\tester\AppData\Local\macintosh\packages.betaId'.
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
at System.IO.StreamWriter.CreateFile(String path, Boolean append, Boolean checkHost)
at System.IO.StreamWriter..ctor(String path, Boolean append, Encoding encoding, Int32 bufferSize, Boolean checkHost)
at System.IO.File.InternalWriteAllText(String path, String contents, Encoding encoding, Boolean checkHost)
at System.IO.File.WriteAllText(String path, String contents, Encoding encoding)
at Squirrel.UpdateManager.CheckForUpdateImpl.getOrCreateStagedUserId()
2020-07-29 22:51:58> CheckForUpdateImpl: Failed to load local releases, starting from scratch: System.IO.DirectoryNotFoundException: Could not find a part of the path 'C:\Users\tester\AppData\Local\macintosh\packages\RELEASES'.
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share)
at Squirrel.Utility.LoadLocalReleases(String localReleaseFile)
at Squirrel.UpdateManager.CheckForUpdateImpl.d__2.MoveNext()
2020-07-29 22:51:58> CheckForUpdateImpl: Reading RELEASES file from C:\Users\tester\AppData\Local\SquirrelTemp
2020-07-29 22:52:00> CheckForUpdateImpl: First run or local directory is corrupt, starting from scratch
2020-07-29 22:52:11> ApplyReleasesImpl: Writing files to app directory: C:\Users\tester\AppData\Local\macintosh\app-1.0.3
2020-07-29 22:52:54> LogHost: Rigging execution stub for macintosh.js_ExecutionStub.exe to C:\Users\tester\AppData\Local\macintosh\macintosh.js.exe
2020-07-29 22:54:45> ApplyReleasesImpl: Squirrel Enabled Apps: [C:\Users\tester\AppData\Local\macintosh\app-1.0.3\macintosh.js.exe]
2020-07-29 22:55:06> ApplyReleasesImpl: Couldn't run Squirrel hook, continuing: C:\Users\tester\AppData\Local\macintosh\app-1.0.3\macintosh.js.exe: System.OperationCanceledException: The operation was canceled.
at System.Threading.CancellationToken.ThrowOperationCanceledException()
at Squirrel.Utility.<>c__DisplayClass11_0.b__0()
at System.Threading.Tasks.Task.InnerInvoke()
at System.Threading.Tasks.Task.Execute()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Squirrel.Utility.d__11.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Squirrel.UpdateManager.ApplyReleasesImpl.<>c__DisplayClass10_0.<b__0>d.MoveNext()
2020-07-29 22:55:06> ApplyReleasesImpl: Starting fixPinnedExecutables
2020-07-29 22:55:07> ApplyReleasesImpl: Examining Pin: Internet Explorer.lnk
2020-07-29 22:55:10> ApplyReleasesImpl: Examining Pin: Windows Explorer.lnk
2020-07-29 22:55:11> ApplyReleasesImpl: Examining Pin: Windows Media Player.lnk
2020-07-29 22:55:11> ApplyReleasesImpl: Fixing up tray icons
2020-07-29 22:55:11> ApplyReleasesImpl: cleanDeadVersions: for version 1.0.3
2020-07-29 22:55:11> ApplyReleasesImpl: cleanDeadVersions: exclude folder app-1.0.3
2020-07-29 22:55:37> InstallHelperImpl: Couldn't write uninstall icon, don't care: System.Net.WebException: The remote name could not be resolved: 'raw.githubusercontent.com'
at System.Net.HttpWebRequest.EndGetResponse(IAsyncResult asyncResult)
at System.Net.WebClient.GetWebResponse(WebRequest request, IAsyncResult result)
at System.Net.WebClient.DownloadBitsResponseCallback(IAsyncResult result)
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task)
at Squirrel.UpdateManager.InstallHelperImpl.d__5.MoveNext()
I get a windowed black screen from the program too. Your two EXEs' hog the very old updated 64-bit W7 HPE SP1 PC's single core CPU to the max, and RAM (2 GB) keeps going up to almost 100% used. I downloaded and installed macintoshjs-1.0.3-setup-x64.exe. :(
Thank you for reading and hopefully answering soon. :)
dear God save us all
I looked at the description of this and it told me to use the Help button at the bottom, I couldn't find one, can someone give me a more detailed guide on how to do this?
When I try to load macintosh.js, it fails every time with the error
Uncaught (in promise) Error: EXDEV: cross-device link not permitted, rename '/home/michael/.config/macintosh.js/disk' -> '/usr/lib/macintosh.js/resources/app/src/basilisk/disk'
As far as I can tell, here's what's happening:
macintosh.js moves/renames/links (or something) the disk
file from my ~/.config
folder to its spot in /usr
. On my system, ~
and /
are in different partitions. This means that it needs to move the file between partitions. Apparently that's not allowed, hence the EXDEV error.
This may be a bit of an edge case, but AFAIK it's somewhat common practice on Linux. I understand if it's not possible/worthwhile to fix this, but it would be nice to be able to run on my system.
It is an amazing piece of work keep up the good work I was using it the mouse, first of all, flickered then when I launched civilization 2 it crashed
Hello.
It may well be that this is a bit too far fetched, but I do believe it would be really cool to have a printer installed inside the VM. If used, the VM would create a PDF file on the host computer.
Cheears!
P1 bug. Everything worked fine, but Oregon Trail was nowhere to be found.
Jk. Love you for doing this.
Awesome project, I would love to play with it, do you think you could add a license? GPL would be nice :)
Edit: a license to reuse your code, not the VM!
I have not installed and tried it but was wondering if anyone here have it installed and is able to use Xcode?
I would be thrilled to run this on my Raspberry Pi 4, which is running a 64-bit Raspberry Pi OS.
There are other Electron apps that have targeted arm64 successfully, notably a community build of VS Code at https://github.com/headmelted/codebuilds .
I am not a lawyer, but I understand that you are distributing copies of licensed software.
A very cool project though!
As of 1.0.4, this issue is fixed. I just corrected my bug five minutes ago, so if you're running Linux, you might have to re-download macintosh.js: https://github.com/felixrieseberg/macintosh.js/releases/tag/v1.0.4
Apologies for the issues and thank you for your patience.
Can macintosh.js publish to arch linux ?
Thanks for creating this!
Back in the day, I was one of the authors of Spectre (https://macintoshgarden.org/games/spectre). It's been a long time since I've had any way of accessing the game. It's hosted at the link above, but the download contains a .dsk file. I followed the instructions to load the .dsk file into the emulator, but when I double-click on the file from within the emulator I get "The document ... could not be opened, because the application program that created it could not be found". I've looked for instructions but haven't figured out how to load a .dsk image into macintosh.js. Is it necessary to convert the file to ISO or IMG?
I'm having problems adding .mp3 files into the macintosh folder. It seems to me like the loader think it's some iso container and try to mount it. Renaming the extension to anything else will fix the issue for me.
Can you make a port so I can open this in firefox?
Uncaught Exception:
Error: Cannot create BrowserWindow before app is ready
at createWindow (/private/var/folders/30/n5zbf61j6qq4sgjg3vl5tpk00000gn/T/AppTranslocation/62F495A6-76E3-405F-8AD9-9B37685A7687/d/macintosh.js.app/Contents/Resources/app/src/main/windows.js:60:16)
at App.onActivate (/private/var/folders/30/n5zbf61j6qq4sgjg3vl5tpk00000gn/T/AppTranslocation/62F495A6-76E3-405F-8AD9-9B37685A7687/d/macintosh.js.app/Contents/Resources/app/src/main/index.js:35:5)
at App.emit (events.js:310:20)
Getting following error while installing in Linux (CentOS)
$ sudo yum localinstall ./macintosh.js-1.0.4-1.x86_64.rpm
Loaded plugins: fastestmirror, langpacks
Examining ./macintosh.js-1.0.4-1.x86_64.rpm: macintosh.js-1.0.4-1.x86_64
Marking ./macintosh.js-1.0.4-1.x86_64.rpm to be installed
Resolving Dependencies
--> Running transaction check
---> Package macintosh.js.x86_64 0:1.0.4-1 will be installed
Error: Invalid version flag: or
Also, getting the same issue with 1.0.5 version too.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.