Updated Home (markdown)

Jesús A. Álvarez 2016-06-04 11:22:48 +02:00
parent 4c7ea00993
commit d75f09205b

@ -4,11 +4,12 @@ I'll try to document things a bit here.
## Mini vMac variants as loadable bundles ## Mini vMac variants as loadable bundles
Unlike other ports of Mini vMac, this one supports having several variants compiled, and choosing between them. Unlike other ports of Mini vMac, this one supports having several variants compiled, and choosing between them.
![](http://i.imgur.com/OEWMrke.png)
![screenshot](http://i.imgur.com/OEWMrke.png)
This is achieved by compiling all the emulation code into a bundle, which is [loaded at runtime](https://github.com/zydeco/minivmac4ios/blob/master/Mini%20vMac/AppDelegate.m#L80). These bundles implement the [`Emulator` protocol](https://github.com/zydeco/minivmac4ios/blob/master/Mini%20vMac/EmulatorProtocol.h) on their main class, which is used to interface it with the UI. This is achieved by compiling all the emulation code into a bundle, which is [loaded at runtime](https://github.com/zydeco/minivmac4ios/blob/master/Mini%20vMac/AppDelegate.m#L80). These bundles implement the [`Emulator` protocol](https://github.com/zydeco/minivmac4ios/blob/master/Mini%20vMac/EmulatorProtocol.h) on their main class, which is used to interface it with the UI.
For each variant, there is a framework target that compiles all the necessary C files from the core (not all of them are used for all machines: e.g. `ADBEMDEV.c` isn't used for the Mac 128K or Plus), and a [`CNFGGLOB.h`](https://github.com/zydeco/minivmac4ios/blob/master/Mini%20vMac/MacPlus4M/CNFGGLOB.h) and [`EMCONFIG.h`](https://github.com/zydeco/minivmac4ios/blob/master/Mini%20vMac/MacPlus4M/EMCONFIG.h) with the appropriate values for emulating that machine. For each variant, there is a framework target that compiles all the necessary C files from the core (not all of them are used for all machines: (e.g. `ADBEMDEV.c` isn't used for the Mac 128K or Plus), and a [`CNFGGLOB.h`](https://github.com/zydeco/minivmac4ios/blob/master/Mini%20vMac/MacPlus4M/CNFGGLOB.h) and [`EMCONFIG.h`](https://github.com/zydeco/minivmac4ios/blob/master/Mini%20vMac/MacPlus4M/EMCONFIG.h) with the appropriate values for emulating that machine.
![Bundle structure](http://i.imgur.com/M4AoIvI.png) ![Bundle structure](http://i.imgur.com/M4AoIvI.png)
![Bundle compiled files](http://i.imgur.com/jhD7O8u.png) ![Bundle compiled files](http://i.imgur.com/jhD7O8u.png)