****************************************
* INITIALIZES THE SORCERER'S SCIENTIFIC*
* CHARACTER SET IN CONFORMITY WITH THE *
* ROFF2, SCISYM, SCIGLOSS CONVENTIONS  *
*  BY E. E. BERGMANN, PHYSICS, BLDG #16*
* LEHIGH UNIVERSITY, BETHLEHEM,PA 18015*
*   JANUARY 1, 1983                    *
****************************************
BOOT	EQU	0
BDOS	EQU	5
BLKSIZ	EQU	400H
CNTRLZ	EQU	26
CHRGEN	EQU	0FC00H	;AREA FOR CHR GEN
LDIR	EQU	0B0EDH
*
	ORG	100H
	JMP	START
MSG	DB	'INITIALIZING SORCERER'
	DB	' SCIENTIFIC CHARACTER'
	DB	' SET',0DH,0AH
	DB	'BY E. E. BERGMANN'
	DB	' JANUARY 1, 1983',0DH,0AH
	DB	'$',CNTRLZ
START	LXI	D,MSG
	MVI	C,9	;PRINT STRING FUNCTION
	CALL	BDOS
	LXI	D,CHRGEN
	LXI	H,DBASE
	LXI	B,BLKSIZ
	DW	LDIR	;Z80 BLK MOVE
	JMP	BOOT
DBASE	EQU	$
	ORG	DBASE+'*'*8
	DB	0,0,0,18H,18H,0,0,0
*
	ORG	DBASE+'-'*8	;MINUS INFINITY
	DB	0
	DB	0
	DB	00001010B
	DB	00010101B
	DB	11010101B
	DB	00001010B
	DB	0
	DB	0
*
	ORG	DBASE+'.'*8	;BLANK
	DB	0,0,0,0,0,0,0,0
*
	ORG	DBASE+'0'*8	;SUBSCRIPT 0
	DB	0,0,0,0,0
	DB	01100000B
	DB	10010000B
	DB	01100000B
*
	ORG	DBASE+'1'*8	;SUBSCRIPT 1
	DB	0,0,0,0
	DB	00100000B
	DB	01100000B
	DB	00100000B
	DB	00100000B
*
	ORG	DBASE+'2'*8	;SUPERSCRIPT 2
	DB	01100000B
	DB	00010000B
	DB	00100000B
	DB	01111000B
	DB	0,0,0,0
*
	ORG	DBASE+'6'*8	;CURLY DERIVATIVE
	DB	00111000B
	DB	00000100B
	DB	00000010B
	DB	00011110B
	DB	00100010B
	DB	00100010B
	DB	00011100B
	DB	0
*
	ORG	DBASE+'8'*8	;INFINITY
	DB	0,0
	DB	00110110B
	DB	01001001B
	DB	01001001B
	DB	01001001B
	DB	00110110B
	DB	0
*
	ORG	DBASE+'='*8	;IDENTITY OP
	DB	0
	DB	01111100B
	DB	0
	DB	01111100B
	DB	0
	DB	01111100B
	DB	0,0
*
	ORG	DBASE+'@'*8	;DEL OP
	DB	0
	DB	11111110B
	DB	10000010B
	DB	01000100B
	DB	00101000B
	DB	00010000B
	DB	0,0
*
	ORG	DBASE+'D'*8	;CAP DELTA
	DB	0
	DB	00010000B
	DB	00101000B
	DB	01000100B
	DB	10000010B
	DB	11111110B
	DB	0,0
*
	ORG	DBASE+'I'*8	;INTEGRAL SIGN
	DB	00001000B
	DB	00010000B
	DB	00010000B
	DB	00010000B
	DB	00010000B
	DB	00010000B
	DB	00010000B
	DB	00100000B
*
	ORG	DBASE+'S'*8	;CAP SIGMA
	DB	01111110B
	DB	01000000B
	DB	00100000B
	DB	00010000B
	DB	00100000B
	DB	01000000B
	DB	01111110B
	DB	0
*
	ORG	DBASE+'a'*8	;ALPHA
	DB	0,0
	DB	00111010B
	DB	01000100B
	DB	01000100B
	DB	01000100B
	DB	00111010B
	DB	0
*
	ORG	DBASE+'b'*8	;BETA
	DB	00011000B
	DB	00100100B
	DB	00100100B
	DB	00111000B
	DB	01000100B
	DB	01000100B
	DB	01111000B
	DB	01000000B
*
	ORG	DBASE+'d'*8	;delta
	DB	00011000B
	DB	00100100B
	DB	00100000B
	DB	00111000B
	DB	01001000B
	DB	01001000B
	DB	01110000B
	DB	0
*
	ORG	DBASE+'e'*8	;epsilon
	DB	00011100B
	DB	00100000B
	DB	01000000B
	DB	01111000B
	DB	01000000B
	DB	00100000B
	DB	00011100B
	DB	0
*
	ORG	DBASE+'f'*8	;phi
	DB	00010000B
	DB	00010000B
	DB	00111000B
	DB	01010100B
	DB	01010100B
	DB	00111000B
	DB	00010000B
	DB	00010000B
*
	ORG	DBASE+'g'*8	;gamma
	DB	0
	DB	00110010B
	DB	01001100B
	DB	00001000B
	DB	00010000B
	DB	00100000B
	DB	01000000B
	DB	0
*
	ORG	DBASE+'h'*8	;theta
	DB	00111000B
	DB	01000100B
	DB	01000100B
	DB	01111100B
	DB	01000100B
	DB	01000100B
	DB	00111000B
	DB	0
*
	ORG	DBASE+'l'*8	;lambda
	DB	01000000B
	DB	00100000B
	DB	00010000B
	DB	00011000B
	DB	00100100B
	DB	01000010B
	DB	01000010B
	DB	0
*
	ORG	DBASE+'p'*8	;pi
	DB	0,0
	DB	11111110B
	DB	01000100B
	DB	01000100B
	DB	01000100B
	DB	10000010B
	DB	0
*
	ORG	DBASE+'s'*8	;sigma
	DB	0,0
	DB	00111110B
	DB	01001000B
	DB	01000100B
	DB	01000100B
	DB	00111000B
	DB	0
*
	ORG	DBASE+'u'*8	;mu
	DB	0,0
	DB	01000100B
	DB	01000100B
	DB	01100100B
	DB	01011000B
	DB	01000000B
	DB	01000000B
*
	ORG	DBASE+'v'*8	;nu
	DB	0,0
	DB	00100100B
	DB	01000100B
	DB	01001000B
	DB	01010000B
	DB	01100000B
	DB	0
*
	ORG	DBASE+'w'*8	;omega
	DB	0,0
	DB	01000100B
	DB	10000010B
	DB	10010010B
	DB	10010010B
	DB	01111100B
	DB	0
*
	ORG	DBASE+'z'*8	;subscript 2
	DB	0,0,0
	DB	00100000B
	DB	01010000B
	DB	00010000B
	DB	00100000B
	DB	01111000B
*
	END
