From af525a26fe2a78538d427da6c87a7258d6eae362 Mon Sep 17 00:00:00 2001 From: blondie7575 Date: Sun, 6 Aug 2017 16:33:56 -0700 Subject: [PATCH] Optimization --- gscats.2mg | Bin 819264 -> 819264 bytes gscats.s | 3 +- terrain.s | 105 +++++++++++++++++++++++++++++++++++++++++++---------- 3 files changed, 87 insertions(+), 21 deletions(-) diff --git a/gscats.2mg b/gscats.2mg index acf3d7f427deb0bc36c421e285ed71a31345c4eb..08807cf519dab4f523e6e02d12d78929a523db28 100644 GIT binary patch delta 1474 zcma))drVtZ9LLY?<8t5a?SnqYI+%{)V->r}%CfcUlp#Yf8gYwB{lh@BKg4LFF2**x zD|NIX^qOqTKpVAW7phH0>L}X4=!7T%?uKkSjfl;er-vWxPJ)Zzah4|*#y$=BR@ z_knxvZ8_L_U)!PfTuAdL5p}hBnM@=Qn43ifofL`vvg*lRcLwe13M(B*q7+e-y3;0< zAti@$gh@WaWJqT8qlo+CqwX1MyyjerdAXYzecr&f9bsAzmP$_h=>K_X-G>JgG79*->^yWA5_Bc%N7kQ|3kc}wW*B)`QQjUF3x%;wYR{I6kz-eV`& zbL{8rBKtM_JzHS^VOh?}MH{$g?hqH|p5|WRUgtjK7Py}{f_L*x{6qXxe2Raczre5Y zc44pZn9wJ@D|{uC1h3&iL(Gshd}CmY0pn5Qu<^W6C+-oS5J$v|qRrH4N|u6vZu!z8S|7H)X8qB+v--K}&#H~KM{RH0E=O&x_A~b1?Lo(@j*;%=wk`&b z6>M;mit+yQ6;>;VJ-&49gtefXacseNi7Qu_g+^)9GYZ;?m^b?U9FMqW9g zgDKh9uP?h^Ne{b%a<4>g+Nz56CFqT%bfruu*m7A&aFyvKUv?b{q0&i0WlOJQsMugq z+?W?DWjsQ zl3}lAORu%P2*sk5)s|i{v=Bi`rKIf&Z58dlZ1}<`9fNMlxYG^aKGbvbq*1A0;5onl zbIx;5NC-(q%Tm#@p+mWLj7~U_v9M4;XaX^Mpp_bWGFfe8jZ}`Z8(&u%abA)UzW9dT z;#Bsw`b&Rc=L3WO)Eqn3PS){&I?G5#6(KRf{!~yP{>O+z+*OScZ?j@6lX$EoTPun+ zW;%?tCtk0tG0{ivm*ati#%O;8gL?l!?^O!Pj}?nlSQJJGotPH~H>Kv}8CFH@Bn%!R z%}tgKw39F{ZkBH;4blPY467d|ZnChQxTQ=<;fl)lKh0il9$xVILZ5HhTDxugj-9(g zb;%m~e=1VU^)&~B(^E(@NX^l|=f%Xb_h5Z{8`Ut97}aW(ntE)g&nS7+22TEx8$Qid z{^<#<(F!J+p>?AdxYJGCm6Nx*Py@Gf$Ks;beUOouSd5HCf7g4-6N^P>(sO+bcSWW1 z^jpXS%4n=4(u0sX;E_E0y8Mf1V0gjnk3_!h@Jyw8(CouTgj)FH{CB*>pXIywUVf0j z!O!q_`M>xVJjSc=M!X##z{jwR`*8~2$4{|CC=+%IM}nGrX!~Frcu*^ z$!@MPA2wewPn(~cODy{>?Usp%<(Xx@^`P~l^;fIKw##0`IkGO1^>uh7y%|Z4q@TQ( zer2wK=B+uh_4eWNe%Zh~M&7ZNo4#84C2prf^#ljt1YAHq;08Q^7w`cqfR(^1s$Tgw zE|PVuL)5p%I#vS(Kq0UOSPK*Z#lSki50n5O03QM$0qcQMAOLIt%7BePIj{++06qpP zflq)Suo?Ii_zb8bpNs0OPOnutSFTfr3qiMx~r7#t?Q;vm5-b$AE8Lmq;g0ZNad0;lFB2+kYY)3 K*ULwEJoySFl}Hf) diff --git a/gscats.s b/gscats.s index 7a9218f..2331ab5 100644 --- a/gscats.s +++ b/gscats.s @@ -30,6 +30,7 @@ mainBank2: jsr colorFill jsr generateTerrain + jsr computeScrollClipBoundaries mainGameLoop: ldy mapScrollPos @@ -107,7 +108,7 @@ kbdScanSpace: basePalette: .word $0800,$0080,$0000,$000F,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000 mapScrollPos: ; 4-pixel columns distance from right terrain edge - .word 80 + .word 0 quitRequested: .word $0000 diff --git a/terrain.s b/terrain.s index 38fa51c..7f88811 100644 --- a/terrain.s +++ b/terrain.s @@ -13,6 +13,9 @@ MAXTERRAINHEIGHT = 100 ; In pixels ; ; No stack operations permitted here! ; +; Initial implementation: 535 cycles per row +; Current implementation: 443 cycles per row +; renderTerrain: lda #199*2 sta