;    
;    ,      "X"  .
;   "s"  ,   "x" .

.org (0000h)

  xor a			;  
  out0 (36h),a		; .  
  
  ld a,10000000b	;  7  1,    1:1   18,432 
  out0 (1fh),a		; CPU Control Register 

  ld a,01110100b	; RTS=1,8,N,1
  out0 (00h),a		; Init CNTLA0 (COM1)

  ld a,10111000b	; PS=30, DR=64, SS=1, 9600BPS  PHI=18,432 
  out0 (02h),a		; Init CNTLB0 (COM1)
  
  ld hl, WelcomeString	;   
out_sym:  
  in0 a,(04h)		;    COM1 (STAT0)
  rra
  rra			;   1
  jp nc,out_sym		;     -    ( C=0),  
  ld a,(hl)
  cp 0ah		;     "0AH"
  out0 (06h),a		;   COM1
  jp z,PortTest  
  inc hl
  jp out_sym

;    
;
PortTest:
  in0 a,(04h)		;    COM1 (STAT0)
  rla			;   7
  jp nc,PortTest	;     ( C=0),  
  IN0 a,(08h)		;   COM1
  cp 's'
  jp z,REG_ON
  cp 'x'
  jp z,REG_OFF
  ld a,'X'		;  X
  OUT0 (06h),a		;     COM1
  JP PortTest		;   

REG_ON:  
  ld a,10000000b		;   s
  out0 (36h),a		; .  
  JP PortTest		;   

REG_OFF:
  xor a			;  
  out0 (36h),a		; .  
  JP PortTest		;   

WelcomeString:
.db "Orion-XT first program starting. s - sound on, x - sound off.", 0dh, 0ah
.end


