teraz musisz zmienic bank VICa , ale wtedy tez pamiec ekranu bedzie gdzie indziej
tutaj masz podpowiedz
1.2.VIC-BANK:
The size of the adressarea of the VIC is only $4000 bytes (16kB). If you want to save a font, bitmap or sprites behind $4000 you\'ve to move the VIC-bank. This is possible in the first 2 bits of the first register of NMI-CIA-2: $dd00.
Bank (baseadress) $dd00 (bit 0-1) value
bank 0 ($0000-$3fff) %11 = $03
bank 1 ($4000-$7fff) %10 = $02
bank 2 ($8000-$bfff) %01 = $01
bank 3 ($c000-$ffff) %00 = $00
At $1000 (bank 0) and $9000 (bank 2) the VIC see\'s always the ROM-font, that\'s why at $1000 and $9000 you can\'t usefully save sprites, videoram, bitmaps or your own fonts. So programmers mostly save music to this memoryarea.
The last byte of all banks ($3fff,$7fff,$bfff,$ffff) is the so called ghostbyte. This byte is hidden under border. You see it if you scroll the screen in 25/40-row/col-mode vertical/horizontal, while FLD or opened border. So it\'s better to write $00 to it and you see no byte, or you can do some specialeffects by using it in the right timing.
In extendet-background-color-mode the ghostbyte is at VIC-bank+$39ff.
-----------
to tez Ci sie przyda:
$d018
bit 0 : unused?, but always high(1) or low(0)?:
bit 1-3: Charset-Baseadress-Pointer:
you can move it within the VIC-bank in $0800 steps:
Baseadress $d018 Bit 0-3 value
$0000-$07ff %0001
$0800-$0fff %0011
$1000-$17ff %0101 ->: not in the VIC-bank 0 and 2:
$1800-$1fff %0111 ->: not in the VIC-bank 0 and 2:
$2000-$27ff %1001
$2800-$2fff %1011
$3000-$37ff %1101
$3800-$3fff %1111
bit 3 also is responsible for moving the bitmap
(while bitmapmode ->: $d011 bit 5) in the memory:
$0000-$1fff %0xx1
$2000-$3fff %1xx1
bit 4-7: Videoram-pointer:
you can move it in the VIC-bank in $0400 steps:
$0000-$03e7 #00 = %0000
$0400-$07e7 #01 = %0001 ->: here videoram normally is saved
$0800-$0be7 #02 = %0010
$0c00-$0fe7 #03 = %0011
$3800-$3be7 #14 = %1110
$3c00-$3fe7 #15 = %1111