;*******************************************************************
;*                                                                 *
;* Program to clear screen and set 24x80 mode and reset 30x90 mode *
;*                                                                 *
;*      written by Ray Gale, April 6th 1990 and placed in the      *
;*                                                                 *
;*                            Public Domain                        *
;*                                                                 *
;*******************************************************************
	org	0100h
bdos	equ	5
esc	equ	1bh

	jp	start
title:	defb	'CL24x80 ver 2.0'
	defb	'Program to clear the screen and set 24x80 mode'
	defb	'written by Ray Gale, April 6th, 1990'
	defb	'placed in the Public Domain'
	defb	'This program is absolutely FREE'
	defb	'No charge must be made'
start:	ld 	de,clrstr	;first of all clear screen
	call	print
	ld	hl,82h		;read command tail
	ld	a,(hl)		;put value in hl into a
	cp	'O'
	jp	nz,onrout	;if not 'O' the set 24x80
	inc	hl
	ld	a,(hl)
	cp	'F'
	jp	nz,onrout
	inc	hl
	ld	a,(hl)
	cp	'F'
	jp	nz,onrout
ofrout:	ld	de,offstr	;if 'OFF' then load 'OFF' string
	call	print
	ld	de,clrstr
	call	print
	ld	de,offmes
	call	print
	jp	fin

onrout:	ld	de,onstr
	call	print
	ld	de,onmes
	call	print

fin:	ret			;return to CP/M

print:	ld	c,9
	call	bdos
	ret

onstr:	defb	esc,'x$'
onmes:	defb	'24x80 mode set$'
offstr:	defb	esc,'y$'
offmes:	defb	'30x90 screen restored$'
clrstr:	defb	esc,'E',esc,'H$'

	end
