User:Gpz

From vice-emu
Revision as of 16:57, 2 February 2011 by Gpz (talk | contribs) (→‎TODO)
Jump to navigation Jump to search

readme

nailing down Problems and what are none

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

  • 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)
  • 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...
  • 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

  • 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.

Expected Behaviour

startup

  • when the emu is run without arguments, all settings from the config file should be applied
  • arguments override settings from the config file

config file

  • when saving the settings to the config file it is expected that on the next run of the emulator all settings will be in the same state as when they were saved.
    • there is an exception to this rule: the cartridge in the "Main Slot" must be explicitly set as default before it gets saved to the config file

command line

  • +cart should disable ALL cartridges, including eventually activated REU, Swithlink and all similar expansionport devices.
  • -cartXYZ options should generally attach AND activate a cart of type XYZ
    • as a consequence, attaching carts this way which are NOT in the "Main Slot" will also enable the cart permanently

TODO

Cart System

general

  • remove direct usage of export.xx (generic, retroreplay)
  • if possible make all special cases into general cases
    • 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

Magic Voice (49)

  • debug interaction with TPI
  • rewrite using an event based model

MMC Replay (38)

  • generally very buggy

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

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