Name: | Unsigned 16x16 Multiplication Optimisation |
Author: | MarioFanGamer |
Added: | |
Tool: | Asar |
Requires Free Space: | No |
Bug Fix: | No |
Featured: | No |
Description: | SMW features fairly unoptimised codes particularly in the matter of trigonometry i.e. circular movements; one of which is the unsigned 16x16 multiplication used by Iggy and Larry's platform and the brown chained platform and is a just horrible routine. This patch optimises said routine with better cycle counting (waiting for multiplicaion) and 16-bit mode, therefore halving its calculation footprint by roughly half of it (resulting in an optimisation from roughly 1.5 to 0.75 scanlines when not using FastROM) and also freeing up 30 bytes in bank $01. Optimisation could be further improved with using both index register but I wanted the patch to be index register agnostic. This patch is only valid when not using SA-1 Pack due being replaced by a different code to take advantage of SA-1. |
Tags: | lorom optimisation |
Comments: | 3 (jump to comments) |
Download
412 bytes | 96 downloads
Comments (3)
Tested with Asar 1.81, Lunar Magic 3.40, Snes9x 1.62.3, BSNES Accuracy 0.7.1.