Todo: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
|||
Line 57: | Line 57: | ||
* support for c128 specific control lines is missing in the c64/c128 cartridge system | * support for c128 specific control lines is missing in the c64/c128 cartridge system | ||
* there is currently (almost) no support for cartridges when making snapshots | * there is currently (almost) no support for cartridges when making snapshots | ||
* some carts do not work 100% yet, for details look [ https://sourceforge.net/apps/mediawiki/vice-emu/index.php?title=User:Gpz#TODO here] | |||
===x128=== | ===x128=== |
Revision as of 04:57, 11 August 2010
Known Issues
This is the list of known problems. also look at Tracker: open Bugs
- Commandline `-logfile SOME/FILE.log' fails to record logs to `SOME/FILE.log' when resources are loaded via menu (load settings).
- emulator system state is always the same when starting. various methods of randomizing data will fail on vice (ie, always give the same result) when using the autostart feature. this could perhaps be solved (atleast partially) by inserting a random delay before "run"
- special characters escaped by "$" are not processed correctly when using autostart ( https://sourceforge.net/tracker/?func=detail&aid=2456520&group_id=223021&atid=1057617 )
Keyboard
- When a key which is shifted on the real machine but unshifted on the PC or Unix keyboard you are using is pressed, the virtual shift is pressed together (i.e. at the same clock cycle) with the main key; this could not work with some keyboard routines. If you have to use the function keys, press the (real) shift key manually (e.g. F2 = Shift + F1, F4 = Shift + F3 and so on); this also works with other keys.
- The restore key handling should be changed to distribute keypresses randomly across a frame.
Monitor
- When loading a snapshot, the monitor break/watchpoints break. (at least in xpet)
- when i/o sideeffects are disabled (which is the default) the monitor may incorrectly show ram/rom in io area when "bank cpu" is enabled.
- the monitor seems to incorrectly access cartridge memory even if "bank cart" is explicitly set (eg attach RR image, > de00 20, bank cart, m 8000 will show $ff instead of cart ram)
- the monitor interprets commands wrong if hex values are not preceeded by $ ( https://sourceforge.net/tracker/?func=detail&aid=2263290&group_id=223021&atid=1057617 )
Sound System
- the sound system currently only handles mono streams. it should be rewritten to work in stereo. needed to eg fix (https://sourceforge.net/tracker/?func=detail&aid=2483496&group_id=223021&atid=1057617)
CPU
- Wrong emulation of illegal opcode ANE (aka XAA) makes some Mastertronic tape loader fail. ( https://sourceforge.net/tracker/?func=detail&aid=2110948&group_id=223021&atid=1057617 )
VIC-II
- VIC-II shows wrong colors when switching from hires background to idle with borders open (Krestology).
VDC
- Some basic features of the VDC are missing. ( https://sourceforge.net/tracker/?func=detail&aid=2947582&group_id=223021&atid=1057617 , https://sourceforge.net/tracker/?func=detail&aid=2871065&group_id=223021&atid=1057617 )
Drive Emulation
- Dual disk drive 2040/3040 support (DOS1, 670 blocks free) is not working
- serial timing latency is not implemented. (1 cycle per foot of cable or so)
- drive emulation can not handle a sync mark that is located on the track wraparound (ie starts at the end of a track and continues at the beginning)
- 2mhz mode of the 1571 is not handled correctly, 1571 has extra delay on on reading sync inside the drive, ("you cannot use BVC in 2mhz mode!")
- when using a dual drive the actual drive number is ignored, ie the same disk appears to be inserted in both drives. this confuses some programs.
- there exist problems handling certain G64 images ( https://sourceforge.net/tracker/?func=detail&aid=2371598&group_id=223021&atid=1057617 )
Printer Emulation
- it is not possible to select lowercase mode via secondary address ( https://sourceforge.net/tracker/?func=detail&aid=2811444&group_id=223021&atid=1057617 )
Cartridge System
- the c64/c128 cartridge system has several limitations when multiple carts are to be attached at the same time. (in progress)
- support for c128 specific control lines is missing in the c64/c128 cartridge system
- there is currently (almost) no support for cartridges when making snapshots
- some carts do not work 100% yet, for details look [ https://sourceforge.net/apps/mediawiki/vice-emu/index.php?title=User:Gpz#TODO here]
x128
- Support for fast mode (2MHz) is missing.
xplus4
- Snapshots are not supported by the plus4 emulation. ( https://sourceforge.net/tracker/?func=detail&aid=2878220&group_id=223021&atid=1057617 )
xcbm2
- The CBM-II emulator, when the execution bank is set to an open memory bank, sets the zeropage and stack access to unmapped, but actually existing memory. This is a bug but cannot be avoided with the current CPU code architecture.
- In the C510 emulation the VIC-II timing is not exact, i.e. the stopping of the CPU during bad lines is wrong.
- Although both are emulated in the xcbm2 emulator, switching between C510 and C6x0/7x0 is not possible at runtime. Use command line option "xcbm -model 510".
xpet
- When running the burn-in and diagnostics test of the 8296 system disk on "xpet -model 8296" a lot of stuff fails.
UIs
- Screenshots with activated PAL emulation do not deliver the expected (blurry) result.
- In the C128 emulation VIC-II and VDC palette can not coexist currently in some ports.
- The CBM-II emulation is not fully supported in all ports.
Windows
- In the win32 port keyboard input can be garbled after issuing a reset on CPU JAM.
- "always on top" doesn't work when switched on at boot
- Fullscreen in x128 via vice.ini is not possible ( https://sourceforge.net/tracker/?func=detail&aid=2053853&group_id=223021&atid=1057617 )
- the device buttons in the monitor ui are broken ( https://sourceforge.net/tracker/?func=detail&aid=2478267&group_id=223021&atid=1057617 )
- 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.
GTK
- Mouse Input is broken ( https://sourceforge.net/tracker/?func=detail&aid=3003765&group_id=223021&atid=1057617 )
- Lightpen coordinates do not consider scaling/aspect ratio
- Mouse / Lightpen can not be enabled in fullscreen mode
- Aspect ratio/scaling is broken in fullscreen mode when hardware rendering is enabled (canvas is always stretched to fill the entire screen)
- Gnome/GTK+ commandline is ignored.
XAW
- Xaw UI context popup menu for drive attach is broken if more than two drives are active.
- Some DEC/Alpha machines crash due to the XAW implementation. Compile VICE with GNOME support `--enable-gnomeui' instead.
- Using X11 XAW it is not possible to enter the disk name in the create empty disc image dialog.
- The custom TextField widget is buggy and can cause crashes on DEC/Alpha machines, and possibly on other systems too. If you get weird X protocol errors or the file selector makes the emulator die when you close it, this might be the cause. In that case, recompile with the `--disable-textfield' option. If it still does not work, please tell us.
MS-DOS
- In the MS-DOS port you have to save the configuration and restart the emulator when changing VDC double size mode.
New Features
This is the 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.
also look at Tracker: open Feature Requests
- native screenshot support. (in progress)
- script language integration. (lua or python perhaps)
- Allow tape loading without the virtually pressed "Play" button, which can break some programs that do not like it to be pressed (e.g. Turbo Assembler).
- Some more Kernal patches, for instance for changing colors and patching the reset routine to make it faster (maybe configurable).
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]) (in trunk - Gpz 19:34, 20 May 2010 (UTC))
- PS64 speech cartridge support. ([5])
- Daisy Sound sampler support
- RTC.
- Input.
- Storage/Memory.
- c64/c128 ramlink support. ([17] [18])
- c64/c128 ramdrive support.
- vic20 iec2ata support. ([19])
- IDE64 cdrom/iso support.
- c64/c128 1.44 MB disk drive support. ([20])
- c64/c128 SCSI expansion support. ([21])
- D9060/D9090 CBM harddrive support. ([22])
- CMD harddrive support. ([23])
- c128 plus60k support.
- c128 plus256k support.
- c128 256K memory expansion hack support.
- 8296 pet hardware ram lines connected to userport support.
- MiniChief type harddrives support. ([24])
- CIA-IDE-HD support. ([25])
- MW1000 HD support. ([26])
- Alpha20 HD support. ([27])
- Alpha10 HD support. ([28])
- Borsu20 HD support. ([29])
- HardBox HD support. ([30])
- Video output.
- Alternate CPU / Acceleration.
- c64 z80 (cpm) cartridge support.
- c64 turbo master cartridge support (4Mhz 65C02). ([33] [34])
- c64 turbo process cartridge support (4Mhz 658156). ([35] [36])
- c64 flash-8 cartridge support (8Mhz 65816). ([37])
- c64/c128 SCPU cartridge support (20Mhz 65816). ([38] [39])
- c64 The Final Chesscard (65c02 ?)
- c64 german BTX cartridge (6809)
- superpet 6809 support.
- cbm2 z80 support.
- cbm2 8088 support.
- Communication
- c64 p64 midi interface: ([40])
- vic20 ethernet support. ([41])
- pet IEEE488 -> IDE/RS232 support. ([42])
- IDE64 eth64 shortbus expansion support. ([43])
- IDE64 duart shortbus expansion support. ([44])
- CBM1660 (userport) modem300 support. ([45])
- CBM1670 (userport) modem1200 support. ([46])
- FB-RS232 (userport) support. ([47])
- Scanner / Video input
- Cartridges
- Community Information Locator Commodore 64/128 addon cartridge ([53])
new 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.
- 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.
GTK
- add Drag'n'Drop support
- add Session Management
- improve Tape status widget, (.TAP vs .t64) handling is lousy.
- implement Monitor GUI
- add VIC20 Cartridge attach heuristic for image pairs
Rewrites
- Split xcbm2 into a 5x0 binary and 6x0/7x0 binary.
- Split the vsid mode off from x64, making vsid a seperate binary.
- 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)
Documentation
- 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.
Translations
- Support for more languages.
- Translation support for BeOS.
- Translation support for MSDOS
- Translation support for OS/2
- Translation support for RiscOS.