Mini vMac 3.2.3 for iPhone
Moderators: Cat_7, Ronald P. Regensburg
Mini vMac 3.2.3 for iPhone
Hi All
I've started a project to get the iPhone port of Mini vMac upgraded to 3.2.3, with the ultimate aim of having Mac II emulation running on the iPad!
It's early days yet, but it builds and (kind of) runs in the simulator (but haven't had any luck on the device yet). Sound hasn't been ported, the colour is all wrong, it leaks memory like there's no tomorrow - but I think it's a start at least.
The source and XCode project is available on https://github.com/pgodwin/minivmac-iphone.
I've started a project to get the iPhone port of Mini vMac upgraded to 3.2.3, with the ultimate aim of having Mac II emulation running on the iPad!
It's early days yet, but it builds and (kind of) runs in the simulator (but haven't had any luck on the device yet). Sound hasn't been ported, the colour is all wrong, it leaks memory like there's no tomorrow - but I think it's a start at least.
The source and XCode project is available on https://github.com/pgodwin/minivmac-iphone.
Re: Mini vMac 3.2.3 for iPhone
Thanks for stopping by and sharing your work with the forum, superpete! We'll keep an eye on your progress. Feel free to stop by again when you have news to report.
Re: Mini vMac 3.2.3 for iPhone
I've fixed the video rendering, fixed some issues with accessing disks causing the emulation to freeze, and it now works on the iPhone.
It's quite slow, and sound still hasn't been finished. There's a lot more optimisation to happen esp on the video side of things where it looks like the app is spending most of it's time there!
If you've got a developer license you should be able to download the code, build and sign it with your developer device key and give it a go. Just drop your ROM (MacIIx.rom) and disk images to the Resources directory.
My order of priority for this project is:
1. video performance issues
2. iPad support
3. sound
Anyway's time for bed!
It's quite slow, and sound still hasn't been finished. There's a lot more optimisation to happen esp on the video side of things where it looks like the app is spending most of it's time there!
If you've got a developer license you should be able to download the code, build and sign it with your developer device key and give it a go. Just drop your ROM (MacIIx.rom) and disk images to the Resources directory.
My order of priority for this project is:
1. video performance issues
2. iPad support
3. sound
Anyway's time for bed!
Re: Mini vMac 3.2.3 for iPhone
Pushed up some more changes, this time around video performance and iPad support. Video is probably as good as I can get - it's much better than it was a few days ago. iPad support seems fine, keyboard will need a little work.
Next up is sound.
Again, if you've the means to build and run code on your iOS feel free to give it a try.
I'll try and get a video up of the progress so far.
Next up is sound.
Again, if you've the means to build and run code on your iOS feel free to give it a try.
I'll try and get a video up of the progress so far.
Re: Mini vMac 3.2.3 for iPhone
I've uploaded a video of it running on the iPad 1 http://www.youtube.com/watch?v=ZfnJB15VA_I
Still can't get sound working...not sure what to do atm.
Still can't get sound working...not sure what to do atm.
Re: Mini vMac 3.2.3 for iPhone
I'm not sure what the status of sound in the Mac II emulation is. There hasn't been an update about that on the site in some time. Last time Paul wrote about it in the news section it wasn't really working. It may still be disabled.
Last edited by ClockWise on Sat Dec 03, 2011 3:15 am, edited 1 time in total.
Reason:
Reason:
Re: Mini vMac 3.2.3 for iPhone
It kind of works in 3.2.3 beta, although it's a bit distorted. It's more a case of I'm unsure of how to port the code to iOS in a state that works.
I've examined the Linux and OS X code, I'm going to take a look at the W32 code tonight and see if I can work it out.
I've examined the Linux and OS X code, I'm going to take a look at the W32 code tonight and see if I can work it out.
-
- Student Driver
- Posts: 12
- Joined: Sat Dec 03, 2011 2:37 am
Re: Mini vMac 3.2.3 for iPhone
really cool!!! thank you for your contribution!!!
Can this run for A/UX?
Can this run for A/UX?
-
- Student Driver
- Posts: 12
- Joined: Sat Dec 03, 2011 2:37 am
Re: Mini vMac 3.2.3 for iPhone
I download your source code, and you seems to use newer SDK, and XCode.
I am using old XCode 3.2.6, because new XCode is slow to me.
You are using Core Video API - CVImageBufferRef, and that will fail in my XCode version.
I am using old XCode 3.2.6, because new XCode is slow to me.
You are using Core Video API - CVImageBufferRef, and that will fail in my XCode version.
-
- Student Driver
- Posts: 12
- Joined: Sat Dec 03, 2011 2:37 am
Re: Mini vMac 3.2.3 for iPhone
what is your iPad1 iOS version?
I found another vmac ios port on ipad1 (iOS 4.3.3) has some problem on screen update without dragging the screen.
I have to drag the screen to let the screen update on iOS 4.3.3.
not sure if your version will have the same problem or not. I'll download a newer XCode, and compile your vmac to test if it works or not.
Thanks
I found another vmac ios port on ipad1 (iOS 4.3.3) has some problem on screen update without dragging the screen.
I have to drag the screen to let the screen update on iOS 4.3.3.
not sure if your version will have the same problem or not. I'll download a newer XCode, and compile your vmac to test if it works or not.
Thanks
Re: Mini vMac 3.2.3 for iPhone
My iPad is on 5.0, the project is set for 5.0, but it should be able to be built for previous versions without issue.
Screen redrawing seems fine, I at least haven't had any issues with it. It is faster drawing in BW than Colour which from memory was the same with the 68k Macs.
A/UX does not work on Mini vMac. I hear that MESS is getting close to proper MMU emulation and will be able to run A/UX one day.
Screen redrawing seems fine, I at least haven't had any issues with it. It is faster drawing in BW than Colour which from memory was the same with the 68k Macs.
A/UX does not work on Mini vMac. I hear that MESS is getting close to proper MMU emulation and will be able to run A/UX one day.
Re: Mini vMac 3.2.3 for iPhone
Yes, this hasn't changed. Sound doesn't yet work very well in the Mac II emulation.ClockWise wrote:I'm not sure what the status of sound in the Mac II emulation is. There hasn't been an update about that on the site in some time. Last time Paul wrote about it in the news section it wasn't really working. It may still be disabled.
Now that I have a bit more time to work on Mini vMac, I hope to find some time to improve the Mac II sound emulation, starting by examining the work done lately in MESS.
So if you would like working sound before I get to it, you should be looking at the MESS source code.superpete wrote:I've examined the Linux and OS X code, I'm going to take a look at the W32 code tonight and see if I can work it out.
By the way I'd be interesting in merging in some form of the iOS port into my version of the Mini vMac source code. But likely only a simplified form, not as fancy as I gather the iOS port has gotten. The benefit would be to make it easier to update the iOS port in the future as Mini vMac evolves. The main obstacle, other than lack of time, has been my unfamiliarity with Objective C and Cocoa.
Re: Mini vMac 3.2.3 for iPhone
I've got a C# background myself, so it's been a fantastic learning opportunity for me. That said, other than updating the Glue code, most of the work was originally done by Jesús A. Álvarez who wrote the original iPhone port.
I think getting the sound emulation working is beyond my capabilities, indeed I'm struggling to get the currently emulated sound to be outputted as it is (still getting my head around how the existing ports handle sound, they seem to be doing they're own queueing with TheSoundBuff..?).
Other than drive sounds and the settings window, I'm not sure what you could strip out of the port and have it still functional under iOS. I don't think the built in keyboard will suffice, there aren't any native file dialogs you could use, etc. I suppose that Mini vMac could have a disk search path variable, and allow the control screen to select an image from the list?
I think getting the sound emulation working is beyond my capabilities, indeed I'm struggling to get the currently emulated sound to be outputted as it is (still getting my head around how the existing ports handle sound, they seem to be doing they're own queueing with TheSoundBuff..?).
Other than drive sounds and the settings window, I'm not sure what you could strip out of the port and have it still functional under iOS. I don't think the built in keyboard will suffice, there aren't any native file dialogs you could use, etc. I suppose that Mini vMac could have a disk search path variable, and allow the control screen to select an image from the list?
Re: Mini vMac 3.2.3 for iPhone
I'll check the current code in soon, I no longer use the CoreVideo API, just the CoreAnimation API for screen drawing.I download your source code, and you seems to use newer SDK, and XCode.
I am using old XCode 3.2.6, because new XCode is slow to me.
You are using Core Video API - CVImageBufferRef, and that will fail in my XCode version.
Re: Mini vMac 3.2.3 for iPhone
The basic idea is a ring buffer that the platform independent code writes to, and the platform dependent code reads. The platform dependent code also adjusts how fast the emulation runs, adding or removing a tick every second, so as to keep the sound buffer filled to the desired amount, to keep latency as small as possible while avoiding buffer under run.superpete wrote:still getting my head around how the existing ports handle sound, they seem to be doing they're own queueing with TheSoundBuff..?
In Mini vMac 3.0.4, which Zydeco's iPhone port is based on, the platform independent code requests a 370 byte sound buffer every tick from the platform dependent code. Since the ring buffer size is not a multiple of 370, this requires a hack, where the platform independent code actually writes past the end of the ring buffer, and the platform dependent code copies the excess to the beginning of the buffer.
In Mini vMac 3.2.3, this hack is not needed. The platform independent code requests space, and is told how much contiguous space is actually available. If it needs to write more than that, it is responsible for breaking up the write into two parts.
In Mini vMac 3.2.3, the platform independent sound code also requests space in smaller chunks instead of a whole ticks worth of 370 bytes at a time. This would permit lower latency, at the discretion of the platform dependent code.
Perhaps so. As I said, I'm not very familiar with the iOS port. Since these days "Mini" is not referring to the complete source code, just the binaries, I guess I could just include the entire iOS port in my version of the source, if I get to understand it well enough.superpete wrote:Other than drive sounds and the settings window, I'm not sure what you could strip out of the port and have it still functional under iOS.
One question I have, is it really necessary to have that many separate source files? For the other ports, there is basically one source file per port. I guess the convention in Objective C is to have each class in its own file. How strong is that convention?
Another question, how hard would it be to hack the iOS port to more or less run in Mac OS X? Having that to start from would make it much easier for me to get going with learning Cocoa and Objective C. So if someone did that hack, I would credit them for making the Mac Cocoa port of Mini vMac, even if I still needed to do a lot work to polish it. It's clear that a Cocoa port is going to be needed in the near future of the Mac.
Re: Mini vMac 3.2.3 for iPhone
Hello everyone. First things first, glad to see that someone is working on a newer and improved version of Mini vMac, i really thank you for your efforts. But, how's development going?. It's been a while and it looks that there is no interest or activity.
I recently upgraded from a 16gb iPhone 3gs to a 64gb 1st gen iPad... And i'm considering to sell the ipad and buy another iphone for the sole reason of bringing back Mini vMac again. Unfortunately i'm no developer and i lack knowledge to compile a working version compatible with the iPad. i Tried all possible things with the old vMac avaliable from cydia and pre-compiled *.deb packages with no luck. Like chinlin0924 stated before, i can't get the screen to update properly.
Just in case that development has been halted, could any of you provide a *.deb package with the compiled sources with the most recent working iPad version?.
I recently upgraded from a 16gb iPhone 3gs to a 64gb 1st gen iPad... And i'm considering to sell the ipad and buy another iphone for the sole reason of bringing back Mini vMac again. Unfortunately i'm no developer and i lack knowledge to compile a working version compatible with the iPad. i Tried all possible things with the old vMac avaliable from cydia and pre-compiled *.deb packages with no luck. Like chinlin0924 stated before, i can't get the screen to update properly.
Just in case that development has been halted, could any of you provide a *.deb package with the compiled sources with the most recent working iPad version?.
1st Gen iPad 64Gb iOS 5.0.1
-
- Student Driver
- Posts: 11
- Joined: Thu May 05, 2011 12:26 am
Re: Mini vMac 3.2.3 for iPhone
superpete has been gone for most of the past five months, so I guess you should email him. And then let us know what he says.
Last edited by ThunderSock on Fri Nov 30, 2012 6:37 pm, edited 1 time in total.
-
- Student Driver
- Posts: 11
- Joined: Thu May 05, 2011 12:26 am
Re: Mini vMac 3.2.3 for iPhone
I found out recently that you can emulate a Mac Plus on an iPad by running vMac 0.1.9.5 for DOS (http://www.leb.net/vmac/download/DOS/vM ... OS-Bin.zip) in DOSPad.
Re: Mini vMac 3.2.3 for iPhone
Hi all
Still lurking around. Ironically I updated the port so my daughter could play old games Mac educational games on the iPad, but she keeps me so busy I haven't had time to finish it.
Code is still on Github, I have no plans on making a deb package for jailbroken devices; I personally don't own any to test it on anyway. If you've got a iOS Dev account, just download the code and build+sign and run it on your iDevices.
If anyone wants to contact me your best bet is through Github.
As an aside, any spare time I have had has been spent playing with the MESS Mac emulation. It's fantastic, and worthy of more attention here at emaculation. I'd love to bring that up to a more user accessible level. I know Paul has been playing around with the code and was kind enough to send me his efforts stripping it down to just the Mac portions. Unfortunately I've not had enough time to do much with it.
Still lurking around. Ironically I updated the port so my daughter could play old games Mac educational games on the iPad, but she keeps me so busy I haven't had time to finish it.
Code is still on Github, I have no plans on making a deb package for jailbroken devices; I personally don't own any to test it on anyway. If you've got a iOS Dev account, just download the code and build+sign and run it on your iDevices.
If anyone wants to contact me your best bet is through Github.
As an aside, any spare time I have had has been spent playing with the MESS Mac emulation. It's fantastic, and worthy of more attention here at emaculation. I'd love to bring that up to a more user accessible level. I know Paul has been playing around with the code and was kind enough to send me his efforts stripping it down to just the Mac portions. Unfortunately I've not had enough time to do much with it.
Re: Mini vMac 3.2.3 for iPhone
Please do share with us more info about MESS. It is sadly ignored around here. Information, how-to and the stripped version of the Macintosh emulation stuff would be very welcome in these parts!
Re: Mini vMac 3.2.3 for iPhone
Can someone supply the binaries for those who can't compile the source for some reason? I'm unable to compile for my iPod touch 4G iOS 6.1.6. I'm trying to compile on Ubuntu 14.04 x64 using the link here https://code.google.com/p/ios-toolchain ... i/HowTo_en.
"Unix was not designed to stop you from doing stupid things, because that would also stop you from doing clever things."
Doug Gwyn
Doug Gwyn
- adespoton
- Forum All-Star
- Posts: 4279
- Joined: Fri Nov 27, 2009 5:11 am
- Location: Emaculation.com
- Contact:
Re: Mini vMac 3.2.3 for iPhone
Why not just grab it pre-compiled from the cydia repo? Or are you wanting to do custom compiles? In that case, you should probably list the flags you want set before asking for someone to compile it
Re: Mini vMac 3.2.3 for iPhone
I no longer have an iPhone dev account (I bought it for work while we were doing some mobile dev, and that's no longer happening, so I'm not wasting my money on it anymore).
I have no idea if it would even be possible to compile it under Linux correctly. Last time I tried, the XCode project just built - so it'd still be the simplest way to get a binary.
I have no idea if it would even be possible to compile it under Linux correctly. Last time I tried, the XCode project just built - so it'd still be the simplest way to get a binary.
- adespoton
- Forum All-Star
- Posts: 4279
- Joined: Fri Nov 27, 2009 5:11 am
- Location: Emaculation.com
- Contact:
Re: Mini vMac 3.2.3 for iPhone
I still think adding the Cydia repo and grabbing it from there is the simplest way to get a binary; you don't need to keep compiling when there's only one target platform. And as you've discovered, unless you're using the cydia dev tools in the first place, you're going to have a hard time compiling and deploying (compiling itself can still be done) in XCode without a valid dev certificate.
Re: Mini vMac 3.2.3 for iPhone
I do have a MacBook Pro now. I just need to figure out how to get Xcode to deploy Mini vMac to my iPod.
"Unix was not designed to stop you from doing stupid things, because that would also stop you from doing clever things."
Doug Gwyn
Doug Gwyn