diff --git a/grafproc.asm b/grafproc.asm index f3808aa..ef2c8da 100644 --- a/grafproc.asm +++ b/grafproc.asm @@ -1293,18 +1293,35 @@ drawmountainsloop beq NoMountain sta ydraw sty ydraw+1 -; jsr DrawLine +.IF FASTER_GRAF_PROCS = 1 ; there was Drawline proc -drawline + lda #screenheight + sec + sbc ydraw + sta tempbyte01 jsr plot.MakePlot ; after plot we have: (xbyte),y - addres of screen byte; X - index in bittable (number of bit) ; jmp IntoDraw ; jumps inside Draw routine ; because one pixel is already plotted (and who cares? :) ) +@ + lda (xbyte),y + and bittable2,x + sta (xbyte),y +;IntoDraw + adw xbyte #screenBytes + dec tempbyte01 + bne @- +; end of Drawline proc +.ELSE +; there was Drawline proc +drawline + jsr plot.MakePlot inc ydraw lda ydraw cmp #screenheight bne drawline ; end of Drawline proc +.ENDIF NoMountain inw modify inw xdraw diff --git a/scorch.asm b/scorch.asm index dd95dce..0744aaf 100644 --- a/scorch.asm +++ b/scorch.asm @@ -12,6 +12,9 @@ ;--------------------------------------------------- .def XCORRECTION_FOR_PM = 0 ; if 1 - active x position of tanks correction fo PMG +.def FASTER_GRAF_PROCS = 1 +; if 1 - activates faster graphics routines +; (direct writes to screen memory - atari only :) ) ;--------------------------------------------------- ;OPT r+ ; saves 12 bytes :O diff --git a/scorch.bin b/scorch.bin index 782f35e..ffb3aa9 100644 Binary files a/scorch.bin and b/scorch.bin differ diff --git a/scorch.xex b/scorch.xex index d9daa63..f18acb2 100644 Binary files a/scorch.xex and b/scorch.xex differ