#
# MSX COM exporter
# A Multipaint internal script
#
# NYYRIKKI 2026
#

# Machine code header

BYTE $3A,$EB,$F3,$F5,$3E,

# Background
A = PEEK 1
BYTE A

BYTE $32,$EB,$F3,$3E,$02,$F7,$80,$5F,$00,$F7
BYTE $80,$41,$00,$21,$07,$00,$3E,$80,$CD,$0C,$00,$3C,$4F,$AF,$F3,$21
BYTE $79,$01,$ED,$5B,$CB,$F3,$CD,$63,$01,$21,$79,$19,$ED,$5B,$C9,$F3
BYTE $CD,$63,$01,$21,$2D,$00,$3E,$80,$C5,$CD,$0C,$00,$C1,$A7,$CA,$52
BYTE $01,$F3,$AF,$ED,$79,$3E,$90,$ED,$79,$21,$79,$31,$06,$20,$0C,$ED
BYTE $B3,$0D,$F7,$80,$44,$00,$F7,$80,$9F,$00,$F1,$32,$EB,$F3,$F7,$80
BYTE $D2,$00,$C9,$ED,$59,$7A,$E6,$3F,$F6,$40,$ED,$79,$3E,$18,$06,$00
BYTE $0D,$ED,$B3,$3D,$C2,$71,$01,$0C,$C9

# bitmap

FOR Y=0 TO 23
	FOR X=0 TO 31
		FOR V=0 TO 7
			C=128
			L=0
			FOR B=0 TO 7
				P=V*256
				P=P+B
				M=X*8
				P=P+M
				M=Y*2048
				P=P+M
				P=P+1024
				O=PEEK P
				M=C*O
				L=L+M
				C=C/2
			NEXT B
			BYTE L
		NEXT V
	NEXT X
NEXT Y

# Colors

FOR Y=0 TO 23
	FOR X=0 TO 31
		FOR Z=0 TO 7			
			P=Y*256
			P=P+X
			P=P+Z*32
			P=P+65536
			L=PEEK P
			P=P+6144
			H=PEEK P

			A=H+L*16

			BYTE A
		NEXT Z
	NEXT X
NEXT Y

# Save palette

A=256
FOR I=0 TO 15
	R=PEEK A
	A=A+1
	G=PEEK A
	A=A+1
	B=PEEK A
	A=A+1

	R=R/36
	G=G/36
	B=B/36

	L=R*16+B

	XBYTE L
	XBYTE G
NEXT I

# Write to file

SAVE

