Language…
25 users online: crocodileman94, D1STYNCT, DanMario24YT, Domokun007, GamesInTweed, Green, GRIMMKIN, Heitor Porfirio,  idol, iRhyiku, Knetog, LightAligns, Nayfal,  Noivern, ocked, Pink Gold Peach, PMH, ppp9q, RZRider, Silver_Revolver, SMW Magic, test212,  Thomas, VSmario90, yoshiatom - Guests: 303 - Bots: 326
Users: 64,795 (2,374 active)
Latest user: mathew

SA-1 layer 3 parallax scrolling

I'm currently trying to convert my hack to sa-1. I got most of it to work but i have a problem with one hdma code i'm using in uberasm.

So this piece of code below adds some hdma-effect to the bg-color (which works fine) and adds some parallax scrolling to layer 3.
The parallax-effect works kinda but layer 3 flickers all the time.
I also have a layer 2 parallax scrolling in another level in my hack and that works just fine. It did work without SA-1. Is SA-1 not compatible with layer 3 parallax?

Code
init:                           ;\  This section is to be used in the INIT code of levelASM
   REP #$20                             ; | 
   LDA #$1142                           ; | Use indeirect and mode 2 on register 2111
   STA $4350                            ; | 4350 = Mode, 4351 = Register
   LDA #ParallaxTable_214208723         ; | Address of HDMA table, get high and low byte
   STA $4352                            ; | 4352 = Low-Byte of table, 4353 = High-Byte of table
   SEP #$20                             ; | 
   LDA.b #ParallaxTable_214208723>>16   ; | Address of HDMA table, get bank byte
   STA $4354                            ; | 4354 = Bank-Byte of table
   LDA #$7F                             ; | Address of indirect table in RAM bank byte
   STA $4357                            ; | 4354 = Bank-Byte of indirect table
   LDA #$20                             ; | 
   TSB $6D9F                            ; | Enable HDMA channel 5
   RTL                                  ;/  Return

;The Table takes up 6 bytes of the free RAM
;It ranges from $7F9E00 - $7F9E05 (both addresses included)

main:                              ;\  This section is to be used in the MAIN code of levelASM
   REP #$20                             ;/  16 bit action starts here. (To load the x position of the BG)
   LDA $22                              ;\  Load BG x Position
   LSR #3                               ; | Multiplied by 0,125
   STA $7F9E00                          ;/  Store to FreeRAM for indirect HDMA
   LDA $22                              ;\  Load BG x Position
   LSR #2                               ; | Multiplied by 0,25
   STA $7F9E02                          ;/  Store to FreeRAM for indirect HDMA
   LDA $22                              ;\  Load BG x Position
   LSR #1                               ; | Multiplied by 0,5
   STA $7F9E04                          ;/  Store to FreeRAM for indirect HDMA
   LDA $22                              ;\  Load BG x Position
   ASL #0                               ; | Multiplied by 1
   STA $7F9E06                          ;/  Store to FreeRAM for indirect HDMA
   LDA $22                              ;\  Load BG x Position
   STA $7F9E08                          ;/  Store to FreeRAM for indirect HDMA
   SEP #$20
   
   REP #$20
   LDA #$3200
   STA $4330
   LDA #GreenTable
   STA $4332
   LDY.b #GreenTable>>16
   STY $4334
   LDA #$3200
   STA $4340
   LDA #BlueTable
   STA $4342
   LDY.b #BlueTable>>16
   STY $4344
   SEP #$20
   LDA #$18
   TSB $6D9F
   RTL                                  ; Return
   
GreenTable:         ; 
   db $08 : db $4C   ; 
   db $0B : db $4D   ; 
   db $0D : db $4E   ; 
   db $0C : db $4F   ; 
   db $0B : db $50   ; 
   db $0D : db $51   ; 
   db $0C : db $52   ; 
   db $0D : db $53   ; 
   db $0B : db $54   ; 
   db $0C : db $55   ; 
   db $0C : db $56   ; 
   db $0D : db $57   ; 
   db $0B : db $58   ; 
   db $0C : db $59   ; 
   db $0D : db $5A   ; 
   db $0C : db $5B   ; 
   db $0C : db $5C   ; 
   db $0B : db $5D   ; 
   db $0C : db $5E   ; 
   db $00            ; 

BlueTable:          ; 
   db $80 : db $9F   ; 
   db $60 : db $9F   ; 
   db $00            ; 


ParallaxTable_214208723:                ;\  
   db $01 : dw $9E00                    ; | 
   db $01 : dw $9E00                    ; | 
   db $01 : dw $9E00                    ; | 
   db $01 : dw $9E00                    ; | 
   db $01 : dw $9E00                    ; | 
   db $01 : dw $9E00                    ; | 
   db $01 : dw $9E00                    ; | 
   db $01 : dw $9E00                    ; | 
   db $01 : dw $9E00                    ; | 
   db $01 : dw $9E00                    ; | 
   db $01 : dw $9E00                    ; | 
   db $01 : dw $9E00                    ; | 
   db $01 : dw $9E00                    ; | 
   db $01 : dw $9E00                    ; | 
   db $01 : dw $9E00                    ; | 
   db $01 : dw $9E00                    ; | 
   db $01 : dw $9E00                    ; | 
   db $01 : dw $9E00                    ; | 
   db $01 : dw $9E00                    ; | 
   db $01 : dw $9E00                    ; | 
   db $01 : dw $9E00                    ; | 
   db $01 : dw $9E00                    ; | 
   db $01 : dw $9E00                    ; | 
   db $01 : dw $9E00                    ; | 
   db $01 : dw $9E00                    ; | 
   db $01 : dw $9E00                    ; | 
   db $01 : dw $9E00                    ; | 
   db $01 : dw $9E00                    ; | 
   db $01 : dw $9E00                    ; | 
   db $01 : dw $9E00                    ; | 
   db $01 : dw $9E00                    ; | 
   db $01 : dw $9E00                    ; | 
   db $01 : dw $9E00                    ; | 
   db $01 : dw $9E00                    ; | 
   db $01 : dw $9E00                    ; | 
   db $01 : dw $9E00                    ; | 
   db $01 : dw $9E00                    ; | 
   db $01 : dw $9E00                    ; | 
   db $01 : dw $9E00                    ; | 
   db $01 : dw $9E00                    ; | 
   db $01 : dw $9E00                    ; | 
   db $01 : dw $9E00                    ; | 
   db $01 : dw $9E00                    ; | 
   db $01 : dw $9E00                    ; | 
   db $01 : dw $9E00                    ; | 
   db $01 : dw $9E00                    ; | 
   db $01 : dw $9E00                    ; | 
   db $01 : dw $9E00                    ; | 
   db $01 : dw $9E00                    ; | 
   db $01 : dw $9E00                    ; | 
   db $01 : dw $9E00                    ; | 
   db $01 : dw $9E00                    ; | 
   db $01 : dw $9E00                    ; | 
   db $01 : dw $9E00                    ; | 
   db $01 : dw $9E00                    ; | 
   db $01 : dw $9E00                    ; | 
   db $01 : dw $9E00                    ; | 
   db $01 : dw $9E00                    ; | 
   db $01 : dw $9E00                    ; | 
   db $01 : dw $9E00                    ; | 
   db $01 : dw $9E00                    ; | 
   db $01 : dw $9E00                    ; | 
   db $01 : dw $9E00                    ; | 
   db $01 : dw $9E00                    ; | 
   db $01 : dw $9E00                    ; | 
   db $01 : dw $9E00                    ; | 
   db $01 : dw $9E00                    ; | 
   db $01 : dw $9E00                    ; | 
   db $01 : dw $9E00                    ; | 
   db $01 : dw $9E00                    ; | 
   db $01 : dw $9E00                    ; | 
   db $01 : dw $9E00                    ; | 
   db $01 : dw $9E00                    ; | 
   db $01 : dw $9E00                    ; | 
   db $01 : dw $9E00                    ; | 
   db $01 : dw $9E00                    ; | 
   db $01 : dw $9E00                    ; | 
   db $01 : dw $9E00                    ; | 
   db $01 : dw $9E00                    ; | 
   db $01 : dw $9E00                    ; | 
   db $01 : dw $9E00                    ; | 
   db $01 : dw $9E00                    ; | 
   db $01 : dw $9E00                    ; | 
   db $01 : dw $9E00                    ; | 
   db $01 : dw $9E00                    ; | 
   db $01 : dw $9E00                    ; | 
   db $01 : dw $9E00                    ; | 
   db $01 : dw $9E00                    ; | 
   db $01 : dw $9E00                    ; | 
   db $01 : dw $9E00                    ; | 
   db $01 : dw $9E00                    ; | 
   db $01 : dw $9E00                    ; | 
   db $01 : dw $9E00                    ; | 
   db $01 : dw $9E00                    ; | 
   db $01 : dw $9E00                    ; | 
   db $01 : dw $9E00                    ; | 
   db $01 : dw $9E00                    ; | 
   db $01 : dw $9E00                    ; | 
   db $01 : dw $9E00                    ; | 
   db $01 : dw $9E00                    ; | 
   db $01 : dw $9E02                    ; | 
   db $01 : dw $9E02                    ; | 
   db $01 : dw $9E02                    ; | 
   db $01 : dw $9E02                    ; | 
   db $01 : dw $9E02                    ; | 
   db $01 : dw $9E02                    ; | 
   db $01 : dw $9E02                    ; | 
   db $01 : dw $9E02                    ; | 
   db $01 : dw $9E02                    ; | 
   db $01 : dw $9E02                    ; | 
   db $01 : dw $9E02                    ; | 
   db $01 : dw $9E02                    ; | 
   db $01 : dw $9E02                    ; | 
   db $01 : dw $9E02                    ; | 
   db $01 : dw $9E02                    ; | 
   db $01 : dw $9E02                    ; | 
   db $01 : dw $9E02                    ; | 
   db $01 : dw $9E02                    ; | 
   db $01 : dw $9E02                    ; | 
   db $01 : dw $9E02                    ; | 
   db $01 : dw $9E02                    ; | 
   db $01 : dw $9E02                    ; | 
   db $01 : dw $9E02                    ; | 
   db $01 : dw $9E02                    ; | 
   db $01 : dw $9E02                    ; | 
   db $01 : dw $9E02                    ; | 
   db $01 : dw $9E02                    ; | 
   db $01 : dw $9E02                    ; | 
   db $01 : dw $9E02                    ; | 
   db $01 : dw $9E02                    ; | 
   db $01 : dw $9E02                    ; | 
   db $01 : dw $9E02                    ; | 
   db $01 : dw $9E02                    ; | 
   db $01 : dw $9E02                    ; | 
   db $01 : dw $9E02                    ; | 
   db $01 : dw $9E02                    ; | 
   db $01 : dw $9E02                    ; | 
   db $01 : dw $9E02                    ; | 
   db $01 : dw $9E02                    ; | 
   db $01 : dw $9E02                    ; | 
   db $01 : dw $9E02                    ; | 
   db $01 : dw $9E02                    ; | 
   db $01 : dw $9E02                    ; | 
   db $01 : dw $9E02                    ; | 
   db $01 : dw $9E02                    ; | 
   db $01 : dw $9E02                    ; | 
   db $01 : dw $9E02                    ; | 
   db $01 : dw $9E02                    ; | 
   db $01 : dw $9E02                    ; | 
   db $01 : dw $9E02                    ; | 
   db $01 : dw $9E02                    ; | 
   db $01 : dw $9E02                    ; | 
   db $01 : dw $9E02                    ; | 
   db $01 : dw $9E02                    ; | 
   db $01 : dw $9E02                    ; | 
   db $01 : dw $9E02                    ; | 
   db $01 : dw $9E02                    ; | 
   db $01 : dw $9E02                    ; | 
   db $01 : dw $9E02                    ; | 
   db $01 : dw $9E02                    ; | 
   db $01 : dw $9E02                    ; | 
   db $01 : dw $9E02                    ; | 
   db $01 : dw $9E02                    ; | 
   db $01 : dw $9E02                    ; | 
   db $01 : dw $9E02                    ; | 
   db $01 : dw $9E02                    ; | 
   db $01 : dw $9E02                    ; | 
   db $01 : dw $9E02                    ; | 
   db $01 : dw $9E02                    ; | 
   db $01 : dw $9E02                    ; | 
   db $01 : dw $9E02                    ; | 
   db $01 : dw $9E02                    ; | 
   db $01 : dw $9E02                    ; | 
   db $01 : dw $9E02                    ; | 
   db $01 : dw $9E02                    ; | 
   db $01 : dw $9E02                    ; | 
   db $01 : dw $9E02                    ; | 
   db $01 : dw $9E02                    ; | 
   db $01 : dw $9E02                    ; | 
   db $01 : dw $9E02                    ; | 
   db $01 : dw $9E02                    ; | 
   db $01 : dw $9E02                    ; | 
   db $01 : dw $9E02                    ; | 
   db $01 : dw $9E02                    ; | 
   db $01 : dw $9E02                    ; | 
   db $01 : dw $9E02                    ; | 
   db $01 : dw $9E02                    ; | 
   db $01 : dw $9E02                    ; | 
   db $01 : dw $9E02                    ; | 
   db $01 : dw $9E02                    ; | 
   db $01 : dw $9E02                    ; | 
   db $01 : dw $9E02                    ; | 
   db $01 : dw $9E02                    ; | 
   db $01 : dw $9E02                    ; | 
   db $01 : dw $9E02                    ; | 
   db $01 : dw $9E02                    ; | 
   db $01 : dw $9E02                    ; | 
   db $01 : dw $9E02                    ; | 
   db $01 : dw $9E02                    ; | 
   db $01 : dw $9E02                    ; | 
   db $01 : dw $9E02                    ; | 
   db $01 : dw $9E02                    ; | 
   db $01 : dw $9E02                    ; | 
   db $01 : dw $9E02                    ; | 
   db $01 : dw $9E02                    ; | 
   db $01 : dw $9E02                    ; | 
   db $01 : dw $9E02                    ; | 
   db $01 : dw $9E02                    ; | 
   db $01 : dw $9E02                    ; | 
   db $01 : dw $9E02                    ; | 
   db $01 : dw $9E02                    ; | 
   db $01 : dw $9E02                    ; | 
   db $01 : dw $9E02                    ; | 
   db $01 : dw $9E02                    ; | 
   db $01 : dw $9E02                    ; | 
   db $01 : dw $9E02                    ; | 
   db $01 : dw $9E02                    ; | 
   db $01 : dw $9E02                    ; | 
   db $01 : dw $9E02                    ; | 
   db $01 : dw $9E02                    ; | 
   db $01 : dw $9E04                    ; | 
   db $01 : dw $9E04                    ; | 
   db $01 : dw $9E04                    ; | 
   db $01 : dw $9E04                    ; | 
   db $01 : dw $9E04                    ; | 
   db $01 : dw $9E04                    ; | 
   db $01 : dw $9E04                    ; | 
   db $01 : dw $9E04                    ; | 
   db $01 : dw $9E04                    ; | 
   db $01 : dw $9E04                    ; | 
   db $01 : dw $9E04                    ; | 
   db $01 : dw $9E04                    ; | 
   db $01 : dw $9E04                    ; | 
   db $01 : dw $9E04                    ; | 
   db $01 : dw $9E04                    ; | 
   db $01 : dw $9E04                    ; | 
   db $01 : dw $9E04                    ; | 
   db $01 : dw $9E04                    ; | 
   db $01 : dw $9E04                    ; | 
   db $01 : dw $9E04                    ; | 
   db $01 : dw $9E04                    ; | 
   db $01 : dw $9E04                    ; | 
   db $01 : dw $9E04                    ; | 
   db $01 : dw $9E04                    ; | 
   db $01 : dw $9E04                    ; | 
   db $01 : dw $9E04                    ; | 
   db $01 : dw $9E04                    ; | 
   db $01 : dw $9E04                    ; | 
   db $01 : dw $9E04                    ; | 
   db $01 : dw $9E04                    ; | 
   db $01 : dw $9E04                    ; | 
   db $01 : dw $9E04                    ; | 
   db $01 : dw $9E04                    ; | 
   db $01 : dw $9E04                    ; | 
   db $01 : dw $9E04                    ; | 
   db $01 : dw $9E04                    ; | 
   db $01 : dw $9E04                    ; | 
   db $01 : dw $9E04                    ; | 
   db $01 : dw $9E04                    ; | 
   db $01 : dw $9E04                    ; | 
   db $01 : dw $9E04                    ; | 
   db $01 : dw $9E04                    ; | 
   db $01 : dw $9E04                    ; | 
   db $01 : dw $9E04                    ; | 
   db $01 : dw $9E04                    ; | 
   db $01 : dw $9E04                    ; | 
   db $01 : dw $9E04                    ; | 
   db $01 : dw $9E04                    ; | 
   db $01 : dw $9E04                    ; | 
   db $01 : dw $9E04                    ; | 
   db $01 : dw $9E04                    ; | 
   db $01 : dw $9E04                    ; | 
   db $01 : dw $9E04                    ; | 
   db $01 : dw $9E04                    ; | 
   db $01 : dw $9E04                    ; | 
   db $01 : dw $9E04                    ; | 
   db $01 : dw $9E04                    ; | 
   db $01 : dw $9E04                    ; | 
   db $01 : dw $9E04                    ; | 
   db $01 : dw $9E04                    ; | 
   db $01 : dw $9E04                    ; | 
   db $01 : dw $9E04                    ; | 
   db $01 : dw $9E04                    ; | 
   db $01 : dw $9E04                    ; | 
   db $01 : dw $9E04                    ; | 
   db $01 : dw $9E04                    ; | 
   db $01 : dw $9E04                    ; | 
   db $01 : dw $9E04                    ; | 
   db $01 : dw $9E04                    ; | 
   db $01 : dw $9E04                    ; | 
   db $01 : dw $9E04                    ; | 
   db $01 : dw $9E04                    ; | 
   db $01 : dw $9E04                    ; | 
   db $01 : dw $9E04                    ; | 
   db $01 : dw $9E04                    ; | 
   db $01 : dw $9E04                    ; | 
   db $01 : dw $9E04                    ; | 
   db $01 : dw $9E04                    ; | 
   db $01 : dw $9E04                    ; | 
   db $01 : dw $9E04                    ; | 
   db $01 : dw $9E04                    ; | 
   db $01 : dw $9E04                    ; | 
   db $01 : dw $9E04                    ; | 
   db $01 : dw $9E04                    ; | 
   db $01 : dw $9E04                    ; | 
   db $01 : dw $9E04                    ; | 
   db $01 : dw $9E04                    ; | 
   db $01 : dw $9E04                    ; | 
   db $01 : dw $9E04                    ; | 
   db $01 : dw $9E04                    ; | 
   db $01 : dw $9E04                    ; | 
   db $01 : dw $9E04                    ; | 
   db $01 : dw $9E04                    ; | 
   db $01 : dw $9E04                    ; | 
   db $01 : dw $9E04                    ; | 
   db $01 : dw $9E04                    ; | 
   db $01 : dw $9E04                    ; | 
   db $01 : dw $9E04                    ; | 
   db $01 : dw $9E04                    ; | 
   db $01 : dw $9E04                    ; | 
   db $01 : dw $9E06                    ; | 
   db $01 : dw $9E06                    ; | 
   db $01 : dw $9E06                    ; | 
   db $01 : dw $9E06                    ; | 
   db $01 : dw $9E06                    ; | 
   db $01 : dw $9E06                    ; | 
   db $01 : dw $9E06                    ; | 
   db $01 : dw $9E06                    ; | 
   db $01 : dw $9E06                    ; | 
   db $01 : dw $9E06                    ; | 
   db $01 : dw $9E06                    ; | 
   db $01 : dw $9E06                    ; | 
   db $01 : dw $9E06                    ; | 
   db $01 : dw $9E06                    ; | 
   db $01 : dw $9E06                    ; | 
   db $01 : dw $9E06                    ; | 
   db $01 : dw $9E06                    ; | 
   db $01 : dw $9E06                    ; | 
   db $01 : dw $9E06                    ; | 
   db $01 : dw $9E06                    ; | 
   db $01 : dw $9E06                    ; | 
   db $01 : dw $9E06                    ; | 
   db $01 : dw $9E06                    ; | 
   db $01 : dw $9E06                    ; | 
   db $01 : dw $9E06                    ; | 
   db $01 : dw $9E06                    ; | 
   db $01 : dw $9E06                    ; | 
   db $01 : dw $9E06                    ; | 
   db $01 : dw $9E06                    ; | 
   db $01 : dw $9E06                    ; | 
   db $01 : dw $9E06                    ; | 
   db $01 : dw $9E06                    ; | 
   db $01 : dw $9E06                    ; | 
   db $01 : dw $9E06                    ; | 
   db $01 : dw $9E06                    ; | 
   db $01 : dw $9E06                    ; | 
   db $01 : dw $9E06                    ; | 
   db $01 : dw $9E06                    ; | 
   db $01 : dw $9E06                    ; | 
   db $01 : dw $9E06                    ; | 
   db $01 : dw $9E06                    ; | 
   db $01 : dw $9E06                    ; | 
   db $01 : dw $9E06                    ; | 
   db $01 : dw $9E06                    ; | 
   db $01 : dw $9E06                    ; | 
   db $01 : dw $9E06                    ; | 
   db $01 : dw $9E06                    ; | 
   db $01 : dw $9E06                    ; | 
   db $01 : dw $9E06                    ; | 
   db $01 : dw $9E06                    ; | 
   db $01 : dw $9E06                    ; | 
   db $01 : dw $9E06                    ; | 
   db $01 : dw $9E06                    ; | 
   db $01 : dw $9E06                    ; | 
   db $01 : dw $9E06                    ; | 
   db $01 : dw $9E06                    ; | 
   db $01 : dw $9E06                    ; | 
   db $01 : dw $9E06                    ; | 
   db $01 : dw $9E06                    ; | 
   db $01 : dw $9E06                    ; | 
   db $01 : dw $9E06                    ; | 
   db $01 : dw $9E06                    ; | 
   db $01 : dw $9E06                    ; | 
   db $01 : dw $9E06                    ; | 
   db $01 : dw $9E06                    ; | 
   db $01 : dw $9E06                    ; | 
   db $01 : dw $9E06                    ; | 
   db $01 : dw $9E06                    ; | 
   db $01 : dw $9E06                    ; | 
   db $01 : dw $9E06                    ; | 
   db $01 : dw $9E06                    ; | 
   db $01 : dw $9E06                    ; | 
   db $01 : dw $9E06                    ; | 
   db $01 : dw $9E06                    ; | 
   db $01 : dw $9E06                    ; | 
   db $01 : dw $9E06                    ; | 
   db $01 : dw $9E06                    ; | 
   db $01 : dw $9E06                    ; | 
   db $01 : dw $9E06                    ; | 
   db $01 : dw $9E06                    ; | 
   db $01 : dw $9E06                    ; | 
   db $01 : dw $9E06                    ; | 
   db $01 : dw $9E06                    ; | 
   db $01 : dw $9E06                    ; | 
   db $01 : dw $9E06                    ; | 
   db $01 : dw $9E06                    ; | 
   db $01 : dw $9E06                    ; | 
   db $01 : dw $9E06                    ; | 
   db $01 : dw $9E06                    ; | 
   db $01 : dw $9E06                    ; | 
   db $01 : dw $9E06                    ; | 
   db $01 : dw $9E06                    ; | 
   db $01 : dw $9E06                    ; | 
   db $01 : dw $9E06                    ; | 
   db $01 : dw $9E06                    ; | 
   db $01 : dw $9E06                    ; | 
   db $01 : dw $9E06                    ; | 
   db $01 : dw $9E06                    ; | 
   db $01 : dw $9E06                    ; | 
   db $01 : dw $9E06                    ; | 
   db $01 : dw $9E06                    ; | 
   db $01 : dw $9E06                    ; | 
   db $01 : dw $9E06                    ; | 
   db $01 : dw $9E06                    ; | 
   db $01 : dw $9E06                    ; | 
   db $01 : dw $9E06                    ; | 
   db $01 : dw $9E06                    ; | 
   db $01 : dw $9E06                    ; | 
   db $01 : dw $9E06                    ; | 
   db $01 : dw $9E06                    ; | 
   db $01 : dw $9E06                    ; | 
   db $01 : dw $9E06                    ; | 
   db $00                               ;/  



You can try the following: change all of your long FreeRAMs to use bank $41 instead of $7F. Example: if you're using $7F9E00, consider using $419E00 instead, and so on.





Dream team (feed them, please):






Tried to change these adresses you mentioned, but it doesn't fix the problem.

EDIT: I found the problem why layer 3 is flickering. I've set the initial Y position of layer 3 to 90 in lunar magic. But it somehow clear's and sets the value every frame. If i set the Y Position to 0 in LM it doesn't flicker, but the top of it is cut of. When i try to set the position in uberasm in the main method every frame it starts flickering again..

Code
   LDA #$0090
   STA $24 ;Layer 3 Y Position



EDIT2: I compared the outputs of effect tool when using sa-1 and when not. The SA-1 output is missing this piece of code:
Code
   LDA $24                              ;\  Get Y position of BG
   ASL                                  ; | times 2
   CLC : ADC $24                        ; | +1 = times 3
   CLC : ADC #ParallaxTable_214208723   ; | Address of HDMA table
   INC : INC : INC                      ; | I have no idea why, but the result is off by 1 entry (3 bytes) so this is to fix it.
   STA $4352 


Simply adding it doesn't fix my problem, but i still think it's important. If I just add these to lines layer 3 has it's proper y position and doesn't flicker but only the top half of layer 3 is now scrolling. Bottom half doesn't...
Code
   LDA $24
   STA $4352

Almost there, so I checked a bit more. The problem seems to be that $4352 needs it's proper value, but this line below seems to not work. If i remove that line, i get the same result as if i just put the value of $24 in $4352.
Code
   CLC : ADC #ParallaxTable_214208723   ; | Address of HDMA table

Some Update to my problem here:

I also tried it on a fresh rom to see if any patch or something causes that problem. So a fresh rom with sa-1, the exfgx for layer3 and the uberasm code. But still the same problem.

I'm using a workaround now which seems to work fine:
Setting init y position of layer 3 to 0 fixes that flickering i had. Setting Destination for File to "Start of Layer 3" removes the cutoff from the original status bar.

It seems like sa-1 or LM3.0 (I haven't tested sa-1 with older versions of LM..) messes around with the layer3 y position..
You converted all 7F's ?
what was TSB $6D9F before you converted it? If you didn't touch this, is this address being used by $0D9F that has now become $6D9F?
Sorry for bumping this thread but i just ran into this problem again, but this time i can't use the workaround i mentioned here.

Situation: I want to use parallax scrolling on layer 2 (BG). Layer 3 is set to water tide low only.

The workaround to set layer 3 initial y position to 0 is not a option here, as it would move the water tides out of the screen..

Here's the code i inserted in uberasm, generated by effect tool:


I also tried to use the tool scrollBars from c3 spring 2011, but i ran into the same problem as with effect tool..

Originally posted by zacmario
You converted all 7F's ?
what was TSB $6D9F before you converted it? If you didn't touch this, is this address being used by $0D9F that has now become $6D9F?


Yes, $6D9F = $0D9F in sa-1