Skip to content
Sign up
Sign in
This repository
Explore
Features
Enterprise
Blog
Watch
1
Star
1
Fork
0
flamewing
/
ultra-dma-queue
Code
Issues
Pull requests
Pulse
Graphs
HTTPS
clone URL
Subversion
checkout URL
You can clone with
HTTPS
or
Subversion
.
Download ZIP
Permalink
Browse files
Fixing preconditions on d3 for split DMAs in DMA queue.
Loading branch information
...
commit
2b16b187a2ee680b3271687c060482741f124478
1 parent
ead310d
flamewing
authored
Jul 12, 2015
Unified
Split
Showing
1 changed file
with
3 additions
and
3 deletions
.
+3
−3
DMA Queue.asm
Show notes
View
6
DMA Queue.asm
@@ -209,9 +209,9 @@ QueueDMATransfer:
lea
10
(
a1
),
a1
; Skip past all of these commands
; d1 contains length up to the end of the 128kB boundary
add
.w
d1
,
d1
; Convert it into byte length...
-
add
.w
d1
,
d3
; ... and offset destination by the correct amount
- VRAMCommReg
d3
, DMA,
1
; Make DMA destination command
- move.l
d3
,(
a1
)+
; Store command
+
add
.w
d3
,
d1
; ... and offset destination by the correct amount
+ VRAMCommReg
d1
, DMA,
1
; Make DMA destination command
+ move.l
d1
,(
a1
)+
; Store command
clr.w (
a1
)
; Put a stop token at the end of the used part of the queue
move.w
a1
,(VDP_Command_Buffer_Slot).w
; Set the next free slot address, potentially undoing the above clr (this is intentional!)
Toggle all file notes
Please
sign in
to comment.
Something went wrong with that request. Please try again.