diff --git a/Graphics/boat.bin b/Graphics/boat.bin index 244d92a..c21cc53 100644 Binary files a/Graphics/boat.bin and b/Graphics/boat.bin differ diff --git a/Graphics/boat_gfx.asm b/Graphics/boat_gfx.asm index 17de000..39b53d1 100644 --- a/Graphics/boat_gfx.asm +++ b/Graphics/boat_gfx.asm @@ -13,9 +13,14 @@ org $2F8000 CheckForChangeGraphicsNormalLoad: { JSL InitTilesets ;calls $00E19B that was replaced + + LDA $8A : CMP.b #$30 : BNE .boat_area - LDA $8A : CMP.b #$30 : BEQ .boat_area - JSR ApplyGraphics1 + PHB : PHK : PLB + + JSR ApplyGraphics1 + + PLB RTL ;goes back to normal @@ -29,16 +34,14 @@ CheckForChangeGraphicsNormalLoad: ApplyGraphics1: { REP #$20 ; A = 16, XY = 8 - LDX #$80 : STX $2100 ; turn the screen off (required) LDX #$80 : STX $2115 ; Set the video port register every time we write it increase by 1 - LDA #$2000 : STA $2116 ; Destination of the DMA $5800 in vram <- this need to be divided by 2 + LDA #$2C00 : STA $2116 ; Destination of the DMA $5800 in vram <- this need to be divided by 2 LDA #$1801 : STA $4300 ; DMA Transfer Mode and destination register ; "001 => 2 registers write once (2 bytes: p, p+1)" LDA.w #BoatBitmap : STA $4302 ; Source address where you want gfx from ROM LDX.b #BoatBitmap>>16 : STX $4304 - LDA #$4000 : STA $4305 ; size of the transfer 4 sheets of $800 each + LDA #$2000 : STA $4305 ; size of the transfer 4 sheets of $800 each LDX #$01 : STX $420B ; Do the DMA - LDX #$0F : STX $2100 ; turn the screen back on SEP #$30