Author Topic: MacVICE  (Read 100826 times)

Offline MagerValp

  • A600
  • *
  • Posts: 85
  • Karma: 0
Re: MacVICE
« Reply #90 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

Offline lallafa

  • A600
  • *
  • Posts: 83
  • Karma: 1
  • MacVICE & DI64 Dev
    • lallafa's Blog
Re: MacVICE
« Reply #91 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 ;)

Offline MagerValp

  • A600
  • *
  • Posts: 85
  • Karma: 0
Re: MacVICE
« Reply #92 on: July 07, 2009, 08:53:30 PM »

Offline lallafa

  • A600
  • *
  • Posts: 83
  • Karma: 1
  • MacVICE & DI64 Dev
    • lallafa's Blog
Re: MacVICE
« Reply #93 on: July 12, 2009, 03:25:57 AM »
Oops.. overlooked that bug... :/

But now its squeezed: [21181] allows entering dead keys in the monitor....

Offline MagerValp

  • A600
  • *
  • Posts: 85
  • Karma: 0
Re: MacVICE
« Reply #94 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.

Offline lallafa

  • A600
  • *
  • Posts: 83
  • Karma: 1
  • MacVICE & DI64 Dev
    • lallafa's Blog
Re: MacVICE
« Reply #95 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 ;)

Offline MagerValp

  • A600
  • *
  • Posts: 85
  • Karma: 0
Re: MacVICE
« Reply #96 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.


Offline mrsid

  • A600
  • *
  • Posts: 34
  • Karma: 0
Re: MacVICE
« Reply #97 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
Although it does lots of things in the UI wrong, it's still very good.

Offline MagerValp

  • A600
  • *
  • Posts: 85
  • Karma: 0
Re: MacVICE
« Reply #98 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!

Offline lallafa

  • A600
  • *
  • Posts: 83
  • Karma: 1
  • MacVICE & DI64 Dev
    • lallafa's Blog
Re: MacVICE
« Reply #99 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.... :/


Offline mrsid

  • A600
  • *
  • Posts: 34
  • Karma: 0
Re: MacVICE
« Reply #100 on: July 18, 2009, 09:33:30 PM »
Interface builder mockups please!

No time, and you know why... :)

Offline mrsid

  • A600
  • *
  • Posts: 34
  • Karma: 0
Re: MacVICE
« Reply #101 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

Offline MagerValp

  • A600
  • *
  • Posts: 85
  • Karma: 0

Offline lallafa

  • A600
  • *
  • Posts: 83
  • Karma: 1
  • MacVICE & DI64 Dev
    • lallafa's Blog
Re: MacVICE
« Reply #103 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 :)

Offline MagerValp

  • A600
  • *
  • Posts: 85
  • Karma: 0
Re: MacVICE
« Reply #104 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?