Make a wonky French flag

This commit is contained in:
2025-06-26 20:20:43 +00:00
parent 9d96bc0e06
commit 90bd8dd2f5
2 changed files with 56 additions and 0 deletions

47
main.asm Normal file
View File

@ -0,0 +1,47 @@
code_start_addr EQU #8000
ORG code_start_addr
ink_blue EQU 1
paper_blue EQU 8
ink_white EQU 7
paper_white EQU 56
ink_red EQU 2
paper_red EQU 16
bright EQU 64
attribute_start EQU #5800
stripe_width EQU 11
stripe_height EQU 24
screen_width EQU 32
; blue stripe first
ld hl, attribute_start ; top left corner
ld a, ink_blue | paper_blue | bright
call make_stripe
; white
ld hl, attribute_start + stripe_width
ld a, ink_white | paper_white | bright
call make_stripe
; red
ld hl, attribute_start + stripe_width * 2
ld a, ink_red | paper_red | bright
call make_stripe
eternal_pause:
jr eternal_pause
make_stripe:
ld c, stripe_height
vertical_loop
ld b, stripe_width
horizontal_loop:
ld (hl), a
inc hl
djnz horizontal_loop
ld de, screen_width - stripe_width
add hl, de
dec c
jr nz, vertical_loop
ret
DEVICE ZXSPECTRUM48
SLDOPT COMMENT WPMEM, LOGPOINT, ASSERTION
SAVESNA "myprog.sna", code_start_addr