Developer log: Difference between revisions

From vice-emu
Jump to navigation Jump to search
mNo edit summary
 
(727 intermediate revisions by 6 users not shown)
Line 1: Line 1:
<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>
<div class="noautonum">__TOC__</div>
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.
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.


Line 16: Line 22:
| style="background:white;" |
| style="background:white;" |
| style="background:#FFFF00;" | SDL (1)
| style="background:#FFFF00;" | SDL (1)
| style="background:white;" |
| style="background:#00FF00;" | gp2x (-)
|-
|-
|| r25801 ||
|| r25801 ||
Line 31: Line 35:
| style="background:white;" |
| style="background:white;" |
| style="background:#00FF00;" | SDL (-)
| style="background:#00FF00;" | SDL (-)
| style="background:white;" |
| style="background:#00FF00;" | gp2x (-)
|-
|-
|| r25858 || 2.3.19  
|| r25858 || 2.3.19  
Line 46: Line 48:
| style="background:white;" |
| style="background:white;" |
| style="background:#00FF00;" | SDL (-)
| style="background:#00FF00;" | SDL (-)
| style="background:white;" |
| style="background:#00FF00;" | gp2x (-)
|-
|-
|| r25955 || 2.3.20
|| r25955 || 2.3.20
Line 61: Line 61:
| style="background:white;" |
| style="background:white;" |
| style="background:#00FF00;" | SDL (-)
| style="background:#00FF00;" | SDL (-)
| style="background:white;" |
| style="background:#00FF00;" | gp2x (-)
|-
|-
|| r26032 || 2.3.21
|| r26032 || 2.3.21
Line 76: Line 74:
| style="background:white;" |
| style="background:white;" |
| style="background:#ADFF2F;" | SDL (1)
| 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:white;" |
| style="background:#00FF00;" | gp2x (-)
| 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 (-)
|}
|}


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


Port/GUI Maintainers should remove their port from the respective item when it is implemented. Items which have no more TODOs left should then be moved to the [[Developer_log_old]] Page to keep the size of this page down (and hopefully shrinking :))
To keep the size of this list down (and hopefully shrinking) ...
 
Also don't forget [[Todo#Ports_.2F_UIs]]
 
----
 
===2.1.14 (r21002)===


* Lightpen/gun support (21132)
* Port/GUI Maintainers should remove their port from the respective item when it is implemented.  
** NEW: Lightpen/gun emulation in x64, x128 and xvic
* 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.
** Resource: Lightpen (toggle)
* Items which have no more TODOs left should then be moved to the [[Developer_log_old]] Page
** Resource: LightpenType (enum, see lightpen.h)
*** 0=Pen with button Up (TODO: product name Atari CX75)
*** 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


----
----


===2.2.7 (r22889)===
===r34242===
 
* NEW: archdep_fix_permissions (r23053)
** should set the permissions of a given file to "rw", respecting the current umask (if any)
** '''TODO:''' add proper code for the following ports: beos
** '''TODO:''' ...and copy to arch/sdl/archdep_* when doing that
 
----
 
===2.3.6 (r23990)===
 
* ACIA/swiftlink/turbo232 base selectable, $DE00/$DF00 for c64/c128 and $D700 for c128 only (r24036)
** '''TODO:''' add ACIA base address select UI item for the following ports: beos
 
===2.3.8 (r24123)===
 
* MasC=uerade adapter support added to xvic.
** '''TODO:''' add georam, digimax, acia/swiftlink/turbo232, sfx sound sampler, sfx sound expander and tfe UI items for the following ports: beos
 
===2.3.9 (r24210)===
 
* additional functions signals_pipe_set() and signals_pipe_unset() added in arch/*/signals.c (r24261)
** to check if a port needs this implemented, type this into one terminal:
*: <code> x64 -remotemonitor</code>
*: and this into another:
*: <code> echo "reset" | nc -p 6510</code>
*: now terminate the connection by pressing ctrl-c. if the emulator now quits (or crashes) you probably need to handle SIGPIPE, ie set up a signal handler for SIGPIPE that calls monitor_abort() (see the unix code as an example). if not, just locate the respective fixme note in 'your' sourcefile and remove it.
** '''TODO''': check/confirm/implement for the following ports: amiga, beos, dos, os/2
** '''TODO''': ...and copy to arch/sdl/archdep_* when sigpipe handling is required
 
* added model selection to xplus4 (r24285)
** look at plus4/plus4model.h for models and functions, it works just like the c64 counterpart
** '''TODO''': add GUI items to following ports: beos, osx
 
* ACIA emulation can be disabled in xplus4 (r24285)
** new Resource: Acia1Enable (BOOL, default = TRUE)
** '''TODO''': add GUI items to following ports: beos
**: Note: this toggles wether the internal ACIA is present or not. actual rs232 emulation may be "enabled" even if no ACIA is present. so this item should go near to the other hardware/i/o extensions/options.
 
* xplus4 cartridge system unified to common api (r24285)
** new Resource: CartridgeReset (BOOL, default = TRUE)
**: when enabled, reset the emulated machine when changing cartridges
** '''TODO''': add GUI items to following ports: beos, osx
 
* added model selection to x64dtv (r24287)
** look at c64dtv/c64dtvmodel.h for models and functions, it works just like the c64 counterpart
** '''TODO''': add GUI items to following ports: beos, osx
 
* xpet, xvic, xplus4 now all support all SID engines (r24288)
** '''TODO''': change GUI items in following ports: amiga, dos, os/2, win32
 
* video_render_initraw() takes additional render config parameter (r24308)
 
* after above changes, check wether VDC and VIC-II palettes can coexist, and update the todo list here: [[Todo#Ports_.2F_UIs]]
** '''TODO''': check following ports: beos, osx
* vsid is a seperate machine and splitted into a seperate binary (r24321)
** <code>vsid_mode</code> is deprecated. change all <code>if (vsid_mode) ...</code> to <code>if (machine_class == VICE_MACHINE_VSID)</code>
**: Note: in some cases checking for <code>console_mode</code> and/or <code>video_disabled_mode</code> might be better
**: Note: if there are switch statements in archdep code which check for <code>machine_class</code>, then adding <code>VICE_MACHINE_VSID</code> to them might be required (one common spot seems to be in joystick_init_cmdline_options())
** '''TODO''': update following ports: dos, osx
** '''TODO''': ... and remove <code>vsid_mode</code> in main.c
** NOTE: if a port has no fully working vsid ui, remove it here and add it to the todo list here: [[Todo#Ports_.2F_UIs]]
 
* after above changes put the status of the vsid ui into the todo list here: [[Todo#Ports_.2F_UIs]]
** '''TODO''': check following ports: beos, dos, osx
 
* xcbm5x0 splitted from xcbm2 into a seperate machine and binary (r24326)
** Resource "UseVicII" removed (no more needed)
** '''TODO''': remove gui items/references in following ports: dingoo
** due to the split, some features are no more available/needed in one or the other:
**: cbm5x0:
*** remove "crtc settings"
*** remove all _but_ "510" from model selection
*** remove basic128/basic256 ROM related options from ROM settings, load "rom500.vrs" as standard roms option instead
*** remove "7x0 (50 Hz)" from modelline selection
*** add 64kb as memsize option
**: cbm2:
*** remove "vic-ii settings"
*** remove "vic-ii model" from model settings
*** remove "510" from model selection
** '''TODO''': fix gui items of following ports: beos
 
* added model selection to xcbm2/cbm5x0 (r24326)
** look at cbm2/cbm2model.h for models and functions, it works just like the c64 counterpart
** '''TODO''': add/fix GUI items to following ports: beos, osx
**: ... and remove cbm2_get_model() if done so
*** '''TODO''': remove usage of cbm2_set_model() in following ports: beos
**: ... and make cbm2_set_model() static (use only for cmdline)
 
* xcbm2/cbm5x0 cartridge system unified to common api (r24326)
** new Resource: CartridgeReset (BOOL, default = TRUE)
**: when enabled, reset the emulated machine when changing cartridges
** '''TODO''': add GUI items to following ports: beos, osx
 
** cartridge_attach_image(type,name) and cartridge_detach_image(type) are now available in xcbm2/cbm5x0, look for types in cartridge.h
** direct usage of "Cart1Name", "Cart2Name", "Cart3Name", "Cart4Name" resources is deprecated, use the above functions instead.
** '''TODO''': fix gui items in following ports: osx
 
* after above changes put the status of the cbm2/cbm5x0 ui into the todo list here: [[Todo#Ports_.2F_UIs]]
** '''TODO''': check following ports: beos, osx
 
* NEW: 2000/4000 drive emulation
** UIs need to be updated for drive model selection and ROM load. Can easily be done by looking where 1581 is used, and adding 2000/4000 there too.
** '''TODO''': add gui items in following ports: beos, osx
** '''TODO''': add d1m/d2m/d4m to the disk file selector dialog filters (beos, osx)
** '''TODO''': add d1m/d2m/d4m image creation to the ui's (beos, osx)
 
* NEW: IDE64 DVD (.iso), LS-120/ZIP (.fdd), Harddisk (.hdd) and CF card support (.cfa) by using ATA core (r24510 or earlier)
** '''TODO''': update file selector dialog filters accordingly (beos, osx)
** '''TODO''': change 'ide64 hd image' text to 'ide64 ata device image' or if wanted to 'ide64 primary/secondary master/slave device image' (beos, osx)
 
* NEW: Atari ST mouse and the Atari CX-22 trackball and improved Amiga mouse emulation by Magnus Lind.
** '''TODO''': Check and test UI items for Atari ST mouse and Atari CX-22 trackball (beos, osx)
*** testprograms can be found in testprogs/propmouse
 
* NEW: Burst modification emulation for C64
** '''TODO''': Update UIs to select 0=None/1=CIA1/2=CIA2 for the "BurstMod" resource. (beos, osx)
 
===2.3.10 (r24627)===
 
* Fixed the sound system to handle mono and stereo streams correctly (r24693).
* Output is selectable between 'system' (system decides to use mono or stereo output based on the presence of a stereo sid), 'always mono' (output is always mono, stereo streams are mixed into a mono stream) or 'always stereo' (output is always stereo, mono streams are multiplexed to a stereo stream).
** new Resource: "SoundOutput" (enum) SOUND_OUTPUT_SYSTEM, SOUND_OUTPUT_MONO, SOUND_OUTPUT_STEREO
** '''TODO:''' add gui items in the following ports: beos, osx
 
* Added 3rd sid support for x64 and x128 (r24733).
** changed Resource: "SidStereo", instead of 0=off, 1=on, it's now: 0=off, 1=1 extra sid, 2=2 extra sids.
** new Resource: "SidTripleAddressStart", the address of the 3rd sid.
** '''TODO:''' add/change gui items in the following ports: osx
 
* Added drive sound emulation
** There's a new resource called "DriveSoundEmulation",
** '''TODO:''' add menu entries to following ports: osx
 
===2.3.12 (r24924)===
 
* Added "Nordic Replay" support to retro replay emulation (r24948)
** new Resource: "RRrevision" (enum) 0 = retro replay 1 = nordic replay
** '''TODO:''' add menu entries to following ports: beos, osx
 
* CIA type switchable in x128 (r25046)
** new Resources: "CIA1Model" "CIA2Model" (enum) CIA_MODEL_6526, CIA_MODEL_6526A (just like in x64)
** '''TODO:''' add menu entries to following ports: beos, osx
 
* CIA type switchable in xcbm2/cbm5x0 (r25047)
** new Resources: "CIA1Model" (enum) CIA_MODEL_6526, CIA_MODEL_6526A (just like in x64)
** '''TODO:''' add menu entries to following ports: beos, osx
 
* added model selection to x128 (r25052)
** look at c128v/c128model.h for models and functions, it works just like the c64 counterpart
** '''TODO:''' add GUI items to following ports: beos, osx
 
* added video to audio leak emulation (r25066)
** new Resources: for every video chip: "<CHIP>AudioLeak" (enum) 0 = disabled 1 = enabled
** '''TODO:''' add GUI items to following ports: beos, osx
 
* added "no border" mode to VIC-II (r25076)
** "VICIIBordermode" (enum) extended to VICII_NORMAL_BORDERS, VICII_FULL_BORDERS, VICII_DEBUG_BORDERS, VICII_NO_BORDERS
** '''TODO:''' add GUI items to following ports: osx
 
* added border mode selection to VIC (r25079)
** new Resource: "VICBordermode" (enum) VIC_NORMAL_BORDERS, VIC_FULL_BORDERS, VIC_DEBUG_BORDERS, VIC_NO_BORDERS
** '''TODO:''' add GUI items to following ports: osx
 
* added border mode selection to TED (r25124)
** new Resource: "TEDBordermode" (enum) TED_NORMAL_BORDERS, TED_FULL_BORDERS, TED_DEBUG_BORDERS, TED_NO_BORDERS
** '''TODO:''' add GUI items to following ports: osx
 
===2.3.15 (r25340)===
 
* refactored model selection in xpet (r25380)
** pet_set_model and get_pet_model should be replaced by petmodel_set/petmodel_get. look at pet/petmodel.h for models and functions, it works just like the c64 counterpart
** '''TODO:''' replace pet_set_model in following ports: beos
 
* added support for "Formel 64" parallel cable (r25438)
** extended resources Drive8ParallelCable, Drive9ParallelCable, Drive10ParallelCable, Drive11ParallelCable (enum) from 0..2 to 0..3 (DRIVE_PC_NONE, DRIVE_PC_STANDARD, DRIVE_PC_DD3, DRIVE_PC_FORMEL64). added DRIVE_PC_NUM respectively (drive.h)
** '''TODO:''' update gui items in following ports: os/2, beos, msdos, amiga, osx
 
* added support for "Kingsoft" and "Starbyte" 4-player joystick adapters (r25440)
** extended resource ExtraJoyType (enum) to 0..6 (USERPORT_JOYSTICK_CGA, USERPORT_JOYSTICK_PET, USERPORT_JOYSTICK_HUMMER, USERPORT_JOYSTICK_OEM, USERPORT_JOYSTICK_HIT, USERPORT_JOYSTICK_KINGSOFT, USERPORT_JOYSTICK_STARBYTE). added USERPORT_JOYSTICK_NUM respectively (userport_joystick.h)
** '''TODO:''' update gui items (x64/x64sc/x128) in following ports: osx


===r25459===
* added tapecart emulation, still needs GUI hookups
by Rhialto


I enabled up to DRIVE_NUM IEEE-488 drives, rather than 2 (in True Drive Emulation mode). In some places where they are enumerated, it is 4. The drives use their full 3 bits of jumpered drive number now, rather than just 1 bit.
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.


I have also generalised  code so as to allow another dual drive. Since dual drives currently use up two device numbers, it will use 10 and 11. I'm currently simplifying the methods for checking the dualness of a drive.
'''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.


When that is done, I hope to have gained enough understanding of the code to remove the horrible hack of using 2 devices for a dual drive, and remove it. It looks like it will simplify a lot of code (including removing lots of code that I changed for allowing 2 dual drives). That will have some repercussions on the GUIs, since for every drive you may need to be able to attach ''two'' image files. It also would add an extra "drive" parameter (in addition to the current "unit" parameter) to a shedload of functions, although this is a pretty mechanical change. In fact, it is the GUI change that currently holds me back...
==3.0==


'''TODO''': Think of some elegant way to represent settings for 8 floppy images (for 4 dual drives), without requiring all GUIs to be updated at once.
* Added support for G71 (double sided G64 for 1571) images
'''TODO''': After that, I can rework the code to make dual drives more regular and hence allow 4 of them.
:'''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


===2.3.19 (r25940)===  
===r32815===
* removed unused "Romset<NAME>" resources
* '''TODO''': fix win32 port (./arch/win32/uirom.c, find "Romset%s" - the "Computer resources saved to romset" and "Drive resources saved to romset" dialogs and the buttons opening them can be removed, they never worked :))


===2.3.21 (r26032)===
* Added support for the StarDOS drive ROM, new resources DriveXStarDos (boolean), DriveStarDosName (string)
* added "SuperCard+" emulation (this is a drive expansion board for 1541/1571)
:'''TODO''': add GUI items to the following ports (take supercard or profdos as example): amiga, beos, dos, osx, win32
* new Resource: "DriveSuperCardName" (string) that specifies the SuperCard ROM image
* new Resources: "Drive8SuperCard", "Drive9SuperCard", "Drive10SuperCard", "Drive11SuperCard" (toggle) that specify whether SuperCard is enabled for the respective drive
* '''TODO''': add GUI items to following ports: amiga, beos, dos, os/2, osx, win32, sdl


===2.3.22 (r26155)===
* added Smart mouse emulation
** '''TODO''': check if GUI items work on following ports: beos, osx


* added c64/c128/vic20 DS12C887 RTC expansion emulation
===r33343===
** new Resource: "DS12C887RTC" (BOOL) DS12C887 RTC cart on/off
** new Resource: "DS12C887RTCbase" (int) DS12C887 RTC cart base address
** '''TODO''': Add GUI items to the following ports: beos, osx


* added c64/c128 RTC58321a userport RTC expansion emulation
* 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.
** new Resource: "UserportRTC" (BOOL) 58321A RTC on/off
** '''TODO''': Add GUI items to the following ports: beos, osx
 
* added c128 internal function RAM and internal function RAM+RTC support.
** The Resource "InternalFunctionROM" now has a new meaning: 0=off, 1=ROM, 2=RAM, 3=RAM+RTC
** '''TODO''': Adapt GUI items for the following ports: beos, dos, osx
 
* added fsimage-dxx.c for concentrating d64/d71/dxx image handling.
** '''TODO''': check build project. The .tgt files are not updated, other uncertain.
 
* added general image track extension
** '''TODO''': Translation and related dialogs are not up to date. It's not just d64 extending to 40 tracks, but general extending of d64 and d81 images to various track numbers. One simple question like "Do you want to extend the image?" would do.


==Branches==
==Branches==
Line 357: Line 244:
* 2.3-new-cpu-cores (blacky)
* 2.3-new-cpu-cores (blacky)
** This branch is all about (old and) new cpu cores, it is meant to implement the following:
** 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).
*** <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)
*** <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.
*** 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).
*** <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)
*** <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).
*** 8088 support as used in a copro board for the cbm2 (able to run cp/m-86 and msdos 1.25).
Line 366: Line 253:
* driveupdate (soci)
* 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.
** 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
** <strike>TODO: RTC72421 emulation needed</strike> (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, os/2, osx, *nix, win32, sdl
List of ports: amiga, beos, dos, osx, *nix, win32, sdl


List of ports outside UI updates: gp2x
List of ports outside UI updates: android, dingoo

Latest revision as of 16:08, 20 May 2018

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