Cartsystem: Difference between revisions

From vice-emu
Jump to navigation Jump to search
mNo edit summary
 
(16 intermediate revisions by 2 users not shown)
Line 3: Line 3:
cartridge images:
cartridge images:


22  STRUCTURED-BASIC
  31  Stardos (existing dump is apparently broken)
  31  Stardos (existing dump is apparently broken)


software to use/test:
software to use/test:


112  MIDI-MAPLIN
112  MIDI-MAPLIN


=== Status ===
=== Status ===
Line 29: Line 28:
DMP = monitor register dump hook
DMP = monitor register dump hook
ULT = VIC ultimax hook (fb: uses generic fallback)
ULT = VIC ultimax hook (fb: uses generic fallback)
U = ultimax mode (-: none, *: normal, F: fake mapping)
U   = ultimax mode (-: none, *: normal, F: fake mapping)
MMU = MMU translate hook


CCC = cartconv supports converting the cart
CCC = cartconv supports converting the cart
Line 40: Line 40:


<pre>
<pre>
NAME                      ID    ROM  RAM    FRM    VBL VCL VBS VCS SNP  MPK RPK DMP  ULT U CCC  DOX  COMMENTS
NAME                      ID    ROM  RAM    FRM    VBL VCL VBS VCS SNP  MPK RPK DMP  ULT U MMU CCC  DOX  COMMENTS
----                      --    ---  ---    ---    --- --- --- --- ---  --- --- ---  --- - ---  ---  --------
----                      --    ---  ---    ---    --- --- --- --- ---  --- --- ---  --- - --- ---  ---  --------
mmc64                    37      -    -      8    yes yes yes yes  no  yes yes  no    - - yes  yes  Currently mis-typed as 0 (is really type 2), dox scattered
mmc64                    37      -    -      8    yes yes yes yes  no  yes yes  no    - - yes yes  yes  Currently mis-typed as 0 (is really type 2), dox scattered
IEEE488                  41      4    -      -    yes yes  -  - yes  yes yes yes    - - yes  FIX
IEEE488                  41      4    -      -    yes yes  -  - yes  yes yes yes    - - yes yes  FIX
magic voice              *49    16    -      -    yes yes  -  -  no  yes yes yes  yes F yes  yes
magic voice              *49    16    -      -    yes yes  -  -  no  yes yes yes  yes F yes yes  yes
</pre>
</pre>


Line 50: Line 50:


<pre>
<pre>
NAME                      ID    ROM  RAM    FRM    VBL VCL VBS VCS SNP  MPK RPK DMP  ULT U CCC  DOX  COMMENTS
NAME                      ID    ROM  RAM    FRM    VBL VCL VBS VCS SNP  MPK RPK DMP  ULT U MMU CCC  DOX  COMMENTS
----                      --    ---  ---    ---    --- --- --- --- ---  --- --- ---  --- - ---  ---  --------
----                      --    ---  ---    ---    --- --- --- --- ---  --- --- ---  --- - --- ---  ---  --------
DQBB                    -101      -    16      -    yes  - yes  - yes  fb yes  no  fb - n/a  yes  memory banked RAM cart
DQBB                    -101      -    16      -    yes  - yes  - yes  fb yes  no  fb - yes n/a  yes  memory banked RAM cart
expert                    6      -    8      -    yes yes yes yes yes  yes yes  no  yes F yes  yes  memory banked RAM cart
expert                    6      -    8      -    yes yes yes yes yes  yes yes  no  yes F yes yes  yes  memory banked RAM cart
ISEPIC                  -103      -    2      -    yes yes yes yes yes  yes yes  no  yes F n/a  yes  I/O-window based RAM cart
ISEPIC                  -103      -    2      -    yes yes yes yes yes  yes yes  no  yes F yes n/a  yes  I/O-window based RAM cart
ramcart-64              -104      -    64      -    yes  - yes  - yes  fb  fb  no  fb - n/a  yes  I/O-window based RAM cart (window mapped to $8000 as well)
ramcart-64              -104      -    64      -    yes  - yes  - yes  fb  fb  no  fb - yes n/a  yes  I/O-window based RAM cart (window mapped to $8000 as well)
ramcart-128            -104      -  128      -    yes  - yes  - yes  fb  fb  no  fb - n/a  yes  I/O-window based RAM cart (window mapped to $8000 as well)
ramcart-128            -104      -  128      -    yes  - yes  - yes  fb  fb  no  fb - yes n/a  yes  I/O-window based RAM cart (window mapped to $8000 as well)
</pre>
</pre>


Line 62: Line 62:


<pre>
<pre>
NAME                      ID    ROM  RAM    FRM    VBL VCL VBS VCS SNP  MPK RPK DMP  ULT U CCC  DOX  COMMENTS
NAME                      ID    ROM  RAM    FRM    VBL VCL VBS VCS SNP  MPK RPK DMP  ULT U MMU CCC  DOX  COMMENTS
----                      --    ---  ---    ---    --- --- --- --- ---  --- --- ---  --- - ---  ---  --------
----                      --    ---  ---    ---    --- --- --- --- ---  --- --- ---  --- - --- ---  ---  --------
generic-ultimax-4        -6      4    -      -    yes FIX  -  - yes  yes  -  -  yes * FIX  yes
generic-ultimax-4        -6      4    -      -    yes FIX  -  - yes  yes  -  -  yes * yes FIX  yes
generic-ultimax-8        -6      8    -      -    yes yes  -  - yes  yes  -  -  yes * yes  yes
generic-ultimax-8        -6      8    -      -    yes yes  -  - yes  yes  -  -  yes * yes yes  yes
generic-ultimax-12        -6    12    -      -    yes FIX  -  - yes  yes  -  -  yes * FIX  yes
generic-ultimax-12        -6    12    -      -    yes FIX  -  - yes  yes  -  -  yes * yes FIX  yes
generic-ultimax-16        -6    16    -      -    yes yes  -  - yes  yes  -  -  yes * yes  yes
generic-ultimax-16        -6    16    -      -    yes yes  -  - yes  yes  -  -  yes * yes yes  yes
generic-8kgame-4          -3      4    -      -    yes FIX  -  - yes  yes  -  -    - - FIX  yes
generic-8kgame-4          -3      4    -      -    yes FIX  -  - yes  yes  -  -    - - yes FIX  yes
generic-8kgame-8          -3      8    -      -    yes yes  -  - yes  yes  -  -    - - yes  yes
generic-8kgame-8          -3      8    -      -    yes yes  -  - yes  yes  -  -    - - yes yes  yes
generic-16kgame-12        -2    12    -      -    yes FIX  -  - yes  yes  -  -    - - FIX  yes
generic-16kgame-12        -2    12    -      -    yes FIX  -  - yes  yes  -  -    - - yes FIX  yes
generic-16kgame-16        -2    16    -      -    yes yes  -  - yes  yes  -  -    - - yes  yes
generic-16kgame-16        -2    16    -      -    yes yes  -  - yes  yes  -  -    - - yes yes  yes


action replay              1    32    8      -    yes yes  -  - yes  fb  fb  no  fb  yes  yes  8K RAM not (yet) in crt
action replay              1    32    8      -    yes yes  -  - yes  fb  fb  no  fb  no  yes  yes  8K RAM not (yet) in crt
KCS power                  2    16  128b    -    yes yes  -  - yes  fb yes  no  fb  yes  FIX
KCS power                  2    16  128b    -    yes yes  -  - yes  fb yes  no  fb  no  yes  FIX
final cartridge 3          3    64    -      -    yes yes  -  - yes  fb  fb  no  fb  yes  yes
final cartridge 3          3    64    -      -    yes yes  -  - yes  fb  fb  no  fb  no  yes  yes
simons basic              4    16    -      -    yes yes  -  - yes  fb yes  no    -  yes  yes
simons basic              4    16    -      -    yes yes  -  - yes  fb yes  no    -  no  yes  yes
ocean-32                  5    32    -      -    yes yes  -  - yes  fb yes  no    -  yes  yes
ocean-32                  5    32    -      -    yes yes  -  - yes  fb yes  no    -  no  yes  yes
ocean-128                  5    128    -      -    yes yes  -  - yes  fb yes  no    -  yes  yes
ocean-128                  5    128    -      -    yes yes  -  - yes  fb yes  no    -  no  yes  yes
ocean-256                  5    256    -      -    yes yes  -  - yes  fb yes  no    -  yes  yes
ocean-256                  5    256    -      -    yes yes  -  - yes  fb yes  no    -  no  yes  yes
ocean-512                  5    512    -      -    yes yes  -  - yes  fb yes  no    -  yes  yes
ocean-512                  5    512    -      -    yes yes  -  - yes  fb yes  no    -  no  yes  yes
funplay                    7    128    -      -    yes yes  -  - yes  fb yes  no    -  yes  yes
funplay                    7    128    -      -    yes yes  -  - yes  fb yes  no    -  no  yes  yes
super games                8    64    -      -    yes yes  -  - yes  fb yes  no    -  yes  yes
super games                8    64    -      -    yes yes  -  - yes  fb yes  no    -  no  yes  yes
atomic power              9    32    8      -    yes yes  -  - yes  fb  fb  no  fb  yes  yes  8K RAM not (yet) in crt
atomic power              9    32    8      -    yes yes  -  - yes  fb  fb  no  fb  no  yes  yes  8K RAM not (yet) in crt
epyx fastload            10      8    -      -    yes yes  -  - yes  fb yes  no  fb  yes  yes
epyx fastload            10      8    -      -    yes yes  -  - yes  fb yes  no  fb  no  yes  yes
westermann                11    16    -      -    yes yes  -  - yes  fb yes  no    -  yes  yes
westermann                11    16    -      -    yes yes  -  - yes  fb yes  no    -  no  yes  yes
rex utility              12      8    -      -    yes yes  -  - yes  fb yes  no    -  yes  yes
rex utility              12      8    -      -    yes yes  -  - yes  fb yes  no    -  no  yes  yes
final cartridge 1        13    16    -      -    yes yes  -  - yes  fb yes  no  fb  yes  yes
final cartridge 1        13    16    -      -    yes yes  -  - yes  fb yes  no  fb  no  yes  yes
magic formel 1.x          14    64    8      -    yes yes  -  - yes  yes yes  no  yes F?yes  yes  8K RAM not (yet) in crt
magic formel 1.x          14    64    8      -    yes yes  -  - yes  yes yes  no  yes F?no  yes  yes  8K RAM not (yet) in crt
magic formel 2.x - 96    14    96    8      -    yes yes  -  - yes  yes yes  no  yes F?yes  yes  8K RAM not (yet) in crt
magic formel 2.x - 96    14    96    8      -    yes yes  -  - yes  yes yes  no  yes F?no  yes  yes  8K RAM not (yet) in crt
magic formel 2.x - 128    14    128    8      -    yes yes  -  - yes  yes yes  no  yes F?yes  yes  8K RAM not (yet) in crt
magic formel 2.x - 128    14    128    8      -    yes yes  -  - yes  yes yes  no  yes F?no  yes  yes  8K RAM not (yet) in crt
GS                        15    512    -      -    yes yes  -  - yes  fb yes  no    -  yes  yes
GS                        15    512    -      -    yes yes  -  - yes  fb yes  no    -  no  yes  yes
warpspeed                16    16    -      -    yes yes  -  - yes  fb  -        -  yes  yes
warpspeed                16    16    -      -    yes yes  -  - yes  fb  -        -  no  yes  yes
dinamic                  17    128    -      -    yes yes  -  - yes  fb yes  no    -  yes  yes
dinamic                  17    128    -      -    yes yes  -  - yes  fb yes  no    -  no  yes  yes
zaxxon                    18    20    -      -    yes yes  -  - yes  yes  -        -  yes  yes
zaxxon                    18    20    -      -    yes yes  -  - yes  yes  -        -  no  yes  yes
magic desk-32            19    32    -      -    yes yes  -  - yes  fb yes  no    -  yes  yes
magic desk-32            19    32    -      -    yes yes  -  - yes  fb yes  no    -  no  yes  yes
magic desk-64            19    64    -      -    yes yes  -  - yes  fb yes  no    -  yes  yes
magic desk-64            19    64    -      -    yes yes  -  - yes  fb yes  no    -  no  yes  yes
magic desk-128            19    128    -      -    yes yes  -  - yes  fb yes  no    -  yes  yes
magic desk-128            19    128    -      -    yes yes  -  - yes  fb yes  no    -  no  yes  yes
super snapshot 5          20    64    32      -    yes yes  -  - yes  fb  -      fb  yes  yes
super snapshot 5          20    64    32      -    yes yes  -  - yes  fb  -      fb  no  yes  yes
comal-80                  21    64    -      -    yes yes  -  - yes  fb yes  no    -  yes  yes
comal-80                  21    64    -      -    yes yes  -  - yes  fb yes  no    -  no  yes  yes
structured basic          22    16    -      -    yes yes  -  - yes  fb yes  no  fb  yes  yes  IMAGE WANTED
structured basic          22    16    -      -    yes yes  -  - yes  fb yes  no  fb  no  yes  yes  IMAGE WANTED
ross-16                  23    16    -      -    yes yes  -  - yes  fb yes  no    -  yes  yes  IMAGE WANTED
ross-16                  23    16    -      -    yes yes  -  - yes  fb yes  no    -  no  yes  yes  IMAGE WANTED
ross-32                  23    32    -      -    yes yes  -  - yes  fb yes  no    -  yes  yes
ross-32                  23    32    -      -    yes yes  -  - yes  fb yes  no    -  no  yes  yes
dela ep64                24      8+    -      -    FIX yes  -  - yes  fb yes  no    -  yes  yes  64K of additional ROM can be inserted
dela ep64                24      8+    -      -    FIX yes  -  - yes  fb yes  no    -  no  yes  yes  64K of additional ROM can be inserted
dela ep7x8                25      8+    -      -    FIX yes  -  - yes  fb yes  no    -  yes  yes  56K of additional ROM can be inserted
dela ep7x8                25      8+    -      -    FIX yes  -  - yes  fb yes  no    -  no  yes  yes  56K of additional ROM can be inserted
dela ep256                26      8+    -      -    FIX yes  -  - yes  fb yes  no    -  yes  yes  256K of additional ROM can be inserted
dela ep256                26      8+    -      -    FIX yes  -  - yes  fb yes  no    -  no  yes  yes  256K of additional ROM can be inserted
rex ep256                27      8+    -      -    FIX yes  -  - yes  fb yes  no    -  FIX  yes  256K of additional ROM can be inserted
rex ep256                27      8+    -      -    FIX yes  -  - yes  fb yes  no    -  no  FIX  yes  256K of additional ROM can be inserted
mikro assembler          28      8    -      -    yes yes  -  - yes  fb  -        -  yes  yes
mikro assembler          28      8    -      -    yes yes  -  - yes  fb  -        -  no  yes  yes
final cartridge plus-24  29    24    -      -    yes yes  -  - yes  yes  -      yes F FIX  yes  24K variation, which could possibly be made
final cartridge plus-24  29    24    -      -    yes yes  -  - yes  yes  -      yes F no  FIX  yes  24K variation, which could possibly be made
final cartridge plus-32  29    32    -      -    yes yes  -  - yes  yes  -      yes F yes  yes  Only 24K of ROM is used
final cartridge plus-32  29    32    -      -    yes yes  -  - yes  yes  -      yes F no  yes  yes  Only 24K of ROM is used
action replay 4          30    32    -      -    yes yes  -  - yes  fb  fb  no  fb  yes  yes
action replay 4          30    32    -      -    yes yes  -  - yes  fb  fb  no  fb  no  yes  yes
stardos                  31    16    -      -    yes yes  -  - yes  NO yes  no  yes F yes  yes
stardos                  31    16    -      -    yes yes  -  - yes  NO yes  no  yes F no  yes  yes
easyflash                32      -  256b  1024    yes yes yes yes yes  fb yes yes  fb  yes  NO  Currently mis-typed as 0 (is really type 2)
easyflash                32      -  256b  1024    yes yes yes yes yes  fb yes yes  fb  no  yes  NO  Currently mis-typed as 0 (is really type 2)
easyflash xbank          33    ???  ???    ???    n/a n/a n/a n/a yes  fb yes yes  fb  n/a  NO  IMAGE WANTED (NO CART EXISTS ?)
easyflash xbank          33    ???  ???    ???    n/a n/a n/a n/a yes  fb yes yes  fb  no  n/a  NO  IMAGE WANTED (NO CART EXISTS ?)
capture                  34      8    8      -    yes yes  -  - yes  yes  -      yes F yes  yes  8K RAM not (yet) in crt
capture                  34      8    8      -    yes yes  -  - yes  yes  -      yes F no  yes  yes  8K RAM not (yet) in crt
action replay 3          35    16    -      -    yes yes  -  - yes  fb yes  no  fb  yes  yes
action replay 3          35    16    -      -    yes yes  -  - yes  fb yes  no  fb  no  yes  yes
retro replay-32          36      -    32    32    yes yes yes yes yes  yes yes  no  fb  yes  yes  Currently mis-typed as 0 (is really type 2), 32K RAM not (yet) in crt, dox scattered
retro replay-32          36      -    32    32    yes yes yes yes yes  yes yes  no  fb  no  yes  yes  Currently mis-typed as 0 (is really type 2), 32K RAM not (yet) in crt, dox scattered
retro replay-64          36      -    32    64    yes yes yes yes yes  yes yes  no  fb  yes  yes  Currently mis-typed as 0 (is really type 2), 32K RAM not (yet) in crt, dox scattered
retro replay-64          36      -    32    64    yes yes yes yes yes  yes yes  no  fb  no  yes  yes  Currently mis-typed as 0 (is really type 2), 32K RAM not (yet) in crt, dox scattered
retro replay-128          36      -    32    128    yes yes yes yes yes  yes yes  no  fb  yes  yes  Currently mis-typed as 0 (is really type 2), 32K RAM not (yet) in crt, dox scattered
retro replay-128          36      -    32    128    yes yes yes yes yes  yes yes  no  fb  no  yes  yes  Currently mis-typed as 0 (is really type 2), 32K RAM not (yet) in crt, dox scattered
mmc replay-64            38      -  512    65    yes yes yes yes  no  NO yes  no  yes F?yes  yes  Mis-typed, no ram in crt and no config-rom, dox scattered
mmc replay-64            38      -  512    65    yes yes yes yes  no  NO yes  no  yes F?no  yes  yes  Mis-typed, no ram in crt and no config-rom, dox scattered
mmc replay-512            38      -  512    513    yes yes yes yes  no  NO yes  no  yes F?yes  yes  Mis-typed, no ram in crt and no config-rom, dox scattered
mmc replay-512            38      -  512    513    yes yes yes yes  no  NO yes  no  yes F?no  yes  yes  Mis-typed, no ram in crt and no config-rom, dox scattered
IDE64                    39    64     -     -    yes yes  -  - no   fb yes  no  fb  yes  NO  no config-rom in crt
IDE64                    39    64   32     -    yes yes  -  - yes   fb yes  yes  fb  yes yes  NO  no config-rom in crt
super snapshot 4          40    32    -      -    yes yes  -  - yes  fb  fb  no  fb  yes  FIX
super snapshot 4          40    32    -      -    yes yes  -  - yes  fb  fb  no  fb  no  yes  FIX
game killer              42      8    -      -    yes yes  -  - yes  yes  fb  no  fb F yes  yes
game killer              42      8    -      -    yes yes  -  - yes  yes  fb  no  fb F no  yes  yes
prophet 64                43    256    -      -    yes yes  -  - yes  fb  fb  no    -  yes  yes
prophet 64                43    256    -      -    yes yes  -  - yes  fb  fb  no    -  no  yes  yes
exos                      *44    8    -      -    yes yes  -  - yes  yes  -  -  yes F yes  yes
exos                      *44    8    -      -    yes yes  -  - yes  yes  -  -  yes F no  yes  yes
freeze frame              *45    8    -      -    yes yes  -  - yes  fb yes  no  fb  yes  yes
freeze frame              *45    8    -      -    yes yes  -  - yes  fb yes  no  fb  no  yes  yes
freeze frame mk4          *46    16    -      -    yes yes  -  - yes  fb yes  no  fb  yes  yes
freeze frame mk4          *46    16    -      -    yes yes  -  - yes  fb yes  no  fb  no  yes  yes
freeze machine            *46    32    -      -    yes yes  -  - yes  fb yes  no  fb  yes  yes
freeze machine            *46    32    -      -    yes yes  -  - yes  fb yes  no  fb  no  yes  yes
snapshot 64              *47    4    -      -    yes yes  -  - yes  fb  -      fb  yes  yes
snapshot 64              *47    4    -      -    yes yes  -  - yes  fb  -      fb  no  yes  yes
super explode 5          *48    16    -      -    yes yes  -  - yes  fb  -      fb  yes  yes
super explode 5          *48    16    -      -    yes yes  -  - yes  fb  -      fb  no  yes  yes
action replay mk2        *50    16    -      -    yes yes  -  - yes  fb yes  no  fb  yes  yes
action replay mk2        *50    16    -      -    yes yes  -  - yes  fb yes  no  fb  no  yes  yes
mach 5                    *51  4/8    -      -    yes yes  -  - yes  fb  -        -  yes  yes
mach 5                    *51  4/8    -      -    yes yes  -  - yes  fb  -        -  no  yes  yes
diashow maker            *52    8    -      -    yes yes  -  - yes  fb yes  no    -  yes  yes
diashow maker            *52    8    -      -    yes yes  -  - yes  fb yes  no    -  no  yes  yes
Pagefox                  *53    64    32      -    yes yes  -  - yes  fb yes yes    -  yes  yes
Pagefox                  *53    64    32      -    yes yes  -  - yes  fb yes yes    -  no  yes  yes
Kingsoft                  *54    24    -      -    yes yes  -  - yes  fb yes yes    - F yes  yes
Kingsoft                  *54    24    -      -    yes yes  -  - yes  fb yes yes    - F no  yes  yes
</pre>
</pre>


Line 195: Line 195:
- add c64cartlist.c and make a table that shows the availability of some generic options:
- add c64cartlist.c and make a table that shows the availability of some generic options:


    step 1: all options related to the actual cartridge image
====step 1: all options related to the actual cartridge image====
 
<pre>
     ENB - enable cart (toggle)
     ENB - enable cart (toggle)
     SIZ - set cart size (also needs function to query list of available sizes)
     SIZ - set cart size (also needs function to query list of available sizes)
Line 206: Line 206:
     VBS - Binary Save available (flush cart image available)
     VBS - Binary Save available (flush cart image available)
     VCS - Crt Save available
     VCS - Crt Save available
 
</pre>
<pre>
<pre>
     NAME                      ID    ENB SIZ WPT SWT VBL VCL VBS VCS
     NAME                      ID    ENB SIZ WPT SWT VBL VCL VBS VCS
Line 241: Line 241:
     (all carts not listed have "yes" in VBL/VCL colums, "no" in all other colums.)
     (all carts not listed have "yes" in VBL/VCL colums, "no" in all other colums.)


    step 2: all options related to eventually attached storage image(s)
====step 2: all options related to eventually attached storage image(s)====


<pre>
<pre>
Line 261: Line 261:
</pre>
</pre>


Some other details:
===Some other details===
-------------------


Carts that use a capacitor connected to io1/io2: epyx fastload, stardos
* Carts that use a capacitor connected to io1/io2: epyx fastload, stardos


=== BUGS  ===
=== BUGS  ===
Line 272: Line 271:
some carts do not work 100% yet, or are downright buggy:
some carts do not work 100% yet, or are downright buggy:


===== KCS =====
* BLOADing a frozen program does not work


<div style="color: red;">
<div style="color: red;">
===== MMC Replay (38) =====
===== MMC Replay (38) =====


Line 281: Line 279:
* fix memory-peek for monitor
* fix memory-peek for monitor
</div>
</div>
<div style="color: red;">
===== Stardos (31) =====
'''alternative dump needed'''
</div>
* Disk Copier does not work
** this is a weird bug, it does not crash but actually cleanly exit from the menu, as if the feature is not there - because appearently a related check in the rom fails.
Note: this very much looks like the dump which is circulating is either broken, or an early and incomplete version of the software.


=== Missing Features  ===
=== Missing Features  ===
Line 313: Line 300:
==== Clock Port Resource ====
==== Clock Port Resource ====


* update the resource handling for the clockport (export resource) (MMC64, MMC Replay, Retro Replay)
* Clockport: Silversurfer (UART) support is missing
* create logic to handle clock port devices
* make hooks to handle rr-net, silversurfer, mp3@c64
* Clockport: Silversurfer (UART) support
* Clockport: mp3@c64 support


==== individual Carts ====
==== individual Carts ====
Line 329: Line 312:


* add 32/64/128/256K RAM option
* add 32/64/128/256K RAM option
===== Retro Replay () =====
* add 64k RAM option


===== IDE64 () =====
===== IDE64 () =====


* add IDE64 eth64 shortbus expansion support
* add IDE64 duart shortbus expansion support
* add IDE64 duart shortbus expansion support
===== SFX Sound Sampler (-) =====
* add SFX sound sampler audio input support


===== REU (-) =====
===== REU (-) =====
Line 350: Line 324:
** reu_dma_start() in mainc64cpu.c
** reu_dma_start() in mainc64cpu.c


=== UNEMULATED ===
[[Category:Developer]]
 
* "Disk Mate" (Datel)
* "Ramfloppy" (REX Datentechnik)
* MAYA Software Eprom Cart
* "Community Information Locator" Eprom Cart
* PCC-4/PCC-8 Eprom Cart (Jason Ranheim)
* "Alien Flash"
 
* Daisy Sound sampler audio input
* PS64 speech cartridge
* Voice Messenger speech cartridge
* ramlink
* ramdrive
* rtc (ds12c887) cartridge
 
* z80 (cpm) cartridge (4mhz z80)
* turbo master cartridge (4Mhz 65C02)
* turbo process cartridge (4Mhz 658156)
* flash-8 cartridge (8Mhz 65816)
* SCPU cartridge (20Mhz 65816)
* The Final Chesscard (65c02)
* german BTX cartridge (6809)
 
the following are mostly pointless to emulate seperately:
 
* Net64 cartridge
  * this is exactly the same as "the final ethernet" (which is emulated)
* 64NIC
  * again, same as TFE. also has an optional eprom, which is equivalent to using cart8
* SOFT-PROM (http://www.c64-wiki.de/index.php/SOFT-PROM) - equivalent to either cart8 (ROM mode)
  or expert in PRG mode (RAM mode). pointless to emulate seperately unless software that uses
  it can be found.
* "GeoAction" - equivalent to Action Replay + GeoRAM/RamCart
* "Flash Gordon" - external kernal with flash, prototype (not released)

Latest revision as of 18:24, 23 March 2023

WANTED

cartridge images:

31  Stardos (existing dump is apparently broken)

software to use/test:

112  MIDI-MAPLIN

Status

ID = crt ID (*ID means it is not official yet)

ROM = amount of ROM in crt (in Kb's)
RAM = amount of RAM in crt (in Kb's)
FRM = amount of Flash ROM in crt (in Kb's)

VBL = VICE Binary Load available
VCL = VICE Crt Load available
VBS = VICE Binary Save available
VCS = VICE Crt Save available
SNP = VICE Snapshot support

MPK = monitor memory peek hook (fb: uses generic fallback)
RPK = monitor register peek hook (fb: uses regular read)
DMP = monitor register dump hook
ULT = VIC ultimax hook (fb: uses generic fallback)
U   = ultimax mode (-: none, *: normal, F: fake mapping)
MMU = MMU translate hook

CCC = cartconv supports converting the cart
DOX = detailed documentation (about register usage) in the source file

NO written in uppercase marks an actual bug, no written in lowercase is a missing feature.

Slot 0

NAME                      ID    ROM   RAM    FRM    VBL VCL VBS VCS SNP  MPK RPK DMP  ULT U MMU CCC   DOX   COMMENTS
----                      --    ---   ---    ---    --- --- --- --- ---  --- --- ---  --- - --- ---   ---   --------
mmc64                     37      -     -      8    yes yes yes yes  no  yes yes  no    - - yes yes   yes   Currently mis-typed as 0 (is really type 2), dox scattered
IEEE488                   41      4     -      -    yes yes   -   - yes  yes yes yes    - - yes yes   FIX
magic voice               *49    16     -      -    yes yes   -   -  no  yes yes yes  yes F yes yes   yes

Slot 1

NAME                      ID    ROM   RAM    FRM    VBL VCL VBS VCS SNP  MPK RPK DMP  ULT U MMU CCC   DOX   COMMENTS
----                      --    ---   ---    ---    --- --- --- --- ---  --- --- ---  --- - --- ---   ---   --------
DQBB                    -101      -    16      -    yes   - yes   - yes   fb yes  no   fb - yes n/a   yes   memory banked RAM cart
expert                     6      -     8      -    yes yes yes yes yes  yes yes  no  yes F yes yes   yes   memory banked RAM cart
ISEPIC                  -103      -     2      -    yes yes yes yes yes  yes yes  no  yes F yes n/a   yes   I/O-window based RAM cart
ramcart-64              -104      -    64      -    yes   - yes   - yes   fb  fb  no   fb - yes n/a   yes   I/O-window based RAM cart (window mapped to $8000 as well)
ramcart-128             -104      -   128      -    yes   - yes   - yes   fb  fb  no   fb - yes n/a   yes   I/O-window based RAM cart (window mapped to $8000 as well)

Main Slot

NAME                      ID    ROM   RAM    FRM    VBL VCL VBS VCS SNP  MPK RPK DMP  ULT U MMU CCC   DOX  COMMENTS
----                      --    ---   ---    ---    --- --- --- --- ---  --- --- ---  --- - --- ---   ---  --------
generic-ultimax-4         -6      4     -      -    yes FIX   -   - yes  yes   -   -  yes * yes FIX   yes
generic-ultimax-8         -6      8     -      -    yes yes   -   - yes  yes   -   -  yes * yes yes   yes
generic-ultimax-12        -6     12     -      -    yes FIX   -   - yes  yes   -   -  yes * yes FIX   yes
generic-ultimax-16        -6     16     -      -    yes yes   -   - yes  yes   -   -  yes * yes yes   yes
generic-8kgame-4          -3      4     -      -    yes FIX   -   - yes  yes   -   -    - - yes FIX   yes
generic-8kgame-8          -3      8     -      -    yes yes   -   - yes  yes   -   -    - - yes yes   yes
generic-16kgame-12        -2     12     -      -    yes FIX   -   - yes  yes   -   -    - - yes FIX   yes
generic-16kgame-16        -2     16     -      -    yes yes   -   - yes  yes   -   -    - - yes yes   yes

action replay              1     32     8      -    yes yes   -   - yes   fb  fb  no   fb   no  yes   yes  8K RAM not (yet) in crt
KCS power                  2     16   128b     -    yes yes   -   - yes   fb yes  no   fb   no  yes   FIX
final cartridge 3          3     64     -      -    yes yes   -   - yes   fb  fb  no   fb   no  yes   yes
simons basic               4     16     -      -    yes yes   -   - yes   fb yes  no    -   no  yes   yes
ocean-32                   5     32     -      -    yes yes   -   - yes   fb yes  no    -   no  yes   yes
ocean-128                  5    128     -      -    yes yes   -   - yes   fb yes  no    -   no  yes   yes
ocean-256                  5    256     -      -    yes yes   -   - yes   fb yes  no    -   no  yes   yes
ocean-512                  5    512     -      -    yes yes   -   - yes   fb yes  no    -   no  yes   yes
funplay                    7    128     -      -    yes yes   -   - yes   fb yes  no    -   no  yes   yes
super games                8     64     -      -    yes yes   -   - yes   fb yes  no    -   no  yes   yes
atomic power               9     32     8      -    yes yes   -   - yes   fb  fb  no   fb   no  yes   yes  8K RAM not (yet) in crt
epyx fastload             10      8     -      -    yes yes   -   - yes   fb yes  no   fb   no  yes   yes
westermann                11     16     -      -    yes yes   -   - yes   fb yes  no    -   no  yes   yes
rex utility               12      8     -      -    yes yes   -   - yes   fb yes  no    -   no  yes   yes
final cartridge 1         13     16     -      -    yes yes   -   - yes   fb yes  no   fb   no  yes   yes
magic formel 1.x          14     64     8      -    yes yes   -   - yes  yes yes  no  yes F?no  yes   yes  8K RAM not (yet) in crt
magic formel 2.x - 96     14     96     8      -    yes yes   -   - yes  yes yes  no  yes F?no  yes   yes  8K RAM not (yet) in crt
magic formel 2.x - 128    14    128     8      -    yes yes   -   - yes  yes yes  no  yes F?no  yes   yes  8K RAM not (yet) in crt
GS                        15    512     -      -    yes yes   -   - yes   fb yes  no    -   no  yes   yes
warpspeed                 16     16     -      -    yes yes   -   - yes   fb   -        -   no  yes   yes
dinamic                   17    128     -      -    yes yes   -   - yes   fb yes  no    -   no  yes   yes
zaxxon                    18     20     -      -    yes yes   -   - yes  yes   -        -   no  yes   yes
magic desk-32             19     32     -      -    yes yes   -   - yes   fb yes  no    -   no  yes   yes
magic desk-64             19     64     -      -    yes yes   -   - yes   fb yes  no    -   no  yes   yes
magic desk-128            19    128     -      -    yes yes   -   - yes   fb yes  no    -   no  yes   yes
super snapshot 5          20     64    32      -    yes yes   -   - yes   fb   -       fb   no  yes   yes
comal-80                  21     64     -      -    yes yes   -   - yes   fb yes  no    -   no  yes   yes
structured basic          22     16     -      -    yes yes   -   - yes   fb yes  no   fb   no  yes   yes  IMAGE WANTED
ross-16                   23     16     -      -    yes yes   -   - yes   fb yes  no    -   no  yes   yes  IMAGE WANTED
ross-32                   23     32     -      -    yes yes   -   - yes   fb yes  no    -   no  yes   yes
dela ep64                 24      8+    -      -    FIX yes   -   - yes   fb yes  no    -   no  yes   yes  64K of additional ROM can be inserted
dela ep7x8                25      8+    -      -    FIX yes   -   - yes   fb yes  no    -   no  yes   yes  56K of additional ROM can be inserted
dela ep256                26      8+    -      -    FIX yes   -   - yes   fb yes  no    -   no  yes   yes  256K of additional ROM can be inserted
rex ep256                 27      8+    -      -    FIX yes   -   - yes   fb yes  no    -   no  FIX   yes  256K of additional ROM can be inserted
mikro assembler           28      8     -      -    yes yes   -   - yes   fb   -        -   no  yes   yes
final cartridge plus-24   29     24     -      -    yes yes   -   - yes  yes   -      yes F no  FIX   yes  24K variation, which could possibly be made
final cartridge plus-32   29     32     -      -    yes yes   -   - yes  yes   -      yes F no  yes   yes  Only 24K of ROM is used
action replay 4           30     32     -      -    yes yes   -   - yes   fb  fb  no   fb   no  yes   yes
stardos                   31     16     -      -    yes yes   -   - yes   NO yes  no  yes F no  yes   yes
easyflash                 32      -   256b  1024    yes yes yes yes yes   fb yes yes   fb   no  yes   NO   Currently mis-typed as 0 (is really type 2)
easyflash xbank           33    ???   ???    ???    n/a n/a n/a n/a yes   fb yes yes   fb   no  n/a   NO   IMAGE WANTED (NO CART EXISTS ?)
capture                   34      8     8      -    yes yes   -   - yes  yes   -      yes F no  yes   yes  8K RAM not (yet) in crt
action replay 3           35     16     -      -    yes yes   -   - yes   fb yes  no   fb   no  yes   yes
retro replay-32           36      -    32     32    yes yes yes yes yes  yes yes  no   fb   no  yes   yes  Currently mis-typed as 0 (is really type 2), 32K RAM not (yet) in crt, dox scattered
retro replay-64           36      -    32     64    yes yes yes yes yes  yes yes  no   fb   no  yes   yes  Currently mis-typed as 0 (is really type 2), 32K RAM not (yet) in crt, dox scattered
retro replay-128          36      -    32    128    yes yes yes yes yes  yes yes  no   fb   no  yes   yes  Currently mis-typed as 0 (is really type 2), 32K RAM not (yet) in crt, dox scattered
mmc replay-64             38      -   512     65    yes yes yes yes  no   NO yes  no  yes F?no  yes   yes  Mis-typed, no ram in crt and no config-rom, dox scattered
mmc replay-512            38      -   512    513    yes yes yes yes  no   NO yes  no  yes F?no  yes   yes  Mis-typed, no ram in crt and no config-rom, dox scattered
IDE64                     39     64    32      -    yes yes   -   - yes   fb yes  yes  fb   yes yes   NO   no config-rom in crt
super snapshot 4          40     32     -      -    yes yes   -   - yes   fb  fb  no   fb   no  yes   FIX
game killer               42      8     -      -    yes yes   -   - yes  yes  fb  no   fb F no  yes   yes
prophet 64                43    256     -      -    yes yes   -   - yes   fb  fb  no    -   no  yes   yes
exos                      *44     8     -      -    yes yes   -   - yes  yes   -   -  yes F no  yes   yes
freeze frame              *45     8     -      -    yes yes   -   - yes   fb yes  no   fb   no  yes   yes
freeze frame mk4          *46    16     -      -    yes yes   -   - yes   fb yes  no   fb   no  yes   yes
freeze machine            *46    32     -      -    yes yes   -   - yes   fb yes  no   fb   no  yes   yes
snapshot 64               *47     4     -      -    yes yes   -   - yes   fb   -       fb   no  yes   yes
super explode 5           *48    16     -      -    yes yes   -   - yes   fb   -       fb   no  yes   yes
action replay mk2         *50    16     -      -    yes yes   -   - yes   fb yes  no   fb   no  yes   yes
mach 5                    *51   4/8     -      -    yes yes   -   - yes   fb   -        -   no  yes   yes
diashow maker             *52     8     -      -    yes yes   -   - yes   fb yes  no    -   no  yes   yes
Pagefox                   *53    64    32      -    yes yes   -   - yes   fb yes yes    -   no  yes   yes
Kingsoft                  *54    24     -      -    yes yes   -   - yes   fb yes yes    - F no  yes   yes

I/O-Slot

NAME                      ID    ROM   RAM    FRM    VBL VCL VBS VCS SNP  MPK RPK DMP  ULT   CCC   DOX   COMMENTS
----                      --    ---   ---    ---    --- --- --- --- ---  --- --- ---  ---   ---   ---   --------

ACIA                    -117      -     -      -      -   -   -   - yes    - yes  no    -   n/a   NO    Various ACIA-based (for serial communication) carts at $DE00-$DE03
swiftlink               -117      -     -      -      -   -   -   - yes    - yes  no    -   n/a   NO    CMD swiftlink cart with an ACIA at $DE00-$DE03
turbo232                -117      -     -      -      -   -   -   - yes    - yes  no    -   n/a   NO    Turbo232 cart, based on the swiftlink with added possibility of doubling the baud rate, at $DE00-$DE07

sequential midi         -110      -     -      -      -   -   -   -  no    - yes  no    -   n/a   NO    Midi cart at $DE00-$DE03
passport/syntech midi   -108      -     -      -      -   -   -   -  no    - yes  no    -   n/a   NO    Midi cart at $DE08-$DE09
datel/siel/jms midi     -109      -     -      -      -   -   -   -  no    - yes  no    -   n/a   NO    Midi cart at $DE04-$DE07
namesoft midi           -111      -     -      -      -   -   -   -  no    - yes  no    -   n/a   NO    Midi cart at $DE00-$DE03
maplin midi             -112      -     -      -      -   -   -   -  no    - yes  no    -   n/a   NO    Midi cart at $DF00-$DF01

digimax                 -100      -     -      -      -   -   -   - yes    -   -   -    -   n/a   yes   4-channel 8bit digital sound output cart, dox incomplete
SFX sound expander      -106      -     -      -      -   -   -   - yes    - yes  no    -   n/a   NO    YM3812/YM3526 based sound output cart
SFX sound sampler       -107      -     -      -      -   -   -   - yes    -   -   -    -   n/a   NO    single channel 8bit digital sound input/output cart

TFE                     -116      -     -      -      -   -   -   -  no    - yes  no    -   n/a   yes   ethernet interface cart
RR-net (Clock Port)     -116      -     -      -      -   -   -   -  no    - yes  no    -   n/a   yes   ethernet interface cart

georam-64               -102      -    64      -    yes   - yes   - yes    - yes  no    -   n/a   yes   I/O-window based RAM cart
georam-128              -102      -   128      -    yes   - yes   - yes    - yes  no    -   n/a   yes   I/O-window based RAM cart
georam-256              -102      -   256      -    yes   - yes   - yes    - yes  no    -   n/a   yes   I/O-window based RAM cart
georam-512              -102      -   512      -    yes   - yes   - yes    - yes  no    -   n/a   yes   I/O-window based RAM cart
georam-1024             -102      -  1024      -    yes   - yes   - yes    - yes  no    -   n/a   yes   I/O-window based RAM cart
georam-2048             -102      -  2048      -    yes   - yes   - yes    - yes  no    -   n/a   yes   I/O-window based RAM cart
georam-4096             -102      -  4096      -    yes   - yes   - yes    - yes  no    -   n/a   yes   I/O-window based RAM cart

REU-128                 -105      -   128      -    yes   - yes   - yes    - yes  no    -   n/a   yes   DMA based RAM cart
REU-256                 -105      -   256      -    yes   - yes   - yes    - yes  no    -   n/a   yes   DMA based RAM cart
REU-512                 -105      -   512      -    yes   - yes   - yes    - yes  no    -   n/a   yes   DMA based RAM cart
REU-1024                -105      -  1024      -    yes   - yes   - yes    - yes  no    -   n/a   yes   DMA based RAM cart
REU-2048                -105      -  2048      -    yes   - yes   - yes    - yes  no    -   n/a   yes   DMA based RAM cart
REU-4096                -105      -  4096      -    yes   - yes   - yes    - yes  no    -   n/a   yes   DMA based RAM cart
REU-8192                -105      -  8192      -    yes   - yes   - yes    - yes  no    -   n/a   yes   DMA based RAM cart
REU-16384               -105      - 16384      -    yes   - yes   - yes    - yes  no    -   n/a   yes   DMA based RAM cart

RAM-ONLY HACK

(these don't really belong here, only for information sake)

NAME       RAM   DOX   COMMENTS
----       ---   ---   --------
C64 256K   256   NO    16K segment based memory replacement
+60K        60   yes   60K bank based memory addition
+256K      256   NO    256K bank based memory replacement

things needed for the future generic cartsystem

- add c64cartlist.c and make a table that shows the availability of some generic options:

step 1: all options related to the actual cartridge image

    ENB - enable cart (toggle)
    SIZ - set cart size (also needs function to query list of available sizes)
    WPT - write protect (toggle)
    SWT - cart has a switch (also needs function to query list of possible values, handle 2 switches)

    VBL - Binary Load available
    VCL - Crt Load available
    VBS - Binary Save available (flush cart image available)
    VCS - Crt Save available
    NAME                      ID    ENB SIZ WPT SWT VBL VCL VBS VCS
    ----                      --    --- --- --- --- --- --- --- ---
    mmc64                     37    yes  no yes FIX yes yes yes yes
    IEEE488                   41    yes  no  no  no yes yes  no  no
    magic voice               *49   yes  no  no  no yes yes  no  no

    DQBB                    -101    yes  no yes  no yes  no yes  no
    expert                     6    yes  no yes FIX yes yes yes yes
    ISEPIC                  -103    yes  no yes FIX yes yes yes yes
    ramcart                 -104    yes FIX yes  no yes  no yes  no

    easyflash                 32     no  no yes  no yes yes yes yes
    IDE64                     39     no  no  no  no yes yes  no  no
    retro replay              36     no  no yes FIX yes yes yes yes
    mmc replay                38     no  no yes FIX yes yes yes yes

    ACIA / swithlink / t232 -117    yes  no  no  no  no  no  no  no
    sequential midi         -110    yes  no  no  no  no  no  no  no
    passport/syntech midi   -108    yes  no  no  no  no  no  no  no
    datel/siel/jms midi     -109    yes  no  no  no  no  no  no  no
    namesoft midi           -111    yes  no  no  no  no  no  no  no
    maplin midi             -112    yes  no  no  no  no  no  no  no
    digimax                 -100    yes  no  no  no  no  no  no  no
    SFX sound expander      -106    yes  no  no  no  no  no  no  no
    SFX sound sampler       -107    yes  no  no  no  no  no  no  no
    TFE / RR-Net            -116    yes  no  no  no  no  no  no  no

    georam                  -102    yes FIX yes  no yes  no yes  no
    REU                     -105    yes FIX yes  no yes  no yes  no
   (all carts not listed have "yes" in VBL/VCL colums, "no" in all other colums.)

step 2: all options related to eventually attached storage image(s)

    mmc64                     37   SD
    mmc replay                38   SD, option-eeprom
    IDE64                     39   HD, ISO, option-cmos ram

    extra options:

    ACIA / swithlink / t232 -117   mode, irq-mode, device
    sequential midi         -110   driver, in-dev, out-dev
    passport/syntech midi   -108   driver, in-dev, out-dev
    datel/siel/jms midi     -109   driver, in-dev, out-dev
    namesoft midi           -111   driver, in-dev, out-dev
    maplin midi             -112   driver, in-dev, out-dev
    digimax                 -100   base
    SFX sound expander      -106   chip type
    TFE / RR-Net            -116   mode, device

Some other details

  • Carts that use a capacitor connected to io1/io2: epyx fastload, stardos

BUGS

individual Carts

some carts do not work 100% yet, or are downright buggy:


MMC Replay (38)
  • write test programs for the various mapping modes and review the emulation. (only the BIOS mode works right now)
  • fix memory-peek for monitor

Missing Features

  • some remaining cleanups:
    • IDE64 should save its config (cmos ram) to a binary instead of abusing vicerc
  • rework slot1 carts enable mechanism like slot0 carts (ISEPIC, RamCart, Expert, DQBB)
  • implement i/o dump support for more carts. optional, low priority

snapshots

  • implement snapshot support for more carts. not criticial, low priority. (MMC64, Magic Voice, MMC Replay,MIDI, Ethernet)
    • implement snapshot support in the following cores:
      • cs8900 (Ethernet)
      • t6721 (Magic Voice)
      • spi-sdcard (MMC64, MMC Replay)
      • spi-eeprom (MMC Replay)
      • midi (MIDI)
    • invent a mechanism to deal with SD-Card/HD Images (MMC64, MMC Replay, IDE64)

Clock Port Resource

  • Clockport: Silversurfer (UART) support is missing

individual Carts

Magic Voice (49)
  • debug interaction with TPI
  • rewrite using a more cycle exact and event based model
DQBB (-)
  • add 32/64/128/256K RAM option
IDE64 ()
  • add IDE64 duart shortbus expansion support
REU (-)
  • review code and if possible make all special cases into general cases
    • 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