Mini vMac for iOS

Overview

Mini vMac for iOS

Features

  • Emulates Mac Plus, Mac II or Mac 128K
  • Full simulated keyboard (including all Mac keys)
  • Full sound output
  • Uses external keyboard if available
  • Regulable emulation speed
  • Easy(ish) to import/export disk images

Requirements

  • iOS 9 or later
  • ROM image from Mac Plus, Mac II and/or Mac 128K
  • Disk images with Mac software

Usage

ROM and Disk Images

You can import the ROM (vMac.ROM) and disk images (with .dsk or .img extension) into Mini vMac from other apps (iCloud Storage, Dropbox, etc), using AirDrop, iTunes File Sharing or the iOS Files app.

  • To insert disk images, swipe left with two fingers and the list of disks will appear. Icons are automatically generated based on the contents of the disk.
  • Tap an hold on a file to delete, rename or share
  • Tap the Edit button to show all files, and the Create Disk Image option

The disk image menu will attempt to find an icon from the following sources (in descending order of priority):

  1. Volume icon (System 7)
  2. Application icon, if the disk contains only one application
  3. Application matching the name of the volume (not the disk image)
  4. Application with name written in the comment field of the volume

If no icon is found, it will show a standard floppy disk icon.

Keyboard

Swipe up with two fingers to show the keyboard, and down to hide it.

The emulated keyboard features all the keys on an Apple Extended keyboard (except the Power key). The Command, Option, Control and Shift keys are sticky, to make keyboard shortcuts easier to type. You can change the appearance of the emulated keyboard in the settings.

If you have an external keyboard attached, you can use it too, although some shortcuts may interfere with iOS.

Mouse

You can choose to use the screen as a touchscreen, where tapping on the screen acts a mouse click, or as a trackpad. In trackpad mode, dragging is done by tapping twice fast and holding it down. 3D touch can also be used for clicking and dragging on supported devices.

If you use a mouse or trackpad on iPad OS 13.4 or newer, it will be used automatically.

If you have a jailbroken device and BTC Mouse & Trackpad, Mini vMac will use your bluetooth mouse or trackpad.

Settings

Swipe right with two fingers to show the settings dialog, where you can change the following:

  • Speed: make the emulated machine faster than a Mac Plus
  • Mouse Type: switch between touchscreen and trackpad mode
  • Keyboard Layout: change the layout of the emulated keyboard
  • Display Scaling: choose how to scale the display
  • Emulated Machine: changes won't take effect if there are disks inserted

Credits

Comments
  • Dynamic screen resolution for portrait/landscape?

    Dynamic screen resolution for portrait/landscape?

    Right now I have two variations of Macintosh Plus:

    1. 512x342 (standard)
    2. 512x684 (double height)

    Run-in on 12.9" iPad Pro @ 2048x2732 pixels it fits almost exactly (@4x would be 2048x2760)

    So I was wondering if it would be feasible to have the emulator dynamically change its resolution when the iPad is rotated.

    Currently I am switching emulators whenever I want to change orientation, which is less than ideal.

    opened by gingerbeardman 19
  • Fix github release asset names

    Fix github release asset names

    This may come off as sounding petty or unimportant, but I'm developing an application that automatically grabs the latest IPA releases using a whitelist of Github apps (that's the shortened explanation anyways). But essentially, the Github releases for this app always have the file extension {name}.ipa.zip when my application assumes that its should simply be a .ipa. An .ipa is already a zipped archive, and you are simply exposing this fact.

    So what I'm trying to say is, could you simply name the github asset {name).ipa in the future?

    If not, just close the issue and move on. Thanks!

    opened by noah978 7
  • App icon not showing after install from bigboss

    App icon not showing after install from bigboss

    Hi Jesús,

    I'm using an iPhone 5s iOS 9.3.3 jailbreak and after installing Mini vMac from modmyi the app icon is not showing on homescreen. Is there a way to fix this.

    jailbreak 
    opened by KevinBlue18 7
  • CALayerInvalidGeometry

    CALayerInvalidGeometry

    Whenever I pop the current source into Xcode and compile to run on my 9.7" iPad Pro (running iOS 9.3), I get the following error:

    "Terminating app due to uncaught exception 'CALayerInvalidGeometry', reason: 'CALayer position contains NaN: [nan nan]'"

    The error points to the main line of code: return UIApplicationan(argc, argv, @"MNVMApplication", NSStringFromClass([AppDelegate class]));; and gives a SIGABRT signal at Thread 1.

    When I run the code in an iPad Air 2 simulator, it works perfectly. I'm not sure if this is a bug specific to the iPad Pro or if I've done something wrong. Please advise.

    bug help wanted ios9 
    opened by EriolGaurhoth 7
  • Missing files errors in Xcode 8

    Missing files errors in Xcode 8

    I opened the project in Xcode 8, and I updated all the settings it wanted to update. But when I choose the target and click on run it gives me two errors with missing files:

    1. /minivmac4ios-master 2/libmfs/mfs.c
    2. /minivmac4ios-master/libres/res.c

    Where do I find these two files?

    Thank you for the great work you did on this project :-)

    question 
    opened by Attila777 6
  • Error while installing

    Error while installing

    When I try to install the ipa file, it gives me an error saying “Could not install Mini vMac because it’s integrity could not be verified”. How to fix this, or is it an issue with everybody?

    opened by person246 5
  • Add support for mouse pointer interaction introduced in iOS 13.4

    Add support for mouse pointer interaction introduced in iOS 13.4

    When a mouse is connected to an iPad, the emulated mouse pointer will follow the iOS mouse pointer movements. Change is backward compatible to earlier iOS versions < 13.4 without mouse pointer support.

    It makes the emulator much nicer to use with a mouse on an iPad.

    Unfortunately I tried but couldn't yet find a way to hide the iOS mouse cursor so the two cursors are on-screen at the moment.

    This has been tested working on iOS 13.4 and 13.3.1.

    opened by narbs 5
  • Mini vMac crashes after compiling and exporting iPadOS 13.3.1 Beta 1 iPad 7th Generation

    Mini vMac crashes after compiling and exporting iPadOS 13.3.1 Beta 1 iPad 7th Generation

    Im using a brand new iPad 7th generation I developed and exported the code using Xcode 11.1 and I put the right rom in and everything and it keeps on crashing upon startup can you possibly add support???

    wontfix 
    opened by snes666 4
  • Preset for 16M, 640x480 and 16M, 1024x768 Mac II

    Preset for 16M, 640x480 and 16M, 1024x768 Mac II

    Hi !

    I would like to ask if it is possible to add presets for 16M, 640x480 and 16M, 1024x768 on the Mac II configuration... It would be perfect for some "memory hungry" applications...

    Thank you so much !

    Even 32M and 64M configurations would allow for more advanced stuff, like, playing "Captain Bumper 68k" ! 😄 (which requires 34M of memory)... Thanks !

    opened by WeedyWeedSmoker 4
  • No icon on JB 9.3.3

    No icon on JB 9.3.3

    Hello.

    I installed mini v mac on a jailbroken 9.3.3 ipad using Cydia, but do not see an icon on the homescreens. Tried reinstalling, uninstalling and fresh install.

    Thanks.

    ios9 jailbreak 
    opened by KubbaYioka 4
  • Bundles for each supported computer?

    Bundles for each supported computer?

    It would be great if there were bundles incuded for each supported computer, as there aren't that many.

    Users could then configure each for RAM and screen dimensions.

    If too many bundles are an issue then perhaps only a few could be added as Frameworks to the final build phase, with the rest being omitted.

    I could help with this if required.

    opened by gingerbeardman 3
  • Apple Pencil support

    Apple Pencil support

    Hey, it would be great to have pencil support integrated into the main branch at some point. I still use HyperCard for lifedrawing. I implemented detection in my fork, https://github.com/vaporstack/minivmac4ios

    but it is a limited implementation. Basically all I do is check the bluetooth stack for a pencil, (PencilDetector.c from SO) and if it's present, ignore all non pencil touches, which most users probably don't want (but I do!)

    However I couldn't figure out how to add a user toggle for it. I think this is a highly specific feature that should probably be opt-in either via settings or a pop up dialog box (or both).

    Many thanks for your excellent work. :)

    opened by vaporstack 4
  • Add networking support (is this even possible?)

    Add networking support (is this even possible?)

    Mini vMac core has Tun/Tap support. Since Tor works on iOS, some sort of network proxying is possible, but I'm not sure if something as low level as tun/tap is possible without jailbreaking. It might just need a device management profile or a VPN profile to enable networking, however.

    enhancement 
    opened by adespoton 6
Releases(v2.5)
Flixster-iOS - Flixster iOS Project for CodePath iOS Course

Flixster-iOS Flixster iOS Project for CodePath iOS Course Flix Flix is an app th

null 0 Feb 3, 2022
iOS app that detects LaTeX symbols from drawings. Built using PencilKit, SwiftUI, Combine and CoreML for iOS 14 and macOS 11.

DeTeXt Finding the symbol you want to use in LaTeX can be hard since you can't memorize all the possible commands and packages for every symbol you mi

Venkat 73 Dec 8, 2022
✨ Basic lists from iOS 2 to iOS 14

listapp.ios Basic lists on iOS ✨ UITableView iOS 2* Objective-C 2008 UITableView iOS 2* Swift 2008 diff UICollectionView iOS 6 2012 diff Compositional

null 24 Dec 15, 2022
ScriptWidget is an iOS app that we can create widgets for iOS using JSX label style in JavaScript.

ScriptWidget ScriptWidget is an iOS app that we can create widgets for iOS using JSX label style in JavaScript. Source code for ScriptWidget. Download

everettjf 162 Jan 6, 2023
NetFun-ios-app - iOS app using BFF service to display processed data.

NetFun-ios-app iOS app using BFF service to display processed data. The iOS demo developed in SwiftUI and it uses BFF service to show expected UI comp

Minhaz Panara 0 Jan 3, 2022
Super basic iOS app to browse open-source-ios-apps

Super basic iOS app to browse open-source-ios-apps

null 76 Nov 28, 2022
Robert Ciotoiu 0 Jan 24, 2022
An iOS application written in Swift to demonstrate how to implement a Clean Architecture in iOS

Reminders iOS An iOS application written in Swift to demonstrate how to implement a Clean Architecture in iOS. Idea The idea is to implement the simpl

Tiago Martinho 306 Nov 9, 2022
IOS Dracker Payment - An iOS and React app to send/receive money and manage debt

An iOS and React app to send/receive money and manage debt. This app allows users to create transactions, add descriptions, tag images, tag notes, and manage them.

Dharmendra solanki 0 Jan 30, 2022
MyNews-iOS - A simple iOS mobile application for reading news articles

MyNews A simple iOS mobile application for reading news articles. This app uses

Ernest Nyumbu 1 Mar 31, 2022
Ios-desde-cero - Code, documents and resources used in the Stream iOS from scratch

iOS desde cero ¿Qué es esto? iOS desde Cero es un Streaming en ???? sobre desarr

Diego Freniche 36 Aug 22, 2022
yikyak-translate-ios - iOS Take Home Project

yikyak-translate-ios - iOS Take Home Project Before you start Make sure you have the latest stable version of Xcode and have a way to connect to a Git

null 0 Jun 11, 2022
Presentation for Podlodka iOS Crew #9 - Modern iOS Coding

Struct oriented programming vs Protocol oriented programming How do we use protocols How to do it without protocols How to transform any protocol to a

Evgenii Sukhanov 6 Dec 27, 2022
A SwiftUI iOS App and Vapor Server to send push notifications fueled by Siri Shortcuts.

Puffery An iOS App written in SwiftUI to send push notifications fueled by Siri Shortcuts. You can follow other's channels and directly receive update

Valentin Knabel 29 Oct 17, 2022
Experimental SwiftUI build of the iOS app switcher

SwiftUI - iOS App Switcher This project is an approximation of the iOS app switcher UI experience, built with SwiftUI. The following interactions are

Marcus Crafter 65 Dec 8, 2022
A Currency Converter & Calculator IOS application to check, convert and calculate to popular currencies to your favorite ones.

A Currency Converter & Calculator IOS application to check, convert and calculate to popular currencies to your favorite ones.

CCC 64 Jan 1, 2023
Corona Virus Tracker & Advices iOS App with SwiftUI

Corona Virus Stats & Advices App with SwiftUI Features Current statistics of global total confirmed, deaths, recovered cases. Statistics of countries

Alfian Losari 358 Dec 27, 2022
iOS version of emitron

emitron (iOS) emitron is the code name for the raywenderlich.com app. This repo contains the code for the iOS version of the app. Contributing To cont

razeware 331 Dec 2, 2022
Building Expense Tracker iOS App with Core Data & SwiftUI Completed Project

Completed Project for Building Expense Tracker iOS App with Core Data & SwiftUI Follow the tutorial at alfianlosari.com Features Create, edit, and del

Alfian Losari 226 Dec 22, 2022