heart

by ixitxachitl

Game:

Description:

init:     ; 
   LDA #$15    ;\  BG1, BG3, OBJ on main screen (TM)
   STA $212C   ; | 
   LDA #$15    ; | BG1, BG3, OBJ on main screen should use windowing. (TMW)
   STA $212E   ;/  
   LDA #$02    ;\  BG2 on sub screen (TS)
   STA $212D   ; | 
   LDA #$02    ; | BG2 on sub screen should use windowing. (TSW)
   STA $212F   ;/  
   LDA #$20    ; Backdrop for color math
   STA $40     ; mirror of $2131
   LDA #$A2    ;\  Clip to black: Inside, Prevent colot math: Inside
   STA $44     ;/  Add subscreen instead of fixed color: True
   LDA #$AA    ;\  values for enabling/inverting BG1/BG2 on window 1/2
   STA $41     ; | mirror of $2123
   STA $42     ; | mirror of $2124
   STA $43     ; | mirror of $2125
               ; | Window 1 enabled on BG1, BG2, BG3, BG4, OBJ, Color
               ; | Window 2 enabled on BG1, BG2, BG3, BG4, OBJ, Color
               ; | Window 1 inverted on 0
               ;/  Window 2 inverted on 0

   REP #$20                         ;\  Get into 16 bit mode
   LDA #$2604                       ; | Register $2126 using mode 4
   STA $4330                        ; | 4330 = transfer mode, 4331 = register
   LDA #.windowTable                ; | High byte and low byte of table addresse.
   STA $4332                        ; | 4332 = low byte, 4333 = high byte
   SEP #$20                         ; | Back to 8 bit mode
   LDA.b #.windowTable>>16          ; | Bank byte of table addresse.
   STA $4334                        ;/  = bank byte
   LDA #$08                         ;\  
   TSB $0D9F                        ;/  enable HDMA channel 3
   RTL                              ; Return

.windowTable:                       ; 
   db $45 : db $FF, $00, $FF, $00   ; 
   db $01 : db $65, $6B, $92, $98   ; 
   db $01 : db $62, $6E, $8F, $9B   ; 
   db $01 : db $60, $70, $8D, $9D   ; 
   db $01 : db $5E, $72, $8B, $9F   ; 
   db $01 : db $5D, $73, $8A, $A0   ; 
   db $01 : db $5C, $75, $89, $A1   ; 
   db $01 : db $5B, $76, $87, $A2   ; 
   db $01 : db $5A, $77, $86, $A3   ; 
   db $01 : db $59, $78, $85, $A4   ; 
   db $01 : db $59, $79, $84, $A4   ; 
   db $01 : db $58, $7A, $83, $A5   ; 
   db $01 : db $57, $7B, $82, $A6   ; 
   db $01 : db $57, $7C, $81, $A6   ; 
   db $01 : db $56, $7D, $80, $A7   ; 
   db $01 : db $56, $7E, $80, $A7   ; 
   db $01 : db $56, $A8, $FF, $00   ; 
   db $03 : db $55, $A8, $FF, $00   ; 
   db $09 : db $54, $A9, $FF, $00   ; 
   db $04 : db $55, $A8, $FF, $00   ; 
   db $03 : db $56, $A7, $FF, $00   ; 
   db $02 : db $57, $A6, $FF, $00   ; 
   db $02 : db $58, $A5, $FF, $00   ; 
   db $02 : db $59, $A4, $FF, $00   ; 
   db $02 : db $5A, $A3, $FF, $00   ; 
   db $01 : db $5B, $A2, $FF, $00   ; 
   db $01 : db $5C, $A2, $FF, $00   ; 
   db $01 : db $5C, $A1, $FF, $00   ; 
   db $01 : db $5D, $A0, $FF, $00   ; 
   db $01 : db $5E, $A0, $FF, $00   ; 
   db $01 : db $5E, $9F, $FF, $00   ; 
   db $01 : db $5F, $9E, $FF, $00   ; 
   db $02 : db $60, $9D, $FF, $00   ; 
   db $01 : db $61, $9C, $FF, $00   ; 
   db $01 : db $62, $9B, $FF, $00   ; 
   db $01 : db $63, $9A, $FF, $00   ; 
   db $01 : db $64, $9A, $FF, $00   ; 
   db $01 : db $64, $99, $FF, $00   ; 
   db $01 : db $65, $98, $FF, $00   ; 
   db $01 : db $66, $97, $FF, $00   ; 
   db $01 : db $67, $96, $FF, $00   ; 
   db $01 : db $68, $95, $FF, $00   ; 
   db $02 : db $69, $94, $FF, $00   ; 
   db $01 : db $6A, $93, $FF, $00   ; 
   db $01 : db $6B, $92, $FF, $00   ; 
   db $01 : db $6C, $91, $FF, $00   ; 
   db $01 : db $6D, $90, $FF, $00   ; 
   db $01 : db $6E, $8F, $FF, $00   ; 
   db $01 : db $6F, $8E, $FF, $00   ; 
   db $01 : db $70, $8D, $FF, $00   ; 
   db $01 : db $71, $8C, $FF, $00   ; 
   db $01 : db $72, $8B, $FF, $00   ; 
   db $01 : db $73, $8B, $FF, $00   ; 
   db $01 : db $74, $8A, $FF, $00   ; 
   db $01 : db $74, $89, $FF, $00   ; 
   db $01 : db $75, $88, $FF, $00   ; 
   db $01 : db $76, $87, $FF, $00   ; 
   db $01 : db $77, $86, $FF, $00   ; 
   db $01 : db $78, $85, $FF, $00   ; 
   db $01 : db $79, $84, $FF, $00   ; 
   db $01 : db $7A, $83, $FF, $00   ; 
   db $01 : db $7B, $82, $FF, $00   ; 
   db $01 : db $7C, $81, $FF, $00   ; 
   db $01 : db $7D, $80, $FF, $00   ; 
   db $01 : db $7E, $7F, $FF, $00   ; 
   db $46 : db $FF, $00, $FF, $00   ; 
   db $00                           ; 

back to listings