mihaip / infinite-mac Goto Github PK
View Code? Open in Web Editor NEWA classic Mac loaded with everything you'd want
Home Page: https://infinitemac.org
License: Apache License 2.0
A classic Mac loaded with everything you'd want
Home Page: https://infinitemac.org
License: Apache License 2.0
Triggered by clicking the Apple logo, or something more discoverable?
Allow things like the modifier pref from #10 to be controlled.
Also a soft reboot button for cases where Mac crashes.
Alternate ROM option.
Can we accelerate CopyBits and similar Toolbox calls by trapping them in Basilisk and implementing them as pure native functions?
e.g. Games needs to be better. Generate some better Finder metadata in build-disk-image.py?
Not sure there's anything that can be done about these, but muscle memory means I've quit the emulator numerous times and my browser once! Oops.
Unclear if it's getting us much. We could more directly use the UNIX port and talk to Emscripten/the worker directly.
Using on the tablet (Tab S7+ on Android 12) it doesn't lock to any integer scale, so trying to zoom in and out to get it to look good is very tricky. Full screen tries but is still off by a little.
Pencil Test playback still lags
This isn't unique to your project, I've seen it in BasiliskII proper. Apparently the CPU hits 100% during the transition for some reason.
So I'm interested in your thoughts on it?
The attached file will need to be expanded using Stuffit Expander, and opened using HyperCard. Compare the speed of the transition with Mini vMac.
Thoru Yamamoto's "A Little Tree" HyperCard stack
A Little Tree.sit.zip
I tried dragging and dropping a file from Linux Mint's file manager (Nemo) into system7.app's main window and the file never transfers. The UI for drag/drop appears, but the actual transfer does not happen. I tried in both Firefox and Ungoogled Chromium, same result.
Marathon and others use StuffIt 5, and mihaip/XADMaster@cf6767f only added parsing for the older (StuffIt 3?) format.
May require a restart of the Basilisk II emulator to pick them up
Hotline Connect won't launch because there is not TCP/IP driver loaded nor an active internet connection.
Netscape also won't work, though it will launch.
Would avoid having to download files from Macintosh Garden etc. and then re-upload them.
Found a Typo in the green Post-It.
It says „brwoser“ instead of „browser“.
They're OK in the native version of Basilisk II
One way to trigger this is to open devtools and make it dock at the bottom. Or have a wide screen and make your browser window very wide. The top of the mac will be cut off and you can't scroll it into view.
Screenshot (this is scrolled as far up as possible):
Chrome 100.0.4896.75 (Official Build) (x86_64)
See mihaip/macemu@2dbd859#commitcomment-51812217
Or perhaps we don't need to hash the screen contents at all, if we can intercept all changes to it and set a dirty bit?
Selecting 640x480 from the little checkerboard menu at the bottom (needed for games that expect that resolution like Pipe Dream) causes the displayed screen to shred (the display resolution doesn't change to match the linear pixel buffer).
Make modifications similar to oldweb-today/macemu@30f1459 to allow the hardcoded 800x600 to be changed.
Makes it easier to drag archives onto it to expand them.
May have to create the alias programatically via the Emscripten FS APIs. IIRC aliases are just a normal file with a resource fork, and will fall back to a path, so we may not need to preserve the full file metadata in it.
Mostly affects the Downloads folder when new files are dragged in, or new files are created when expanding. May be an ExtFS bug or limitation.
We can do some minor surgery to cdrom.cpp to not require that files are present (https://github.com/mihaip/macemu/blob/089f77754b8afc53ac22f24e534f0702c3e09989/BasiliskII/src/cdrom.cpp#L298-L300) and then trigger CDROMMountVolume
(https://github.com/mihaip/macemu/blob/089f77754b8afc53ac22f24e534f0702c3e09989/BasiliskII/src/cdrom.cpp#L322) when they are actually created.
Followup to 800b508
Right now it's a pile of shell script, autoconf and Makefile hacks. It should be simple enough that we could use CMake/Ninja instead?
I took out Apple Guide, OpenTransport, and other things in an early attempt to slim down the image. However, given that we have streaming downloads of them now, it may be worth re-evaluating this, so that a more accurate experience is recreated.
Some way to bring up the soft keyboard
Files get the correct icon, but double-clicking on text files does not open SimpleText (and PDFS don't open Adobe Reader, etc.), so clearly something is not quite right.
When Kid Pix is launched (after switching to 256 colors), it complains that there is not enough memory to run.
Can we detect double-clicks ourselves (with more tolerance) and tweak the coordinates that we sent to BasiliskII to snap them to the previous ones?
Allow control-w, control-q etc. shortcuts without being in full-screen mode (where we take a keyboard lock)
Could one post instructions -or a link to instructions for locally hosting this on Mac/PC/Linux this in the Readme?
Also, it would be really nice if one could put it on a usb key.
Edmund
Most of my vintage Macintosh work is done in Japanese System 7 (specifically J-7.5.3) which uses MacJapanese encoding (rather than MacRoman).
There are dozens of other international versions of System 7 and 8, with lots of text encoding systems. Luckily the installers are all available on WinWorld etc and the official Apple text encoding mappings are preserved as part of Tcl.
I'd be interested to hear what might be involved to support arbitrary International Macintosh versions?
ps: insanely great work on this!
Exactly what it says on the tin.
To make an educated (if untested) guess as to what's going on- the 256MB of memory assigned might be larger than the PlayMovie extension ever expected to see- 1-4MB was far more common when the game was made, let alone the HyperCard program behind it, and the absolute max -with a Macintosh SE/30 or Macintosh II- was 128MB in the same period.
Affects native Basilisk II too
In both the favicon and the site icon
I've got a bunch of old clarisworks documents that I don't have a way to open. Any chance of adding clarisworks as one of the apps in the emulator?
Hello @mihaip, I am very impressed at what you accomplished here, in particular with the upload and download feature! That is amazing! That feature was something I always wanted for my own emulator web site (http://retroweb.maclab.org) so I commend you on figuring out how to do it! I might have to dig into your source code to figure out how you pulled this off!
The System 7 emulator keeps freezing randomly while I'm playing SimCity 2000, and I'm unable to figure out the cause for it. I'm accessing it from an iPad Pro when this happens if that helps any.
Too much software asks to switch at startup, or doesn't work in millions at all (KidPix, Civ, etc.)
At least historically this as an issue: emscripten-core/emscripten#1909 and https://bugs.chromium.org/p/v8/issues/detail?id=2275 and https://artemis.sh/2022/08/07/emulating-calculators-fast-in-js.html
Happens to Prince of Persia too
Report that it didn't: https://twitter.com/kaplanfx/status/1509993270096498693
Need custom 16→32 expand function
I grew up with System 7 and Mac OS 8 and absolutely love this! I was playing around with it just now and reflexively hit Cmd-W to close the window inside Infinite Mac and instead closed my whole browser tab instead. 😂 Would it be worth (and in fact even possible?) to have those keyboard shortcuts work within Infinite Mac instead?
Would allow running versions of Mac OS beyond 8.1, as well as PPC-only software.
It's also in the macemu repo, and can likely share the same Emscripten/web interfaces.
gfxaccel
pref is actually beneficial (compare Speedometer runs) -- it's notA 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.