From 22ab75874ec694cddbe8783046e3322c34f6de1a Mon Sep 17 00:00:00 2001 From: Bobbi Webber-Manners Date: Wed, 13 Oct 2021 20:20:44 -0400 Subject: [PATCH] Sort coords before plotting rectangle --- applecorn.po | Bin 819200 -> 819200 bytes auxmem.gfx.s | 24 ++++++++++++------------ mainmem.gfx.s | 28 +++++++++++++++++++++++++++- 3 files changed, 39 insertions(+), 13 deletions(-) diff --git a/applecorn.po b/applecorn.po index 528a97a439f305accc711f659d65fc7600362b8e..3299e17f864c45fc755cf3b710cfd24895667aa9 100644 GIT binary patch delta 3527 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 Ao&W#< delta 3453 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 diff --git a/auxmem.gfx.s b/auxmem.gfx.s index 5ff5405..0b155c9 100644 --- a/auxmem.gfx.s +++ b/auxmem.gfx.s @@ -167,34 +167,34 @@ HGRPLOTACT LDA VDUQ+4 LDA VDUQ+4 STA PLOTMODE LDA XPIXEL+0 - STA FDRAWADDR+6 + STA FDRAWADDR+6 ; LSB of X1 LDA XPIXEL+1 - STA FDRAWADDR+7 + STA FDRAWADDR+7 ; MSB of X1 LDA YPIXEL - STA FDRAWADDR+8 + STA FDRAWADDR+8 ; Y1 LDA VDUQ+5 - STA FDRAWADDR+9 ; LSB of X1 + STA FDRAWADDR+9 ; LSB of X2 LDA VDUQ+6 - STA FDRAWADDR+10 ; MSB of X1 + STA FDRAWADDR+10 ; MSB of X2 LDA VDUQ+7 - STA FDRAWADDR+11 ; Y1 + STA FDRAWADDR+11 ; Y2 >>> WRTAUX >>> XF2MAIN,DRAWLINE :RECT >>> WRTMAIN LDA VDUQ+4 STA PLOTMODE LDA XPIXEL+0 - STA FDRAWADDR+6 + STA FDRAWADDR+6 ; LSB of X1 LDA XPIXEL+1 - STA FDRAWADDR+7 + STA FDRAWADDR+7 ; MSB of X1 LDA YPIXEL - STA FDRAWADDR+8 + STA FDRAWADDR+8 ; Y1 LDA VDUQ+5 - STA FDRAWADDR+9 ; LSB of X1 + STA FDRAWADDR+9 ; LSB of X2 LDA VDUQ+6 - STA FDRAWADDR+10 ; MSB of X1 + STA FDRAWADDR+10 ; MSB of X2 LDA VDUQ+7 - STA FDRAWADDR+11 ; Y1 + STA FDRAWADDR+11 ; Y2 >>> WRTAUX >>> XF2MAIN,FILLRECT :CIRC >>> WRTMAIN diff --git a/mainmem.gfx.s b/mainmem.gfx.s index 4d2dc6a..5b39e94 100644 --- a/mainmem.gfx.s +++ b/mainmem.gfx.s @@ -63,8 +63,34 @@ FILLCIRC >>> ENTMAIN * Call FDraw FillRect routine FILLRECT >>> ENTMAIN JSR SETCOLOR - JSR FDRAWADDR+34 ; FDRAW: FillRect + LDA FDRAWADDR+8 ; Y1 + CMP FDRAWADDR+11 ; Y2 + BEQ :S1 + BCS :SWAPY ; Y1>Y2 then swap +:S1 LDA FDRAWADDR+7 ; MSB of X1 + CMP FDRAWADDR+10 ; MSB of X2 + BEQ :S2 + BCS :SWAPX ; MSB X1 > MSB X2 +:S2 LDA FDRAWADDR+6 ; LSB of X1 + CMP FDRAWADDR+9 ; MSB of X2 + BEQ :S3 + BCS :SWAPX ; LSB X1 > LSB X2 +:S3 JSR FDRAWADDR+34 ; FDRAW: FillRect >>> XF2AUX,VDU25RET +:SWAPY LDA FDRAWADDR+8 + LDY FDRAWADDR+11 + STY FDRAWADDR+8 + STA FDRAWADDR+11 + BRA :S1 +:SWAPX LDA FDRAWADDR+7 + LDY FDRAWADDR+10 + STY FDRAWADDR+7 + STA FDRAWADDR+10 + LDA FDRAWADDR+6 + LDY FDRAWADDR+9 + STY FDRAWADDR+6 + STA FDRAWADDR+9 + BRA :S3 * Reset colours and linetype GFXINIT JSR FDRAWADDR+0 ; Initialize FDRAW library