Developer log: Difference between revisions

From vice-emu
Jump to navigation Jump to search
mNo edit summary
 
Line 1: Line 1:
The developer log is intended to be a central place for all developers to take down notes on what has changed during development. This helps to keep all porters up to date regarding API and Resource changes.


==Branches==
<big>'''As of the 3.2 release, this page is no more used. All developers are supposed to update the GTK3 and SDL ports when they add things that need GUI items.'''</big>


Here is a short overview of all branches that are currently active in SVN, i.e. someone develops a new feature that soon will be merged into trunk. Note here the upcoming features, if some testing is required on specific platforms or there is something porters need to be aware of.


===x64sc===
<div class="noautonum">__TOC__</div>


x64sc, the next step in C64 emulation. (merged before 2.2.2)
The developer log is intended to be a central place for all developers to take down notes on what has changed during development. This helps to keep all porters up to date regarding API and Resource changes.


UI rework
==Status==
* UI for x64sc using c64scui_init/shutdown, differences listed below
* See SDL UI and/or *nix UIs for an example and suggested menu item naming
* TODO: New UI for: beos, msdos, os/2


* C64
{| border="1" cellpadding="2" cellspacing="0"
** Overall model selection, see c64/c64model.h
|| r25372 ||
** NOTE: The C64 model selection affects (and is affected by) all the resources listed below plus the SID model (and engine, if not reSID-fp already)
| style="background:white;" |
** TODO: UI items for: beos, msdos, os/2
| style="background:#FFFF00;" | win32 (1)
* CIA
| style="background:#FFFF00;" | *nix (1)
** Resource: CIA1Model (enum, see cia.h)
| style="background:#FFC000;" | osx (29)
** Resource: CIA2Model (enum, see cia.h)
| style="background:white;" |
** NOTE: could be used also in x64 and x128, probably not worth the hassle
| style="background:#FF8000;" | amiga (39)
** TODO: UI items for: beos, msdos, os/2
| style="background:#FF0000;" | beos (43)
* VICII
| style="background:#FF8000;" | dos (39)
** Resource: VICIIModel (enum, see vicii.h)
| style="background:#FF0000;" | os/2 (55)
** TODO: UI items for: beos, msdos, os/2
| style="background:white;" |
* System
| style="background:#FFFF00;" | SDL (1)
** Resource: GlueLogic (toggle or enum with 0 & 1, possibly more if variations found)
|-
** TODO: UI items for: beos, msdos, os/2
|| r25801 ||
* PAL/NTSC
| style="background:white;" |
** Remove/disable the PAL/NTSC/oldNTSC/PAL-N items from the VICII menu (handled via VICIIModel or overall model instead)
| style="background:#00FF00;" | win32 (-)
** TODO: Remove/disable UI items for: beos, msdos, os/2
| style="background:#00FF00;" | *nix (-)
| style="background:#FFC000;" | osx (30)
| style="background:white;" |
| style="background:#FF8000;" | amiga (37)
| style="background:#FF0000;" | beos (41)
| style="background:#FF8000;" | dos (40)
| style="background:#FF8000;" | os/2 (4)
| style="background:white;" |
| style="background:#00FF00;" | SDL (-)
|-
|| r25858 || 2.3.19
| style="background:white;" |
| style="background:#00FF00;" | win32 (-)
| style="background:#00FF00;" | *nix (-)
| style="background:#FFC000;" | osx (30)
| style="background:white;" |
| style="background:#FF8000;" | amiga (9)
| style="background:#FF0000;" | beos (41)
| style="background:#FF8000;" | dos (40)
| style="background:#FF8000;" | os/2 (4)
| style="background:white;" |
| style="background:#00FF00;" | SDL (-)
|-
|| r25955 || 2.3.20
| style="background:white;" |
| style="background:#FFC000;" | win32 (2)
| style="background:#00FF00;" | *nix (-)
| style="background:#FFC000;" | osx (30)
| style="background:white;" |
| style="background:#FF8000;" | amiga (4)
| style="background:#FF0000;" | beos (31)
| style="background:#FFC000;" | dos (28)
| style="background:#FF8000;" | os/2 (4)
| style="background:white;" |
| style="background:#00FF00;" | SDL (-)
|-
|| r26032 || 2.3.21
| style="background:white;" |
| style="background:#FFC000;" | win32 (3)
| style="background:#00FF00;" | *nix (-)
| style="background:#FFC000;" | osx (31)
| style="background:white;" |
| style="background:#FF8000;" | amiga (5)
| style="background:#FF0000;" | beos (32)
| style="background:#FFC000;" | dos (6)
| style="background:#FF8000;" | os/2 (5)
| style="background:white;" |
| style="background:#ADFF2F;" | SDL (1)
|-
|
|-
|| r26488 || 2.4
| style="background:white;" |
| style="background:#FFC000;" | win32 (3)
| style="background:#00FF00;" | *nix (-)
| style="background:#FFC000;" | osx (35)
| style="background:white;" |
| style="background:#FF8000;" | amiga (5)
| style="background:#FF0000;" | beos (36)
| style="background:#FFC000;" | dos (7)
| style="background:#FF8000;" | os/2 (5)
| style="background:white;" |
| style="background:#ADFF2F;" | SDL (1)
|-
|
|-
|| r26876 || 2.4.1
| style="background:white;" |
| style="background:#FF0000;" | win32 (4)
| style="background:#00FF00;" | *nix (-)
| style="background:#FF0000;" | osx (36)
| style="background:white;" |
| style="background:#FF0000;" | amiga (5)
| style="background:#FF0000;" | beos (37)
| style="background:#FF0000;" | dos (8)
| style="background:#FF0000;" | os/2 (6)
| style="background:white;" |
| style="background:#00FF00;" | SDL (-)
|-
|| r28197 || 2.4.7
| style="background:white;" |
| style="background:#FF8000;" | win32 (5)
| style="background:#00FF00;" | *nix (-)
| style="background:#FF0000;" | osx (48)
| style="background:white;" |
| style="background:#FF0000;" | amiga (5)
| style="background:#FF0000;" | beos (8)
| style="background:#FF0000;" | dos (8)
| style="background:#FF0000;" | os/2 (11)
| style="background:white;" |
| style="background:#00FF00;" | SDL (-)
|-
|| r28270 ||
| style="background:white;" |
| style="background:#00FF00;" | win32 (-)
| style="background:#00FF00;" | *nix (-)
| style="background:#FF0000;" | osx (48)
| style="background:white;" |
| style="background:#FFFF00;" | amiga (1)
| style="background:#FF0000;" | beos (5)
| style="background:#FF0000;" | dos (3)
| style="background:#FF0000;" | os/2 (10)
| style="background:white;" |
| style="background:#00FF00;" | SDL (-)
|-
|| r30535 ||
| style="background:white;" |
| style="background:#FF0000;" | win32 (10)
| style="background:#FF0000;" | *nix (5)
| style="background:#FF0000;" | osx (40)
| style="background:white;" |
| style="background:#FF0000;" | amiga (17)
| style="background:#FF0000;" | beos (26)
| style="background:#FF0000;" | dos (21)
| style="background:#FF0000;" | os/2 (41)
| style="background:white;" |
| style="background:#FF0000;" | SDL (6)
|-
|| r30784 ||
| style="background:white;" |
| style="background:#ADFF2F;" | win32 (1)
| style="background:#00FF00;" | *nix (-)
| style="background:#00FF00;" | osx (-)
| style="background:white;" |
| style="background:#FF8000;" | amiga (26)
| style="background:#FF8000;" | beos (31)
| style="background:#FF8000;" | dos (14)
| style="background:#FF0000;" | os/2 (50)
| style="background:white;" |
| style="background:#00FF00;" | SDL (-)
|-
|| r32419 ||
| style="background:white;" |
| style="background:#00FF00;" | win32 (-)
| style="background:#00FF00;" | *nix (-)
| style="background:#00FF00;" | osx (-)
| style="background:white;" |
| style="background:#00FF00;" | amiga (-)
| style="background:#FFC000;" | beos (3)
| style="background:#00FF00;" | dos (-)
| style="background:#FFC000;" | os/2 (4)
| style="background:white;" |
| style="background:#00FF00;" | SDL (-)
|-
|| r32520 || 3.0
| style="background:white;" |
| style="background:#00FF00;" | win32 (-)
| style="background:#00FF00;" | *nix (-)
| style="background:#00FF00;" | osx (-)
| style="background:white;" |
| style="background:#00FF00;" | amiga (-)
| style="background:#00FF00;" | beos (-)
| style="background:#00FF00;" | dos (-)
| style="background:#FFFF00;" | os/2 (2)
| style="background:white;" |
| style="background:#00FF00;" | SDL (-)
|}


Config split
<br>
* Datadir uses machine_name as before, config/hotkeys/fliplist/etc (should) use machine_get_name() instead
{| border="1" cellpadding="2" cellspacing="0"
|- style="background:#FF0000;"
| more than one open issue from before the last release version
|- style="background:#FF8000;"
| no open issues from before the last release version, plus at most one other open issue
|- style="background:#FFC000;"
| no open issues from before the last release version
|- style="background:#FFFF00;"
| no open issues from before the last tagged version, plus at most one other open issue
|- style="background:#ADFF2F;"
| no open issues from before the last tagged version
|- style="background:#00FF00"
| no open issues
|}


* Use "C64SC" for x64sc
==Trunk==
** NOTE: data/C64 is still used for x64sc
** TODO: check config/etc file names/usage for: win32 (especially if the shared C64/win_shortcuts.vsc is problematic)
* Use "VSID" for vsid
** Due to the config split, it is finally possible to have VSID config/hotkeys/etc
** TODO: add load/save settings (vsid) UI items for: beos, msdos, os/2, win32
* Use "CBM-II-5x0" for xcbm2 -model 510
** Should get rid of segfaults when using different models with same config
** TODO: check config/etc file names/usage for: win32 (especially if the shared CBM-II/win_shortcuts.vsc is problematic)


===trunk===
Here is a short overview of all changes made in trunk that are relevant for the respective port/gui maintainers.


* chris/v2.1-quicktime [2.1.2]
Note: '''new stuff should be added at the bottom and each item should have the related svn revision'''
** NEW: added QuickTime movie exporter (on Mac OS X for now)
** API: introduced new soundmovie.c sound exporter
** API: gfxoutput.h: extended interace of gfxoutputdrv_t
gfxoutputdrv_format_t *formatlist; // optional format list for exporter
void (*shutdown)(void);
int (*resources_init)(void);
int (*cmdline_options_init)(void);
** Tested: Mac+Cocoa, Mac+Gtk, Mac+Xaw
** Open: Adapted all UIs to use generic formatlist from extended gfxoutput_drv interface


* soundrework.
To keep the size of this list down (and hopefully shrinking) ...
** oversampling setting removed. Oversampling is a bad, mostly unused solution for slightly improved audio quality. We can just do proper resamplers for machines that need it.
** shorter sound buffer requires using audio buffers to their capacity. Some drivers may exhibit bugs with bufferspace() hook when audio buffer gets completely filled. These should be identified by bad behaviour on low latency setting such as 50 ms, while other sound drivers on same system might still work.


* Userport Joystick Interface support (r20807)
* Port/GUI Maintainers should remove their port from the respective item when it is implemented.  
** NEW: 2 new virtual joysticks
* To not clutter this page with stuff that will not get implemented anytime soon ("i will not add lightpen support to this handheld port") in such cases the respective port should also get removed from the respective item, and a note pointing out the missing feature should get added to [[Todo#Ports_.2F_UIs]] instead.
** API: joystick_port_map[] (arch/*/joy.[ch]) size changed from 2 to 4 (JOYSTICK_NUM, joystick.h)
* Items which have no more TODOs left should then be moved to the [[Developer_log_old]] Page
** Resource: ExtraJoy (toggle) and ExtraJoyType see src/joystick.h for the types.
** TODO: UI items for the following ports: os2
** TODO: Make the joystick UI correct, to clarify: c128, c64, c64dtv, cbm5x0 and plus4 have 2 native joystick port, vic20 has only 1 native joystick port and pet and cbm6x0/7x0 have no native joystick ports at all. The HIT userport joystick adapter can only be used on c64/c128, the other userport joystick adapters can be used on c64, c128, c64dtv, cbm6x0/7x0, pet and vic20.
** NOTE: Network code uses the new size; this may be a problem.


* Plus4 SID cart add-ons support (20977)
----
** Resource: DIGIBLASTER (toggle) for the digibooster add-on and SIDCartJoy (toggle) for the joystick port on the sidcart.
** TODO: xplus4 UI items for the following ports: os/2


* Lightpen/gun support (21132)
===r34242===
** NEW: Lightpen/gun emulation in x64, x128 and xvic
** Resource: Lightpen (toggle)
** Resource: LightpenType (enum, see lightpen.h)
*** 0=Pen with button Up (TODO: product name?)
*** 1=Pen with button Left (TODO: product name?)
*** 2=Datel Pen
*** 3=Magnum Light Phaser
*** 4=Stack Light Rifle
** TODO: Lightpen driver and UI items for the following ports: amiga, beos, os/2
** NOTE: see SDL or win32 for driver implementation example
** TODO: Fix clock calculation in VDC
** TODO: other x's?


* xvic cartridge system rewrite (21222)
* added tapecart emulation, still needs GUI hookups
** NEW: Rewritten modular cartridge emulation similar to that of x64.
** NEW: Mega-Cart emulation
** Resource: CartridgeType (enum, see cartridge.h)
** Resource: CartridgeFile (string)
** Resource: CartridgeReset (toggle)
** Resource: GenericCartridgeFile2000 (string)
** Resource: GenericCartridgeFile4000 (string)
** Resource: GenericCartridgeFile6000 (string)
** Resource: GenericCartridgeFileA000 (string)
** Resource: GenericCartridgeFileB000 (string)
** NOTE: see win32/SDL/*nix UI for menu implementation.
** NOTE: CartridgeFile and GenericCartridgeFileX000 and NOT meant to be manipulated directly by the UI. See the above note.
** TODO: .crt like cartridge format (.vrt)
** TODO: UI items for the following ports: os/2


* xvic cartridge system improvements (r21505)
Tapecart support has been added in the Gtk3 UI and the SDL UI, including a 'flush image button' which uses the new tapecart_flush_tcrt() function in tapecart.c.
** NEW: write back FE3 .bin and MC NvRAM images
** Resource: FinalExpansionWriteBack (toggle)
** Resource: MegaCartNvRAMWriteBack (toggle)
** Resource: MegaCartNvRAMfilename (string)
** TODO: UI items for the following ports: os/2


* PET DWW (r?????)
'''TODO''': Decide if we want to add this to the other ports, to be included in VICE 3.2, the last release with the 'old' ports.
** NEW: DWW support for xpet
** Resource: PETDWW (toggle)
** Resource: PETDWWfilename (string)
** TODO: UI items for the following ports: beos, dos, os/2


* x64/x64sc/x128 Cartridge System (r22615)
==3.0==
** changed cartridge_detach_image() to take the cartid (from cartridge.h) as parameter. all UIs have been changed to pass -1, which means "all cartridges".
** NOTE: UIs that actually support to attach several carts should use the param properly, and should use this function instead of changing whatever associated resource directly. (this will make it easier to change the underlying mechanism without breaking everything all the time)
** to clearify: generic actions such as attaching/enabling/detaching a cartridge should be done through the generic api in cartridge.h. using the individual resources to enable/disable a cartridge will still work, but is "deprecated".


* x64/x64sc/x128 Cartridge System (r22623)  
* Added support for G71 (double sided G64 for 1571) images
** changed cartridge_get_file_name(), takes the cartid instead of the (meaningless) address for c64 now
:'''TODO''': add g71 to filters in file-open/attach dialogs in following ports: amiga, dos, osx, win32
*** affected emus: vic20 (the "WORD" in the prototype changed to "int", and it passes an address for type, and the "int" may now make it fail on 16bit hosts, meh :)) the logic should be changed to use cartids from cartridge.h instead, shouldnt matter else :)
:'''TODO''': add g71 to "create image" dialogs (DISK_IMAGE_TYPE_G71) in following ports: amiga, beos, dos, osx, win32
*** affected ports: MSDOS
** a new function c64export_query_list() defined in c64export.h can be used to get a list of all currently attached/active cartridges, so you can eg use it in a dynamic menu and detach them using cartridge_detach_image(). look in c64export.c:c64export_dump() for a small usage example.
** TODO: fix MSDOS port, fix VIC20


* MMC Replay (r?????)
===r32815===
** NEW: MMC Replay support
** .bin image attach for CARTRIDGE_MMC_REPLAY
** Resource: MMCRCardImage (string)
** Resource: MMCREEPROMImage (string)
** Resource: MMCRCardRW (toggle)
** Resource: MMCREEPROMRW (toggle)
** Resource: MMCRRescueMode (toggle)
** Resource: MMCRSDType (enum: 0=Auto, 1=MMC, 2=SD, 3=SDHC)
** TODO: UI items for the following ports: beos, dos, os/2


* MMC64 card type
* Added support for the StarDOS drive ROM, new resources DriveXStarDos (boolean), DriveStarDosName (string)
** NEW: Cart type selection for MMC64
:'''TODO''': add GUI items to the following ports (take supercard or profdos as example): amiga, beos, dos, osx, win32
** Resource: MMC64_sd_type (enum: 0=Auto, 1=MMC, 2=SD, 3=SDHC)
** TODO: UI items for the following ports: beos, dos, os/2


* Magic Voice
** NEW: (unfortunately not working yet) Magic Voice support
** Resource: MagicVoiceImage (string)
** Resource: MagicVoiceCartridgeEnabled (toggle)
** TODO: UI items for the following ports: amiga, beos, dos, os/2


* ISEPIC
===r33343===
** renamed Resource: "Isepic" to "IsepicCartridgeEnabled" (toggle)


* Expert Cartridge
* Changed a few malloc()/free() calls to lib_malloc()/lib_free(), which includes some code I cannot check (OSX for example), so should you run into errors/warnings when running VICE with -debug enabled, let me know. I think I got it right, but you never know.
** renamed Resource: "Expert" to "ExpertCartridgeEnabled" (toggle)
** TODO: ports that use cartridge_attach_image(CARTRIDGE_EXPERT, NULL) (which will now fail!) must now simply <del>set "ExpertCartridgeEnabled" to 1 to enable</del> use cartridge_enable(CARTRIDGE_EXPERT) (as with other carts). possibly affected ports: beos, dos (x64, x64sc, x128)
** renamed Resource: "CartridgeMode" to "ExpertCartridgeMode" (enum: 0=off 1=prg 2=on)


* V364 Speech (Plus4)
==Branches==
** NEW: v364 prototype speech chip support
** Resource: SpeechImage (string)
** Resource: SpeechEnabled (toggle)
** TODO: UI items for the following ports: amiga, beos, dos, os/2
 
* BASIC load (r22628)
** NEW: option for doing autostart LOAD without the ,1
** Resource: AutostartBasicLoad (toggle)
** NOTE: Doesn't work with AutostartPrgMode Inject, fixing is likely too much hassle (relinking...)
** TODO: UI items for the following ports: amiga, beos, dos, os/2
 
* Vic Flash Plugin writeback (r22566)
** NEW: writeback support for Vic Flash Plugin
** Resource: VicFlashPluginWriteBack (toggle)
** TODO: UI items for the following ports: amiga, beos, dos, os/2
 
* "PAL Emulation" is available in NTSC mode (r22746)
** NEW: proper rendering with CRT emulation in NTSC mode
** it is suggested to rename user visible strings that refer to "PAL Emulation" or "PAL Settings" to "CRT ..." to make clear that it is not only available in PAL mode.
** ports that forced "PAL Emulation" disabled in NTSC mode should be changed so "PAL Emulation" can be enabled, and related options are available regardless of current video mode.
 
* Gamma Calculation changed (r22749)
** Resource: "ColorGamma" range was changed to 0...4000, and the new default is 2200 (which is the VGA 2.2 gamma). this change was needed to be able to handle different gammas of PAL/NTSC/etc. (and using the actual display hardware gamma as param is more intuitive too).
** TODO: fix UI items of the following ports: beos, dos, os/2
** possibly some #ifdef magic can be added in src/video/video-resources-pal.c to define correct defaults for platforms that don't use 2.2
 
* "true aspect ratio" option (r22749)
** geometry_s now contains (float)pixel_aspect_ratio which can be used to (optionally) scale the output canvas to get the true aspect ratio of the currently active video mode.
*** scale output rectangle horizontally by pixel_aspect_ratio if "true aspect ratio" option is enabled
*** to maintain consistency across ports, use Resource:"TrueAspectRatio" (toggle). (must be defined in arch dependend files)
**** SDL UI intentionally breaks this as it had "SDLGLAspectMode" that bent naturally from a toggle to an enum
** TODO: implement in ports that can make use of this: (other with hw scaling?)
 
* <del>"PAL Emulation"</del> "CRT Emulation" is available for CRTC and VDC (r22752)
** NEW: proper rendering with CRT emulation for CRTC and VDC output
** Resource: CrtcExternalPalette (toggle)
** Resource: VDCExternalPalette (toggle)
** all ports that forced "PAL Emulation" disabled should be changed so "CRT Emulation" can be enabled, and related options are available regardless of current video chip. all related special cases can be removed.
** TODO: fix UI items of the following ports: amiga, beos, dos, os/2, osx (x128, xpet, xcbm2)
** TODO: rename PAL emulation to CRT emulation on the following ports: amiga, beos, dos, os/2, osx, win32
 
* IDE64 emulation can now handle 4 harddrive images. (r22824)
** Resource: IDE64Image renamed/changed to IDE64Image1, IDE64Image2, IDE64Image3, IDE64Image4
** TODO: add/fix UI items for the following ports: amiga, beos, dos, os/2.
 
* NEW: IDE64 emulation can emulate IDE64v4 (r22824)
** Resource: IDE64version4 (toggle)
** TODO: add/fix UI items for the following ports: amiga, beos, dos, os/2
 
* CIA model 6526x (r22951)
** NEW: old CIA model without the timer B bug (see cia.h)
*** "6526" is the old CIA without the timer B bug (this should match measured results)
*** "6526A" is the new CIA (this should match the measured results)
*** "6526x" is the old CIA with the timer B bug (this is the old VICE behaviour, no real chip found yet)
** TODO: a proper name for the "6526x" model
** TODO: add UI item for the following ports: amiga, beos, dos, os/2


* Drean/PAL-N (r22xxx)
Here is a short overview of all branches that are currently active in SVN, i.e. someone develops a new feature that soon will be merged into trunk. Note here the upcoming features, if some testing is required on specific platforms or there is something porters need to be aware of. When a branch was merged into trunk, the respective info should be moved to the [[Developer_log_old]] Page.
** NEW: Drean C64 / PAL-N emulation for x64 & x64sc
** TODO: add UI items for the following ports: amiga, beos, dos, os/2, osx


* NEW: printer output driver "raw" (r22960)
* 2.3-new-cpu-cores (blacky)
** TODO: add UI items for the following ports: amiga, beos, dos, os/2, osx
** This branch is all about (old and) new cpu cores, it is meant to implement the following:
*** <strike>z80 support for x64/x64sc (z80 cp/m cartridge).</strike> (code is in the trunk and used by the c64 cpm cart)
*** <strike>65(S)C02 support as used in some accelerator carts, but also as direct 6502/6510 replacement.</strike> (core is in the trunk and used by the fd2000/4000 drives)
*** 65CE02 support as direct 6502/6510 replacement.
*** <strike>65802/65816 support as used in some accelerator carts, but also as direct 6502/6510 replacement (65802 only).</strike> (core is in the trunk and used by xscpu64 as the main cpu core).
*** <strike>6809/6309 support as used in the super pet.</strike> (core is in the trunk and used by the superpet)
*** 8088 support as used in a copro board for the cbm2 (able to run cp/m-86 and msdos 1.25).


* NEW: archdep_fix_permissions (r23053)
* driveupdate (soci)
** should set the permissions of a given file to "rw", respecting the current umask (if any)
** The point is to have a single FDD emulation for all drives which need low level media emulation and caching. The disk image handling is also reworked to make simpler to use and extend it later. Some features were added like handling of d71 double sided emulation mode disk images, real 6502 FDC with GCR image (works for 1001 now, planned for others). Improved fault handling and updating of Dxx images, 1581 and other MFM drives needs some work. Planned is to get the 1571 MFM mode somehow working together with the GCR mode (probably not on the same type of image file), and maybe implement G64 image support for the IEEE drives. And of course all these changes brings some new bugs to fix. This is most likely not going to be finished in 2011, and maybe some parts should be migrated to trunk to get some of the ready stuff out earlier.
** TODO: add proper code for the following ports: amiga, beos, dos, os/2, riscos
** TODO: ...and copy to arch/sdl/archdep_* when doing that


* Cartridge System unification (r23239)
* vice-1990 (soci)
** added missing "Save XYZ Image when changed" for mmcr, reu, georam, ramcart, isepic, dqbb, expert
** Branch for emulating the 1990 drive.
** Resource: XYZImageWrite (Toggle, default=0) (MMCRImageWrite, REUImageWrite, GEORAMImageWrite, RAMCARTImageWrite, IsepicImageWrite, DQBBImageWrite, ExpertImageWrite)
** TODO: user interface for Drive?Swap8Button, DrivexSwap?Button, Drive?WriteProtectButton
** added missing "Cartridge Image Filename" for isepic, expert
** TODO: gui changes so that this type can be selected
** Resource: XYZfilename (String, default="") (Isepicfilename, Expertfilename)
** <strike>TODO: RTC72421 emulation needed</strike> (in trunk)
** TODO: add UI items for the following ports: amiga, beos, dos, os/2
** TODO: proper disk image attaching, hdd/iso/fdd image types? Currently file is hardcoded to "/tmp/image" for all!
** Future: geos, swap8, swap9 and write protect LEDs on GUI would be nice
** Future: device number comes from the image instead of VICE.
** Future: vdrive support. Good luck ;)


* List of canonical names for cartridges
----
** cartridge.h now contains constants for (user visible) cartridge names. UIs should, if possible, use these constants - and if not atleast adhere to their spelling. Another advice is to remove redundant references to cartridge names from sub-menus and generally unifying them, in order to bring the overall number of messages down. (see *nix or SDL ui as an example).
** TODO: update/check UI items of the following ports: amiga, beos, dos, os/2, osx, win32


* removal of the "Emulator ID" feature (r23293)
List of ports: amiga, beos, dos, osx, *nix, win32, sdl
** TODO: remove UI items and all references to the "EmuID" resource from the following ports: amiga, beos, dos, os/2, osx, win32


List of ports: amiga, beos, dos, os/2, osx, *nix, win32, sdl
List of ports outside UI updates: android, dingoo


List of ports outside UI updates: gp2x, riscos
[[Category:Deprecated]]

Latest revision as of 18:26, 23 March 2023

As of the 3.2 release, this page is no more used. All developers are supposed to update the GTK3 and SDL ports when they add things that need GUI items.


The developer log is intended to be a central place for all developers to take down notes on what has changed during development. This helps to keep all porters up to date regarding API and Resource changes.

Status

r25372 win32 (1) *nix (1) osx (29) amiga (39) beos (43) dos (39) os/2 (55) SDL (1)
r25801 win32 (-) *nix (-) osx (30) amiga (37) beos (41) dos (40) os/2 (4) SDL (-)
r25858 2.3.19 win32 (-) *nix (-) osx (30) amiga (9) beos (41) dos (40) os/2 (4) SDL (-)
r25955 2.3.20 win32 (2) *nix (-) osx (30) amiga (4) beos (31) dos (28) os/2 (4) SDL (-)
r26032 2.3.21 win32 (3) *nix (-) osx (31) amiga (5) beos (32) dos (6) os/2 (5) SDL (1)
r26488 2.4 win32 (3) *nix (-) osx (35) amiga (5) beos (36) dos (7) os/2 (5) SDL (1)
r26876 2.4.1 win32 (4) *nix (-) osx (36) amiga (5) beos (37) dos (8) os/2 (6) SDL (-)
r28197 2.4.7 win32 (5) *nix (-) osx (48) amiga (5) beos (8) dos (8) os/2 (11) SDL (-)
r28270 win32 (-) *nix (-) osx (48) amiga (1) beos (5) dos (3) os/2 (10) SDL (-)
r30535 win32 (10) *nix (5) osx (40) amiga (17) beos (26) dos (21) os/2 (41) SDL (6)
r30784 win32 (1) *nix (-) osx (-) amiga (26) beos (31) dos (14) os/2 (50) SDL (-)
r32419 win32 (-) *nix (-) osx (-) amiga (-) beos (3) dos (-) os/2 (4) SDL (-)
r32520 3.0 win32 (-) *nix (-) osx (-) amiga (-) beos (-) dos (-) os/2 (2) SDL (-)


more than one open issue from before the last release version
no open issues from before the last release version, plus at most one other open issue
no open issues from before the last release version
no open issues from before the last tagged version, plus at most one other open issue
no open issues from before the last tagged version
no open issues

Trunk

Here is a short overview of all changes made in trunk that are relevant for the respective port/gui maintainers.

Note: new stuff should be added at the bottom and each item should have the related svn revision

To keep the size of this list down (and hopefully shrinking) ...

  • Port/GUI Maintainers should remove their port from the respective item when it is implemented.
  • To not clutter this page with stuff that will not get implemented anytime soon ("i will not add lightpen support to this handheld port") in such cases the respective port should also get removed from the respective item, and a note pointing out the missing feature should get added to Todo#Ports_.2F_UIs instead.
  • Items which have no more TODOs left should then be moved to the Developer_log_old Page

r34242

  • added tapecart emulation, still needs GUI hookups

Tapecart support has been added in the Gtk3 UI and the SDL UI, including a 'flush image button' which uses the new tapecart_flush_tcrt() function in tapecart.c.

TODO: Decide if we want to add this to the other ports, to be included in VICE 3.2, the last release with the 'old' ports.

3.0

  • Added support for G71 (double sided G64 for 1571) images
TODO: add g71 to filters in file-open/attach dialogs in following ports: amiga, dos, osx, win32
TODO: add g71 to "create image" dialogs (DISK_IMAGE_TYPE_G71) in following ports: amiga, beos, dos, osx, win32

r32815

  • Added support for the StarDOS drive ROM, new resources DriveXStarDos (boolean), DriveStarDosName (string)
TODO: add GUI items to the following ports (take supercard or profdos as example): amiga, beos, dos, osx, win32


r33343

  • Changed a few malloc()/free() calls to lib_malloc()/lib_free(), which includes some code I cannot check (OSX for example), so should you run into errors/warnings when running VICE with -debug enabled, let me know. I think I got it right, but you never know.

Branches

Here is a short overview of all branches that are currently active in SVN, i.e. someone develops a new feature that soon will be merged into trunk. Note here the upcoming features, if some testing is required on specific platforms or there is something porters need to be aware of. When a branch was merged into trunk, the respective info should be moved to the Developer_log_old Page.

  • 2.3-new-cpu-cores (blacky)
    • This branch is all about (old and) new cpu cores, it is meant to implement the following:
      • z80 support for x64/x64sc (z80 cp/m cartridge). (code is in the trunk and used by the c64 cpm cart)
      • 65(S)C02 support as used in some accelerator carts, but also as direct 6502/6510 replacement. (core is in the trunk and used by the fd2000/4000 drives)
      • 65CE02 support as direct 6502/6510 replacement.
      • 65802/65816 support as used in some accelerator carts, but also as direct 6502/6510 replacement (65802 only). (core is in the trunk and used by xscpu64 as the main cpu core).
      • 6809/6309 support as used in the super pet. (core is in the trunk and used by the superpet)
      • 8088 support as used in a copro board for the cbm2 (able to run cp/m-86 and msdos 1.25).
  • driveupdate (soci)
    • The point is to have a single FDD emulation for all drives which need low level media emulation and caching. The disk image handling is also reworked to make simpler to use and extend it later. Some features were added like handling of d71 double sided emulation mode disk images, real 6502 FDC with GCR image (works for 1001 now, planned for others). Improved fault handling and updating of Dxx images, 1581 and other MFM drives needs some work. Planned is to get the 1571 MFM mode somehow working together with the GCR mode (probably not on the same type of image file), and maybe implement G64 image support for the IEEE drives. And of course all these changes brings some new bugs to fix. This is most likely not going to be finished in 2011, and maybe some parts should be migrated to trunk to get some of the ready stuff out earlier.
  • vice-1990 (soci)
    • Branch for emulating the 1990 drive.
    • TODO: user interface for Drive?Swap8Button, DrivexSwap?Button, Drive?WriteProtectButton
    • TODO: gui changes so that this type can be selected
    • TODO: RTC72421 emulation needed (in trunk)
    • TODO: proper disk image attaching, hdd/iso/fdd image types? Currently file is hardcoded to "/tmp/image" for all!
    • Future: geos, swap8, swap9 and write protect LEDs on GUI would be nice
    • Future: device number comes from the image instead of VICE.
    • Future: vdrive support. Good luck ;)

List of ports: amiga, beos, dos, osx, *nix, win32, sdl

List of ports outside UI updates: android, dingoo