sd2snes/snes/msu1/dma.a65

59 lines
882 B
Plaintext

dma0:
rep #$10 : .xl
sep #$20 : .as
lda dma_mode
sta $4300
lda dma_b_reg
sta $4301
lda dma_a_bank
ldx dma_a_addr
stx $4302
sta $4304
ldx dma_len
stx $4305
lda #$01
sta $420b
rts
setup_hdma:
sep #$20 : .as
rep #$10 : .xl
stz $420b
stz $420c
lda #$00 ;A to B; direct; 1x single reg
sta $4310 ;ch. 1 for blanking
lda #$00 ;2100 = inidisp
sta $4311
lda #^hdma_blank
ldy #!hdma_blank
sty $4312
sta $4314
lda #$00 ;A to B; direct; 1x single reg
sta $4320 ;ch. 2 for tilemap switch
lda #$07 ;2107 = BG1 Tilemap Address
sta $4321
lda #^hdma_tilemap
ldy #!hdma_tilemap
sty $4322
sta $4324
lda #$03 ;A to B; direct; 2x 2x single reg
sta $4330 ;ch. 3 for scroll
lda #$0d ;210d = BG1HOFS
sta $4331
lda #^hdma_scroll
ldy #!hdma_scroll
sty $4332
sta $4334
ldx #185 ;Set IRQ trigger to line 185
stx $4209 ;
lda #$0e
sta $420c
rts