In the 4.5, there is a small issue, the loading palette is done differently than the previous version, causing the screen 1st color always been rewritten by the Player 1st color (the transparent color #0):
(my screen uses the 0C color as 1st color)
(my player uses the 15 color as transparent color)
The issue, on every screens, the screen 1st color is always 15:
Here's a quick fix to change that "intended behavior",:
1) Open the Windows Explorer, then in your "NESmaker" folder, navigate to the "GameEngineData\Routines\BASE_4_5\Game\DataLoadScripts" subfolder. Make a new file and name it "LoadSpritePalettes_NMI_DC.asm" for example (you could duplicate the "LoadSpritePalettes_NMI.asm" and modify it).
Then, modify that new "LoadSpritePalettes_NMI_DC.asm" script and replace with that code:
2) In NESmaker, open the "Project Settings > Script Settings" and assign the new "LoadSpritePalettes_NMI_DC.asm" to the "Load Sprite Palettes" element (under "Subroutines"):
VoilĂ , now the screen 1st color overwrite the player 1st color:
But, this new behavior could cause other issues... it needs to be more tested.
(my screen uses the 0C color as 1st color)
(my player uses the 15 color as transparent color)
The issue, on every screens, the screen 1st color is always 15:
Here's a quick fix to change that "intended behavior",:
1) Open the Windows Explorer, then in your "NESmaker" folder, navigate to the "GameEngineData\Routines\BASE_4_5\Game\DataLoadScripts" subfolder. Make a new file and name it "LoadSpritePalettes_NMI_DC.asm" for example (you could duplicate the "LoadSpritePalettes_NMI.asm" and modify it).
Then, modify that new "LoadSpritePalettes_NMI_DC.asm" script and replace with that code:
Code:
;; Load sprites palettes
;; dale_coop: modified to start writing at 3F11 (ignoring the palette 0 color 0)
LDA $2002
LDA #$3F
STA $2006
LDA #$11
STA $2006
LDX #$01
LoadSpritePal_NMI:
LDA sprPal,x
STA $2007
INX
CPX #$10
BNE LoadSpritePal_NMI
LDA updateScreenData
AND #%11111101
STA updateScreenData
;;; this script runs in-line.
2) In NESmaker, open the "Project Settings > Script Settings" and assign the new "LoadSpritePalettes_NMI_DC.asm" to the "Load Sprite Palettes" element (under "Subroutines"):
VoilĂ , now the screen 1st color overwrite the player 1st color:
But, this new behavior could cause other issues... it needs to be more tested.
Last edited: