Diamond Mesh

Author: Dr. Lutz Bellmann
Category: Christmas Challenge
System: Commodore SX-64
Language: Assembler (Turbo Macro Pro v1.2)
Len source code: dunno, Windows says the text file has 1250bytes; the code is 73 lines including comments and blank lines
Len exe file:    119 bytes
Len code only:   117 bytes
Instructions:
Simply open the "vccc23-lutz.prg" in Vice (C64 or SX-64) and run "sys4096".
Description:
The program divides the picture into diagonals. Two loops go around the figure from left to right and use a plot-like routine to set the cursor and
use the chrout routine of the kernal to put the stars. One loop for diagonals from left to right the other from right to left. 
Comments:
This was a quick shot, so this is not heavily optimized. I just had a lot of fun handtyping the program on my real SX-64. Perfect evening job for just before christmas. Keep it up!
I included the Assembler file for TMP as well.
; VINTAGE COMPUTING CHRISTMAS; CHALLENGE 2023 (VC3 2023); DR. LUTZ BELLMANN; ------------------------------------CINT     = $FF81CHROUT   = $FFD2SCR      = $E56CYPOS     = $D6XPOS     = $D3         *= $1000         JSR CINT         LDX #0L0       LDA XOORDV,X         STA XPOS         LDA YOORDV,X         STA YPOS         STX $FF         JSR LV         LDX $FF         INX         CPX #VXLEN         BNE L0         LDX #0L1       LDA XOORDB,X         STA XPOS         LDA YOORDB,X         STA YPOS         STX $FF         JSR LB         LDX $FF         INX         CPX #BXLEN         BNE L1         RTSLV       JSR PRT         INC YPOS         LDA #19         CMP XPOS         BEQ LEXV         CMP YPOS         BNE LVLEXV     RTSLB       JSR PRT         INC YPOS         DEC XPOS         DEC XPOS         LDA #$FF         CMP XPOS         BEQ LEXB         LDA #19         CMP YPOS         BNE LBLEXB     RTSPRT      JSR SCR         LDA #"*"         JSR CHROUT         RTSXOORDV   .BYTE 0,0,0XOORDB   .BYTE 3,9,15VXLEN    = *-XOORDV         .BYTE 18,18,18BXLEN    = *-XOORDBYOORDV   .BYTE 15,9,3YOORDB   .BYTE 0,0,0VYLEN    = *-YOORDV         .BYTE 3,9,15