User:Gpz: Difference between revisions

From vice-emu
Jump to navigation Jump to search
mNo edit summary
 
(28 intermediate revisions by 2 users not shown)
Line 1: Line 1:
=== Rendering ===


== readme ==
* check and maybe also make chip specific: "AspectRatio", "TrueAspectRatio", "KeepAspectRatio"


=== nailing down Problems and what are none ===
==== call tree ====


if attaching a cart (from the commandline) does not work as expected, please do the following (and report all results):
normal rendering call sequence:


* first try with "-config nosuchfile" as first arg. if this solves the problem then it is likely no bug in the cart system itself. (phew)
* video/video-canvas.c:video_canvas_render
* second try with "+cart" as first arg. if this also works, then unfortunately there is a chance that the cart related settings in your config conflict with the cart you are trying to attach, and since we are aiming to support more than one cart at a time there is also a chance that the combination of carts you are trying to use simply doesnt work (as on the real thing) - however, due to the way the cart system works right now (associating most carts with the "Main Slot", which means only one of those can be active at a time) still in many cases, if only one other cart in the "Main Slot" has been set as default, attaching a cart should "just work". hence...
** video/video-render.c:video_render_main (renderer main)
* try without any additional args, this should replicate your problem.
** check if any cart which is not in the "Main Slot" is active, and if so disable them. they might be the cause of the conflict (save settings, and try again. if this solved it, it is not a bug)
* try without *any* args (ie, just start the emu). check the log for errors


in *any* case, attach your vicerc and binaries to your bug reports
YUV rendering call sequence:


* if you can, comment in the respective DEBUGXYZ macros prominently defined at the top of these files: src/c64/cart/c64cart.c src/c64/cart/c64cartmem.c src/c64/c64io.c src/c64/c64export.c and then recompile. this will add debug output that might make it much easier to locate certain problems.
* video/video-render.c:render_yuv_image (yuv renderer main)


== TODO ==
switching from/to fullscreen (alt-d):


=== Cart System ===
* video/video-resources:set_fullscreen_enabled
** video_chip_cap->fullscreen.enable (arch/unix/x11/fullscreen.c:fullscreen_enable)
*** arch/unix/x11/xrandr.c:xrandr_enable
**** set_xrandr
***** FIXME: grab/ungrab mouse pointer
**** arch/unix/x11/gnome/x11ui.c:x11ui_fullscreen


==== general ====
** video_chip_cap->fullscreen.statusbar (arch/unix/x11/fullscreen.c:fullscreen_statusbar)


* remove direct usage of export.xx (generic, retroreplay)
setup: video_chip_cap set in:
* if possible make all special cases into general cases
* arch/unix/x11/fullscreen.c:fullscreen_capability
** REU
*** reu_dma() in c64mem.c, plus256k.c, c64memsc.c, c64_256k.c, c128mem.c, c128mmu.c
*** reu_ba_register() in c64memsc.c
*** reu_dma_start() in mainc64cpu.c
* implement snapshot support for more carts :)
* move chip cores into core directoy (Magic Formel)
 
==== Clock Port Resource ====
 
* update the resource handling for the clockport (export resource) (MMC64, MMC Replay, Retro Replay)
* create logic to handle clock port devices
* make hooks to handle rr-net, silversurfer, mp3@c64
 
=== individual Carts ===
 
<div style="color: red;">
==== Magic Voice (49) ====
 
* debug interaction with TPI
* rewrite using an event based model
</div>
 
<div style="color: red;">
==== MMC Replay (38) ====
 
* generally very buggy
</div>
 
<div style="color: red;">
==== Snapshot64 (47) ====
'''schematic and/or hardware needed'''
* cz:
** F1 (save backup) - saves some files, then crash
*** (WORKS FOR ME)
** F3 (clear mem) - crash
*** (WORKS FOR ME)
** F5 (format disk) - formats, starts saving, then crash
*** (UNRELATED) - starts formatting, but the drive emulation errors out (Drive 8: Error - Could not find header of ...)
** F7 (restart) - works
*** does NOT work for me =P
</div>
 
<div style="color: red;">
 
==== Stardos (31) ====
* cz: file copier produces garbage
** (WORKS FOR ME)
* cz: disk copier crashes
** (WORKS FOR ME) it does not crash but actually cleanly exit from the menu, as if the feature is not there
</div>

Latest revision as of 03:31, 3 July 2012

Rendering

  • check and maybe also make chip specific: "AspectRatio", "TrueAspectRatio", "KeepAspectRatio"

call tree

normal rendering call sequence:

  • video/video-canvas.c:video_canvas_render
    • video/video-render.c:video_render_main (renderer main)

YUV rendering call sequence:

  • video/video-render.c:render_yuv_image (yuv renderer main)

switching from/to fullscreen (alt-d):

  • video/video-resources:set_fullscreen_enabled
    • video_chip_cap->fullscreen.enable (arch/unix/x11/fullscreen.c:fullscreen_enable)
      • arch/unix/x11/xrandr.c:xrandr_enable
        • set_xrandr
          • FIXME: grab/ungrab mouse pointer
        • arch/unix/x11/gnome/x11ui.c:x11ui_fullscreen
    • video_chip_cap->fullscreen.statusbar (arch/unix/x11/fullscreen.c:fullscreen_statusbar)

setup: video_chip_cap set in:

  • arch/unix/x11/fullscreen.c:fullscreen_capability