Author Topic: MacVICE  (Read 100827 times)

Offline lallafa

  • A600
  • *
  • Posts: 83
  • Karma: 1
  • MacVICE & DI64 Dev
    • lallafa's Blog
Re: MacVICE
« Reply #150 on: November 29, 2009, 05:31:56 PM »
Yes, I did not include the SDL framework as it increases the app size of each emulator significantly. Typically, SDL is installed as a system framework.

I'll write a note in the Read Me of the SDL port.

Offline MagerValp

  • A600
  • *
  • Posts: 85
  • Karma: 0
Re: MacVICE
« Reply #151 on: November 29, 2009, 08:16:26 PM »
Yes, I did not include the SDL framework as it increases the app size of each emulator significantly. Typically, SDL is installed as a system framework.
Hmm, the do indeed bloat up the dmg quite a bit since you'd have to include it inside every app. Maybe you could include a single copy of the framework on the dmg? Or a .webloc?

The reason I noticed is that I don't have SDL installed - all the SDL apps I use have the framework inside. Sample size of 1, but I'm sure I'm not the only one :)

Offline MagerValp

  • A600
  • *
  • Posts: 85
  • Karma: 0
Re: MacVICE
« Reply #152 on: December 02, 2009, 06:38:15 AM »
It's impossible to enable double size or pal emulation in xplus4 - the VIC menu tries to set nonexisting VICII resources. I'm guessing it should be a TED menu?

Offline MagerValp

  • A600
  • *
  • Posts: 85
  • Karma: 0
Re: MacVICE
« Reply #153 on: December 02, 2009, 03:25:49 PM »
It's impossible to enable double size or pal emulation in xplus4 - the VIC menu tries to set nonexisting VICII resources. I'm guessing it should be a TED menu?

Fixed in the latest snapshot I see. Great!

I'm having a bit of trouble with the keymap though - after setting it to positional (as symbolic is the default even with non-US locale) I can't get the shift keys to work. Left shift prints out a $, and right shift appears to work as some kind of dead key (it eats the next key, but nothing is printed).

Offline lallafa

  • A600
  • *
  • Posts: 83
  • Karma: 1
  • MacVICE & DI64 Dev
    • lallafa's Blog
Re: MacVICE
« Reply #154 on: December 13, 2009, 05:47:10 PM »
The shift key issue on plus4 is now fixed, too

Offline MagerValp

  • A600
  • *
  • Posts: 85
  • Karma: 0
Re: MacVICE
« Reply #155 on: December 13, 2009, 08:39:14 PM »
The shift key issue on plus4 is now fixed, too
w00t :)

Offline lallafa

  • A600
  • *
  • Posts: 83
  • Karma: 1
  • MacVICE & DI64 Dev
    • lallafa's Blog
Re: MacVICE
« Reply #156 on: December 22, 2009, 07:41:45 AM »
It's christmas time and thus also VICE release time ;)

VICE 2.2 was just released and is available on the official site: http://vice-emu.sourceforge.net/.

I'd like to thank all contributors in this forum for their valuable input ranging from bug fixes to suggestions for improvement.
Without you the MacVICE wouldn't be as polished as it is in this release.
Thank you all!

Here is a summary (from NEWS) what's new compared to 2.1 (and Mac-related):

Code: [Select]
* Changes in VICE 2.2
======================

** General
----------

- On autostart, do not change true drive emulation (TDE) anymore by
  default. The old behaviour can be switched on again by specifiying
  -autostart-handle-tde on the command line.
  There is one drawback of this behaviour: If TDE is switched on, an
  image attached must fit to the drive type set. For example, when you
  attach a .D81, you must have the drive type set to 1581, or the
  autostart will fail.

- Added automatic Warp mode during autostart. If this resource is enabled then
  VICE automatically enables the warp mode and then loads a file. After
  loading the warp mode is disabled again and then the program is started.

- Autostarting a PRG file can now be done in three different ways:

  * "Virtual FS": This mode mounts the directory where the file resides as a
    virtual filesystem on drive #8 and then loads the PRG via virtual drive
    traps. This was the only way of autostarting in previous VICE versions
    and is still the default.

  * "Inject to RAM": The PRG file is loaded from VICE directly into the RAM of
    the emulated machine. Then the memory setup of a Basic LOAD is simulated
    and the program is run. This is the fastest mode available but may lack
    compatibility as no actual load operation was performed in the emulator.
    However, no drive setup is altered during the operation.

  * "Diskimage": VICE creates a temporary new disk image and copies the
    contents of the PRG file onto it. Then this image is mounted in drive #8
    and the program is loaded from there. If TDE is enabled then the load
    operation is most compatible. The disk image stays attached until a new
    image is mounted.

- Improved PAL emulation is now available for Unix/Xaw XVideo mode, and
  AmigaOS. Only the YUV packed modes work, the planar modes still use the
  old code paths, though.

- Sound core has been reworked to enable lower latency of operation.
  Approximately 50 ms latency values are now routinely reached, and some
  people have reported that as low as 30 ms still works for them.

- New SDL port. See ReadmeSDL.txt for details.

- New win64 ports, both amd64/x64 and ia64 are supported (msvc compile only).

- New SDL based armle, mipsle, ppcbe and shle QNX 6.x ports.

- New SDL based M68k and sparc SunOS ports.

- New SDL based Syllable port.

- New SDL based Dingoo port.

- Remote monitor (in other words: TCP/IP interface to VICE monitor) added.

- Fixed non-6502/6510 CPU handling in monitor.

** C64/C128 changes
-------------------

- ReSID's resampler has been optimized with MMX assembly. Some long-standing
  bugs in resample-interpolate mode were also fixed.

- ReSID-FP has been optimized, too. It clocks the analog parts at half the
  rate now, which saves CPU during filter emulation especially for 6581 modes.

- Added SFX Sound Sampler and SFX Sound Expander emulation.

- Added EasyFlash cartridge emulation.

- Added paddle emulation.

- Added lightpen/lightgun emulation, currently only available for the following
  ports: SDL, GTK+, cocoa, win32/win64 and msdos.

- Added support for the following userport joystick adapters: CGA/Protovision,
  DXS/HIT, PET (normally only used on the PET/CBM2), Hummer (normally only
  used on the C64DTV) and OEM (normally only used on the VIC20).

** C128 changes
---------------

- Added RAM banks 2 and 3 support.

- Improved the VDC emulation.

- Stereo SID $D7xx range support.

** VIC20 changes
----------------

- New cycle exact emulation core.  Handles accesses to unconnected
  address space and in-line graphics data changes correctly.
  (fixes "Impossiblator 3" and others)

- Improved VIC emulation (in-line color/reverse mode changes on half-chars).

- Cartridge handling rewritten.

- Added Mega-Cart cartridge emulation.

- Added Final Expansion cartridge emulation.

- Default memory configuration changed from full to unexpanded.

- Added paddle emulation.

- Added lightpen/lightgun emulation, currently only available for the following
  ports: SDL, GTK+, cocoa, win32/win64 and msdos.

- Corrected the joystick support, since the VIC20 can only have one joystick
  attached on the joystick port.

- Added support for the following userport joystick adapters: CGA/Protovision
  (normally only used on the C64/C128), PET (normally only used on the
  PET/CBM2), Hummer (normally only used on the C64DTV) and OEM.

** PLUS4 changes
----------------

- Added Digibooster SID Cart add-on emulation.

- Added SID Cart joystick port emulation.

- Fixed bug in tape recording.

- Improved graphics handling.

** C64DTV changes
-----------------

- Replaced old DTVSID emulation with ReSID-DTV.

- Minor bug fixes and emulation improvements.

- Added support for the following userport joystick adapters: CGA/Protovision
  (normally only used on the C64/C128), PET (normally only used for the PET),
  Hummer and OEM (normally only used on the VIC20).

** PET changes
--------------

- Corrected the joystick support, since the only way a PET can use a joystick
  is by a userport joystick adapter, the following userport joystick adapters
  are currently supported: CGA/Protovision (normally only used on the
  C64/C128), PET, Hummer (normally only used on the C64DTV) and OEM (normally
  only used on the VIC20).

** CBM2 changes
---------------

- Corrected the joystick support, since the only way a CBM2 can use a joystick
  is by a userport joystick adapter, the following userport joystick adapters
  are currently supported: CGA/Protovision (normally only used on the
  C64/C128), PET, Hummer (normally only used on the C64DTV) and OEM (normally
  only used on the VIC20).

** Mac OS X changes
-------------------

- Cocoa port now supports all emulators

- Support for Mac OS X versions 10.4, 10.5, and 10.6 and PowerPC, Intel 32,
  and 64 Bit Support.

- Cocoa UI redesign. Emulator window is reduced to emulation display only.
  Emulator is controlled with the new control window. There disk and tape
  images can be attached by clicking on the image or dragging files there.
  Added the tape controls for the datasette and the status bar.
  Added a master volume slider.

- Added SyncDraw display mode that does temporal filtering of the frames
  generated by the machine (motion blur). This enhances the display quality in
  moving scenes if the machine frame rate does not match the display refresh
  rate (e.g. a 50 Hz C64 is shown on a 60 Hz LCD display)

- Added FLIcker Fixer to SyncDraw mode that does full frame reconstruction,
  i.e. two half frames are buffered and displayed as a full frame. This helps
  to reduce flicker in FLI modes but might introduce too much blur in other
  modes.

- Attach image file dialogs now show the contents of the selected disk/tape
  image and allow to pick a program to load from there.

- Emulator is now paused if Mac OS X goes to sleep.

- The CoreAudio sound driver was completely rewritten to support the updated
  sound APIs found in the new Mac OS X versions.

- Added movie recording in QuickTime format (PowerPC and 32 Bit Intel only)

- Added support for dynamic loading of FFMPEG libraries installed via MacPorts

- Added support for dynamic loading of OpenCBM and Lame library

- Improved build scripts to support all current Mac OS X versions,
  architectures, and compilers (gcc 4.0, gcc 4.2, clang)

- Libnet and libpcap updated to current versions

- Some keymap fixes in cocoa port


Offline MagerValp

  • A600
  • *
  • Posts: 85
  • Karma: 0
Re: MacVICE
« Reply #157 on: December 22, 2009, 02:54:42 PM »
My only complaint is that since I've been using the betas, there aren't any new features to discover :)

Seriously though, great release. You've done a ton of excellent work, and MacVICE now matches the Win32 and GTK ports, and even surpasses them in a few places (like the wonderful syncdraw and frame blending!).

Offline grasstust

  • Forum Mod
  • A600
  • *****
  • Posts: 70
  • Karma: 0
    • Doremac - Amiga Emulation on MAC
Re: MacVICE
« Reply #158 on: December 23, 2009, 06:36:00 PM »
I also would like to thank you for all your hard work with MacVice!
We're lucky to have you on the Mac, Lallafa!
Thank you and Merry X-mas to you all! 8-)

Offline bjorn

  • A600
  • *
  • Posts: 5
  • Karma: 0
Re: MacVICE
« Reply #159 on: December 24, 2009, 08:08:42 AM »
Thank you very much for your work. This is an excellent release.

I tried xvic for the first time and I have a some questions. How can I choose a cartridge for xvic? Under File is "Attach Cartridge Image..." but I cannot select it. Must I configure something else first? I also find that some keys don't match my keyboard like they do in x64. Is this because Symbolic US in Keyboard Settings is set to "osx_sym.vkm" and in x64 Symbolic US is set to "osx_sym_us.vkm"? Maybe I can use osx_sym_us.vkm for xvic also? I think the VIC-20 and 64 had the same keyboard. I have so much to learn about using VICE.

I have one bug report for sure. In the xvic menu it says, "Quit x64". :)

Edit: I can load cartridges from the command line so I know the functionality works.
« Last Edit: December 24, 2009, 01:33:07 PM by bjorn »

Offline MagerValp

  • A600
  • *
  • Posts: 85
  • Karma: 0
Re: MacVICE
« Reply #160 on: January 13, 2010, 11:56:35 AM »
I can't seem to get 2.2 to find my gamepad (a PSP running FuSa). The Refresh button doesn't find any devices at all, all I get is Automatic (which doesn't work). If I try to launch the app in 32-bit mode, it crashes on startup...

Any ideas?

Offline GANDALf

  • A600
  • *
  • Posts: 13
  • Karma: 0
Re: MacVICE
« Reply #161 on: February 28, 2010, 11:32:39 AM »
In latest builds [22338 being the latest tried], most of my cartridges doesn't work anymore.  :-\

Offline bjorn

  • A600
  • *
  • Posts: 5
  • Karma: 0
Re: MacVICE
« Reply #162 on: February 28, 2010, 08:33:15 PM »
Does lallafa not read these messages anymore? ??? :(

Offline lallafa

  • A600
  • *
  • Posts: 83
  • Karma: 1
  • MacVICE & DI64 Dev
    • lallafa's Blog
Re: MacVICE
« Reply #163 on: March 02, 2010, 06:01:44 PM »
hi all,

I am still reading your posts - so don't panic ;)
I am just really busy with RL things, so currently I don't have the time left for VICE as I'd like to have...

@MagerValp: is this a 64 bit compile? This one does not support Joysticks...
Reason is that HID Utils I use from Apple has some Carbon relicts that are not supported anymore. I'll head over and use the HID Manager from Leo soon...

@bjorn: To be honest: VIC20 cartridge support is currently completely unsupported in the UI ;)
x64 has symbolic maps for german and US layouts while xvic only supports a single map.
I am not sure right now what was the source for the map.
Feel free to adjust the keymap and send me an update...

@GANDALf: do you have a detailed bug report for this problem?

Offline mrsid

  • A600
  • *
  • Posts: 34
  • Karma: 0
Re: MacVICE
« Reply #164 on: March 04, 2010, 07:09:30 PM »
Here's a crash report, from vice-macosx-cocoa-i386+x86_64-10.6-clang-2.2.1-r22310_20100221_trunk.dmg
Happens everytime, immediately after starting up x64 in 32-bit mode. Deleting org.viceteam.x64* prefs makes no difference.
Runs fine in 64-bit mode. GCC 4.2 build does not have this problem.

Code: [Select]
Process:         x64 [20399]
Path:            /Users/sid/Desktop/x64.app/Contents/MacOS/x64
Identifier:      org.viceteam.x64
Version:         ??? (2.2.1-r22310_20100221_trunk)
Code Type:       X86 (Native)
Parent Process:  launchd [177]

Date/Time:       2010-03-04 20:59:11.810 +0100
OS Version:      Mac OS X 10.6.2 (10C540)
Report Version:  6

Interval Since Last Report:          227587 sec
Crashes Since Last Report:           7
Per-App Interval Since Last Report:  4 sec
Per-App Crashes Since Last Report:   2
Anonymous UUID:                      01394610-8F45-459B-9C29-22778B7FA11D

Exception Type:  EXC_BAD_ACCESS (SIGBUS)
Exception Codes: KERN_PROTECTION_FAILURE at 0x0000000000000000
Crashed Thread:  3

Thread 0:  Dispatch queue: com.apple.main-thread
0   libSystem.B.dylib             0x984808da mach_msg_trap + 10
1   libSystem.B.dylib             0x98481047 mach_msg + 68
2   com.apple.CoreFoundation       0x916a277f __CFRunLoopRun + 2079
3   com.apple.CoreFoundation       0x916a1864 CFRunLoopRunSpecific + 452
4   com.apple.CoreFoundation       0x916a1691 CFRunLoopRunInMode + 97
5   com.apple.Foundation           0x9356d84a -[NSConnection sendInvocation:internal:] + 2587
6   com.apple.Foundation           0x9356cca9 -[NSDistantObject forwardInvocation:] + 411
7   com.apple.CoreFoundation       0x916dfe54 ___forwarding___ + 1108
8   com.apple.CoreFoundation       0x916df982 _CF_forwarding_prep_0 + 50
9   org.viceteam.x64               0x000dee24 0x1000 + 908836
10  org.viceteam.x64               0x000dee64 0x1000 + 908900
11  org.viceteam.x64               0x000cf525 0x1000 + 845093
12  org.viceteam.x64               0x000cc02d 0x1000 + 831533
13  org.viceteam.x64               0x000cec33 0x1000 + 842803
14  com.apple.Foundation           0x935141c7 _nsnote_callback + 176
15  com.apple.CoreFoundation       0x916c09a9 __CFXNotificationPost + 905
16  com.apple.CoreFoundation       0x916c03da _CFXNotificationPostNotification + 186
17  com.apple.Foundation           0x93509094 -[NSNotificationCenter postNotificationName:object:userInfo:] + 128
18  org.viceteam.x64               0x000dfaa3 0x1000 + 912035
19  com.apple.Foundation           0x9352ade1 __NSThreadPerformPerform + 506
20  com.apple.CoreFoundation       0x916a4761 __CFRunLoopDoSources0 + 1201
21  com.apple.CoreFoundation       0x916a238f __CFRunLoopRun + 1071
22  com.apple.CoreFoundation       0x916a1864 CFRunLoopRunSpecific + 452
23  com.apple.CoreFoundation       0x916a1691 CFRunLoopRunInMode + 97
24  com.apple.HIToolbox           0x90239f0c RunCurrentEventLoopInMode + 392
25  com.apple.HIToolbox           0x90239cc3 ReceiveNextEventCommon + 354
26  com.apple.HIToolbox           0x90239b48 BlockUntilNextEventMatchingListInMode + 81
27  com.apple.AppKit               0x9787cac5 _DPSNextEvent + 847
28  com.apple.AppKit               0x9787c306 -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 156
29  com.apple.AppKit               0x9783e49f -[NSApplication run] + 821
30  org.viceteam.x64               0x000de7fd 0x1000 + 907261
31  org.viceteam.x64               0x000dd67b 0x1000 + 902779
32  org.viceteam.x64               0x00002e95 0x1000 + 7829

Thread 1:  Dispatch queue: com.apple.libdispatch-manager
0   libSystem.B.dylib             0x984a70ea kevent + 10
1   libSystem.B.dylib             0x984a7804 _dispatch_mgr_invoke + 215
2   libSystem.B.dylib             0x984a6cc3 _dispatch_queue_invoke + 163
3   libSystem.B.dylib             0x984a6a68 _dispatch_worker_thread2 + 234
4   libSystem.B.dylib             0x984a64f1 _pthread_wqthread + 390
5   libSystem.B.dylib             0x984a6336 start_wqthread + 30

Thread 2:
0   libSystem.B.dylib             0x984a6182 __workq_kernreturn + 10
1   libSystem.B.dylib             0x984a6718 _pthread_wqthread + 941
2   libSystem.B.dylib             0x984a6336 start_wqthread + 30

Thread 3 Crashed:
0   org.viceteam.x64               0x000fded9 SIDFP::clock_resample_interpolate(int&, short*, int, int) + 1145
1   org.viceteam.x64               0x000fd1a9 void interpolate<int (*) [2], PointPlotter<int> >(int (*) [2], int (*) [2], PointPlotter<int>, double) + 5721
2   org.viceteam.x64               0x0007b652 0x1000 + 501330
3   org.viceteam.x64               0x0007a756 0x1000 + 497494
4   org.viceteam.x64               0x00038592 0x1000 + 226706
5   org.viceteam.x64               0x0001becd 0x1000 + 110285
6   org.viceteam.x64               0x0001bb54 0x1000 + 109396
7   org.viceteam.x64               0x0001c9ad 0x1000 + 113069
8   org.viceteam.x64               0x0001c3cc 0x1000 + 111564
9   org.viceteam.x64               0x0001f2df 0x1000 + 123615
10  org.viceteam.x64               0x000bc0c4 0x1000 + 766148
11  org.viceteam.x64               0x0002afa1 0x1000 + 171937
12  org.viceteam.x64               0x00013d3e 0x1000 + 77118
13  org.viceteam.x64               0x000e04d8 0x1000 + 914648
14  org.viceteam.x64               0x000e0311 0x1000 + 914193
15  com.apple.Foundation           0x935148d8 -[NSThread main] + 45
16  com.apple.Foundation           0x93514888 __NSThread__main__ + 1499
17  libSystem.B.dylib             0x984adfbd _pthread_start + 345
18  libSystem.B.dylib             0x984ade42 thread_start + 34

Thread 4:
0   libSystem.B.dylib             0x984808da mach_msg_trap + 10
1   libSystem.B.dylib             0x98481047 mach_msg + 68
2   com.apple.opengl               0x95b2cedb glcDebugListener + 426
3   libSystem.B.dylib             0x984adfbd _pthread_start + 345
4   libSystem.B.dylib             0x984ade42 thread_start + 34

Thread 5:
0   libSystem.B.dylib             0x9848093a semaphore_timedwait_signal_trap + 10
1   libSystem.B.dylib             0x984ae445 _pthread_cond_wait + 1066
2   libSystem.B.dylib             0x984dd028 pthread_cond_timedwait_relative_np + 47
3   com.apple.CoreVideo           0x98dc115e CVDisplayLink::waitUntil(unsigned long long) + 386
4   com.apple.CoreVideo           0x98dbffd7 CVDisplayLink::runIOThread() + 747
5   com.apple.CoreVideo           0x98dbfcd0 startIOThread(void*) + 156
6   libSystem.B.dylib             0x984adfbd _pthread_start + 345
7   libSystem.B.dylib             0x984ade42 thread_start + 34

Thread 6:
0   libSystem.B.dylib             0x984a6182 __workq_kernreturn + 10
1   libSystem.B.dylib             0x984a6718 _pthread_wqthread + 941
2   libSystem.B.dylib             0x984a6336 start_wqthread + 30

Thread 7:
0   libSystem.B.dylib             0x9848093a semaphore_timedwait_signal_trap + 10
1   libSystem.B.dylib             0x984ae445 _pthread_cond_wait + 1066
2   libSystem.B.dylib             0x984dd028 pthread_cond_timedwait_relative_np + 47
3   com.apple.audio.CoreAudio     0x9189c965 CAGuard::WaitFor(unsigned long long) + 219
4   com.apple.audio.CoreAudio     0x9189f997 CAGuard::WaitUntil(unsigned long long) + 289
5   com.apple.audio.CoreAudio     0x9189d294 HP_IOThread::WorkLoop() + 1892
6   com.apple.audio.CoreAudio     0x9189cb2b HP_IOThread::ThreadEntry(HP_IOThread*) + 17
7   com.apple.audio.CoreAudio     0x9189ca42 CAPThread::Entry(CAPThread*) + 140
8   libSystem.B.dylib             0x984adfbd _pthread_start + 345
9   libSystem.B.dylib             0x984ade42 thread_start + 34

Thread 3 crashed with X86 Thread State (32-bit):
  eax: 0x00000001  ebx: 0x00791fd0  ecx: 0x007748c8  edx: 0xa0b488c0
  edi: 0x00774830  esi: 0x00000001  ebp: 0xb018d948  esp: 0xb018d8f0
   ss: 0x0000001f  efl: 0x00210286  eip: 0x000fded9   cs: 0x00000017
   ds: 0x0000001f   es: 0x0000001f   fs: 0x0000001f   gs: 0x00000037
  cr2: 0x00000000