Mercurial > repos > ghero
changeset 15:3e2e3129a619 default tip
Re-arrange some VDP writes so that the address register gets setup properly for the FIFO-fill while still avoiding a freeze
author | Mike Pavone <pavone@retrodev.com> |
---|---|
date | Sun, 08 Sep 2013 17:25:27 -0700 |
parents | 166d58b234c3 |
children | |
files | directcolor.s68 |
diffstat | 1 files changed, 16 insertions(+), 11 deletions(-) [+] |
line wrap: on
line diff
--- a/directcolor.s68 Sun Sep 08 12:17:02 2013 -0700 +++ b/directcolor.s68 Sun Sep 08 17:25:27 2013 -0700 @@ -97,13 +97,13 @@ move.w #$8004, (a5) move.w #$8104, (a5) ;turn off display - move.w #$8200, (a5) ;Table A = 0000 - move.w #$8400, (a5) ;Table B = 0000 - move.w #$857C, (a5) ;Sprite Table = F800 + ;move.w #$8200, (a5) ;Table A = 0000 + ;move.w #$8400, (a5) ;Table B = 0000 + ;move.w #$857C, (a5) ;Sprite Table = F800 move.w #$8B00, (a5) ;set full screen vertical and horizontal scrolling move.w #$8C01, (a5) ;H40 mode, no shadow/hilight, no interlace - move.w #$8D3F, (a5) ;H Scroll = FC00 - move.w #$9001, (a5) ;64x32 scroll tables + ;move.w #$8D3F, (a5) ;H Scroll = FC00 + ;move.w #$9001, (a5) ;64x32 scroll tables @@ -116,7 +116,6 @@ bne.s WaitStart Top: - move.l #$40000000, (a5) ;Setup VRAM writes lea BgData(pc), a0 ;set DMA source address move.l a0, d7 @@ -133,13 +132,19 @@ move.b d7, d6 add.w #$100, d6 and.b #$7F, d6 - move.w d6,(a5) + ;move.w d6,(a5) + + + move.l #$94AE9342, (a5) ;set DMA length move.w #$8F00, (a5) ;set auto-increment to 0 - move.w #$8154, (a5) + move.w #$8144, (a5) ;display on, DMA off + move.l #$40000000, (a5) ;Setup VRAM writes + + addq #1, a5 WaitVBlank: btst.b #3, (a5) @@ -152,11 +157,11 @@ move.l d0, (a4) move.w d0, (a4) subq #1, a5 - move.w #$8114, (a5) ;turn off display + move.w #$8114, (a5) ;display off, DMA on + nop ;let FIFO drain nop nop - nop - nop + move.w d6, (a5) ;finish setting DMA source move.l #$C0000080, (a5) bra Top