Ultimate Amiga

Network Boards => doremac Forum => Commodore and Mac General => Topic started by: lallafa on February 13, 2008, 06:57:44 PM

Title: MacVICE
Post by: lallafa on February 13, 2008, 06:57:44 PM
Hi everybody!

I am your fellow MacVICE developer and I am happy to have a new place here for us Mac+CBM Addicts! Thanks grasstust!

This thread will be the somewhat "official" forum of MacVICE...

I will post news or updates on MacVICE here....

And for you its the place for queries, bug reports or suggestions

Here is the MacVICE Homepage: http://lallafa.de/blog/index.php/macvice/ (http://lallafa.de/blog/index.php/macvice/)
Title: Re: MacVICE
Post by: lallafa on February 13, 2008, 06:58:13 PM
First MacVICE news:

I have built new snapshots on 10.2.2008 for both VICE and VICEplus...

VICE is developer version 1.22.8 + own cocoa patches not yet submitted.
The VICE+Gtk Version now supports GL rendering and canvas resize (enable HW scaling option for that).
The VICE+Cocoa has some new more Menus unghosted in x64 and Dialogs added.

VICEplus is current SVN checkout.
Title: Re: MacVICE
Post by: MagerValp on February 14, 2008, 10:23:26 PM
Excellent! I just tested the latest Cocoa build, and it's coming along nicely. A lot of stuff doesn't work right though:


I have a MacBook Core Duo 1.83 GHz, MacOS X 10.5.2, Swedish locale.
Title: Re: MacVICE
Post by: lallafa on February 17, 2008, 04:50:13 PM
The Keyboard problem is often caused by the different keymap file the Gtk and the Cocoa version use. If you saved a configuration in one version then the other one won't work anymore. The X11/Gtk use x11_sym.vkm and Cocoa uses osx_sym.vkm...

I think intdroducing different config files for the different ports might be a good idea....

I'll have a look into the other issues soon...
Title: Re: MacVICE
Post by: MagerValp on February 18, 2008, 07:00:31 AM
Since I also use the X11 version (compiled into /usr/local/bin), that might be the case. The Cocoa version is probably better off using ~/Library/Preferences and ~/Library/Application Support instead of ~/.vice.
Title: Re: MacVICE
Post by: Ruliovega on February 19, 2008, 08:19:32 PM
Just Tested X64 Cocoa on my Macbook pro Intel OSX 10.4.11 and it works great. Had the problem with the keyboard but managed to solve it easily with your previous post.
Is there any GL support for this version?
Looking forward to the next update and more video options :)
Title: Re: MacVICE
Post by: franticHT on February 20, 2008, 09:49:31 AM
Hello!

First of all: Great work with a native leopard version of VICE! It is surely needed!

I downloaded the latest Vice-Cocoa-Leofix-version from your site (after feb 10, so I guess it should be the most recent one?). It works fine, but when I  use the launcher I get the following output:

008-02-20 12:05:37.990 x64[21414:60b] NSDocumentController Info.plist warning: The values of CFBundleTypeRole entries must be 'Editor', 'Viewer', 'None', or 'Shell'.
2008-02-20 12:05:37.991 x64[21414:60b] NSDocumentController Info.plist warning: The values of CFBundleTypeRole entries must be 'Editor', 'Viewer', 'None', or 'Shell'.
2008-02-20 12:05:37.992 x64[21414:60b] NSDocumentController Info.plist warning: The values of CFBundleTypeRole entries must be 'Editor', 'Viewer', 'None', or 'Shell'.
2008-02-20 12:05:37.993 x64[21414:60b] NSDocumentController Info.plist warning: The values of CFBundleTypeRole entries must be 'Editor', 'Viewer', 'None', or 'Shell'.
2008-02-20 12:05:37.993 x64[21414:60b] NSDocumentController Info.plist warning: The values of CFBundleTypeRole entries must be 'Editor', 'Viewer', 'None', or 'Shell'.
2008-02-20 12:05:37.994 x64[21414:60b] NSDocumentController Info.plist warning: The values of CFBundleTypeRole entries must be 'Editor', 'Viewer', 'None', or 'Shell'.
2008-02-20 12:05:37.994 x64[21414:60b] NSDocumentController Info.plist warning: The values of CFBundleTypeRole entries must be 'Editor', 'Viewer', 'None', or 'Shell'.
2008-02-20 12:05:37.995 x64[21414:60b] NSDocumentController Info.plist warning: The values of CFBundleTypeRole entries must be 'Editor', 'Viewer', 'None', or 'Shell'.
2008-02-20 12:05:37.995 x64[21414:60b] NSDocumentController Info.plist warning: The values of CFBundleTypeRole entries must be 'Editor', 'Viewer', 'None', or 'Shell'.
Reading configuration file `/Users/matsandren/.vice/vicerc'.
2008-02-20 12:05:38.308 x64[21414:60b] invalid display
mac_joy: found 0 joysticks/gamepads in 4 HID devices

It does start though, despite the warnings. However, the window is not opening on front of other windows but hides behind others. When using CMD+<tab> to switch to it, it is last in the list. So.. I guess there is one or a few things here which is not working perfectly as they should.

I am new to mac, so I am not too good at giving the relevant details I guess. I did try to just paste a new entry into the Info.plist xml-file, in order to try to set that CFBundleTypeRole-key (which is not in the Info.plist at all) to different things (Editor/none/Viewer/shell), but it doesn't make a difference. Possibly I didn't do it correctly.

Let me know if I can do something to test it more thoroughly.

Have a nice day!

//FTC
Title: Re: MacVICE
Post by: MagerValp on February 24, 2008, 07:46:22 PM
I found another bug: ⌘P is mapped to both Machine->Pause and Settings...->Peripheral Printers... (and brings up the latter).

BTW, do you need application and document icons?
Title: Re: MacVICE
Post by: lallafa on March 08, 2008, 07:35:07 AM
@franticHT:

Yes the leopard fix version still had issues with some missing entries in Info.plist. I added them already in the current snapshot...

@MagerValp:

Oops... I need to move printer settings to alt+cmd+p ;)

Concerning icons: I really appreciate any kind of contribution of high res mac icons for MacVICE!
I am more of a coder and no graphics artist so currently only a VICE app icon and a very generic document icon exists. What's really missing are icons for special data file types including disk images, tape images, cartridges, snapshots...

Moreover, I'd like to add a toolbar to the MacVICE window (like every other mac app does). There the most common commands (mount image, stop, monitor, ...) should be placed and also need decent icons. Additionally, I'd like to move the overcrowded snapshot menu into a small tool window with icons for stop, start, play, and so on...

So everybody doing graphics here: launch your photoshop, start drawing and help out making MacVICE a real Mac App experience ;)

Icons are 128x128 Pixel in size with RGB and alpha channel. Best use lossless TIFF for storage.
Title: Re: MacVICE
Post by: MagerValp on March 08, 2008, 07:55:51 AM
So everybody doing graphics here: launch your photoshop, start drawing and help out making MacVICE a real Mac App experience ;)

Icons are 128x128 Pixel in size with RGB and alpha channel. Best use lossless TIFF for storage.

Actually they're 512x512 now with Leopard :) I'll see if I can find some spare time, it's been a while since I did some gfx work.

Any chance we can get a quick build using ~/Library/Application Support and ~/Preferences for the VICE support files? Right now I'm stuck using the old X11 version because of the .vicerc keyboard conflict.
Title: Re: MacVICE
Post by: MagerValp on March 09, 2008, 02:24:56 PM
Here's a quick mockup using Terminal.app as a base for the icons:

http://www.cling.gu.se/~cl3polof/vice/ (http://www.cling.gu.se/~cl3polof/vice/)

Comments? Critique? Bad idea? Good idea?
Title: Re: MacVICE
Post by: lallafa on March 09, 2008, 06:20:00 PM
Hey, really nice icons... They allude to the new "metal frame" look introduced in Leopard for System Prefs and Terminal.app... I like them! Now on to the file types :D

And I have been busy, too: a fresh snapshot is online!

vice-1.22.8-r393_20080903

* Printer Settings has new short cut
* store Settings in Preferences Path: ~/Library/Preferences/org.viceteam.x64/
* added Machine Video Standard Menu
* added Video Rendering Menu
* added Sound Settings Menu
* correctly activate App on first Canvas
* OpenGL output syncs to VBlank
* rewrote OpenGL setup and redraw (@grasstust: does this help for you?)
* enabled Warp Mode
Title: Re: MacVICE
Post by: MagerValp on March 09, 2008, 07:57:11 PM
Hey, really nice icons... They allude to the new "metal frame" look introduced in Leopard for System Prefs and Terminal.app... I like them! Now on to the file types :D

I think I'll finish the application icons first, there's still a lot of work to do, including small icons.

What file type icons are needed? 5.25" floppy, 3.5" disk, cassette tape, and cartridge at least.

Quote
And I have been busy, too: a fresh snapshot is online!

vice-1.22.8-r393_20080903

Great! Shouldn't that be 20080309 though? :)

Works great here. The "monitor beeps bug is still there", and I also noticed weird behaviour if you try to close the monitor window with the close button. CMD-Option-M, i RETURN, click close and it repeats the i command instead of closing the window. x command exits properly.

With the vicerc change I can finally use this as my main VICE port. w00t!
Title: Re: MacVICE
Post by: grasstust on March 10, 2008, 06:08:53 PM
Ah! Greatness! Yes, the new MacVice refreshes perfectly and I'm back on my emulation streak! :)

I do like the icons, they are nicely designed, but I think they lack punch. They're a bit too... uhm... Boring if you don't mind me saying so. They lack personality and smartness. I tend to like character icons like VLC, MameOSX, Cyberduck, Tacoedit, etc. That has a concrete thing and not just a screenshot or a logo or whatever. I do also realize that your set of Icons will make the complete line of applications look nicer all together.

Title: Re: MacVICE
Post by: MagerValp on March 10, 2008, 06:18:51 PM
Yes, I agree, unique shapes would be more fun. I just don't have the graphics skills for that :) Though if someone could provide well lit highres photos of the machines against a plain background I could probably work with that. It'd have to be someone with a tripod and access to all VICE machines though...
Title: Re: MacVICE
Post by: MagerValp on March 11, 2008, 09:30:16 AM
Just noticed another bug: right shift doesn't seem to do anything. Left shift works as expected. 10.5.2, swedish pro keymap, core duo macbook.
Title: Re: MacVICE
Post by: franticHT on March 13, 2008, 06:00:23 PM
Although I do agree that the square form of those Icons make them a little bit less unique, I still think they are definitely good enough to be fully useablem and I certainly would not be disturbed by them. :)

Diskimagery64 has nice icons for C64 filetypes. (At least I think that's where the icons in my system for .d64 files and so on came from.) The .d64 icon is a 5.25" disk with a label saying "data" on it. :) Perhaps the same icons could be used for the filetypes?

...and now I just remembered that the same person is behind those two projects. :)

//FTC
Title: Re: MacVICE
Post by: MagerValp on March 13, 2008, 09:25:11 PM
...and now I just remembered that the same person is behind those two projects. :)

Indeed :) The icons have to be redrawn for 512x512 anyway though.

I also found another bug: you can't drag & drop CRT files, it tries to load them as a PRG.
Title: Re: MacVICE
Post by: MagerValp on March 17, 2008, 08:31:14 PM
OK, the VICE application icons are done. You can grab them here:

http://www.cling.gu.se/~cl3polof/vice/vice-macosx-icons-r1.zip (http://www.cling.gu.se/~cl3polof/vice/vice-macosx-icons-r1.zip)

The Photoshop images are included if anyone wants to improve them.

A few demo shots of the icons follow:

(http://www.cling.gu.se/~cl3polof/vice/demo_icon.png)
(http://www.cling.gu.se/~cl3polof/vice/demo_list.png)
(http://www.cling.gu.se/~cl3polof/vice/demo_coverflow.png)
(http://www.cling.gu.se/~cl3polof/vice/demo_dock.png)
Title: Re: MacVICE
Post by: MagerValp on March 18, 2008, 01:34:32 PM
Here's the first mockup of the tape icon:

(http://www.cling.gu.se/~cl3polof/vice/tape.png)
Title: Re: MacVICE
Post by: MagerValp on March 18, 2008, 04:29:09 PM
And here's the cartridge mockup:
(http://www.cling.gu.se/~cl3polof/vice/cartridge.png)
Title: Re: MacVICE
Post by: MagerValp on March 18, 2008, 07:27:41 PM
...and D64:
(http://www.cling.gu.se/~cl3polof/vice/floppy525.png)
Edit: fixed shadow
Title: Re: MacVICE
Post by: MagerValp on March 19, 2008, 11:12:54 AM
OK, tape, cartridge, and 5.25" floppy icons added.

http://www.cling.gu.se/~cl3polof/vice/vice-macosx-icons-r2.zip (http://www.cling.gu.se/~cl3polof/vice/vice-macosx-icons-r2.zip)
Title: Re: MacVICE
Post by: lallafa on March 19, 2008, 08:06:19 PM
The icons are really awesome! If you agree I'll add them to "official" VICE (with proper artist reference) and of course to the next snapshot....

Now only a PRG Icon is missing (ok, i forgot vsf)... but this one is rather abstract... ;)

BTW: The old DiskImagery64 icons were done in SVG and so they are available in any resolution ;)
Title: Re: MacVICE
Post by: MagerValp on March 19, 2008, 08:20:21 PM
Yes, please use them as you see fit. I think they could use a little more work, in particular the media icons needs better text, and maybe a little color?

PRG, VSF, and D81 needs to be done. D81 is easy enough, but I don't know how to visualize PRG and VSF. As you say they are a little abstract...
Title: Re: MacVICE
Post by: lallafa on April 06, 2008, 07:32:27 PM
a new snapshot is online: vice-1.22.9-r422_20080406

changes:
* updated to VICE 1.22.9
* readded FFMPEG support
* added MagerValp's icons
Title: Re: MacVICE
Post by: MagerValp on April 06, 2008, 08:31:42 PM
Looking good. The xplus4 and xvic icons need to be made a little bit darker, so that the screen glare is visible. Also, how do I get the new vice icons to become the default document icons for D64, etc? My system appears to be using icons from the official VICE 1.21.

I noticed that fullscreen mode is available, but the menubar and dock stays visible. It also doesn't keep the aspect ratio, but gets squashed on my macbook's widescreen display.
Title: Re: MacVICE
Post by: lallafa on May 04, 2008, 07:32:00 PM
a new snapshot is online: VICE 1.22.12-r18765_20080504

this time:
Title: Re: MacVICE
Post by: MagerValp on May 04, 2008, 08:10:48 PM
Yay!

Must... fix... icons...
Title: Re: MacVICE
Post by: lallafa on May 18, 2008, 09:33:29 PM
new snapshot: MacVICE-1.22.15-r18792_20080518


BTW: VICEplus 1.1 was released. First time with Cocoa binary and my latest Cocoa changes merged from MacVICE. see: http://viceplus.wiki.sourceforge.net/ (http://viceplus.wiki.sourceforge.net/)
Title: Re: MacVICE
Post by: franticHT on May 20, 2008, 08:41:39 AM
Right SHIFT-key does not have any effect on my MacBook, x64 version 1.22.9-r422_20080406

Hardware Overview:

  Model Identifier:   MacBook3,1
  Processor Name:   Intel Core 2 Duo
  Processor Speed:   2 GHz
  Number Of Processors:   1
  Total Number Of Cores:   2
  L2 Cache:   4 MB
  Memory:   2 GB
  Bus Speed:   800 MHz
  Boot ROM Version:   MB31.008E.B02
  SMC Version:   1.24f2
  Serial Number:   W880509UZ65
  Sudden Motion Sensor:
  State:   Enabled

...and the Retro Replay doesn't seem to work completely either. I can get into the monitor, but when trying  stuff like "D 1000" I only get a question mark as error in the monitor.
Title: Re: MacVICE
Post by: MagerValp on May 20, 2008, 08:55:04 AM
For me, the right shift key still doesn't work in the latest snapshot, but Retro Replay works fine.
Title: Re: MacVICE
Post by: lallafa on May 25, 2008, 06:28:58 PM
The new snapshot 1.22.15-r18800_20080523 has reworked keymaps.
I hope the shift key issue is solved there. Actually they contain symbolic mappings for U.S. and German keyboards for the first time ;)

New snapshot also adds a UI for media recording...
Title: Re: MacVICE
Post by: MagerValp on May 25, 2008, 06:54:45 PM
Title: Re: MacVICE
Post by: lallafa on May 25, 2008, 07:07:30 PM
@MagerValp:

In your current vicerc the old name is still stored. So either reset to defaults or edit the keymap entries in "Settings/Keyboard..." to: "osx_sym_us.vkm" and "osx_sym_de.vkm". The name of the positional hasn't changed.
Title: Re: MacVICE
Post by: MagerValp on May 25, 2008, 08:20:54 PM
Ah, yep, that helped. The log windows says that it loads the appropriate file, but strangely enough I still get the same layout (positional) no matter which I choose.
Title: Re: MacVICE
Post by: lallafa on June 01, 2008, 12:17:07 PM
Title: Re: MacVICE
Post by: MagerValp on June 08, 2008, 09:04:07 AM
Something's screwy with my vice keyboard config. Can't be arsed to figure it out right now, as the positional layout works (which is what I want), and it's unlikely to be a bug.
Title: Re: MacVICE
Post by: MagerValp on July 03, 2008, 09:14:31 AM
Would it be possible to add a toggle that enables/disables the joysticks? On a laptop keyboard there's no good way of mapping the joystick keys, so I end up using cursor keys + ctrl. Having to go into joystick config and manually select none every time you need to access the cursor keys is a PITA.

Or how do you people solve the problem?
Title: Re: MacVICE
Post by: franticHT on July 05, 2008, 04:09:32 PM
@Magervalp: I am highly disturbed by the very same thing. :)
Title: Re: MacVICE
Post by: MagerValp on July 05, 2008, 05:46:18 PM
OK, good, I'm not missing anything obvious then :)

So yeah, a feature request for toggling between joystick mapped or not on CMD-Shift-J, or something like that.
Title: Re: MacVICE
Post by: lallafa on July 26, 2008, 07:41:41 AM
In case you missed it: VICE 2.0 was released: http://www.viceteam.org (http://www.viceteam.org)

On the Mac side it includes the current snapshot for the Cocoa port which is for the x64 at least 90% complete. The X11 and Gtk+ ports are full featured as usual.

Sorry, the last suggestions here (toggling joystick) didn't make it into 2.0, but are on my todo for 2.1.

Concerning post 2.0 Cocoa development I'd like to move to 10.5 features in the UI. Namely the property inspector currently found in VICE already requires 10.5 to have nice widgets on the sheet.

With 10.6 Snow Leopard already approaching fast it seems sensible to have a support range of two versions in the near future...

What do you think? Are you all already using 10.5? What are there reasons to still have 10.4 support?
Title: Re: MacVICE
Post by: grasstust on July 27, 2008, 12:33:18 AM
In my opinion go 10.5, but leave previous versions for 10.4 users. It'll also save you some time focus on one version.

I'm a bit confused as to what is new in v2.0 of Vice. I see the new smaller titlebars and the inspector. Anything else?

I would by the way love to be able to use cmd+1 and cmd+2 for switching the screen to normal and double size, like the Quicktime Player.

I would also like a "favourites" tab, where you can put a list of favourites in a list, maybe with screenshots.
Title: Re: MacVICE
Post by: MagerValp on July 27, 2008, 12:31:40 PM
I did indeed miss VICE 2.0. Quite a few changes, including some bugs that have been there forever.

10.5 only seems like a good plan. I have a couple of 10.4 machines still, but that's just out of laziness.
Title: Re: MacVICE
Post by: Naquaada on September 02, 2008, 05:45:09 PM
I could live with a 10.5 only version of VICE. I also thought to keep a 10.4.x system, but I don't do it. There are rather much differences in the Unix base and permission settings. System-internal tools or drivers which were working in Tiger don't work in Leopard anymore. I had a program for Tiger that could change the short name of your home folder, but in Leopard this doesn't work. Does anyone a tool for Leopard which can do this?

10.6 Snow Leopard is only for Intel.

 
Title: Re: MacVICE
Post by: MagerValp on September 03, 2008, 11:16:46 AM
I had a program for Tiger that could change the short name of your home folder, but in Leopard this doesn't work. Does anyone a tool for Leopard which can do this?

It's safer to create a new user and move the files over, and change ownership with chown. Do this from single user mode, or using a third account.

OT, so reply in private instead of to the thread.
Title: Re: MacVICE
Post by: lallafa on October 12, 2008, 05:18:06 PM
a new snapshot is available: 2.0.6-r19496_20081012

besides the 2.0.x VICE feautres, new mac features include:

* greatly enhanced USB HID joystick support. In the Cocoa port you can now configure which HID device to use and which axis is used for horizontal or vertical movement. Additionally, you can map the buttons to be either a fire button or a digital joystick direction. With the new driver I was able to use a PS3 controller (with cable) with both the analog stick (axis) and the digital one (buttons).

* MIDI support! VICE x64 now emulates a MIDI cardrigde with a MIDI In and MIDI Out port.
After enabling MIDI the two ports are mapped to Mac OS X MIDI endpoints.
You can then use C64 midi software (e.g. http://noname.c64.org/csdb/release/?id=56275 (http://noname.c64.org/csdb/release/?id=56275)) and play it via a virtual keyboard (e.g. http://www.manyetas.com/creed/midikeys.html (http://www.manyetas.com/creed/midikeys.html)) or embed it in your Mac MIDI setup.
MIDI In is tested. For MIDI Out on the C64 I am still looking for a test PRG...

have fun!
Title: Re: MacVICE
Post by: MagerValp on October 13, 2008, 11:46:31 AM
Cool! So what's new in VICE 2.0.6 compared to vanilla 2.0?
Title: Re: MacVICE
Post by: mrsid on November 02, 2008, 10:57:37 AM
Great release!
It's getting better and better...
Title: Re: MacVICE
Post by: lallafa on November 02, 2008, 07:00:58 PM
small update: snapshot 2.0.7-r19558_20081102

@MagerValp: finally added "Allow Keyset Joystick" with blazingly short short cut CMD+K to toggle key-based joystick on/off :)

2.0.x mainly includes the VICEplus merge (i.e. x64dtv, monitor enhancements), an improved SID emu (SID-FP) and the usual pile of fixes...

@mrsid: thanx... I'll keep going
Title: Re: MacVICE
Post by: MagerValp on November 03, 2008, 04:46:16 AM
@MagerValp: finally added "Allow Keyset Joystick" with blazingly short short cut CMD+K to toggle key-based joystick on/off :)

Lovely, thanks!

BTW, I installed VICE on my new Mac Pro, and it doesn't seem to display scanlines in doublesize mode. I haven't checked the vicerc yet, but all values should be at the default since there GUI for video options isn't available :)

Title: Re: MacVICE
Post by: lallafa on November 16, 2008, 06:50:41 PM
2.1 is approaching fast, so the snapshot updates are coming quickly: 2.0.8-r19614_20081116


Please test the builds and please report bugs/annoyances so that the upcoming 2.1 won't contain any showstoppers for the Mac port...

Have Fun!
Title: Re: MacVICE
Post by: grasstust on November 18, 2008, 02:50:41 PM
Nice release! It was fun seeing a DTV demo, it worked flawlessly!

The toolbar is a welcome new addition, althought the "attach"-icon look didn't
make much sense to me. Also I would like to have an autostart image button
there too.

Actually, I was wondering about a way to attach a new disk - ie. when a demo
says "insert disk 2" from the Finder. I always drag an image from the finder
and on to a new Vice window to load something new, but I also be like to do
the same to eject current image and attach the new to insert disk 2.

Maybe click dragging while pressing command could attach the new image?

Also I like the addition of cmd+1,2,3,4. But you realize if you use the
Scale x2 renderer that it will double that and ie. cmd+4 will be extremely huge?

One new addition I would like with Vice would be a playlist with a selectable
icon. My top 10 demos and top 10 games should always be available to me in
Vice methinks.

And btw: Any idea when the fliplist function will be available? I like the idea
of that function...

Keep it up, great work!
Title: Re: MacVICE
Post by: lallafa on November 23, 2008, 08:32:26 PM
@grasstust:
you can drag & drop an image file onto the control window to attach it to the underlying device.

unfortunately, there is no opposite symbol to "eject" for "attach" in the symbol charset. if you have a good alternative symbol found in the charset then please tell me the unicode of it :)

scaling by 4 is huge indeed, but cinema display even available today are not small either...

playlist support was moved to my TODO and fliplist support is already included in the upcoming snapshot.
Title: Re: MacVICE
Post by: lallafa on November 23, 2008, 08:39:43 PM
I am currently uploading a new snapshot: 2.0.9-r19710_20081123

This version is the feature freeze for 2.1 and finally completes the feature set for x64:

+ Added Fliplists
+ Added Netplay Dialog
+ ROM Resources
+ Video Settings Dialog
+ Record History Dialog

The next release will contain only bug fixes until 2.1.0 is ready for release.

Have Fun!
Title: Re: MacVICE
Post by: ElB on November 24, 2008, 09:31:54 PM
Good stuff; I've not had a chance to play with it too much yet, but even in its earlier incarnations the Cocoa port was much friendlier than the X11 version.  One request, though -- it's a bit of an epic download (several times bigger than all the C64 software I have) so would it be possible to provide separate downloads for x64, xPet, etc?  Apart from bouts of mild curiosity (or careless aiming of the mouse) the only one I ever run is x64, and I suspect I'm not alone in being much more interested in the C64 than any of the other machines so if nothing else it'll cut down on your bandwidth usage. :D
Title: Re: MacVICE
Post by: MagerValp on November 25, 2008, 11:18:14 AM
This version is the feature freeze for 2.1 and finally completes the feature set for x64

Looking good, scanlines are back. The only thing I'm missing is the SID settings window, but of course it's possible to change that in the inspector.

Quote
you can drag & drop an image file onto the control window to attach it to the underlying device.

How? The control window disappears as soon as VICE loses focus :)
Title: Re: MacVICE
Post by: ElB on November 25, 2008, 12:08:27 PM
How? The control window disappears as soon as VICE loses focus :)
Finder will only grab focus if you click on it and then release the button, so if you make sure your Finder window with the disk images is somewhere accessible when VICE is on top of it, give focus to VICE, then click-and-drag the file from Finder in one move it won't steal focus.
Title: Re: MacVICE
Post by: Pentad on December 18, 2008, 01:25:08 AM
Hello,

I am new to the Mac and loved VICE under Windows.   I would like to ask some 'stupid' questions from a new user:

1.  I would like to grab the source code for macvice and compile it myself.  What is the best svn client?  I grabbed Versions to play with right now.

2.  What is the url for the macvice repository?  I know I must sound like an idiot but nothing I put in seemed to work.  Is it:  http://vice-emu.svn.sourceforge.net/vice-emu/branches/chris/cocoa-port/vice/    ??


3.  Can I build this in Xcode or do I compile it in Terminal/X11?


Thanks very much for the help!!
-P
Title: Re: MacVICE
Post by: lallafa on December 18, 2008, 04:40:48 PM
1. I use the svn command line client which was built with http://www.macports.org, but I think there are installable dmg distributions out there.

2. The main development trunk is: http://vice-emu.svn.sourceforge.net/vice-emu/trunk/vice
I merge all cocoa changes to this one. The URL you mentioned is one of my private development branches, which is already closed.

3. Terminal.app is your friend. No XCode for the build. You can do a simple ./configure && make all bindist. Or use the build scripts in "build/macosx/*.sh". See doc/ReadmeMacOSX.txt Section 5 for details.
Title: Re: MacVICE
Post by: Pentad on December 18, 2008, 08:14:35 PM
Thank you for the reply!!!

I have tried all day to connect to the site via http://vice-emu.svn.sourceforge.net/vice-emu/trunk/vice and I keep getting an error.  I used Versions, svnx, and Tortoise (on Windows) with the same error message.  I can grab the source for other projects on different servers but boy am I having trouble with this.

I didn't know if you could double check to make sure SF hasn't done anything to the branch?   I even enlisted some co-workers and none of us were able to connect.

I get this error in svnx:

SVN Error

SVN:  xml Data was not well-formed


In Versions and Tortoise I get this error:

PROPFIND request failed on '/vice-emu/trunk/vice'
PROPFIND of '/vice-emu/trunk/vice': 200 OK (http://vice-emu.svn.sourceforge.net)


Thanks for the help!
-P
Title: Re: MacVICE
Post by: lallafa on December 20, 2008, 07:38:34 AM
Hello fellow MacVICE users!

Christmas is approaching fast, and xmas time is time for presents: Here is the one from me and all others of the VICE Team: VICE 2.1 was released yesterday!

Unfortunately the main site is not updated yet, but you can already download from the Archive:
http://zimmers.net/anonftp/pub/cbm/crossplatform/emulators/VICE/
Or use my local mirror:
http://www.lallafa.de/files/vice/2.1/

Happy Holidays,
chris

Here is the complete NEWS for 2.1:

Quote
VICE is the Versatile Commodore Emulator, it emulates the Commodore C64,
C128, VIC20, PET, PLUS4 and the CBM-II, as well as the C64 DTV, and it
runs on Win32, Unix, DOS, RiscOS, OS/2, BeOS, QNX, SkyOS, AmigaOS and
GP2X systems.

VICE is *free* software released under the GNU General Public License,
and as such it comes with full source code.

Most important changes since the last version include:


* Changes in VICE 2.1
======================

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

- The VICEplus project has been joined with VICE. Thus, x64dtv is now
part of VICE.

- We can be contacted via IRC: #vice-dev on freenode

- Added a more accurate ReSID engine using floating point math (ReSID-FP).

- Added support for the USB HardSID.

- PAL emulation has been rewritten and optimized.

- Fixed the ACIA 6551 emulation. (x64/x128/xcbm2/xpet/xplus4)

- Monitor commands help text is now translated too
(in ports where translation is available at all)

- Monitor IO command now displays IO area even if it is currently
banked out.

- GCR file handling (.G64) issues an error message if the .G64 does not
have the expected structure. Before, VICE just silently ignored such
files.

- IRQ handling fix

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

- Fixed the digimax sound generation.

- Added the RR clockport disable functionality at $DF00.0. Allows
to disable the RRnet.

- Improved REU compatibility and timing.

** C64 changes
--------------

- Added isepic cartridge emulation.

- Added Double Quick Brown Box cartridge emulation.

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

- Improved the sound emulation.

- Fixed the lowest note bug.

- Improved VIC emulation (exact in-line color/reverse mode changes).

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

- New emulator.

** Unix changes
---------------

- XRandR fullscreen implemented

- Command line option `-fullscreen' is supposed to do something
useful.

- Vsync code imported from win32 (based on openGL extension).
see also doc/openGLsync-howto.txt.

- Vidmode (fullscreen support) is broken and therefore marked as
deprecated. It will be removed in the next release if no-one takes
responsibility to fix the broken code and is willing to maintain the
code.

- PAL Emulation (new implementation, improved speed) should be usable
again (it was broken on certain display depths).

- Log messages are always english.

- Only x11 keymaps will be installed when doing a 'make install'.

- MIDI cartridge emulation for x128, x64 and xvic.

** MS-Windows changes
---------------------

- Watcom generated executables are more optimized.

- MIDI cartridge emulation for x128, x64 and xvic.

- When specifying the target for the RS232 communication
(Menu Settings/RS232 Settings), the target can be specified by
name now. Before, you had to use the IP address.

- Fixed some minor errors with the RS232 communication via TCP
connections.

- RS232 can use real devices now, too.
To use this feature, you have to specify the COM port used in
Settings/RS232 Settings like:
\\.\com1: baud=57600 parity=N data=8 stop=1

The characters after the colon can be used to specify additional
settings for the COM port. The string must have the same form as the
mode command's command-line arguments:
[baud=b][parity=p][data=d][stop=s][to={on|off}][xon={on|off}]
[odsr={on|off}][octs={on|off}][dtr={on|off|hs}][rts={on|off|hs|tg}]
[idsr={on|off}]

The above example specifies COM1 with a baud rate of 57600, no parity,
8 data bits and 1 stop bit.

Note that the leading \\.\ is used to distinguish between TCP/IP
targets and real devices, thus, you have to use it.

(Sorry, no fancy UI yet.)

- vsid GUI reworked:
* infoline appears only by pressing "I"
* raises process priority. Otherwise, when in background,
looses cpu power and music is not played at correct speed
* drag&drop support; window also gets focus back on drop
* correct display of emulated sid model (when using -keepenv)
* changed colors

- fixed copy function from the VICE monitor window.

** AmigaOS changes
------------------

** OS/2 changes
---------------

- Fixed 24/32bit display depth problem.

** GP2X changes
---------------

- Fixed black screen problem.

- Pause emulation while the menu is open.

- Added experimental support for USB keyboard and joystick.

- Removed vsid.

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

- x64a.app and x64dtv.app (Cocoa) are now feature complete
* added flip lists
* added netplay dialog
* added ROM resources
* added video settings dialog
* added record snapshot dialog

- Introduced new control window that replaces old peripherals drawer
* with tape control buttons
* attach/eject buttons for each drive
* drag & drop of disk/tape images

- Introduced Cocoa compile for Mac OS X 10.5 and greater with more features
(see extended Resource Inspector)

- Completely rewritten joystick driver that supports user-definable buttons
for fire and all directions.

- Copy & Paste support for emulator and monitor/log window

- Added x2, x3, x4 view scaling like in Quicktime Player

- Store visibility and size of all windows in user's preferences

- Added Keyset Joystick toggle to quickly disable keyboard joysticks

- Added MIDI support
Title: Re: MacVICE
Post by: lallafa on December 20, 2008, 07:45:39 AM
@Pentad: Ah, I see the problem... The URL you use is the one for the Web-Frontend for SVN browsing.

The SVN respository URL is: http://vice-emu.svn.sourceforge.net/svnroot/vice-emu/trunk/vice
Title: Re: MacVICE
Post by: lallafa on February 22, 2009, 06:11:07 PM
A new snapshot is available: 2.1.4-r20243_20090222

* Added OpenCBM support with runtime linkage (use cvs version)
* Moved FFMPEG out of application bundle. Use MacPorts FFMPEG if its available
* Added QuickTime Movie Export
* Mac OS X 10.4 is now a base requirement for all ports
* Fixed Crashes on 10.4 experienced in VICE 2.1 (Sound related)
Title: Re: MacVICE
Post by: fuzzy76 on March 27, 2009, 08:06:42 AM
Can you tell us if there is any plans to get HardSID support into the Mac port? I must admit I have no idea how big of a task this is, but I was just wondering. :) I have been thinking about getting me a HardSID 4U, but as far as I can tell there is no Mac software at all that support it.
Title: Re: MacVICE
Post by: grasstust on March 27, 2009, 01:48:39 PM
There are still no HardSid drivers for OS X, so I think it will be difficult.
Title: Re: MacVICE
Post by: MagerValp on April 06, 2009, 12:38:24 PM
Hi,
  I've been doing a bit of development using vice lately, and I've run into the following bugs:

In the monitor, if you're in assembly mode, you can't exit to the prompt by pressing return - it repeats the last instruction instead.

If you press return too quickly, e.g. by holding it down to repeatedly disassemble, the monitor window loses focus.

Some stray pixels seem to get stuck in the right border when you watch demos with sideborder graphics, and have PAL emulation enabled.

The Alt key tend to get stuck if you go back and forth between vice, its monitor, and other OS X apps. Typing gives PETSCII graphics characters, pressing shift toggles upper/lower case font.


Reading through these I see that they are all really just nitpicks - your vice port is now easily the best one to use :)
Title: Re: MacVICE
Post by: lallafa on April 16, 2009, 05:38:15 PM
Hi MagerValp,

the monitor issues should all be fixed now (in r20692 I just uploaded).

Can you give me a more detailed description on how to reproduce the ALT key problem?

The snapshot also includes:
* added history in monitor (cursor up/down)
* SDL port now included (requires SDL.framework installed)
* VICE 2.1.9
* more sound fixes
Title: Re: MacVICE
Post by: MagerValp on April 16, 2009, 08:38:42 PM
Title: Re: MacVICE
Post by: lallafa on April 17, 2009, 11:52:21 AM
Quote
Cool. I built VICE a few hours ago, and that snapshot had lots of problems... most notably autostart doesn't seem to work correctly, I have to type RUN after launching with "open foo.d64".

Ah... I remember... its still an open topic.  :-[ I'll have a look at it.
Anything more causing trouble? Just, post the problem...

Quote
* Compilation fails with --enable-memmap, due to an extra comma on line 621 in src/gfxoutputdrv/quicktimedrv.c
* Reset and Monitor buttons are swapped in the CPU JAM requester.

Just fixed in trunk.
Title: Re: MacVICE
Post by: MagerValp on April 17, 2009, 02:50:41 PM
Anything more causing trouble? Just, post the problem...

Just a crash or two, but I'll let you know what I find - I haven't done any coding for a few days.
Title: Re: MacVICE
Post by: lallafa on April 17, 2009, 03:39:20 PM
Quote
Ah... I remember... its still an open topic.  Embarrassed I'll have a look at it.

Bug fixed.

Please note: autostart doesn't alter True Drive Emulation anymore.
If you want to have the old behaviour then you need to enable the Resource "Autostart/Handle TDE" in the Resource Inspector.
Title: Re: MacVICE
Post by: MagerValp on April 18, 2009, 07:38:51 AM
Bug fixed.

Confirmed, thanks.

Quote
Please note: autostart doesn't alter True Drive Emulation anymore.

Interesting. What's the reasoning behind this change? A fairly obvious side effect is rather slow loading, but that could be fixed by automatically switching to warp mode (like Power64 does), and automatically drop back once PC becomes lower than $E000. I also see that no progress has been made with the long standing bug of TDE being switched off after loading a prg file... :)

BTW, here's my patch to build-vice-dist.sh that autodetects the number of CPU cores to speed up the build:

Code: [Select]
Index: build/macosx/build-vice-dist.sh
===================================================================
--- build/macosx/build-vice-dist.sh (revision 20706)
+++ build/macosx/build-vice-dist.sh (working copy)
@@ -72,6 +72,11 @@
 echo "  sdk version:  $SDK_VERSION"
 echo
 
+# ----- determine number of CPUs -----
+NUM_CPUS=`hostinfo | grep 'processors are logically available' | awk '{print $1}'`
+echo "$NUM_CPUS processor cores detected"
+echo
+
 # ----- determine build options -----
 echo "----- Determine Build Options -----"
 
@@ -102,7 +107,7 @@
 }
 
 # default configure flags
-CONFIGURE_FLAGS="--disable-nls"
+CONFIGURE_FLAGS="--disable-nls --enable-memmap"
 
 # check for gtk+ libs
 if [ "$UI_TYPE" = "gtk" ]; then
@@ -233,7 +238,7 @@
     $VICE_SRC/configure --host=$BUILD_ARCH2-apple-darwin $CONFIGURE_FLAGS \
       --x-includes=$BUILD_SDK/usr/X11R6/include --x-libraries=$BUILD_SDK/usr/X11R6/lib
   set +x
-  make 2>&1 | tee build.log
+  make -j $NUM_CPUS 2>&1 | tee build.log
   echo "--- Warnings ---"
   fgrep warning: build.log
   popd

Title: Re: MacVICE
Post by: lallafa on April 18, 2009, 07:25:54 PM
Quote
Interesting. What's the reasoning behind this change?

Good point. AFAIK autostart should reduce the state changes done to the emulation on default.

I like the idea with the ROM detection! I already did a first experimental implementation for VICE (r20711). However I am not sure if that works reliable for all cases and emulators. I'd really appreciate if you could test it and give me some input on that.

Quote
I also see that no progress has been made with the long standing bug of TDE being switched off after loading a prg file...

PRG loading is currently implemented by mounting the file system where the file resides as a virtual file system on unit 8.
Then the file is loaded and unfortunately the whole unit 8 state is not restored. Its mainly missing because state restoration is not trivial... :/

What I'd prefer here is to have some kind of "DMA" PRG load that directly loads the file into emu RAM without altering unit 8.
That involves setting up a basic load and is heavily system dependent but maybe I'll give it a try with x64...

Quote
BTW, here's my patch to build-vice-dist.sh that autodetects the number of CPU cores to speed up the build:

Thanks! Added to trunk.
Title: Re: MacVICE
Post by: MagerValp on April 18, 2009, 09:32:28 PM
Quote
Interesting. What's the reasoning behind this change?

Good point. AFAIK autostart should reduce the state changes done to the emulation on default.

That makes sense, yeah. The old autostart method does seem like a rather complex solution to the problem.

Quote
I like the idea with the ROM detection! I already did a first experimental implementation for VICE (r20711). However I am not sure if that works reliable for all cases and emulators. I'd really appreciate if you could test it and give me some input on that.

Looking at the code, it's obvious that it'll only work for x64, and it looks like it'd fail if it autostarts code at $c000. On machines with bankswitching (like C128 and Plus/4) how you'd go about it, without adding what I suspect is a fairly costly check in the core CPU emulation.

Quote
Quote
I also see that no progress has been made with the long standing bug of TDE being switched off after loading a prg file...

PRG loading is currently implemented by mounting the file system where the file resides as a virtual file system on unit 8.
Then the file is loaded and unfortunately the whole unit 8 state is not restored. Its mainly missing because state restoration is not trivial... :/

What I'd prefer here is to have some kind of "DMA" PRG load that directly loads the file into emu RAM without altering unit 8.
That involves setting up a basic load and is heavily system dependent but maybe I'll give it a try with x64...

Just pushing the bytes in there, and adjusting the basic end address seems like a much simpler solution, yeah.
Title: Re: MacVICE
Post by: lallafa on April 19, 2009, 05:38:50 PM
Quote
Looking at the code, it's obvious that it'll only work for x64, and it looks like it'd fail if it autostarts code at $c000. On machines with bankswitching (like C128 and Plus/4) how you'd go about it, without adding what I suspect is a fairly costly check in the core CPU emulation.

I improved the code a bit to wait for the LOADING stage and then do >= $e000 check only. I agree that other machines can cause trouble... - and have no fix for them currently :( Fortunately, the worst thing that might happen is warping toggled at the wrong point in AutostartWarp mode. Without Warp everything should work as before.

Quote
Just pushing the bytes in there, and adjusting the basic end address seems like a much simpler solution, yeah.

I did a first very rough experiment on this in the chris/v2.1.9-filedma branch.
It does dma load for x64 for prg files.
Machine specific code is a skeleton only as I need external help there.
Feel free to play with the code and keep your patches coming ;)
Title: Re: MacVICE
Post by: MagerValp on April 20, 2009, 05:41:22 PM
Quote
Looking at the code, it's obvious that it'll only work for x64, and it looks like it'd fail if it autostarts code at $c000. On machines with bankswitching (like C128 and Plus/4) how you'd go about it, without adding what I suspect is a fairly costly check in the core CPU emulation.

I improved the code a bit to wait for the LOADING stage and then do >= $e000 check only.

It would be even better if warp was enabled as soon as the user autostarts, so you don't have to sit around and wait for the C64's reset sequence. PC should be >= $e000 during the reset sequence as well, so the same checks should still apply.

Quote
I agree that other machines can cause trouble... - and have no fix for them currently :( Fortunately, the worst thing that might happen is warping toggled at the wrong point in AutostartWarp mode. Without Warp everything should work as before.

Yeah, worst case should only mean slow loading, and that's not too bad - you can still press CMD-W manually. The only scenario I can think of when it'll fail (as in not disable warp mode automatically) is if one of the bank switching machines loads autostart code above $e000, but I'm not sure if that's feasible - it's certainly not likely.

Quote
Quote
Just pushing the bytes in there, and adjusting the basic end address seems like a much simpler solution, yeah.

I did a first very rough experiment on this in the chris/v2.1.9-filedma branch.
It does dma load for x64 for prg files.
Machine specific code is a skeleton only as I need external help there.
Feel free to play with the code and keep your patches coming ;)

Interesting, I just did a quick test, and it seems to work perfectly: it loads instantly, and TDE state is not touched.
Title: Regression?
Post by: MagerValp on April 23, 2009, 07:33:59 AM
I just built the latest trunk to test the latest autostart code (which seems to work well!), and the CPU JAM requester has Monitor and Reset swapped again.
Title: Re: MacVICE
Post by: MagerValp on April 24, 2009, 12:00:27 PM
After singlestepping through my source for a while, I suddenly got that requester saying "Sound: write to sound device failed!". Clicking close promptly crashed vice, and now I have to start over again. :(
Title: Re: MacVICE
Post by: MagerValp on May 03, 2009, 03:28:33 PM
RFE: it'd be nice if VICE started with the user's home directory as the current directory, and not /. If VICE is autostarted, the autostart file's directory would be even better.
Title: Re: MacVICE
Post by: MagerValp on May 12, 2009, 02:33:11 AM
Title: Re: MacVICE
Post by: lallafa on June 26, 2009, 08:25:57 PM
To make it easier for you to follow when new MacVICE snapshots are available on my site, I added twitter to my upload scripts to send you a notifcation.

Just head over to: www.twitter.com/macvice (http://www.twitter.com/macvice)
Title: Re: MacVICE
Post by: MagerValp on June 26, 2009, 09:52:26 PM
Ah, perfect, added to my rss reader. That joystick dialog crash bugged me the other day :)
Title: Re: MacVICE
Post by: MagerValp on June 27, 2009, 01:34:38 AM
I just compiled the latest snapshot, and the joystick dialog works. However, PAL emulation is broken - all I get is a black screen. I deleted my vice prefs, no change.

EDIT: forgot to say that I'm testing on 10.6 DP 10A394.

PS: Wouldn't the PAL filter work beautifully with OpenCL? :)
Title: Re: MacVICE
Post by: lallafa on June 27, 2009, 04:04:41 AM
oops! same here on 10.5.7...

will have a look...
Title: Re: MacVICE
Post by: MagerValp on June 28, 2009, 04:50:51 PM
Warp mode has been acting up in the latest few snapshots. Enable/disable doesn't always seem to do anything - it interacts with the automatic warp loading somehow. Also, after using warp mode for a few seconds I tend to get an error dialog: "VICE Error! Sound: write to sound device failed." and I have to re-enable sound output.
Title: Re: MacVICE
Post by: lallafa on June 29, 2009, 03:48:22 AM
[21068] should fix the sound resume problems you mentioned.

Can you give me a detailed description how to reproduce the autostart warp interference? I wasn't able to reproduce one here myself...

Title: Re: MacVICE
Post by: MagerValp on June 29, 2009, 06:01:56 AM
Steps to reproduce:

1. Double click on Berzerk Redux (http://noname.c64.org/csdb/forums/?roomid=11&topicid=58028)
2. Take screenshot (http://mazzy.paradroid.net/tmp/warp.png)

:)

Speed drops back to 100% after autostarting, but for some reason the UI still thinks warp mode is enabled.
Title: Re: MacVICE
Post by: MagerValp on June 29, 2009, 06:26:55 AM
[21068] should fix the sound resume problems you mentioned.

Great!

I tried compiling the latest rev with clang and the 10.6 SDK, which unfortunately failed:

http://mazzy.paradroid.net/tmp/clang-10.6.txt

There are a bunch of pretty interesting warnings in there, so you might want to dig through it. In particular the wonderful LLVM diagnostics warnings:

Code: [Select]
vice/src/arch/unix/macosx/cocoa/view/fullscreenwindow.m:112:5: warning: method '-toggleFullscreen:' not found (return type defaults to 'id')
    [[self delegate] toggleFullscreen:self];
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

vice/src/arch/unix/macosx/cocoa/view/vicewindow.m:205:39: warning: incompatible type sending 'VICEWindow *', expected 'id<NSWindowDelegate>'
        [fullscreenWindow setDelegate:self];
                                      ^~~~

vice/src/arch/unix/macosx/cocoa/dialog/resourceeditorcontroller.m:62:27: warning: incompatible type sending 'ResourceEditorController *', expected 'id<NSOutlineViewDelegate>'
    [treeView setDelegate:self];
                          ^~~~
vice/src/arch/unix/macosx/cocoa/dialog/resourceeditorcontroller.m:63:29: warning: incompatible type sending 'ResourceEditorController *', expected 'id<NSOutlineViewDataSource>'
    [treeView setDataSource:self];
                            ^~~~

vice/src/arch/unix/macosx/mididrv.c:252:26: warning: initializing 'MIDIPacket const[1]' discards qualifiers, expected 'MIDIPacket *'
    MIDIPacket *packet = pktlist->packet;
                         ^~~~~~~~~~~~~~~

There are also a bunch of deprecations, and so on.

Going to see what I can do to get it to build with clang, as I'm really curious about the performance.
Title: Re: MacVICE
Post by: blacky on June 30, 2009, 02:49:13 AM
@MagerValp

Those functions seem to be inline ones, I've added the 'static' keyword to them in the latest rev, could you please update and see if it compiles now ?
Title: Re: MacVICE
Post by: MagerValp on June 30, 2009, 07:16:16 AM
It compiles now, but crashes on startup:

Code: [Select]
Process:         x64 [84653]
Path:            /Users/pelle/src/vice/build/cocoa-10.6/i386/vice-macosx-cocoa-i386-10.6-2.1.14/x64.app/Contents/MacOS/x64
Identifier:      org.viceteam.x64
Version:         ??? (2.1.14)
Code Type:       X86 (Native)
Parent Process:  launchd [86]

Date/Time:       2009-06-30 23:27:35.937 +0200
OS Version:      Mac OS X 10.6 (10A394)
Report Version:  6

Interval Since Last Report:          62008 sec
Crashes Since Last Report:           2
Per-App Interval Since Last Report:  4706 sec
Per-App Crashes Since Last Report:   1
Anonymous UUID:                      5610CC0F-0D30-4256-9E8A-20B877605F9A

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

Thread 0:  Dispatch queue: com.apple.main-thread
0   libSystem.B.dylib              0x9881a63a mach_msg_trap + 10
1   libSystem.B.dylib              0x9881ada7 mach_msg + 68
2   com.apple.CoreFoundation      0x9679301f __CFRunLoopRun + 2447
3   com.apple.CoreFoundation      0x96792014 CFRunLoopRunSpecific + 452
4   com.apple.CoreFoundation      0x967bc6c1 CFRunLoopRunInMode + 97
5   com.apple.Foundation          0x93f90798 -[NSConnection sendInvocation:internal:] + 2587
6   com.apple.Foundation          0x93f8fbf7 -[NSDistantObject forwardInvocation:] + 411
7   com.apple.CoreFoundation      0x967d2cf4 ___forwarding___ + 1108
8   com.apple.CoreFoundation      0x967d2832 _CF_forwarding_prep_0 + 50
9   org.viceteam.x64              0x000dd6e0 -[VICEApplication machineController] + 48
10  org.viceteam.x64              0x000dd73b +[VICEApplication theMachineController] + 75
11  org.viceteam.x64              0x000ccada -[VICEAppController getIntResource:] + 58
12  org.viceteam.x64              0x000c84f0 -[C64Controller updateMachineResources] + 64
13  org.viceteam.x64              0x000cc167 -[VICEAppController updateResources:] + 55
14  com.apple.Foundation          0x93f43eed _nsnote_callback + 176
15  com.apple.CoreFoundation      0x967990e9 __CFXNotificationPost + 905
16  com.apple.CoreFoundation      0x96798b1a _CFXNotificationPostNotification + 186
17  com.apple.Foundation          0x93f27cee -[NSNotificationCenter postNotificationName:object:userInfo:] + 128
18  org.viceteam.x64              0x000de76b -[VICEApplication postRemoteNotification:] + 171
19  com.apple.Foundation          0x93f4e5ed __NSThreadPerformPerform + 506
20  com.apple.CoreFoundation      0x96794b2b __CFRunLoopDoSources0 + 1563
21  com.apple.CoreFoundation      0x96792abf __CFRunLoopRun + 1071
22  com.apple.CoreFoundation      0x96792014 CFRunLoopRunSpecific + 452
23  com.apple.CoreFoundation      0x967bc6c1 CFRunLoopRunInMode + 97
24  com.apple.HIToolbox            0x945da308 RunCurrentEventLoopInMode + 392
25  com.apple.HIToolbox            0x945da003 ReceiveNextEventCommon + 354
26  com.apple.HIToolbox            0x945d9e88 BlockUntilNextEventMatchingListInMode + 81
27  com.apple.AppKit              0x95e03f81 _DPSNextEvent + 847
28  com.apple.AppKit              0x95e037f5 -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 156
29  com.apple.AppKit              0x95dfe06e -[NSApplication run] + 821
30  org.viceteam.x64              0x000dc9aa -[VICEApplication runWithArgC:argV:] + 282
31  org.viceteam.x64              0x000db5a0 main + 448
32  org.viceteam.x64              0x00002a85 start + 53

Thread 1:  Dispatch queue: NSFileHandle
0   libSystem.B.dylib              0x9883041e read$UNIX2003 + 10
1   com.apple.Foundation          0x93fa6e29 _NSReadFromFileDescriptor + 48
2   com.apple.Foundation          0x93ffefdc __-[NSConcreteFileHandle performActivity:modes:]_block_invoke_1 + 379
3   libSystem.B.dylib              0x9887514c _dispatch_source_latch_and_call + 62
4   libSystem.B.dylib              0x9883c181 _dispatch_source_invoke + 210
5   libSystem.B.dylib              0x9883b355 _dispatch_queue_invoke + 163
6   libSystem.B.dylib              0x9883b831 _dispatch_queue_drain + 258
7   libSystem.B.dylib              0x9883b2e4 _dispatch_queue_invoke + 50
8   libSystem.B.dylib              0x9883b102 _dispatch_worker_thread2 + 234
9   libSystem.B.dylib              0x9883ad61 _pthread_wqthread + 390
10  libSystem.B.dylib              0x9883abc6 start_wqthread + 30

Thread 2:  Dispatch queue: com.apple.libdispatch-manager
0   libSystem.B.dylib              0x9883b71e kevent + 10
1   libSystem.B.dylib              0x9883c9eb _dispatch_mgr_invoke + 215
2   libSystem.B.dylib              0x9883b355 _dispatch_queue_invoke + 163
3   libSystem.B.dylib              0x9883b102 _dispatch_worker_thread2 + 234
4   libSystem.B.dylib              0x9883ad61 _pthread_wqthread + 390
5   libSystem.B.dylib              0x9883abc6 start_wqthread + 30

Thread 3 Crashed:
0   org.viceteam.x64              0x0006a26c drive_read_rom + 12
1   org.viceteam.x64              0x0005cc66 drivecpu_execute + 1222
2   org.viceteam.x64              0x00069c0e drivecpu_execute_all + 46
3   org.viceteam.x64              0x0006d8ec parallel_cpu_set_atn + 28
4   org.viceteam.x64              0x00038159 reset + 25
5   org.viceteam.x64              0x000a9ce2 tpicore_reset + 114
6   org.viceteam.x64              0x0002cfdf machine_specific_reset + 79
7   org.viceteam.x64              0x00012f97 machine_reset + 39 (machine.c:152)
8   org.viceteam.x64              0x0002164f maincpu_mainloop + 1103 (maincpu.c:439)
9   org.viceteam.x64              0x000136eb main_program + 1307 (main.c:240)
10  org.viceteam.x64              0x000df605 -[VICEMachine startMachineWithArgs:app:pool:] + 565
11  org.viceteam.x64              0x000df3bb +[VICEMachine startConnected:] + 459
12  com.apple.Foundation          0x93f4cf88 -[NSThread main] + 45
13  com.apple.Foundation          0x93f4cf38 __NSThread__main__ + 1499
14  libSystem.B.dylib              0x98830dd3 _pthread_start + 345
15  libSystem.B.dylib              0x98830b36 thread_start + 34

Thread 3 crashed with X86 Thread State (32-bit):
  eax: 0x00000000  ebx: 0x00000000  ecx: 0x00000605  edx: 0x00000000
  edi: 0x00740bb0  esi: 0x0005c7ae  ebp: 0xb018db28  esp: 0xb018db28
   ss: 0x0000001f  efl: 0x00010246  eip: 0x0006a26c   cs: 0x00000017
   ds: 0x0000001f   es: 0x0000001f   fs: 0x0000001f   gs: 0x00000037
  cr2: 0x000000e2
Title: Re: MacVICE
Post by: lallafa on July 07, 2009, 02:58:15 AM
[21171] should fix the bug with inconsistent (warp) ui resorce state when booting an image with autostart warp enabeld.

I don't have a developer seed for 10.6 here, but I'll give it a try as soon I have snow leopard installed... I'll do another round of "remove-obsolete-calls for this release" then ;)
Title: Re: MacVICE
Post by: MagerValp on July 07, 2009, 08:53:30 PM
Title: Re: MacVICE
Post by: lallafa on July 12, 2009, 03:25:57 AM
Oops.. overlooked that bug... :/

But now its squeezed: [21181] allows entering dead keys in the monitor....
Title: Re: MacVICE
Post by: MagerValp on July 12, 2009, 07:13:21 PM
Confirmed, thanks. I should enter proper bug reports instead of just posting here...

Any chance we could get a toolbar instead of the floating control window btw? It always seems to get in the way of something.

The register view window in the monitor is also really nice in the Windows port.
Title: Re: MacVICE
Post by: lallafa on July 14, 2009, 03:33:21 AM
IMHO, the controls attached to the canvas (formerly as a drawer) are a bit inconvenient: first they get duplicated on a multi canvas setup (x128) and second you can't access them in full screen. With the tool window you have a single instance for the emulator and even in fullscreen you can bring it to front for some adjustments.

I agree that some kind of docking or attaching behaviour of the control window would be really nice. Then the control tool window will move with the canvas if its attached to it.

I really need to have a look at the win monitor... to "adopt" some features from there ;)
Title: Re: MacVICE
Post by: MagerValp on July 15, 2009, 05:13:31 PM
IMHO, the controls attached to the canvas (formerly as a drawer) are a bit inconvenient: first they get duplicated on a multi canvas setup (x128)

IMHO the VICE dual window UI for x128 is less than stellar. I think a tabbed window that can be switched between VIC and VDC tabs would be preferable, with the ability to tear off a tab to a separate window if you need to see both screens at once.

Quote
and second you can't access them in full screen.

A toolbar that drops down if you move the mouse pointer to the top or bottom of the screen would be nicer (again IMHO), but generally I only use hotkeys in fullscreen mode.

Quote
I really need to have a look at the win monitor... to "adopt" some features from there ;)

WinVICE is also a bit quirky, so it might be good to also look at e.g. the no$ debugger. Register/disassembly/memory inspection are things that would help a lot if they were always available.

Title: Re: MacVICE
Post by: mrsid on July 15, 2009, 05:51:46 PM
I have lots of ideas for making a useful debugger/monitor, because I especially hate the VICE monitor as it is right now.

I much prefer the Power64 debugger. It has nice commands to dump the state of the VIC/SID/CIA in readable form.
It also has a powerful 'find address' command, which finds an address being used in absolute and zp addressing modes,
and if it's used as a branch target. It's also much more like traditional monitors on the C64, so I don't have to
consult the help that much. It lacks watchpoints though.

There's an Apple II emulator called Virtual][, which has a nice little debugger, where you could get some ideas from.
See here: http://www.xs4all.nl/~gp/VirtualII/VirtualIIHelp/InspectorHelp/inspector_help.html (http://www.xs4all.nl/~gp/VirtualII/VirtualIIHelp/InspectorHelp/inspector_help.html)
Although it does lots of things in the UI wrong, it's still very good.
Title: Re: MacVICE
Post by: MagerValp on July 17, 2009, 03:46:56 AM
I have lots of ideas for making a useful debugger/monitor, because I especially hate the VICE monitor as it is right now.

Interface builder mockups please!
Title: Re: MacVICE
Post by: lallafa on July 18, 2009, 08:10:55 PM
Thanks for the inspiration ;) Some UI Addons for the monitor really improve usability in a debugging session...

I'll go for a memory view panel first and then have a look at a full featured register/disassembly/stack+custom chip register dump window :D

But first of all, I'll have to improve the current implementation of monitor input handling as it is running the monitor console window modally.... :/

Title: Re: MacVICE
Post by: mrsid on July 18, 2009, 09:33:30 PM
Interface builder mockups please!

No time, and you know why... :)
Title: Re: MacVICE
Post by: mrsid on July 20, 2009, 04:45:43 AM
Forget everything I said earlier, you need to do exactly this:

http://www.youtube.com/watch?v=tjcvR5McmSg
Title: Re: MacVICE
Post by: MagerValp on July 20, 2009, 05:11:53 PM
http://www.youtube.com/watch?v=tjcvR5McmSg

:D
Title: Re: MacVICE
Post by: lallafa on July 21, 2009, 03:57:32 AM
 :o wow, that really sets new standards for live debugging :)

I really like the interactive memdump/zoom utility... *want have*

However, I first stick with a no$ like debugger window and then head over to investigate live access...
In that context it would be great to have a mechanism for docking/plugging external inspectors... so i only have to provide an external interface and writing fancy plugins is up to you :)
Title: Re: MacVICE
Post by: MagerValp on August 16, 2009, 04:26:27 PM
I just added a custom 50.125 Hz video mode with SwitchResX, to give me smooth video in x64. Unfortunately I seem to get a lot of screen tearing. The video is almost perfectly synced, so the tearing slowly moves up and down the screen - extremely annoying and even less usable than the default 60 Hz mode :)

Doesn't x64 synchronize with VBL?
Title: Re: MacVICE
Post by: franticHT on August 18, 2009, 05:10:13 PM
I am using version: Version 2.1.9-r20692_20090416

When I enable Stereo SID I get the following alert:

"VICE ERROR! Sound: write to sound device failed."

...and after clicking OK VICE crashes. If I disable "Sound Playback" in the options menu, VICE does not crash when enabling Stereo SID. However, when turning "Sound Playback" back on, I get the same error message and VICE crashes after clicking OK. It doesn't matter if I have a cartridge image "plugged in" or not, the error+crash occur anyway.

I have a faint memory that I have used Stereo SID before on the Mac version, and that I got it working that time. Not so in this version...

Title: Re: MacVICE
Post by: MagerValp on September 13, 2009, 05:42:42 PM
I just tried the MacVICE snapshot 2.1.16-r21487_20090912, cocoa-10.5, and audio is corrupted. I get lots of crunchy noises and general weirdness.

It also appears to be missing the kernal autostart by warp mode feature that I've been enjoying.
Title: Re: MacVICE
Post by: lallafa on September 14, 2009, 03:47:03 AM
Hmmm... I just tested the snapshot here on my 10.6.1 and sound was ok. Also drag&dropped D64s loaded fine with warp mode toggling.

This is the first 10.6 hosted build on my system... Maybe something broke...
I already fixed some issues here...

Do you have more details for me? Vicerc, log, sysinfo, step-by-step guide


Title: Re: MacVICE
Post by: zCRP on September 14, 2009, 05:03:15 AM
Hi, I just installed the latest snapshot of MacVice, and noticed something unusual: it appears that the code for key 'a' is 0000, thus whenever I turn on keyset joystick emulation, pressing 'a' triggers the pressing of one of the directions which have not been explicitly assigned. In my case, if keyset joystick is off, pressing 'a' prints the corresponding letter on the screen. If I turn keyset joystick on, nothing is printed on the screen, but in the Control screen, it is as if left+down were pressed.
Is this a bug or have I messed up something?

Thanks
Christian
Title: Re: MacVICE
Post by: lallafa on September 14, 2009, 05:15:57 AM
@franticHT: stereo sid bug is fixed in [21511] on trunk

@zCRP: on default all keys of the keymap joystick map to 0000 which corresponds to the A key. If you press 'A' it simply maps to all directions and results in some strange directions.

So the first thing you have to do, is to map each direction in the keymap joystick to a different key... then it should work as expected.
Title: Re: MacVICE
Post by: zCRP on September 14, 2009, 06:43:19 AM
thanks, that did the trick, even though it would be nice to be able to "unassign" a joystick direction in order to leave it blank and use only those keys for joystick emulation that are really necessary.

I'll throw in a feature request: would it be possible to have some kind of indicator in the control window showing if "allow keyset joystick" is on or off?

thanks
Christian
Title: Re: MacVICE
Post by: MagerValp on September 14, 2009, 08:47:44 PM
Hmmm... I just tested the snapshot here on my 10.6.1 and sound was ok. Also drag&dropped D64s loaded fine with warp mode toggling.

This is the first 10.6 hosted build on my system... Maybe something broke...
I already fixed some issues here...

Do you have more details for me? Vicerc, log, sysinfo, step-by-step guide

Nukeing the VICE prefs seemed to fix everything, so false alarm I guess. Some defaults are weird though:

* Double Scan is enabled, but not Double Size. I get a double size window with black borders on the top and bottom.
* PAL Emulation is disabled by default (though that might be sane for performance reasons).
* ReSID-FP is disabled by default (again, sane for performance reasons, but inexperienced users will not get the best experience).
Title: Re: MacVICE
Post by: MagerValp on September 23, 2009, 08:41:25 PM
Enabling Stereo SID crashes x64: Resource Inspector -> SID -> Stereo SID -> Enable, gives Sound: write to sound device failed, followed by a crash:

Code: [Select]
Process:         x64 [88151]
Path:            /Users/pelle/Applications/Emul/VICE/x64.app/Contents/MacOS/x64
Identifier:      org.viceteam.x64
Version:         ??? (2.1.16-r21487_20090912)
Code Type:       X86 (Native)
Parent Process:  launchd [136]

Date/Time:       2009-09-24 13:08:40.496 +0200
OS Version:      Mac OS X 10.6.1 (10B504)
Report Version:  6

Interval Since Last Report:          499396 sec
Crashes Since Last Report:           5
Per-App Interval Since Last Report:  8933 sec
Per-App Crashes Since Last Report:   1
Anonymous UUID:                      1513C508-EB4A-4B98-96D6-484D37DA7EEB

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


Thread 2 Crashed:
0   org.viceteam.x64              0x0008e80e 0x1000 + 579598
1   org.viceteam.x64              0x0004362f 0x1000 + 271919
2   org.viceteam.x64              0x00021b4b 0x1000 + 133963
3   org.viceteam.x64              0x000223ed 0x1000 + 136173
4   org.viceteam.x64              0x00024b08 0x1000 + 146184
5   org.viceteam.x64              0x000df46f 0x1000 + 910447
6   org.viceteam.x64              0x00027890 0x1000 + 157840
7   org.viceteam.x64              0x0001750f 0x1000 + 91407
8   org.viceteam.x64              0x0010321e 0x1000 + 1057310
9   com.apple.Foundation          0x91a8f964 -[NSThread main] + 45
10  com.apple.Foundation          0x91a8f914 __NSThread__main__ + 1499
11  libSystem.B.dylib              0x964c8f39 _pthread_start + 345
12  libSystem.B.dylib              0x964c8dbe thread_start + 34


Binary Images:
    0x1000 -   0x171ff7 +org.viceteam.x64 ??? (2.1.16-r21487_20090912) <9D4235ED-DB23-2A2E-8B41-48945A48C0FE> /Users/pelle/Applications/Emul/VICE/x64.app/Contents/MacOS/x64

Model: MacPro3,1, BootROM MP31.006C.B05, 8 processors, Quad-Core Intel Xeon, 2.8 GHz, 10 GB, SMC 1.25f4
Graphics: ATI Radeon HD 2600 XT, ATI Radeon HD 2600, PCIe, 256 MB
Memory Module: global_name
Bluetooth: Version 2.2.1f7, 2 service, 1 devices, 1 incoming serial ports
Network Service: Ethernet 1, Ethernet, en0
PCI Card: ATI Radeon HD 2600, Display, Slot-1
Serial ATA Device: WDC WD3200AAJS-41VWA1, 298,09 GB
Serial ATA Device: WDC WD5000AAKS-41YGA1, 465,76 GB
Parallel ATA Device: PIONEER DVD-RW  DVR-112D
USB Device: Keyboard Hub, 0x05ac  (Apple Inc.), 0x1006, 0xfd500000
USB Device: USB-PS/2 Optical Mouse, 0x046d  (Logitech Inc.), 0xc03e, 0xfd510000
USB Device: Apple Keyboard, 0x05ac  (Apple Inc.), 0x0221, 0xfd520000
USB Device: Bluetooth USB Host Controller, 0x05ac  (Apple Inc.), 0x8206, 0x5d200000
FireWire Device: built-in_hub, Up to 800 Mb/sec
FireWire Device: unknown_device, Unknown
Title: Re: MacVICE
Post by: lallafa on September 24, 2009, 04:25:38 AM
MagerValp, your x64 is too old ;) The Bug was fixed in [21511] but you tried 2.1.16-r21487_20090912...

BTW... most recent trunk has a complete rewrite of the coreaudio driver that should fix the wrong playback with samplerates != output samplerate... and hopefully does not introduce new bugs ;)
Title: Re: MacVICE
Post by: MagerValp on September 24, 2009, 05:49:54 AM
MagerValp, your x64 is too old ;) The Bug was fixed in [21511] but you tried 2.1.16-r21487_20090912...

WTH... Oh! I only installed 21532 on my laptop, not on my workstation. Bah...
Title: Re: MacVICE
Post by: MagerValp on September 27, 2009, 04:01:40 AM
Quote
NEW: snapshots for x86_64 and clang are available!

Awesome! Any interesting things found by the analyzer? Performance improvements?
Title: Re: MacVICE
Post by: lallafa on October 03, 2009, 07:07:07 PM
No findings yet... I was just glad to have the build system cope with all the new compilers, SDKs... ;)

BTW: I am currently experimenting with VSync of the emulator core... Unfortunately my tests run only on NTSC aka 60Hz for now as it is the native sync of my LCD... You mentioned a SwitchResX config you did for PAL... Can you give me details on your modeline?
I tried setting up a 50 Hz Mode for my external analoge Monitor (capable of 50 Hz) connected via VGA to my MBP, but SwitchResX never enabled my 50 Hz Mode for this monitor and always tells me to "Activate by reboot" :(
Title: Re: MacVICE
Post by: MagerValp on October 03, 2009, 08:51:03 PM
Yeah, SwitchResX was a pain to use, so I just uninstalled it after the evaluation period ran out.

Is there an official way to open a screen mode with a certain refresh rate on Mac OS X?
Title: Re: MacVICE
Post by: GANDALf on October 03, 2009, 10:59:02 PM
I'm building trunk for ppc/coca/10.5 for some time now. All versions since 21558 has a nasty bug where everything stops  for a minute or two (even caps lock led or force quit) and than continues for a few seconds... rinse and repeat. I can quit Vice on those working seconds and than everything returns to normal.

Latest version from lallafa works OK (apart from occasionally "Sound: write to sound device failed" error and crash when warp/unwarp).
Title: Re: MacVICE
Post by: lallafa on October 05, 2009, 05:33:10 AM
@GANDALf

I already suspected that the last video rendering change was causing more trouble than it helped increasing performance...

I reverted the change in [21572].
Plz check if that works for you again...
Title: Re: MacVICE
Post by: GANDALf on October 08, 2009, 04:43:26 AM
Just compiled SVN21577 and can confirm that it works OK. Thanks.
Title: Re: MacVICE
Post by: GANDALf on October 16, 2009, 07:08:58 PM
Trouble again with SVN21599 . Console and control window appears but not the main window (although it's visible in dock icon  ??? ) and immediate spinning wheel... PPC/Cocoa.
Title: Re: MacVICE
Post by: lallafa on October 16, 2009, 11:02:10 PM
You are right... I just tested on my old PB G4 and it shows the same lock up...
I'll have a look at it.

BTW... does the new -syncdraw work for you?
This new drawing mode is somewhat experimental and tries to improve the emulator output if the screen refresh rate does not match the emulation video refresh rate. E.g. on a PAL C64 screens are generated with up to 50 Hz while my LCD shows 60 Hz.

With multi buffers the emulator draws the screens into a set of buffers with 50 Hz and the display fetches them with 60 Hz synced with the VBL of the display... The buffers are time stamped and if the display fetch does not find a frame with exact time match then it interpolated (i.e. blends) the two surrounding emulator frames with weights depending on the time distance to the frames...

Syncing display time and emulator draw time is the trick here... and I did some first tests with it (see check in), but they definitely need improvement...

I think thats a rather cool way to cope with emulation rate != display refresh rate temporal aliasing and does not force me to look out for a 50 Hz native display ;)
Title: Re: MacVICE
Post by: lallafa on October 16, 2009, 11:45:26 PM
@GANDALf: I just checked in [21603]... this should fix the ppc problem.
Title: Re: MacVICE
Post by: GANDALf on October 17, 2009, 06:35:19 AM
Just checking out new version and will report.

is -syncdraw compile or run option? I had hard time to discover all build-vice-dist.sh options and their order (noob ::) )
found it in inspector. It works very well! No overhead and no stray redraw lines. Doesn't help 'lace flicker tho.
Title: Re: MacVICE
Post by: MagerValp on October 18, 2009, 01:28:50 AM
This sounds really interesting, so I compiled a new build (with clang, yay :). Lace flicker is still there, as Gandalf points out. I was curious about the buffer setting, so I cranked it up to 50, which gave me this:

Code: [Select]
Process:         x64 [31144]
Path:            /Users/pelle/src/vice/build/cocoa-10.6-clang/x86_64/vice-macosx-cocoa-x86_64-10.6-clang-2.1.17/x64.app/Contents/MacOS/x64
Identifier:      org.viceteam.x64
Version:         ??? (2.1.17)
Code Type:       X86-64 (Native)
Parent Process:  launchd [155]

Date/Time:       2009-10-18 17:58:28.336 +0200
OS Version:      Mac OS X 10.6.1 (10B504)
Report Version:  6

Interval Since Last Report:          17926 sec
Crashes Since Last Report:           1
Per-App Interval Since Last Report:  98 sec
Per-App Crashes Since Last Report:   1
Anonymous UUID:                      5610CC0F-0D30-4256-9E8A-20B877605F9A

Exception Type:  EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Crashed Thread:  0  Dispatch queue: com.apple.main-thread

Application Specific Information:
*** error for object 0x4088000000000000: pointer being reallocated was not allocated


Thread 0 Crashed:  Dispatch queue: com.apple.main-thread
0   libSystem.B.dylib              0x00007fff86ba1ff6 __kill + 10
1   libSystem.B.dylib              0x00007fff86c43072 abort + 83
2   libSystem.B.dylib              0x00007fff86c31d25 szone_error + 519
3   libSystem.B.dylib              0x00007fff86b5bb1e szone_realloc + 102
4   libSystem.B.dylib              0x00007fff86b5ba7b malloc_zone_realloc + 92
5   libSystem.B.dylib              0x00007fff86b67b13 realloc + 169
6   org.viceteam.x64              0x000000010000f7c9 0x100000000 + 63433
7   org.viceteam.x64              0x00000001000ec9b5 0x100000000 + 969141
8   org.viceteam.x64              0x00000001000ea991 0x100000000 + 960913
9   org.viceteam.x64              0x00000001000d7b71 0x100000000 + 883569
10  com.apple.CoreFoundation      0x00007fff8166d35c __invoking___ + 140
11  com.apple.CoreFoundation      0x00007fff8166d22d -[NSInvocation invoke] + 141
12  com.apple.CoreFoundation      0x00007fff81688f21 -[NSInvocation invokeWithTarget:] + 49
13  com.apple.CoreFoundation      0x00007fff8166a37c ___forwarding___ + 860
14  com.apple.CoreFoundation      0x00007fff81666458 _CF_forwarding_prep_0 + 232
15  com.apple.CoreFoundation      0x00007fff8166d35c __invoking___ + 140
16  com.apple.CoreFoundation      0x00007fff8166d22d -[NSInvocation invoke] + 141
17  com.apple.Foundation          0x00007fff82d70498 -[NSConnection dispatchInvocation:] + 181
18  com.apple.Foundation          0x00007fff82d6e725 -[NSConnection handleRequest:sequence:] + 1138
19  com.apple.Foundation          0x00007fff82d6e020 -[NSConnection handlePortCoder:] + 765
20  com.apple.Foundation          0x00007fff82d6dcdb -[NSConcretePortCoder dispatch] + 49
21  com.apple.Foundation          0x00007fff82d371a2 __NSFireMachPort + 270
22  com.apple.CoreFoundation      0x00007fff8165c1fe __CFMachPortPerform + 366
23  com.apple.CoreFoundation      0x00007fff8165bf84 __CFRunLoopDoSource1 + 356
24  com.apple.CoreFoundation      0x00007fff8163464d __CFRunLoopRun + 4413
25  com.apple.CoreFoundation      0x00007fff8163303f CFRunLoopRunSpecific + 575
26  com.apple.Foundation          0x00007fff82d53958 -[NSConnection sendInvocation:internal:] + 1969
27  com.apple.CoreFoundation      0x00007fff8166a37c ___forwarding___ + 860
28  com.apple.CoreFoundation      0x00007fff81666458 _CF_forwarding_prep_0 + 232
29  org.viceteam.x64              0x00000001000c96d4 0x100000000 + 825044
30  org.viceteam.x64              0x00000001000cbf9c 0x100000000 + 835484
31  org.viceteam.x64              0x00000001000cc702 0x100000000 + 837378
32  org.viceteam.x64              0x00000001000ca882 0x100000000 + 829570
33  com.apple.AppKit              0x00007fff84c98c31 -[NSOutlineView _dataSourceSetValue:forColumn:row:] + 97
34  com.apple.AppKit              0x00007fff84d55bb2 -[NSTableView textDidEndEditing:] + 541
35  com.apple.Foundation          0x00007fff82cf9926 _nsnote_callback + 167
36  com.apple.CoreFoundation      0x00007fff8163fe4a __CFXNotificationPost + 954
37  com.apple.CoreFoundation      0x00007fff8162c7f8 _CFXNotificationPostNotification + 200
38  com.apple.Foundation          0x00007fff82cf0890 -[NSNotificationCenter postNotificationName:object:userInfo:] + 101
39  com.apple.AppKit              0x00007fff849e6541 -[NSTextView(NSPrivate) _giveUpFirstResponder:] + 571
40  com.apple.AppKit              0x00007fff84a2b9a8 -[NSTextView(NSKeyBindingCommands) insertNewline:] + 485
41  com.apple.AppKit              0x00007fff849e5e09 -[NSTextView doCommandBySelector:] + 293
42  com.apple.AppKit              0x00007fff849da78b -[NSKeyBindingManager(NSKeyBindingManager_MultiClients) interpretEventAsCommand:forClient:] + 1966
43  com.apple.AppKit              0x00007fff849d9c9c -[NSTextInputContext handleEvent:] + 737
44  com.apple.AppKit              0x00007fff849d994e -[NSView interpretKeyEvents:] + 186
45  com.apple.AppKit              0x00007fff849d9727 -[NSTextView keyDown:] + 819
46  com.apple.AppKit              0x00007fff8494b6a9 -[NSWindow sendEvent:] + 8803
47  com.apple.AppKit              0x00007fff84880122 -[NSApplication sendEvent:] + 4717
48  com.apple.AppKit              0x00007fff84816acc -[NSApplication run] + 474
49  org.viceteam.x64              0x00000001000d54a1 0x100000000 + 873633
50  org.viceteam.x64              0x00000001000d368e 0x100000000 + 865934
51  org.viceteam.x64              0x00000001000016d4 0x100000000 + 5844

Scrollers appear more stable though, really nice!
Title: Re: MacVICE
Post by: lallafa on October 18, 2009, 03:18:09 AM
It looks like you are running out of memory with 50 buffers + 50 textures (each the size of a canvas) :)

Sensible values are 3-5 (and 1 as it disables mulit buffering but keeps syncdraw).
Usually you need at max 2 frames to interpolate between, and one or more frames that get drawn by the emulator.

Yes, the approach does not flicker fix a interlaced image.
Currently, I resample only the 50 Hz machine frame rate with my 60 Hz display rate.

But this approach is extensible: by adding a time window I can blend together all frames that fit in this window... if the window is 2 machine frames then it will blend together interlaced (half-)pictures... something to study for the next weekend ;)

Title: Re: MacVICE
Post by: GANDALf on October 18, 2009, 07:44:55 AM
Great stuff. Hope to see more results after the weekend. :)
Title: Re: MacVICE
Post by: MagerValp on October 19, 2009, 12:23:30 AM
Would it be possible to make the number of interpolation buffers match the sound buffer, to sync up audio and video?
Title: Re: MacVICE
Post by: lallafa on October 25, 2009, 01:27:55 AM
@MagerValp: sound and video buffers are currently unrelated. The sync loop in the emulator is driven and controlled by the sound sync. The video "sync" is only done in the rendering thread. There timestamped frames arrive from the emulator core and are blended accordingly for the current display frame.

[21641] adds a flicker fixer to the blend mode and cleans up parameters.
The number of buffers is now chosen automatically (0=auto).
Sync mode can now be toggled between: off, nearest and blend.
Nearest picks the nearest machine frame for display and does no blending.
Blend does blend two nearby machine frames for the display.
If flicker fix is enabled then up to four frames are blended together:
2 half frames each to get a full frame and two full frames to get the temporal inbetween for display....

Title: Re: MacVICE
Post by: MagerValp on October 25, 2009, 05:16:00 AM
@MagerValp: sound and video buffers are currently unrelated. The sync loop in the emulator is driven and controlled by the sound sync. The video "sync" is only done in the rendering thread. There timestamped frames arrive from the emulator core and are blended accordingly for the current display frame.

Yes, that is precisely why it'd be a major feature if they were to become related :) On WinVICE with default settings audio is delayed by 300 ms thanks to the sound buffer, which really hurts some demos. It's much better on MacVICE, but it'd be nice if audio and video delay was identical. Or are you saying that thanks to the time stamped frames audio and video is now synced?

Quote
[21641] adds a flicker fixer to the blend mode and cleans up parameters.

Very interesting. Flicker is completely eliminated, rock solid image. I like having blending on, but flicker fixing off though, so you can at least see a hint of interlace flicker.

Is there any chance that the blended image could stay when pausing? That would make it easier to take blended screenshots.
Title: Re: MacVICE
Post by: MagerValp on October 25, 2009, 05:40:11 AM
Hmm, with svn 21642 I've had two random crashes. No error dialog, window just closes, and console says:

Code: [Select]
2009-10-25 22.17.02 [0x0-0x2ca2ca].org.viceteam.x64[64651] Reading configuration file `/Users/pelle/Library/Preferences/org.viceteam.x64/vicerc'.
2009-10-25 22.17.02 com.apple.launchd.peruser.501[155] ([0x0-0x2ca2ca].org.viceteam.x64[64651]) Exited with exit code: 255
2009-10-25 22.17.02 kernel The graphics driver has detected a corruption in its command stream.
Title: Re: MacVICE
Post by: GANDALf on October 26, 2009, 01:32:24 AM
After opening Inspector, Open, attach... commands no longer work. Sometimes they work until closing Log window... something strange happening there.

Toggling  FlickerFixer does nothing, pictures flicker as ussual.
Title: Re: MacVICE
Post by: lallafa on October 26, 2009, 03:43:02 AM
@MagerValp: does [21645] fix your random crashes... I improved the locking of the GL contexts.

Showing a full frame in Pause mode should be possible. I'll test it next weekend.

@GANDALf: sounds really strange... Do you have the supplied CBM font installed for new disk image preview?

What is shown in the log for "MacVideo"? Does the Pixel Buffer creation work or fail?
If it fails then no Flicker Fixer will work on your graphics HW....
Title: Re: MacVICE
Post by: lallafa on October 26, 2009, 04:50:56 AM
@GANDALf: [21647] should fix your problem...

BTW: make sure to enable "Blend" sync draw mode before enabling flicker fixer.
Title: Re: MacVICE
Post by: MagerValp on October 26, 2009, 07:07:06 PM
@MagerValp: does [21645] fix your random crashes... I improved the locking of the GL contexts.
I have updated to the latest svn, and I'll let you know if it crashes again.
Title: Re: MacVICE
Post by: GANDALf on October 29, 2009, 02:18:26 PM
@GANDALf: [21647] should fix your problem...

BTW: make sure to enable "Blend" sync draw mode before enabling flicker fixer.

When I enable blend and then flicker fixer:
MacVideo: reconfiguring display
MacVideo: created pixel buffer of size 384 x 272
MacVideo: setup textures: #4 384 x 272 (was: #4 384 x 272)
MacVideo: displayDelta: 79.8012 ms

But picture still flickers. I have Video Cache and Pal emulation enabled.
Title: Re: MacVICE
Post by: mrsid on October 29, 2009, 07:40:36 PM
In the last couple of builds I've noticed this error:

opening dynamic library /opt/local/lib/libavformat.52.dylib failed!

Also I've noticed that the option to record media in Quicktime format is gone. I guess this is the reason?
Any ideas?
Title: Re: MacVICE
Post by: MagerValp on October 30, 2009, 12:20:04 PM
Quote
macvice: SVN[21653] macosx: hold flicker fixed frame if emulator is paused
Works great, thanks!
Title: Re: MacVICE
Post by: bjorn on October 30, 2009, 05:15:51 PM
I wish to report a problem with using the Gtk+ port of VICE with Mac OS X 10.6.1 to the maintainer. When I double click VICE the emulator selector loads but after I select the emulator I wish to run, VICE crashes. Here is the error from the diagnostic report:

Dyld Error Message:
  Library not loaded: /usr/lib/libxml2.2.dylib
  Referenced from: /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/DictionaryServices.framework/Versions/A/DictionaryServices
  Reason: Incompatible library version: DictionaryServices requires version 10.0.0 or later, but libxml2.2.dylib provides version 9.0.0

I think upgrading the library on my system will fix the problem. Maybe this is something the emulator should address?
Title: Re: MacVICE
Post by: mrsid on October 30, 2009, 08:53:43 PM
I've investigated a bit. This seems like a 64-bit issue. It works fine using the 32-bit gcc 4.0 build, or the gcc 4.2 build forced into 32-bit mode.
The clang build seems to crash when launching it in 32-bit mode however.
Title: Re: MacVICE
Post by: lallafa on October 31, 2009, 03:44:34 PM
@bjorn: did you try the latest snapshot? I think I have already fixed this issue.

@mrsid: yes, its a 64 bit issue. The missing avformat dylib you mentioned is caused by MacPorts still having only a 32 bit version installed. The quicktime check really breaks on 64 bit. I'll have a look.

@GANDALf: I tried the flicker fixer on my ppc PB G4. The load is quite high then and if it drops frames then flicker fixing was not possible any more and some flckering returned. Disabling sound freed some CPU and then flicker fixing went without problem on this machine.
Title: Re: MacVICE
Post by: bjorn on October 31, 2009, 07:30:28 PM
@bjorn: did you try the latest snapshot? I think I have already fixed this issue.
I have not. I looked here (http://lallafa.de/files/vice/snapshots/) but was not sure which I should be downloading. Is there an explanation somewhere as to what the different versions are? I'm not a programmer so this is all very confusing for me.
Title: Re: MacVICE
Post by: lallafa on October 31, 2009, 10:34:59 PM
bjorn, I'd suggest to use the 10.5 cocoa version. It has all features of the native version available. The 10.6 versions are experimental compiles on the newest Mac OS X.

If you want to test on GTK then pick the gtk version available there.

The naming scheme of the versions found there is as follows:

vice-<port=macosx>-<ui>-<supported architecture>-<min macosx version>-<compiler>-<vice release>-<svn revision>-<date of build>

The ui, architecture and, min macosx version are useful to pick a suitable version for you:

ui = user interface with X11/SDL/GTK/Cocoa=native Mac UI
architecture = i386 (32 bit), ppc (32 bit) or x86_64 (64 bit)
min macosx version = 10.4, 10.5, 10.6
Title: Re: MacVICE
Post by: bjorn on November 01, 2009, 06:02:32 AM
bjorn, I'd suggest to use the 10.5 cocoa version. It has all features of the native version available. The 10.6 versions are experimental compiles on the newest Mac OS X.
I had previously avoided the Cocoa version because it didn't seem to have all the features of the various X versions. I see that it is now more complete although the emulation of some of the other machines seems incomplete. I also find the UI somewhat difficult to adjust to because I'm used to Power64. I don't think an x86 version of that emulator will be forthcoming so I better get used to the Cocoa version of VICE. Thank you for explaining the naming scheme. I downloaded vice-macosx-gtk-i386+ppc-10.4-gcc40-2.1.18-r21642_20091025 and ran into a similar problem. Now I get this error:

Dyld Error Message:
  Library not loaded: /Users/chris/vice/extlib/i386-10.4-gcc40/lib/libgtk-x11-2.0.0.dylib
  Referenced from: /Applications/VICE.app/Contents/Resources/bin/x64
  Reason: image not found

I don't think I have the technical knowledge to use the snapshots or to provide useful bug reports. :(

One more question please. I turn off Options -> Video Rendering -> Double Scan and the image doesn't change. Is there a way to reproduce the scanlines?
Title: Re: MacVICE
Post by: lallafa on November 01, 2009, 05:14:14 PM
bjorn, there was still a bug in the snapshot that fails the gtk version to start. I fixed that one now and I'll soon upload new snapshots.

Thanks for pointing me to the problem. Thats exactly what the snapshots are for: check them out and report me the bugs.

Scanlines can be reproduced either with "PAL Emulation" or "DoubleSize"=on "DoubleScan"=off
Title: Re: MacVICE
Post by: letho on November 13, 2009, 05:56:13 PM
Hi!

First off, superb job on MacVICE!  I've recently switched from Power64 and am very pleased.  I do have a question that I can't seem to find an answer to though and I've hacked at this for the past few days.

How does mouse support work?  I did see a post with someone saying usb overdrive was impacting that functionality so I did remove that.  However, I've tested the x11 and all of the cocoa builds on all of my machines (g4 & g5 running tiger, mbp with leopard and another with snow leopard), and can't for the life of me get the mouse to work.  If it just isn't implemented yet, no problem  :).

Also, in order to get the dvorak keyboard layout working, I wrote a new vkm file.  If that's needed let me know or tell me I was silly for doing it because there was a much much easier way!

Thanks!
Title: Re: MacVICE
Post by: lallafa on November 15, 2009, 04:52:17 PM
@leltho:

Mouse support in cocoa is enabled in Options/Mouse (CMD+M). Then moving the mouse inside the emulator window and button presses are reported to the emulator. Now you need a mouse enabled program (e.g. Amica Paint) and drawing should work. Have a look at the mouse settings to alter the scaling or the type.
Title: Re: MacVICE
Post by: letho on November 16, 2009, 03:36:41 AM
llallafa,

I think the particular program as you said, has more to do with it than anything.

Thanks!
Title: Re: MacVICE
Post by: MagerValp on November 18, 2009, 08:27:32 PM
SDL.framework appears to be missing from the SDL apps.
Title: Re: MacVICE
Post by: lallafa 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.
Title: Re: MacVICE
Post by: MagerValp 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 :)
Title: Re: MacVICE
Post by: MagerValp 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?
Title: Re: MacVICE
Post by: MagerValp 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).
Title: Re: MacVICE
Post by: lallafa on December 13, 2009, 05:47:10 PM
The shift key issue on plus4 is now fixed, too
Title: Re: MacVICE
Post by: MagerValp on December 13, 2009, 08:39:14 PM
The shift key issue on plus4 is now fixed, too
w00t :)
Title: Re: MacVICE
Post by: lallafa 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/ (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

Title: Re: MacVICE
Post by: MagerValp 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!).
Title: Re: MacVICE
Post by: grasstust 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-)
Title: Re: MacVICE
Post by: bjorn 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.
Title: Re: MacVICE
Post by: MagerValp 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?
Title: Re: MacVICE
Post by: GANDALf on February 28, 2010, 11:32:39 AM
In latest builds [22338 being the latest tried], most of my cartridges doesn't work anymore.  :-\
Title: Re: MacVICE
Post by: bjorn on February 28, 2010, 08:33:15 PM
Does lallafa not read these messages anymore? ??? :(
Title: Re: MacVICE
Post by: lallafa 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?
Title: Re: MacVICE
Post by: mrsid 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
Title: Re: MacVICE
Post by: MagerValp on March 05, 2010, 04:39:09 PM
GCC 4.2 build does not have this problem.
Ah, I'll have to try that.
Title: Re: MacVICE
Post by: GANDALf on March 05, 2010, 08:41:32 PM
@GANDALf: do you have a detailed bug report for this problem?

No crash and nothing in Log window. When launching, start up screen is briefly shown and then screen blanks with READY. in top left and emu freezes. Restart (hard and soft) is much shorter and results with the same READY. and lock. After detaching cartridge everything is OK.

I just checked out the latest SVN rev. Will try and report.

Edit: still the same with 22354
Title: Re: MacVICE
Post by: franticHT on March 11, 2010, 12:35:46 PM
Two issues:

Issue 1:
I was trying to implement a stabilizing NMI routine that uses a timer to jump to a certain location along the lines of Real, C64MP3 and Master Design Group's .mod player for the C64.. Therefore I put a jmp opcode at $dc04 and point the NMI vector to dc04. However, when I set a breakpoint there in the vice monitor it seems that the timer keeps running while I am inside the monitor, because each time I do "d dc04" or "m dc04" a new timer value is displayed, and thus I cannot check the results of my code. May be easy to fix, perhaps?

Issue 2:
Since the last few betas/snapshots I cannot, for some unknown reason, drag and drop the files from the VICE .dmg file to another folder. I have to enter the terminal and "cp" the files from the dmg image to the harddrive. As far as I know it happens only with the vice-dmg's and I have not noticed this problem for any other dmg file that I have. ...but I guess the problem may still be something on my system.

Thumbs up for all your great efforts with MacVICE!
Title: Re: MacVICE
Post by: lallafa on March 13, 2010, 07:52:25 PM
@mrsid: clang compiles should be fixed now [22365]

@GANDALf: this really seems to be a regression. i suppose it affects the generic core of vice and is not part of the mac port. therefore I'd suggest to file a bug report on the vice-emu sf bug tracker: http://sourceforge.net/tracker/?group_id=223021&atid=1057617 (http://sourceforge.net/tracker/?group_id=223021&atid=1057617)

@franticHT:
Issue 1 looks like a generic VICE problem to me, too... (i.e. not related to the Mac port)
Again, I'd suggest to file a bug report on vice-emu SF to reach a greater audience of bug fixers ;)

Issue 2 is really strange. Does anyone else have such problems?
Title: Re: MacVICE
Post by: MagerValp on March 14, 2010, 01:55:23 PM
Issue 2 is really strange. Does anyone else have such problems?

No it works fine for me.
Title: Re: MacVICE
Post by: GANDALf on March 15, 2010, 06:02:56 PM
Posted bug on tracker.

And BTW, I cannot open dmgs from lallafa site anymore. "No mountable systems" on double click.
Title: Re: MacVICE
Post by: lallafa on March 18, 2010, 06:15:30 PM
Ooops. The last file upload was corrupt :(

I'll update the site again this weekend.
Title: Re: MacVICE
Post by: lallafa on March 20, 2010, 06:06:50 PM
In [22379] I completely rewrote the macosx joystick driver and added support for the IOHIDManager API available since Mac OS X 10.5.
The IOHIDManager is now selected automatically for >= 10.5 compiles. However you can disable it with --disable-hidmgr in configure and fall back to HID Utils lib.

The new IOHIDManager works with 64 Bits and thus adds Joystick support to these builds.
The IOHIDManager needs no external libs like HIDUtils does.

Additionally, the new driver supports Hat Switches on a HID device. Those are often used as a digital joypad on gamepads. Currently, the first hat switch is selected automatically. You can pick one with the command line. Sorry, no UI for this feature, yet ;)

I'd appreciate your feedback on the new driver!
Does it work for your joystick setup and are your devices supported with their features?
Title: Re: MacVICE
Post by: mrsid on March 21, 2010, 10:17:22 AM
Would like to try, but the .dmgs on the webpage are still broken... :(
Title: Re: MacVICE
Post by: lallafa on March 21, 2010, 01:26:06 PM
Here we go...
I just uploaded fresh snapshots including the new Joystick features.

BTW I also added a cocoa UI for all new options and added two auto fire buttons with configurable speed.
Title: Re: MacVICE
Post by: mrsid on March 21, 2010, 03:15:12 PM
Sorry, still doesn't work. No mountable filesystems in the .dmg.
Btw, why don't you just use .zip? There's no real benefit in using .dmg anymore.
Title: Re: MacVICE
Post by: lallafa on March 21, 2010, 05:13:02 PM
Next try... My curl script seems to fail... Now with Cyberduck...
Title: Re: MacVICE
Post by: jonnosan on March 22, 2010, 02:27:41 AM
What is the current state of TFE/RR-NET emulation in MacVice?

I've just downloaded what looks to be the latest snapshot for OS X 10.6 (vice-macosx-cocoa-i386+x86_64-10.6-gcc42-2.2.1-r22381_20100321_trunk.dmg), and the ReadmeMacOSX.txt seems to suggest ethernet emulation is included, but I can't find any reference to it in the UI (for example, a counterpart to the menu option in WinVice that lets you specifiy which physical ethernet interface to bind to)

Cheers

Jonno
Title: Re: MacVICE
Post by: mrsid on March 22, 2010, 05:27:23 AM
The new joystick stuff is working fine for me. I'm using an original XBox S controller with USB adapter.
The only difference is that the old code could detect the joystick even if I plugged it in after starting VICE.
Now clicking on the refresh button doesn't make it show up, if I plugged it in late.
Title: Re: MacVICE
Post by: MagerValp on March 23, 2010, 08:47:23 PM
I can also confirm that the new joystick code works. Unfortunately using the PSP as a gamepad didn't work as well as I had hoped :/
Title: Re: MacVICE
Post by: lallafa on March 24, 2010, 04:47:43 PM
@jonno: the TFE/RR Net settings are in "Settings/Resource Inspector". There open "Peripherals/Cartridges/TFE"...
Unfortunately, I just found out that the code is in place but there is a regression opening the adapter... Will have a look

@mrsid: ok, refresh should work of course. This one needs to be fixed

@magervalp: are there unsupported HID elements on your "PSP joystick" or is the joystick driver of the PSP itself not well suited for this task?
Title: Re: MacVICE
Post by: MagerValp on March 24, 2010, 06:39:07 PM
The physical layout of the gamepad just doesn't suit C64 games. I tried playing Bubble Bobble, where you jump by pulling up, and I couldn't even finish the 3rd level...
Title: Re: MacVICE
Post by: mrsid on March 24, 2010, 07:56:03 PM
You'll have that problem with pretty much any pad. One possible solution is to allow multiple buttons to map onto certain joystick directions.
Then you can have a dedicated jump button, but still keep the normal up direction working as well.
The XBox version of VICE is allowing that, so I have the B button mapped to Up there, which makes those games work nicely.
Also it's kind of useful to map additional buttons to keyboard keys, such as Space. Then you can throw grenades in Commando for example.
Title: Re: MacVICE
Post by: MagerValp on March 25, 2010, 10:40:49 AM
Yeah, something like that would work. I think I'm just going to hack up a USB gamepad and solder a DB9 connector to it though :)
Title: Re: MacVICE
Post by: mrsid on March 25, 2010, 02:06:26 PM
You'll find that the buttons are often analog these days. Maybe a cheap pad still has digital buttons.
Title: Re: MacVICE
Post by: MagerValp on March 25, 2010, 05:47:05 PM
Title: Re: MacVICE
Post by: MagerValp on March 25, 2010, 08:57:58 PM
If I leave x64 running for a very long time (like several hours), it appears to freeze. The image is static, but the emulation is running "behind" it - e.g. entering the monitor and single stepping works, and if I launch a new program the sound plays correctly.
Title: Re: MacVICE
Post by: mrsid on March 26, 2010, 05:25:04 AM
I had this too, but sometimes it happens after a few minutes already.
Title: Re: MacVICE
Post by: lallafa on March 28, 2010, 07:17:02 AM
Hmmm... the long time hang sounds like an overflow problem to me...

Is there a correlation with the new sync draw?
Or does it happen with "normal" drawing, too?
Title: Re: MacVICE
Post by: franticHT on March 31, 2010, 12:26:30 PM
I downloaded Version 2.2.1-r22394_20100328_trunk for OSX10.5 and there is still the problem with the .dmg (remember "Issue 2", discussed a few posts back). I can open it, but cannot copy files from it in Finder by Dragging and Dropping or cut/paste. As a tip to other people having problems, just entering the Terminal and "cp -r /Volumes/[DMGFILE]/* DESTINATION/" works fine. Still haven't encountered this problem with any other .dmg that I have opened on my system, so indeed it seems to be something with the particular .dmg files in the MACVICE file area.
Title: Re: MacVICE
Post by: MagerValp on April 02, 2010, 07:35:59 AM
Hmmm... the long time hang sounds like an overflow problem to me...

Is there a correlation with the new sync draw?
Or does it happen with "normal" drawing, too?

Sync draw is the best thing ever, and I haven't turned it off since it appeared :)

The display freeze bug might have appeared right around the same time, but it's hard to say for sure.

I downloaded Version 2.2.1-r22394_20100328_trunk for OSX10.5 and there is still the problem with the .dmg (remember "Issue 2", discussed a few posts back). I can open it, but cannot copy files from it in Finder by Dragging and Dropping or cut/paste. As a tip to other people having problems, just entering the Terminal and "cp -r /Volumes/[DMGFILE]/* DESTINATION/" works fine. Still haven't encountered this problem with any other .dmg that I have opened on my system, so indeed it seems to be something with the particular .dmg files in the MACVICE file area.

Try creating a new user account on your machine, and opening the dmg there. Same problem? If so, try booting from an external drive with a fresh OS install on it, and see if the problem's still around. There doesn't appear to be anything special about the MacVICE dmg:s...
Title: Re: MacVICE
Post by: mrsid on April 02, 2010, 07:53:55 AM
I believe that the display freeze bug has started to appear with 2.2. I've never seen it with the 2.1.x builds.
Title: Re: MacVICE
Post by: lallafa on April 03, 2010, 03:42:58 PM
The DMG issue is really strange... Maybe the relevant output of "mount" and a dump of the volume directory "ls -lR /Volumes/vice-..." can help us to identify the problem...

Inspired by the discussion on building your own USB HID adpter for old joysticks I also went and bought the cheapest controller I found (7 EUR: A Speed Link Hornet USB Joypad) that offers 2 "axis" (buttons acutally) and 10 buttons. With so much binary input I am going to build a two DB9 to USB joystick adapter...

I just [22407] adapted VICE to support this scenario: the two HID devices in VICE share the single HID device and use different button mappings... Furthermore, I had to introduce some work arounds for broken HID devices as this gamepad announces the X axis 4 times and only the last element works :/

Title: Re: MacVICE
Post by: mrsid on April 05, 2010, 08:45:52 PM
In the last week I've lost all my VICE settings twice. I don't remember doing anything special in particular. Any idea?
Title: Re: MacVICE
Post by: lallafa on April 10, 2010, 06:07:29 PM
Hmm... I can think of corruption if two instances of the same emulator run at the same time... but otherwise not experienced yet. What kind of corruption does occur? Empty file, garbled contents?
Title: Re: MacVICE
Post by: jonnosan on April 13, 2010, 10:19:38 AM
@jonno: the TFE/RR Net settings are in "Settings/Resource Inspector". There open "Peripherals/Cartridges/TFE"...
Unfortunately, I just found out that the code is in place but there is a regression opening the adapter... Will have a look

Did you get a chance to investigate?

I am currently using VICE Version 2.2.1-r22394_20100328_trunk - I can navigate to the TFE/RR-NET options in the Resource Inspector, and have the following options set:

Enable: ticked
Interface: en0 (wired ethernet which is plugged in to a switch and is UP according to ifconfig)
RRNet: ticked

To get this far, I also needed to run "sudo chmod 777 /dev/bpf?" otherwise the Vice console would report an error opening /dev/bpf0 and /dev/bpf1

So it looks like the RR-NET emulation is enabled (and the console log reports "TFE: CS8900a rev.D reset" , but when I try and run an RR-NET app, the app fails when looking for an RR-NET.

The code that is checking for the RR-NET is this:


   lda #0         ; check magic signature
   jsr cs_read_page
   cpx #$0e
   bne @notfound
   cpy #$63
   bne @notfound

i.e. it is expecting the first 2 bytes from page 0 in the cs8900a to be $0E $63, the values that are actually returned are $C8 $20

The above code worked fine on the following:
* winvice emulating an RR-NET
* real C64 & Retro Replay & RR-NET
* real C64 & 64NIC+


p.s. - I just tried it in 2.2.2-r22418_20100406_trunk and get same behaviour)
Title: Re: MacVICE
Post by: MagerValp on April 13, 2010, 08:23:45 PM
Hmmm... the long time hang sounds like an overflow problem to me...

Is there a correlation with the new sync draw?
Or does it happen with "normal" drawing, too?

I just had the display freeze after running for just half a minute. I opened a new tab in Firefox which caused VICE to drop a few frames, and then it froze. Going into the resource inspector and toggling Sync Draw Flicker Fix unstuck it.
Title: Re: MacVICE
Post by: lallafa on April 17, 2010, 06:35:04 PM
@jonno:

the current snapshot already contains the fix to set the correct mac adapter (en0 not eth0).

I did a quick check here with the current snapshot and Guruterm beta 1 on the C64.
I was able to get an IP address via DHCP... so it seems to work basically.
Can you confirm this?

The console log should show something like:

Code: [Select]
TFE: setup receiver: broadcast=off mac=off multicast=off correct=off promiscuous=off hashfilter=off
TFE: setup receiver: broadcast=on mac=on multicast=off correct=on promiscuous=off hashfilter=off
TFE: set MAC address: 00:0c:64:03:13:37

Which version of WinVICE did you compare with? Did you try the same version of MacVICE?
Which version on Mac do you use? i386 or x86_64 ...?
Title: Re: MacVICE
Post by: jonnosan on April 19, 2010, 10:49:44 AM
Title: Re: MacVICE
Post by: a2retro on April 19, 2010, 01:06:12 PM
DHCP is working for me but nothing after that.
Title: Re: MacVICE
Post by: lallafa on April 19, 2010, 04:54:24 PM
@a2retro: I had some trouble with name resolution, too. But by entering the IP the connect and BBSing works fine (e.g. 81.235.242.146)

@jonnosan: puh I am a bit clueless here... I have almost the same HW setup as you and here it works fine.
Did you try resetting to a default config and then only enabling RRNet?
The /dev/bpf? entries are still accessible (reboot resets them if its not set as a StartupItem)?

Title: Re: MacVICE
Post by: a2retro on April 19, 2010, 05:22:38 PM
@lallafa

DHCP (only) worked from me using the prebuilt 2.2 - vice-macosx-cocoa-i386+ppc-10.5-gcc40-2.2 but I have since got the latest code from svn and built using

1.1.1 - libpcap
1.1.2.1 - libnet

sh ../vice/build/macosx/build-pcaplibnet.sh ../extlib x86_64 10.6 gcc42

sh vice/build/macosx/build-vice-release.sh -d -u cocoa -a x86_64 -k 10.6 -c gcc42 -j cocoa-x86_64-10.6-gcc42 vice

and dhcp doesn't seem to be working for me now

I have turned on all debugging for TFE and thats as far as I get
TFE: tfe_arch_transmit() called with:                 length= 342 and buffer FF FF FF FF FF FF 00 0D-60 64 64 64 08 00 45 00*01 48 00 01 00 00 FF 11-BA A4 00 00 00 00 FF FF*FF FF 00 44 00 43 01 34-00 00 01 01 06 00 AD DE*12 23 00 00 00 00 00 00-00 00 00 00 00 00 00 00*00 00 00 00 00 00 00 0D-60 64 64 64 00 00 00 00*00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00*00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00*00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00*00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00*00 00 00 00 00 00
TFEARCH: tfe_arch_transmit() called, with: force = FALSE, onecoll = FALSE, inhibit_crc=FALSE, tx_pad_dis=FALSE, txlength=342
TFE: TX: sent  frame (length=0156)
TFE: TX: set status Rdy4TxNOW=0 TxBidErr=0
TFE: store [$0A] <= $24.
TFE: set PP Ptr to $3124.
TFE: store [$0B] <= $01.
TFE: set PP Ptr to $3124.
TFEARCH: tfe_arch_receive() called, with *plen=1518.
TFEARCH: tfe_arch_receive_frame() called, returns -1.
TFE: reading PP Ptr: $0124 => $0004.
TFE: read [$0D] => $00.
TFE: store [$0A] <= $24.
TFE: set PP Ptr to $3124.
TFE: store [$0B] <= $01.
TFE: set PP Ptr to $3124.
TFEARCH: tfe_arch_receive() called, with *plen=1518.
TFEARCH: tfe_arch_receive_frame() called, returns -1.

repeats

One other thing I an using TFE and not RR-NET - not sure if that should make any difference

Title: Re: MacVICE
Post by: jonnosan on April 20, 2010, 10:29:16 AM

The /dev/bpf? entries are still accessible (reboot resets them if its not set as a StartupItem)?


What do you mean by 'set as a StartupItem'? (this is my first mac so still learning the terminology)

btw I am using the following libraries (install from macports)

libnet                         @1.0.2a         net/libnet
libpcap                        @1.0.0          net/libpcap

Title: Re: MacVICE
Post by: MagerValp on April 20, 2010, 03:18:37 PM
The /dev/bpf? entries are still accessible (reboot resets them if its not set as a StartupItem)?

What do you mean by 'set as a StartupItem'? (this is my first mac so still learning the terminology)

The ownership and permissions of /dev/bpf0 gets reset every time you restart, so to make it readable by non-root users you have to add a script that sets the owner every time you log in. ChmodBPF comes with libpcap and wireshark, and check http://kleinsch.com/2009/10/03/wireshark-chmodbpf-errors-on-snow-leopard/ on how to make it work on Snow Leopard.
Title: Re: MacVICE
Post by: a2retro on April 20, 2010, 11:37:08 PM
@a2retro: I had some trouble with name resolution, too. But by entering the IP the connect and BBSing works fine (e.g. 81.235.242.146)


lallafa,

Since you have a working config, is there any chance you would consider updating your "TFE on Mac VICE Build Guide" web page with your latest info?

Thanks
Title: Re: MacVICE
Post by: lallafa on April 21, 2010, 04:31:18 PM
The text you refer to is a blog entry with a timestamp of 2006. So it describes the state at that time and it is quite ooold...

For an up to date description on how to build on Mac OS X have a look at the source tree:
doc/MacOSX-Build.txt is the one you are looking for.

There you find information on how to build the extlibs, the external libraries used in VICE.
This includes working versions of libnet and libpcap.
Title: Re: MacVICE
Post by: a2retro on April 21, 2010, 05:57:54 PM
The text you refer to is a blog entry with a timestamp of 2006. So it describes the state at that time and it is quite ooold...

For an up to date description on how to build on Mac OS X have a look at the source tree:
doc/MacOSX-Build.txt is the one you are looking for.

There you find information on how to build the extlibs, the external libraries used in VICE.
This includes working versions of libnet and libpcap.


I did originally follow that document with the one exception of using libpcap 1.1.1 vs 1.0.0. I switched back and now I can get an address via dhcp but I cannot get any of the apps to connect to internal or external destinations via name or ip. Any suggestions welcome.

Thanks
Title: Re: MacVICE
Post by: franticHT on June 09, 2010, 03:51:38 PM
I find it disturbing that the Control Window stays on top over other applications when MacVICE is not the focused application.

(Also, the login function on this forum does not work with the Camino browser on Mac, for some reason, but I guess that is some else's problem..)
Title: Re: MacVICE
Post by: lallafa on June 20, 2010, 07:14:18 AM
Actually, I have overwritten automatic hiding of the control window to allow the user a simplified drag & drop access to the image fields in the control window. In the current implementation you can simply drag a disk/tape file from finder to the still visible command window.

If this feature is not desired then I'll add a configure option to disable it.


Title: Re: MacVICE
Post by: mrsid on June 20, 2010, 09:52:17 AM
To me it wasn't even obvious that I can drag to the control window, because it doesn't give proper drag feedback (only the mouse cursor changes). When the window or a control can accept a drop, you should draw a border in the user's highlight color. Standard controls like NSImageView or NSTableView do that automatically for you.
Title: Re: MacVICE
Post by: leftyfpb on July 23, 2011, 05:50:19 AM
Xvic question: When I start xvic, I don't get any display at all, and any attempt to change settings results in a beach ball of death. Is there anything I can do to get xvic to run?



Title: Re: MacVICE
Post by: superrune on April 11, 2015, 09:54:02 AM
Hi, I see little recent information on Mac Vice. Is it under active development?

It seems like there is an issue with the Mac version of Vice, that is not present in the Windows version. Whenever you do a keyboard press, there is a little micro lag happening. It becomes really apparent if you play a shoot'em'up using the keyboard (try Delta), when the lags build up and the game starts to stutter. Some high-end arcade sticks (X-Arcade) can only be configured as a keyboard, and that is where I discovered this. Would be great if this could be fixed!