; Solaris scrolling code ; 256 bytes = original ; 240 bytes = don't initialize things unnecessarily ; 239 bytes = optimize branches ; 235 bytes = no lookup table for log2 ; zero page GBASL = $26 GBASH = $27 HGR_X = $E0 HGR_XH = $E1 HGR_Y = $E2 HGR_COLOR = $E4 HGR_PAGE = $E6 ; soft-switches FULLGR = $C052 PAGE1 = $C054 ; ROM routines HGR2 = $F3D8 HPOSN = $F411 ; (Y,X),(A) (values stores in HGRX,XH,Y) ; put in GBASL/GBASH WAIT = $FCA8 ;; delay 1/2(26+27A+5A^2) us INL = $FB INH = $FC YY = $FD MASK = $FE FRAME = $FF ;surtb3 = $1000 ;surtb4 = $1083 ; 0 1 2 3 4 5 6 7 ; 01 02 04 08 10 20 40 80 ; 5 2 7 4 1 7 4 1 6 ; 20(13) 04(13) 80(66) 10(66) 02(66) 80(13) 10(13) 02(13) 40(66) solaris: jsr HGR2 outer_loop: dec FRAME lda FRAME and #$8 beq set_sur3 set_sur4: lda #