Language…
9 users online: Doopu, fanfan21, Josuke Yoshikage,  MarioFanGamer, playagmes169,  Segment1Zone2, Shinmaru, simon.caio, Wry Bones - Guests: 102 - Bots: 134
Users: 70,799 (2,354 active)
Latest user: Kanwa832

DMA Queue and Block Change Optimize v1.11

SMW Patches → DMA Queue and Block Change Optimize v1.11

Submission Details

Name: DMA Queue and Block Change Optimize v1.11
Authors: imamelia, mario90, spooonsss
Added:
Version History: View
Tool: Asar
Requires Free Space: Yes
Bug Fix: No
Featured: No
Description: This is a patch that provides a DMA queue system, allowing you change GFX in VRAM easier. It also optimizes SMW's block change routine to allow more blocks to be changed in a single frame without overflowing V-blank (black bars). More details in the readme. Credit to spooonsss for fixing the growing/shrinking pipe bug.

v1.1: fix bugs with vertical levels and layer 2
Tags: blocks dma gfx graphics lorom optimize sa-1 vram
Comments: 12 (jump to comments)
Download 4.59 KiB | 415 downloads

Screenshots

Comments (12)

 Thomas Link
Tested with:
  • Asar 1.91
  • Lunar Magic 3.51
  • SA-1 Pack 1.40
  • Mesen 2.0.0

Update seems to work fine. Also did end up bumping up the version number as people had suggested, and made a small tweak to the ASM file to fix a warning message from newer versions of Asar.
Burning Loaf Link
Originally posted by imamelia
I changed it because the previous version didn't allow for the DMA to be run when $1493 is non-zero. I wasn't sure if it warranted a version number change.

I would say something like version 1.1.1 would work fine, version change is necessary so the user can tell which changes they have
spooonsss Author Link
This update changes the hijack location (though I don't know why). Moderator, please bump the version number.
 imamelia Author Link
I changed it because the previous version didn't allow for the DMA to be run when $1493 is non-zero. I wasn't sure if it warranted a version number change.
Burning Loaf From older version: DMA Queue and Block Change Optimize v1.1 Link
Tested with:
  • Asar 1.81
  • Lunar Magic 3.33
  • SA-1 Pack 1.40
  • Mesen 2.0.0

The update works properly.
Ability to queue DMA from the main code? Simply incredible.
bucketofwetsocks From older version: DMA Queue and Block Change Optimize v1.1 Link
Continuing Conversation here: https://www.smwcentral.net/?p=section&a=details&id=31095&r=0#comment-70120

Just wanted to mention I re-patched my rom and tested Horizontal and Vertical levels. All look great on my end! Thanks so much spooonsss!
SJandCharlieTheCat From older version: DMA Queue and Block Change Optimize Link
If I'm not mistaken, this seems to mess up things like turnblocks in vertical levels. The bounce sprite appears like normal and the actual act-as changes when hit, but visually it isn't changed into the spinning block. (Testing on a clean rom with FastROM only, I believe.)
bucketofwetsocks From older version: DMA Queue and Block Change Optimize Link
I think I noticed this as well. The patch seems to work wonderfully in horizontal levels, but I'm not getting many blocks to show up in a vertical level. They're still there, like if I change a block to a vine Mario can interact with it, but it's invisible. I haven't tested on a clean rom yet so I'm not completely sure the root cause.
spooonsss Author From older version: DMA Queue and Block Change Optimize Link
Yes, the block changes in vertical levels and sometimes in layer 2 was bugged. Thanks for letting me know. I submitted an update: DMA Queue and Block Change Optimize v1.1
Burning Loaf From older version: DMA Queue and Block Change Optimize Link
I don't know how i missed this, or how nobody commented about it yet, but the approved file had an error that disabled spinjumping:
Code
NMIHijack:
	PHP
	REP #$10
	LDX !VRAMUploadTblSmallIndex
	...
	PLP
	; restore code
	LDA $0DA8|!base2,X

I've edited the submission and added a PHX and PLX, so it should be fixed now.
spooonsss Author From older version: DMA Queue and Block Change Optimize Link
Yikes, that's my error, an oversight when I moved the hijack. Thanks for fixing it.
Burning Loaf From older version: DMA Queue and Block Change Optimize Link
Tested with:
* Lunar magic 3.33
* Asar 1.81
* SA-1 Pack 1.40
* Mesen-S 0.4.0

Ability to queue DMA from the main code? Simply incredible.