Mini vMac v3.2.3 Beta is released. Mini-vMac is a Macintosh Plus, Macintosh SE, Macintosh 128 and Macintosh 512 emulator. Mini vMac emulates a Macintosh Plus, one of the earliest of Macintosh computers. It can run old Macintosh software that otherwise couldn't be used on recent machines.
Mini vMac v3.2.3 Beta Changelog:
New features in default compile * Auto scrolling: If the emulated screen is larger than the real screen while in full screen mode, the emulated screen will be scrolled to keep the mouse pointer in view. (Previously only the top left corner would ever be displayed, and even that didn't work quite right.) * "AutoSlow": Mini vMac will automatically shift down to 1x speed if there is no activity for a while. This helps to preserve the battery on portable computers. If the user types, or clicks or moves the mouse, or the emulated computer draws to the screen, or reads or writes to an emulated disk, that counts as activity that prevents AutoSlow. AutoSlow takes effect after either 0.5 seconds of emulated computer time, or 16 seconds worth of emulated instructions executed (usually about 2 seconds at the default 8x speed), which ever is longer. It is possible that some software will not draw anything to the screen for longer than that while doing real work, so the AutoSlow feature can be disabled with Control-S-W. A blinking insertion point will not prevent AutoSlow. This required improving the code for detecting how much of the emulated screen was changed. This makes Mini vMac more efficient in general, since transfering images to the real screen tends to be expensive. Previously it would detect that areas at the top and bottom of the emulated screen hadn't changed, to limit the amount of drawing to the real screen. Now it can detect that areas at the left and right of the emulated screen haven't changed. If the remaining area that has changed is only a single pixel wide and less than 32 pixels tall, it is assumed to be only a blinking insertion point, that doesn't prevent AutoSlow. Changed behavior in default compile * Have begun making tweaked assembly version of 68000 emulation for Intel x86 computers (starting from assembly language generated by gcc). This makes Mini vMac faster, as well as giving more consistent results when Mini vMac is compiled with different development environments. (Had previously only made tweaked assembly language for PowerPC computers.) * Improved accuracy of timing. Mini vMac now measures time in cycles rather than instructions executed. In the simplest form, all instructions are assumed to take the same number of cycles, and this closely matches the results of previous versions of Mini vMac. (Mini vMac actually counts sixty fourth cycles, not just integer number of cycles, so that average times of instructions can be more accurate.) But by default, Mini vMac now assigns an average number of cycles for each of the 65536 primary opcodes. As a compile time option, in addition to using the table, Mini vMac can try to compute more accurate cycles for certain instructions, depending on the current data. This is slower, and only implemented in the C version of the 68000 emulation, making it slower still. The build system option "-ta 0" selects the least accurate of these three methods, the default is "-ta 1", and "-ta 2" selects the most accurate. The most accurate option is still not completely accurate. Completely accurate timing would be exceedingly difficult. For example, the CPU and video output conflict for accesses to RAM, and that would seem very complex to model. The greater accuracy is so far mostly theoretical. The timings were entered from Motorola documentation. It needs to be tested and calibrated by comparing to real hardware. Currently 68000 timings are used even in the 68020 emulation. More accurate timing for 68020 should be added in a future version. Truly accurate timing for 68020 would be much more difficult than for the 68000 because of pipelining and caching, probably to the point of being unfeasible for Mini vMac. But more accurate averages should be possible. * Mini vMac will now by default mount disk images in Disk Copy 4.2 format as read only. This is because by default Mini vMac ignores the checksum and tags of this format, so writing to the image makes it invalid. Mini vMac can be compiled with full support for this format, in which case the images will be writable. The new utility CnvtDC42 converts Disk Copy 4.2 format images to a new image without the tags and checksums, that the default version of Mini vMac can write to. * The Windows and Linux versions now match a previous feature of the Macintosh versions. When switching from full screen to normal mode, or toggling magnification in normal mode, it will preserve the emulated cursor position, by moving the host computer's cursor. * As an additional safety feature, the control mode confirmation for the reset, interrupt, and quit commands will now treat anything other than 'y' as meaning no, rather than ignoring it. (With exception that a repeated key is ignored - so 'q' is ignored for quit, 'r' for reset, and 'i' for interrupt.) This is because I once managed to accidentally reset Mini vMac by typing unintentionally into control mode. * The power button can now be used in the OS X version when in full screen mode, to put the (real) computer to sleep. * I've rearranged the Mini vMac about page (Control-A) a bit to make room for another idea I have for the variations. It no longer displays which the computer is being emulated. That can be inferred from the variation number. Bug fixes in default compile * In OS X, changing the screen configuration, such as switching between using the internal screen of a MacBook Air and an external screen, would tend to make Mini vMac stop drawing. * In OS X, if the screen configuration changes when in full screen mode, Mini vMac will turn off full screen mode, instead of just leaving the emulator window at a size that is now wrong. * In OS X, may now have a viable work around for misbehavior of the operating system calls to hide and show the cursor. The most easily reproducible such situation was when the computer went to sleep and then wakes up, the real cursor would end up visible. * In OS X, The operating system can sometimes bring up a dialog, such as for force quit (upon command-option-escape), and Mini vMac wouldn't notice, leaving the real cursor hidden, making the dialog hard to use. |
Download: Mini vMac v3.2.3 Beta
Source: Here
Random Related Topic
0 Comments
Post a Comment