; Set sprites suffix (assumes square-pixel mode)
; (c) Darren Salt
; GPL applies
; $Id: setsprites.s,v 1.2 2003/04/02 01:11:06 ds Exp $

	STMFD	R13!,{R14}
	ADR	R0,boot_osversion
	MOV	R1,R12
	MOV	R2,#256
	MOV	R3,#0
	MOV	R4,#3
	SWI	&20023 ; OS_ReadVarVal
	LDRVCB	R0,[R12]
	MOVVS	R0,#0
	CMP	R0,#'5'
	BLT	unset
	MOV	R0,#2
	SWI	&600F2 ; Wimp_ReadSysInfo
	ADRVS	R0,nul
	LDRB	R1,[R0]
	TEQ	R1,#'1'
	LDREQB	R1,[R0,#1]
	TEQEQ	R1,#'1'
	LDREQB	R1,[R0,#2]
	TEQEQ	R1,#0
	ADREQ	R1,mode511
	MOVEQ	R2,#3
	ADRNE	R1,mode5
	MOVNE	R2,#1
	B	setvar
unset	MOV	R1,#0
	MOV	R2,#-1
setvar	ADR	R0,ticker_sprites
	MOV	R3,#0
	MOV	R4,#4
	SWI	&20024 ; OS_SetVarVal
	LDMVCFD	R13!,{PC}
	LDR	R1,[R0]
	TEQ	R1,#&124 ; "not found" -> clear this error
	CMPEQ	R1,R1
	LDMFD	R13!,{PC}

nul		= 0
boot_osversion	= "Boot$OSVersion", 0
ticker_sprites	= "Ticker$Sprites", 0
mode5		= "5",0
mode511		= "11",0
	ALIGN

	END
