Final Cartridge III Internals Errata.txt
From ReplayResources
Jump to navigationJump to search
Final Cartridge III Internals Errata
text refers to "Final Cartridge III Internals.txt" at ftp.zimmers.net and the local copy.
*********************************** DRAFT **************************************
Please check the text for credits!
*********************************** DRAFT ************************************** *********************************** DRAFT ************************************** *********************************** DRAFT ************************************** Final Cartridge III Internals - Errata ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ This document contains corrections for Final Cartridge III Internals.txt version 1.0, dated 19 Apr 98. The author of the original document is Michael Steil. This errata document was written by Thomas 'skoe' Giesel after having a closer look to the hardware. (Version 16 Apr 2010) 2.1 Writing into the ROM Management Register ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The description of register $DFFF and the rest of chapter 2.1 is not correct in the original document. It should be: $DFFF: Bits #0-1 number of bank to show at $8000 $3 2-3 unassigned $C 4 EXROM line (0 = low = active) $10 5 GAME line (0 = low = active) $20 6 NMI line (0 = low = active) $40 7 Hide this register (1 = hidden) $80 Bits 2 and 3 and have no function, The FC3 ROM itself always sets bits 2 and 3 to 0. Bits 4-5 control what ROM is visible in the C64 address space. GAME EXROM 0 0 $2000 bytes of ROM at $8000 $00 0 1 Ultimax mode $10 1 0 $1000 bytes of ROM at $8000 $20 1 1 No FC3 ROM visible $30 The Ultimax mode has a very special memory map: Only the first 4 kByte of C64 RAM can be seen by the CPU. The rest of RAM is invisible. $2000 bytes of ROM are seen at $8000, the next $2000 bytes are seen at $E000. This mode ist used whenever the FC3 wants to replace the CPU vectors with its own vectors. The statement that the bit combination 01 starts the Freezer is not correct, but it may be started by a side effect, possibly when a BRK instruction is hit or when the NMI line is activated (low). If bit 7 is 1, the register $DFFF is hidden. In this state the register cannot be written, but all bits keep their value and functionality. It is only writable again after a reset or temporarily while the freezer button is being pressed. When the FC3 is powered up or when the reset button of the FC3 is pressed, all bits in $DFFF are reset to 0. This means that 16 kByte of bank 0 are visible and in addition to RESET the NMI line is active (low). The reset code of the FC3 deactivates the NMI line. If the reset line is activated from computer side, the register $DFFF is not reset. Bacause of this behaviour it is possible to enter the C128 mode of the C128 without unplugging the cartridge. 2.2 Reading from the ROM Management Register ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The FC3 does not allow to read the configuration register $DFFF. When $DFFF is read, the ROM content is read as described in chapter 3.2 3.2 The ROM at $DE00 to $DFFF ~~~~~~~~~~~~~~~~~~~~~~~~~ The 512 bytes of ROM at $DE00 to $DFFF cannot be turned off. This piece of ROM is always visible. It is mirrored from $1E00 to $1EFF of the current bank.