New Version Of The 68k Macintosh Emulator Basilisk II
July 17, 2008 by Hawq
Another couple of updates from JF for his port of this 68k Macintosh emulator on the PSP now so lets see what he’s done this time:
Here’s test 18. Cross your fingers and hope this fixes it ONCE AND FOR ALL. If you’re any decent at beta testing, you’ll notice the new PSP setting for relaxed timing on the 60 Hz IRQ. When enabled, the 60 Hz timer waits about 16 ms from whatever the time currently is, so you get the 60 Hz IRQ about 60 times a sec, but no guarantees. Disabled uses the default B2 code to try to maintain a drift-free 60 Hz interrupt. This naturally uses more time and can bog down the Mac depending on what else is going on. The default is relaxed timing, which is much smoother.
Here’s test 19. Updated the input mapping. Rules are as follows:
1 - You can have a maximum of 64 map entries.
2 - Map entries have two hexadecimal numbers followed by four decimal numbers.
3 - The first number is which PSP buttons must be pressed to match this map entry. The second number is which PSP buttons must NOT be pressed to match this map entry. Any combination is allowed. If you don’t specify all the buttons between the two fields, you can match to more than one entry (which is something you may want to do).
4 - The third through sixth numbers are Mac input values. They may be key codes, mouse buttons, or mouse movements. The following rules apply to Mac input values:
Anything less than 255 is a Mac key code. For the caps lock to work properly, it must be the first and only Mac input value for the map entry.
A value exactly equal to 255 is a null code - it does nothing. Be sure to fill unused values with 255!
A value between 256 and 511 is a mouse button, where the button number is the value - 256. So 256 is mouse button 0, 257 is mouse button 1, etc. Note that the 68K Mac never really used anything other than mouse button 0.
A value between 512 and 768 is a mouse movement. The movement is a value from -8 to +7 added to 8, with the horizontal movement being multiplied by 16. Negative values move up or left; positive values move down or right. So if you wished to move the mouse up at a speed of 2 and right at a speed of 5, the movement value would be 512 + (5+8)*16 + (-2+8), or 726. It might be easier to visualize it in hexadecimal, even if the value must be in the map as decimal. In hex, the mouse movement is 0×2XY, where X is the horizontal movement, and Y the vertical.
Notice that the mouse movement is new - I added that so that the d-pad could be used as a mouse if the analog stick weren’t working. I’ve included a new input map that makes the d-pad the mouse.
Note that the default mapping has changed! LTRIGGER is now the OPT key, and RTRIGGER the Control key. The CROSS is now the mouse button, while Enter was moved to SQUARE. The rest are the same as before: the d-pad is the Cursor keys, CIRCLE is CMD+w, and TRIANGLE is CMD+q.
This matches the d-pad mouse pretty well, where the d-pad becomes the mouse movement, and LTRIGGER changes from OPT to FAST mouse movement. So if you just press the d-pad, the mouse moves slowly, and if you hold LTRIGGER and press the d-pad, the mouse moves quickly.
Note that making RTRIGGER Control by itself was necessary to get contextual menus working right. Hold RTRIGGER, then press X over top something to get its contextual menu.
Download from the release thread or below.
Basilisk II For PSP (767.8 KiB, 27 Downloads) - Version Test 19
Basilisk II For PSP Source Code (2.3 MiB, 15 Downloads) - Version Test 19
Looking for our Basilisk II Page? Click below!
Basilisk II - Downloads, Screenshots, and More!



No comments yet.