MJoergen / C64MEGA65

Commodore 64 core for the MEGA65 based on the MiSTer FPGA C64 core
GNU General Public License v3.0
24 stars 4 forks source link

SIMCRT: KCS PowerCartridge does not work #72

Open sy2002 opened 1 year ago

sy2002 commented 1 year ago

Reported by the Discord User SkulleateR#4575 here: https://discord.com/channels/719326990221574164/794775503818588200/1109971943165272144

But it seems that he used a borked version of the CRT file. Download working CRT files here, instead: https://rr.pokefinder.org/rrwiki/images/5/5a/Power_Cartridge_KCS_binaries_rr.c64.org_2021-01.rar

The KCS PowerCartridge works on real MEGA65 hardware, in fact it was the first freezer that we got working on the MEGA65 :-) See the video here: It shows how the startup screen looks and how the freezer menu looks: https://discord.com/channels/719326990221574164/794775503818588200/1101811400332017724

MJoergen commented 1 year ago

This is a cartridge type 2, and is currently not supported by MiSTer either. Since it works as a real hardware cartridge it should be possible to make it work as a software emulated cartridge too.

MJoergen commented 1 year ago

The following comment is copied from VICE (file vice/src/c64/cart/kcs.c):

    KCS Power Cartridge

    - 16kb ROM, 128 bytes RAM

    It's rather simple:

    io1:
    - the second last page of the first 8k ROM bank is visible
    - bit 1 of the address sets EXROM and R/W sets GAME

    io2:
    - 00-7f cartridge RAM (128 bytes), writable
    - 80-ff open area where the GAME/EXROM lines can be read (pull resistor hack)

    - the cartridge starts in 16k game mode

    the original software uses:

    bit $de00   -> ROMH off

    sta $de00
    sta $de02
    sta $de80   -> ROMH on (a000)

    bit $df80 at beginning of freezer NMI to find GAME/EXROM status

    ... and also code is running in deXX area

I object to the above claim "It's rather simple:", and therefore postpone this to V6.