From fa635751a6a44abd2a587bedd400b21246ddcb77 Mon Sep 17 00:00:00 2001 From: 4am Date: Thu, 1 Mar 2018 19:59:52 -0500 Subject: [PATCH] refactor WGDesktop --- painting.s | 27 ++++++++++++++++----------- weegui.dsk | Bin 143360 -> 143360 bytes 2 files changed, 16 insertions(+), 11 deletions(-) diff --git a/painting.s b/painting.s index 0f71e47..b09d4de 100644 --- a/painting.s +++ b/painting.s @@ -46,32 +46,37 @@ WGClearScreen_charLoop: ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; WGDesktop ; Paints the desktop pattern (assumes 80 cols) -; Side effects: Clobbers BASL,BASH ; WGDesktop: SAVE_AXY - SETSWITCH PAGE2OFF + SETSWITCH PAGE2OFF ldx #23 WGDesktop_lineLoop: lda TEXTLINES_L,x ; Compute video memory address of line - sta BASL + sta WGDesktop_charLoop+1 + sta WGDesktop_charLoop2+1 lda TEXTLINES_H,x - sta BASH + sta WGDesktop_charLoop+2 + sta WGDesktop_charLoop2+2 ldy #39 - -WGDesktop_charLoop: lda #'W' - sta (BASL),y - SETSWITCH PAGE2ON - lda #'V' - sta (BASL),y - SETSWITCH PAGE2OFF +WGDesktop_charLoop: + sta $FFFF,y ; Self-modifying code! dey bpl WGDesktop_charLoop + SETSWITCH PAGE2ON + ldy #39 + lda #'V' +WGDesktop_charLoop2: + sta $FFFF,y ; Self-modifying code! + dey + bpl WGDesktop_charLoop2 + SETSWITCH PAGE2OFF + dex bpl WGDesktop_lineLoop diff --git a/weegui.dsk b/weegui.dsk index 2ab8b5cf590907106c230670f2f4ea9c1c8dde4d..c553ac9216e4021e63be9201d41e191347aca2e1 100644 GIT binary patch delta 5558 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 delta 5541 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