From vice-emu
Revision as of 06:20, 1 February 2010 by Blackystardust (talk | contribs) (Added some more items)
Jump to navigation Jump to search

The Todo page is intended to be a place for the VICE developers to put down ideas about the future development of VICE.

Some of these ideas might never be realized, and might look completely absurd, but they could be the inspiration for other ideas.

By putting these ideas down they will be known to any other developers that would like to pick up one of the ideas and implement it.

Hardware emulation

  • Sound.
    • c64/c128 SFX sound sampler audio input support. ([1])
    • plus4 digiblaster audio input support. ([2])
    • Covox Sound Master audio input (joystick port) support. ([3])
    • Magic Voice cartridge support. ([4])
  • RTC.
    • c64/c128 rtc (ds12c887) support. ([5])
    • BB-RTC (joystick port 2) support. ([6])
    • RTC64 support. ([7])
  • Input.
    • c64/c128 numeric keypad support. ([8])
    • c64/c128 pc-joystick support. ([9])
    • datel 3-button mouse support. ([10])
    • Koala-pad support. ([11])
    • animation station support. ([12])
    • Power-pad support.
    • super sketch support. ([13])
  • Storage/Memory.
    • c64/c128 ramlink support. ([14] [15])
    • c64/c128 ramdrive support.
    • vic20 iec2ata support. ([16])
    • IDE64 cdrom/iso support.
    • c64/c128 1.44 MB disk drive support. ([17])
    • c64/c128 SCSI expansion support. ([18])
    • D9060/D9090 CBM harddrive support. ([19])
    • CMD harddrive support. ([20])
    • c128 plus60k support.
    • c128 plus256k support.
    • c128 256K memory expansion hack support.
    • superpet hardware ram lines connected to userport support.

  • Video output.
    • c64 LCD64 screen support. ([21])
    • superpet switchable 4 screens output support.

  • Alternate CPU / Acceleration.
    • c64 z80 (cpm) cartridge support.
    • c64 turbo master cartridge support (4Mhz 65C02). ([22] [23])
    • c64 turbo process cartridge support (4Mhz 658156). ([24] [25])
    • c64 flash-8 cartridge support (8Mhz 65816). ([26])
    • c64/c128 SCPU cartridge support (20Mhz 65816). ([27] [28])
    • superpet 6809 support.
    • cbm2 z80 support.
    • cbm2 8088 support.
  • Communication
    • vic20 ethernet support. ([29])
    • pet IEEE488 -> IDE/RS232 support. ([30])
    • IDE64 eth64 shortbus expansion support. ([31])
    • IDE64 duart shortbus expansion support. ([32])
    • CBM1660 (userport) modem300 support. ([33])
    • CBM1670 (userport) modem1200 support. ([34])
    • FB-RS232 (userport) support. ([35])
  • Scanner / Video input
    • Scantroniks handscanner (userport) support. ([36])
    • Video Byte II video digitizer (userport) support. ([37])
    • Computera Eyes video digitizer (userport) support. ([38] [39])

Ports/GUI improvements

  • Make a list of GUI elements/features per port, compare and implement any missing features for the ports.
  • windows-ce X11 support.
  • amiga X11 support.
  • BeOS X11 support.
  • RiscOS X11 support.
  • Port to Plan9
  • Port to win16
  • Port to win32s (maybe by using windib)
  • Port to macos classic (8.x/9.x).
  • Make OS/2 SDL port.
  • Make atari mint SDL port.
  • Make macos classic SDL port.
  • Make dreamcast SDL port.
  • Make GP32 SDL port.
  • Make PSP SDL port.
  • Make WII SDL port.
  • Make PALMOS SDL port.
  • Make GBA SDL port.
  • Make NDS SDL port.
  • Make PS2 SDL port.
  • Make GameCube SDL port.
  • Make VAX OpenVMS SDL port.
  • Make ALPHA OpenVMS SDL port.
  • Make HPPA OpenVMS SDL port.
  • Make Symbian OS SDL port.
  • Debug/fix the XBOX SDL port.
  • Debug/fix the RiscOS SDL port.
  • Debug/fix the Windows-CE SDL ports.
  • Completely update the RiscOS GUI.
  • Completely update the GP2X GUI.
  • Win32 DX9
    • Window size isn't saved to resources. (Window0Width/Window0Height suggested)
    • Handling of aspect ratio. Nojoopa suggested that this be done in a way similar to the SDL version. I assume we just want to change the width (but not height) such that a certain aspect ratio is upheld.
    • There is a bug when moving the window partly outside the left edge of the screen. The rendered contents seem to "lock" to the left border.

New VICE features

  • native screenshot support.
  • script language integration. (lua or python perhaps)


  • Split xcbm2 into a 5x0 binary and 6x0/7x0 binary.
  • Split the vsid mode off from x64, making vsid a seperate binary.
  • Rewrite the c64/c128 cartridge system to allow multiple cart to be attached at the same time.
  • Migrate emulators to the cycle based CPU core (6510dtvcore.c, should be renamed), which allows:
    • cycle based hooks for complex hardware expansions (SCPU)
    • in-line graphics data change emulation (see testprogs/VICII/gfxfetch)
    • cycle exact Blitter/DMA vblank start and proper LinearA/B counter handling on x64dtv
  • ...and requires (at least):
    • rewrite VICII (VICII-DTV rewrite is currently in progress)
    • remove 1 clock write offset in CIA etc (VIA already handled in trunk)
    • an insane amount of regression testing (preferably with new testprogs where needed)


  • Update the *nix documentation
  • proper and specific win32 documentation. (.chm format)
  • proper and specific amiga documentation. (.guide format)
  • proper and specific BeOS documentation.
  • proper and specific MSDOS documentation. (.txt format)
  • proper and specific OS/2 documentation.
  • proper and specific RiscOS documentation.
  • proper and specific SDL documentation.


  • Support for more languages.
  • Translation support for BeOS.
  • Translation support for MSDOS
  • Translation support for OS/2
  • Translation support for RiscOS.