Optimization

This commit is contained in:
blondie7575 2017-08-07 22:10:16 -07:00
parent 0b5ba93a22
commit 0a6c36c9b4
4 changed files with 524 additions and 21 deletions

View File

@ -1,4 +1,4 @@
#!/usr/bin/env python3
#!/usr/bin/env python
import sys
@ -26,6 +26,30 @@ def main(argv):
bytes += "$da\n\tjmp renderSpanComplete\n"
print bytes
# Prologue
print ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"
print "; spanRenderersAlt"
print ";"
print "; Automatically generated by GenerateRenderSpans.py. Do not edit."
print ";\nrenderSpanJumpTableAlt:"
print "\t.word $0000"
for jump in range(0,80):
print "\t.word renderSpanAlt%d" % (jump+1)
print "\n"
for span in range(1,81):
print "renderSpanAlt%d:" % span
print "\tldx CURRMAPPIXELS"
bytes = "\t.byte "
for byte in range(0,span-1):
bytes += "$da,"
bytes += "$da\n\tjmp renderSpanCompleteAlt\n"
print bytes
if __name__ == "__main__":
main(sys.argv[1:])

Binary file not shown.

View File

@ -487,3 +487,492 @@ renderSpan80:
.byte $da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da
jmp renderSpanComplete
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; spanRenderersAlt
;
; Automatically generated by GenerateRenderSpans.py. Do not edit.
;
renderSpanJumpTableAlt:
.word $0000
.word renderSpanAlt1
.word renderSpanAlt2
.word renderSpanAlt3
.word renderSpanAlt4
.word renderSpanAlt5
.word renderSpanAlt6
.word renderSpanAlt7
.word renderSpanAlt8
.word renderSpanAlt9
.word renderSpanAlt10
.word renderSpanAlt11
.word renderSpanAlt12
.word renderSpanAlt13
.word renderSpanAlt14
.word renderSpanAlt15
.word renderSpanAlt16
.word renderSpanAlt17
.word renderSpanAlt18
.word renderSpanAlt19
.word renderSpanAlt20
.word renderSpanAlt21
.word renderSpanAlt22
.word renderSpanAlt23
.word renderSpanAlt24
.word renderSpanAlt25
.word renderSpanAlt26
.word renderSpanAlt27
.word renderSpanAlt28
.word renderSpanAlt29
.word renderSpanAlt30
.word renderSpanAlt31
.word renderSpanAlt32
.word renderSpanAlt33
.word renderSpanAlt34
.word renderSpanAlt35
.word renderSpanAlt36
.word renderSpanAlt37
.word renderSpanAlt38
.word renderSpanAlt39
.word renderSpanAlt40
.word renderSpanAlt41
.word renderSpanAlt42
.word renderSpanAlt43
.word renderSpanAlt44
.word renderSpanAlt45
.word renderSpanAlt46
.word renderSpanAlt47
.word renderSpanAlt48
.word renderSpanAlt49
.word renderSpanAlt50
.word renderSpanAlt51
.word renderSpanAlt52
.word renderSpanAlt53
.word renderSpanAlt54
.word renderSpanAlt55
.word renderSpanAlt56
.word renderSpanAlt57
.word renderSpanAlt58
.word renderSpanAlt59
.word renderSpanAlt60
.word renderSpanAlt61
.word renderSpanAlt62
.word renderSpanAlt63
.word renderSpanAlt64
.word renderSpanAlt65
.word renderSpanAlt66
.word renderSpanAlt67
.word renderSpanAlt68
.word renderSpanAlt69
.word renderSpanAlt70
.word renderSpanAlt71
.word renderSpanAlt72
.word renderSpanAlt73
.word renderSpanAlt74
.word renderSpanAlt75
.word renderSpanAlt76
.word renderSpanAlt77
.word renderSpanAlt78
.word renderSpanAlt79
.word renderSpanAlt80
renderSpanAlt1:
ldx CURRMAPPIXELS
.byte $da
jmp renderSpanCompleteAlt
renderSpanAlt2:
ldx CURRMAPPIXELS
.byte $da,$da
jmp renderSpanCompleteAlt
renderSpanAlt3:
ldx CURRMAPPIXELS
.byte $da,$da,$da
jmp renderSpanCompleteAlt
renderSpanAlt4:
ldx CURRMAPPIXELS
.byte $da,$da,$da,$da
jmp renderSpanCompleteAlt
renderSpanAlt5:
ldx CURRMAPPIXELS
.byte $da,$da,$da,$da,$da
jmp renderSpanCompleteAlt
renderSpanAlt6:
ldx CURRMAPPIXELS
.byte $da,$da,$da,$da,$da,$da
jmp renderSpanCompleteAlt
renderSpanAlt7:
ldx CURRMAPPIXELS
.byte $da,$da,$da,$da,$da,$da,$da
jmp renderSpanCompleteAlt
renderSpanAlt8:
ldx CURRMAPPIXELS
.byte $da,$da,$da,$da,$da,$da,$da,$da
jmp renderSpanCompleteAlt
renderSpanAlt9:
ldx CURRMAPPIXELS
.byte $da,$da,$da,$da,$da,$da,$da,$da,$da
jmp renderSpanCompleteAlt
renderSpanAlt10:
ldx CURRMAPPIXELS
.byte $da,$da,$da,$da,$da,$da,$da,$da,$da,$da
jmp renderSpanCompleteAlt
renderSpanAlt11:
ldx CURRMAPPIXELS
.byte $da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da
jmp renderSpanCompleteAlt
renderSpanAlt12:
ldx CURRMAPPIXELS
.byte $da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da
jmp renderSpanCompleteAlt
renderSpanAlt13:
ldx CURRMAPPIXELS
.byte $da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da
jmp renderSpanCompleteAlt
renderSpanAlt14:
ldx CURRMAPPIXELS
.byte $da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da
jmp renderSpanCompleteAlt
renderSpanAlt15:
ldx CURRMAPPIXELS
.byte $da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da
jmp renderSpanCompleteAlt
renderSpanAlt16:
ldx CURRMAPPIXELS
.byte $da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da
jmp renderSpanCompleteAlt
renderSpanAlt17:
ldx CURRMAPPIXELS
.byte $da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da
jmp renderSpanCompleteAlt
renderSpanAlt18:
ldx CURRMAPPIXELS
.byte $da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da
jmp renderSpanCompleteAlt
renderSpanAlt19:
ldx CURRMAPPIXELS
.byte $da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da
jmp renderSpanCompleteAlt
renderSpanAlt20:
ldx CURRMAPPIXELS
.byte $da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da
jmp renderSpanCompleteAlt
renderSpanAlt21:
ldx CURRMAPPIXELS
.byte $da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da
jmp renderSpanCompleteAlt
renderSpanAlt22:
ldx CURRMAPPIXELS
.byte $da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da
jmp renderSpanCompleteAlt
renderSpanAlt23:
ldx CURRMAPPIXELS
.byte $da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da
jmp renderSpanCompleteAlt
renderSpanAlt24:
ldx CURRMAPPIXELS
.byte $da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da
jmp renderSpanCompleteAlt
renderSpanAlt25:
ldx CURRMAPPIXELS
.byte $da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da
jmp renderSpanCompleteAlt
renderSpanAlt26:
ldx CURRMAPPIXELS
.byte $da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da
jmp renderSpanCompleteAlt
renderSpanAlt27:
ldx CURRMAPPIXELS
.byte $da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da
jmp renderSpanCompleteAlt
renderSpanAlt28:
ldx CURRMAPPIXELS
.byte $da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da
jmp renderSpanCompleteAlt
renderSpanAlt29:
ldx CURRMAPPIXELS
.byte $da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da
jmp renderSpanCompleteAlt
renderSpanAlt30:
ldx CURRMAPPIXELS
.byte $da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da
jmp renderSpanCompleteAlt
renderSpanAlt31:
ldx CURRMAPPIXELS
.byte $da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da
jmp renderSpanCompleteAlt
renderSpanAlt32:
ldx CURRMAPPIXELS
.byte $da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da
jmp renderSpanCompleteAlt
renderSpanAlt33:
ldx CURRMAPPIXELS
.byte $da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da
jmp renderSpanCompleteAlt
renderSpanAlt34:
ldx CURRMAPPIXELS
.byte $da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da
jmp renderSpanCompleteAlt
renderSpanAlt35:
ldx CURRMAPPIXELS
.byte $da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da
jmp renderSpanCompleteAlt
renderSpanAlt36:
ldx CURRMAPPIXELS
.byte $da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da
jmp renderSpanCompleteAlt
renderSpanAlt37:
ldx CURRMAPPIXELS
.byte $da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da
jmp renderSpanCompleteAlt
renderSpanAlt38:
ldx CURRMAPPIXELS
.byte $da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da
jmp renderSpanCompleteAlt
renderSpanAlt39:
ldx CURRMAPPIXELS
.byte $da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da
jmp renderSpanCompleteAlt
renderSpanAlt40:
ldx CURRMAPPIXELS
.byte $da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da
jmp renderSpanCompleteAlt
renderSpanAlt41:
ldx CURRMAPPIXELS
.byte $da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da
jmp renderSpanCompleteAlt
renderSpanAlt42:
ldx CURRMAPPIXELS
.byte $da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da
jmp renderSpanCompleteAlt
renderSpanAlt43:
ldx CURRMAPPIXELS
.byte $da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da
jmp renderSpanCompleteAlt
renderSpanAlt44:
ldx CURRMAPPIXELS
.byte $da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da
jmp renderSpanCompleteAlt
renderSpanAlt45:
ldx CURRMAPPIXELS
.byte $da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da
jmp renderSpanCompleteAlt
renderSpanAlt46:
ldx CURRMAPPIXELS
.byte $da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da
jmp renderSpanCompleteAlt
renderSpanAlt47:
ldx CURRMAPPIXELS
.byte $da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da
jmp renderSpanCompleteAlt
renderSpanAlt48:
ldx CURRMAPPIXELS
.byte $da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da
jmp renderSpanCompleteAlt
renderSpanAlt49:
ldx CURRMAPPIXELS
.byte $da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da
jmp renderSpanCompleteAlt
renderSpanAlt50:
ldx CURRMAPPIXELS
.byte $da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da
jmp renderSpanCompleteAlt
renderSpanAlt51:
ldx CURRMAPPIXELS
.byte $da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da
jmp renderSpanCompleteAlt
renderSpanAlt52:
ldx CURRMAPPIXELS
.byte $da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da
jmp renderSpanCompleteAlt
renderSpanAlt53:
ldx CURRMAPPIXELS
.byte $da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da
jmp renderSpanCompleteAlt
renderSpanAlt54:
ldx CURRMAPPIXELS
.byte $da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da
jmp renderSpanCompleteAlt
renderSpanAlt55:
ldx CURRMAPPIXELS
.byte $da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da
jmp renderSpanCompleteAlt
renderSpanAlt56:
ldx CURRMAPPIXELS
.byte $da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da
jmp renderSpanCompleteAlt
renderSpanAlt57:
ldx CURRMAPPIXELS
.byte $da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da
jmp renderSpanCompleteAlt
renderSpanAlt58:
ldx CURRMAPPIXELS
.byte $da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da
jmp renderSpanCompleteAlt
renderSpanAlt59:
ldx CURRMAPPIXELS
.byte $da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da
jmp renderSpanCompleteAlt
renderSpanAlt60:
ldx CURRMAPPIXELS
.byte $da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da
jmp renderSpanCompleteAlt
renderSpanAlt61:
ldx CURRMAPPIXELS
.byte $da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da
jmp renderSpanCompleteAlt
renderSpanAlt62:
ldx CURRMAPPIXELS
.byte $da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da
jmp renderSpanCompleteAlt
renderSpanAlt63:
ldx CURRMAPPIXELS
.byte $da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da
jmp renderSpanCompleteAlt
renderSpanAlt64:
ldx CURRMAPPIXELS
.byte $da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da
jmp renderSpanCompleteAlt
renderSpanAlt65:
ldx CURRMAPPIXELS
.byte $da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da
jmp renderSpanCompleteAlt
renderSpanAlt66:
ldx CURRMAPPIXELS
.byte $da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da
jmp renderSpanCompleteAlt
renderSpanAlt67:
ldx CURRMAPPIXELS
.byte $da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da
jmp renderSpanCompleteAlt
renderSpanAlt68:
ldx CURRMAPPIXELS
.byte $da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da
jmp renderSpanCompleteAlt
renderSpanAlt69:
ldx CURRMAPPIXELS
.byte $da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da
jmp renderSpanCompleteAlt
renderSpanAlt70:
ldx CURRMAPPIXELS
.byte $da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da
jmp renderSpanCompleteAlt
renderSpanAlt71:
ldx CURRMAPPIXELS
.byte $da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da
jmp renderSpanCompleteAlt
renderSpanAlt72:
ldx CURRMAPPIXELS
.byte $da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da
jmp renderSpanCompleteAlt
renderSpanAlt73:
ldx CURRMAPPIXELS
.byte $da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da
jmp renderSpanCompleteAlt
renderSpanAlt74:
ldx CURRMAPPIXELS
.byte $da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da
jmp renderSpanCompleteAlt
renderSpanAlt75:
ldx CURRMAPPIXELS
.byte $da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da
jmp renderSpanCompleteAlt
renderSpanAlt76:
ldx CURRMAPPIXELS
.byte $da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da
jmp renderSpanCompleteAlt
renderSpanAlt77:
ldx CURRMAPPIXELS
.byte $da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da
jmp renderSpanCompleteAlt
renderSpanAlt78:
ldx CURRMAPPIXELS
.byte $da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da
jmp renderSpanCompleteAlt
renderSpanAlt79:
ldx CURRMAPPIXELS
.byte $da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da
jmp renderSpanCompleteAlt
renderSpanAlt80:
ldx CURRMAPPIXELS
.byte $da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da,$da
jmp renderSpanCompleteAlt

View File

@ -13,6 +13,8 @@ MAXTERRAINHEIGHT = 100 ; In pixels
;
; No stack operations permitted here!
;
; Current implementation: 525 cycles per row
;
renderTerrain:
lda #199*2
sta <ROWINDEX
@ -28,7 +30,7 @@ renderTerrainLoop:
jmp renderClippedSpanChain ; 3
renderSpanChainComplete:
renderSpanCompleteAlt:
lda <ROWINDEX ; 3
dec ; 2
dec ; 2
@ -51,19 +53,15 @@ renderTerrainDone:
renderClippedSpanChain:
; Prepare our state
; = 23 cycles per row + 80 cycles for actual pixels
; = 13 cycles per row + 80 cycles for actual pixels
lda #80 ; 2
sta <XLEFT ; 3
lda #$1111 ; 2
sta <CURRMAPPIXELS ; 3
ldy #spanChainEnd-spanChain-2 ; 2
lda <MAPSCROLLPOS ; 3
sta <RIGHTEDGE ; 3
lda #renderClippedSpanChainRenderNext ; 2
sta renderSpanComplete+1 ; 4
; Find right edge of screen within span chains
; = 26 cycles per skipped span
; = 27 cycles per skipped span
renderClippedSpanChainLoop:
lda spanChain,y ; 4
@ -84,9 +82,9 @@ renderClippedSpanChainNextSpan:
renderClippedSpanChainLoop2:
; Now render spans until left edge of screen
; = 28 cycles per span rendered
; = 25 cycles per span rendered
cmp <XLEFT ; 3
bcs renderClippedSpanChainLastSpan ; 2/3
bcs renderClippedSpanChainLastSpan ; 2
; Render this span
ldx spanColors,y ; 4
@ -94,15 +92,9 @@ renderClippedSpanChainLoop2:
asl ; 2
tax ; 2
jmp (renderSpanJumpTable,x) ; 6 (jmp back = 6)
jmp (renderSpanJumpTable,x) ; 6 (jmp back = 3)
renderSpanComplete:
; This is modified to redirect return from the
; unrolled span rendering blocks
jmp renderClippedSpanChainRenderNext ; 3
renderClippedSpanChainRenderNext:
; Track remaining words until left edge
; = 24 cycles per span rendered
lsr ; 2
@ -119,7 +111,7 @@ renderClippedSpanChainRenderNext:
renderClippedSpanChainLastSpan:
; Render visible portion of last visible span
; = 26 cycles per row
; = 23 cycles per row
ldx spanColors,y ; 4
stx <CURRMAPPIXELS ; 3
@ -127,9 +119,7 @@ renderClippedSpanChainLastSpan:
asl ; 2
tax ; 2
lda #renderSpanChainComplete ; 2
sta renderSpanComplete+1 ; 4
jmp (renderSpanJumpTable,x) ; 6
jmp (renderSpanJumpTableAlt,x) ; 6 (jmp back = 3)