#
# Commodore 64 prg executable hires exporter
# A Multipaint internal script
#

# machine code header

BYTE $01,$10,$0B,$10,$E0,$02,$9E,$34,$31,$30,$39,$00,$00,$00,$78,$8D
BYTE $3F,$FF,$A2,$19,$B5,$02,$9D,$2F,$39,$CA,$10,$F8,$8D,$3E,$FF,$58
BYTE $A9,$0E,$20,$D2,$FF,$BA,$8E,$2D,$39,$A9,$00,$85,$02,$A9,$FD,$85
BYTE $03,$A2,$6B,$A0,$10,$78,$8D,$3F,$FF,$8E,$FE,$FF,$8C,$FF,$FF,$58
BYTE $20,$B4,$10,$A9,$00,$8D,$2E,$39,$20,$A8,$10,$20,$50,$38,$48,$20
BYTE $67,$38,$A9,$00,$8D,$2E,$39,$A2,$19,$BD,$2F,$39,$95,$02,$CA,$10
BYTE $F8,$68,$85,$90,$AE,$2D,$39,$9A,$8D,$3E,$FF,$60,$D8,$48,$8A,$48
BYTE $98,$48,$BA,$BD,$04,$01,$29,$10,$D0,$21,$AC,$2E,$39,$F0,$03,$20
BYTE $E9,$38,$A9,$10,$48,$A9,$91,$48,$08,$48,$48,$48,$8D,$3E,$FF,$6C
BYTE $14,$03,$8D,$3F,$FF,$68,$A8,$68,$AA,$68,$40,$AD,$2C,$39,$F0,$03
BYTE $4C,$2A,$39,$8D,$3E,$FF,$6C,$16,$03,$A0,$02,$F0,$07,$A9,$D7,$A2
BYTE $10,$4C,$05,$39,$60,$A9,$49,$85,$0A,$A9,$39,$85,$0B,$A9,$00,$A8
BYTE $A2,$00,$F0,$0A,$91,$0A,$C8,$D0,$FB,$E6,$0B,$CA,$D0,$F6,$C0,$04
BYTE $F0,$05,$91,$0A,$C8,$D0,$F7,$60,$89,$38,$A9,$A2,$85,$83,$AD,$12
BYTE $FF,$09,$10,$8D,$12,$FF,$60,$20,$D9,$10,$AD,$7E,$30,$8D,$15,$FF
BYTE $AD,$7F,$30,$8D,$16,$FF,$AD,$7D,$30,$8D,$19,$FF,$A2,$40,$A9,$00
BYTE $20,$CF,$38,$A9,$3D,$A2,$11,$20,$CF,$38,$A2,$1F,$A9,$40,$20,$8A
BYTE $38,$A2,$1C,$A9,$00,$20,$CF,$38,$A9,$80,$A2,$30,$20,$CF,$38,$A2
BYTE $03,$A9,$E8,$20,$8A,$38,$A2,$18,$A9,$00,$20,$CF,$38,$A9,$68,$A2
BYTE $34,$20,$CF,$38,$A2,$03,$A9,$E8,$20,$8A,$38,$4C,$3A,$11

# bitmap

FOR Y=0 TO 24
	FOR X=0 TO 39
		FOR V=0 TO 7
			C=128
			L=0
			FOR B=0 TO 7
				P=V*320
				P=P+B
				M=X*8
				P=P+M
				M=Y*2560
				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

# border

	C = PEEK 0
	R = C-1
	R = R/15
	R = R*15
	C = C-R

	L = PEEK 0
	L = L-1
	L = L/15

	A = C
	L = L*16

	A = A+L

	BYTE A

# background 1

	C = PEEK 1
	R = C-1
	R = R/15
	R = R*15
	C = C-R

	L = PEEK 1
	L = L-1
	L = L/15

	A = C
	L = L*16

	A = A+L

	BYTE A

# background 2

	C = PEEK 2
	R = C-1
	R = R/15
	R = R*15
	C = C-R

	L = PEEK 2
	L = L-1
	L = L/15

	A = C
	L = L*16

	A = A+L

	BYTE A

# colors

FOR Y=0 TO 24
	FOR X=0 TO 39
		P = Y*40
		P = P+X
		P = P+65536
		L = PEEK P
		P = P+1000
		H = PEEK P

		C = H
		R = C-1
		R = R/15
		R = R*15
		IF H=0
			C=0
			R=0
		ENDIF
		H = C-R

		C = L
		R = C-1
		R = R/15
		R = R*15
		IF L=0
			C=0
			R=0
		ENDIF		
		L = C-R

		M = H*16
		A = M+L
		BYTE A
	NEXT X
NEXT Y

# luminance

FOR Y=0 TO 24
	FOR X=0 TO 39
		P = Y*40
		P = P+X
		P = P+65536
		H = PEEK P
		P = P+1000
		L = PEEK P

		C = H
		R = C-1
		R = R/15
		IF H=0
			R=0
		ENDIF
		H = R

		C = L
		R = C-1
		R = R/15
		IF L=0
			R=0
		ENDIF		
		L = R

		M = H*16
		A = M+L

		BYTE A
	NEXT X
NEXT Y

# Machine code footer

BYTE $AD,$49,$39,$AE,$4A,$39,$20,$CF,$38,$AD,$4B,$39,$AE,$4C,$39,$20
BYTE $CF,$38,$A0,$04,$4C,$E6,$10,$A0,$02,$F0,$07,$A9,$E5,$A2,$38,$4C
BYTE $05,$39,$60,$A0,$01,$B1,$02,$AA,$88,$B1,$02,$E6,$02,$F0,$05,$E6
BYTE $02,$F0,$03,$60,$E6,$02,$E6,$03,$60,$60,$20,$B3,$38,$A6,$0F,$F0
BYTE $13,$B1,$0A,$91,$0C,$C8,$B1,$0A,$91,$0C,$C8,$D0,$F4,$E6,$0B,$E6
BYTE $0D,$CA,$D0,$ED,$A6,$0E,$F0,$08,$B1,$0A,$91,$0C,$C8,$CA,$D0,$F8
BYTE $4C,$73,$38,$85,$0E,$86,$0F,$20,$73,$38,$85,$0A,$86,$0B,$A0,$01
BYTE $B1,$02,$AA,$86,$0D,$88,$B1,$02,$85,$0C,$60,$A9,$00,$A2,$00,$48
BYTE $A5,$02,$38,$E9,$02,$85,$02,$B0,$02,$C6,$03,$A0,$01,$8A,$91,$02
BYTE $68,$88,$91,$02,$60,$89,$38,$A0,$00,$18,$88,$B9,$E7,$38,$8D,$FD
BYTE $38,$88,$B9,$E7,$38,$8D,$FC,$38,$8C,$01,$39,$20,$FF,$FF,$B0,$04
BYTE $A0,$FF,$D0,$E6,$60,$8D,$13,$39,$8E,$14,$39,$8D,$1A,$39,$8E,$1B
BYTE $39,$88,$B9,$FF,$FF,$8D,$24,$39,$88,$B9,$FF,$FF,$8D,$23,$39,$8C
BYTE $26,$39,$20,$FF,$FF,$A0,$FF,$D0,$E8,$60,$4C,$00,$00,$00,$00

# Write to file

SAVE
