; B5OS-3.INS - Osborne OS-1 insert for BYE5 - 09/15/85
;
;			6850 ACIA
;
; Note:  This is an insert, not an overlay.  If your OS-1 does not have
;	 have the hardware mod to support DTR, (shown below) then set
;	 the NODTR option in BYE5 to "YES".  Also set:
;
;		    IMODEM   EQU   YES
;		    NORING   EQU   YES
;
; =   =   =   =   =   =   =   =   =   =   =   =   =   =   =   =   =   =
;
; 09/15/85
;
;	   Program now supports 2400 bps for the new 2400 bps modems
;	   *  Equate added for NUEVO 80 column add-on video board with
;	      optional baud rate generator.
;	   *  Equate added for new Osborne 1.45 ROM for 2400 bps
;	      operation and hardware mods.
;	   *  Re-edited hardware mods descriptions
;					- Roy Robinson
;
; 08/07/85
;
;	   *  Program now runs properly with BYE5 program
;	   *  Renamed several labels to more closely match BYE5
;	      conventions
;	   *  Changed MDOUTP routine with addition of PUSH PSW
;	      and POP PSW statements.  MDOUTP routine for Osborne 1
;	      clobbers accumulator register when called.
;	   *  Changed MDQUIT routine, program now calls
;	      RTSNBL and  IMQUIT if IMODEM equate is set true.
;	   *  Changed MDINIT routine, program now calls
;	      IMINIT if IMODEM equate is set true.
;	   *  Changed MDCARCK routine
;					- Roy Robinson
;
; 07/17/85  Revised for use with BYE5	- Kevin Murphy
;	    (based on file from Roy Robinson)
;					- Irv Hoff
;
; =   =   =   =   =   =   =   =   =   =   =   =   =   =   =   =   =   =
;
; NOTE:
;	IF YOU USE THE HARWARE MODIFICATION TO THE OZZIE 1.
;	When the Sysop terminates the BYE program with a control C fol-
;	lowed by any other key except 'E' or 'R' from the local console
;	keyboard to go off-line, the Sysop must press the RESET button
;	at the front of the Ozzie and reboot the computer before running
;	the BYE5 program again. This is due to the nature of the 6821
;	PIA input, CB2, which is used for carrier detect in the hardware
;	mod.  Pushing the RESET button triggers the CB2 input for proper
;	use with BYE5.	This reboot should be a minor inconvenience as
;	it is initiated only when the computer is off-line.
;
;						- Roy Robinson
;
;
; =   =   =   =   =   =   =   =   =   =   =   =   =   =   =   =   =
;
; DOCUMENTATION FOR THIS BYE5 INSERT:
;
;-------------------
;
; If you intend to use this insert with none of the hardware modifica-
; tions to the main logic board described below, set the HARDMOD and
; BAUDMOD equates to NO.  You will have the following baud rate values:
; 300 and 1200 bps.  An unmodified Osborne 1 will not work if both the
; HARDMOD and BAUDMOD equates are set to YES.
;
; The NUEVO equate concerns the use of a "piggy-back" 80 column video
; board made by NUEVO ELECTRONICS with an optional baud rate generator.
; NUEVO ELECTRONICS may be contacted at: (713) 341-6001.
;
; The BAUDMOD equate concerns the use of a new ROM monitor chip (ROM
; version 1.45) available from Osborne Computer or your local Osborne
; dealer.  This ROM and the addition of five wire jumpers to your main
; logic board will give you 300/1200/2400 bps serial I/O for the new
; 2400 bps modems.
;
; *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
;
; The NUEVO equate:
;
; If you have the NUEVO 80 column video board with the baud rate option
; installed, set the NUEVO equate to YES.  You will then have the fol-
; lowing baud rates available: 300, 1200 2400, bps.
;
; If your NUEVO 80 column board does NOT have the optional baud rate
; generator, set the NEUVO equate to NO.  Since the NUEVO baud rate
; generator is not installed, you will have the following baud rates
; available 300 and 1200 bps.
;
; Contact NUEVO ELECTRONICS if you wish to install the baud rate option
; on your NUEVO 80 column board.
;
; *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
;
; The HARDMOD equate:
;
; If you decide to install the DTR and DCD modification to your OS-1
; main logic board, set the HARDMOD equate to YES.  This modification
; can be installed in an Osborne 1 with or without the Osborne or NUEVO
; 80 column video boards.  The modification gives the Osborne 1 the
; ability to force the modem to hang up the phone by dropping the 6850
; ACIA RTS line which is connected to the modem DTR input.
;
; The data carrier detect modification gives the Osborne the ability to
; detect carrier loss within a very short time (usually within a couple
; of seconds) rather than depending on a time-out which can take up to
; 30 seconds or more.
;
; If you do use the DTR and DCD modification, you will need to configure
; a special RS-232 cable from your Osborne 1 serial port to your exter-
; nal modem.  Your modem must support the DTR and DCD input signal lines
; and you must set the modem DTR and DCD switches or program the modem
; internal memory to monitor its DTR and DCD signal inputs.
;
; New RS-232 modem cable to be used with OCC-1 and external modem when
; using DTR control:
;
;
;	  OCC-1 		       MODEM
;
;	 2    RXD		      3    RXD
;	 3    TXD		      2    TXD
;	 4    DCD (new function)      8    DCD
;	 5    RTS (new function)      20   DTR
;	 7    GND		      7    GND
;
;	DTR AND DCD SUPPORT MODIFICATION
;
; OSBORNE 1 MAIN LOGIC BOARD TRACE CUTS:
; The Osborne 1 main logic board is organized into zones which are iden-
; tified on the COMPONENT side of the main logic board with LETTERS found
; along the left side of the board and NUMBERS found along the rear of
; the  board (i.e., the 6850 ACIA device is located in zones C4, C5, and
; C6 and the MC1458 device is located in zone E3).  If you are unsure
; how to count pin numbers on IC devices, find a friend who does, attend
; a user group meeting, or take your computer to a computer store/service
; center for further aid.
;
; --------------------------
; Solder Side:
;
; 1.	Cut the trace running from pin 5 to pin 6 on the inner row of
;	pads used to mount the RS-232 female serial connector at the
;	front of the main logic board.  Pin 1 is the pad with a wide
;	ground trace.
;
; Component side:
;
; 2.	Cut the trace from pin 5 of the 6850 ACIA device in zone C4 to
;	resistor R20 (10K ohm) located in zone D5.
;
; 3.	Cut the trace that runs BETWEEN pins 3 and 4 of the 6850 device
;	in zone C4.  Note: pins 3 and 4 do not have visible traces run-
;	ning to them on the component side.
;
; PART ADDITIONS:
; --------------
; Solder side:
;
; 5.	Add a jumper wire from pin 1 of the MC1458 device in zone E3 to
;	pin 5 on the inner row of the RS-232 serial port pads.  Pin 1 is
;	the pad with the wide ground trace.
;
; 6.	Add a jumper wire from pin 3 of the MC1458 device in zone E3 to
;	pin 5 of the same MC1458 device in zone E3.
;
; 7.	Add a jumper wire from pin 5 of the 74LS08 device in zone C1 to
;	pin 10 of the LM3400 device in zone D4.
;
; 8.	Add a jumper wire from pin 4 of the 74LS08 device in zone C1 to
;	pin 1 of the 74LS04 device in zone E20.
;
; 9.	Add a jumper wire from pin 6 of the 74LS08 device in zone C1 to
;	pin 5 of the 74LS04 device in zone A11.
;
; 10.	Add a jumper wire from pin 19 of the 6821 device in zone C15 to
;	pin 6 of the 74LS04 device in zone A11.
;
;
; Using the component side or solder side (whichever side you feel more
; comfortable for mounting  the two - 1/4 watt resistors):
;
; 11.	Mount a 10K ohm resistor from Vcc which is +5 volts (pin 14 of
;	the 74LS02 device in zone D2 is a good solder point) to pin 2 of
;	the MC1458 device in zone E3.
;
; 12.	Mount a 220 ohm resistor from pin 5 of the 6850 ACIA device in
;	zone C4 to pin 2 of the MC1458 device in zone E3.  Pin 2 of the
;	MC1458 device in zone E3 should now have two resistors attached
;	to it.
;
; 13.	Mount a 1K ohm resistor from pin 19 of the 6821 PIA device in
;	zone C15 to Vcc which is +5 volts (pin 16 of the 74LS161 device
;	in zone D18 is a good solder point).
;
; *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
;
; The BAUDMOD equate:
;
;		300/1200/2400 BAUD SUPPORT MODIFICATION
;
; This modification now allows you to have 300/1200/2400 bps support un-
; der software control.  The modification involves five jumper wires and
; the installation of a NEW MONITOR ROM - ROM VERSION 1.45.  The code in
; the new ROM has modified the 6821 VIDEO PIA control byte value for
; register A.  The CA2 Peripheral Control Line is now an output control
; line rather than an input status line.  The input status line was used
; with the COMM-PAC/DATA-COMM modems.  The new output control line will
; allow 600/2400 baud operation for the 6850 ACIA serial I/O chip with
; the following hardware modifications to the main logic board:
;
;	On the main logic board - COMPONENT SIDE:
;
; 1.	Remove Jumper J1 found in zone C4 located next to the
;	6821 ACIA chip.
;	This will expose two pins which we will refer to as the
;	Jumper J1 FRONT and REAR pins.
;
;	The FRONT pin is the pin located toward the front edge of
;	the main logic board.  The front edge of the logic board has the
;	printer connectors and video controls mounted at the edge.
;	On the solder side of the main logic board, the FRONT pin
;	has a trace leading to pin 7 of the 74LS161 chip at
;	zone C3.
;	The REAR pin has no trace on the solder side of the board
;	and is located toward the rear edge of the main logic
;	board.
;
;	On the main logic board - SOLDER SIDE
;
; 2.	Add a jumper wire from pin 4 of the 74LS08 chip in zone A5
;	to the REAR pin of J1.
;
; 3.	Add a jumper wire from pin 5 of the 74LS08 chip in zone A5
;	to pin 39 of the 6821 chip in zone C15.
;
; 4.	Add a jumper wire from pin 6 of the 74LS08 chip in zone A5
;	to pin 5 of the 74LS02 chip in zone D2.
;
; 5.	Add a jumper wire from pin 5 of the 74LS02 chip in zone D2
;	to pin 6 of the 74LS02 in zone D2.  Pin 5 now has two
;	jumpers connected to it.
;
; 6.	Add a jumper wire from pin 4 of the 74LS02 chip in zone D2
;	to the FRONT pin of Jumper J1.
;
; With this modification you will now be unable to use the Osborne
; COMM-PAC or CTS DATA-COMM modems.  The CA2 line, originally a modem
; input status line, is now an output control line used to select one
; of two clock frequencies supplied to the ACIA TX and RX clock inputs.
;
;-----------------------------------------------------------------------
;
;
WRKBAUD:DB	16H	; [*] OCC1 ++
SSTAT:	DB	0	; RAM location serves as a secondary status
			;   register for the 6850 ACIA status register.
			;   This secondary RAM register is used because
			;   the  6850 ACIA clobbers its own status reg-
			;   ister (with regard to TBE and RDA status
			;   bits) when data is traveling in both direc-
			;   tions via the serial port.	This status bit
			;   recognition problem was illustrated with data
			;   being output during a display listing to the
			;   remote user, and the remote user wished to
			;   suspend or abort the screen display by typing
			;   a ^S, ^C, or ^K.
;
;-----------------------------------------------------------------------
;
;
HARDMOD	EQU	YES	; YES, if hardware mods have been installed in
			;   Osborne O-1 to support DTR and modified DCD.
			;   (see installation procedure above)
			;
			; NO,  if the O-1 is standard (no mods).
			;   If NO, you must set the NODTR equate to YES
			;   in the main body of the BYE5 program.  You
			;   must also use an intelligent modem (one that
			;   supports hayes or racal-vadic software com-
			;   mand protocol) and set the IMODEM equate to
			;   YES in the main body of the BYE5 program.
			;
NUEVO	EQU	NO	; YES, if Nuevo 80 column upgrade WITH baud rate
			;   option has been installed.
			;   (see discussion above)
			;

BAUDMOD	EQU	NO	; YES, if new Osborne ROM version 1.45 and baud
			;   rate jumper modification are installed.
			;   Do not set to YES if you have not installed
			;   new ROM and jumper modification
			;   (see discussion above)
			;
;-----------------------------------------------------------------------
;
;
STATM	EQU	02A00H
DATA	EQU	02A01H
CDATA	EQU	02C02H
CSTAT	EQU	02C03H
;
;
	 IF	HARDMOD
MDDCD	EQU	40H
	 ENDIF
;
;
	 IF	NOT HARDMOD
MDDCD	EQU	04H
	 ENDIF
;
RRDA	EQU	0FEH
MRDA	EQU	1
RTBE	EQU	0FDH
MTBE	EQU	2
;
;
;-----------------------------------------------------------------------
;
; See if we still have a carrier - if not, return with the zero flag set
;
MDCARCK:
	 IF	HARDMOD
	DI		; Disable interrupts
	OUT	0
	LDA	CSTAT	; Read video PIA status register
	OUT	1
	EI
	 ENDIF		; HARDMOD
;
;
	 IF	NOT HARDMOD
	CALL	BNKINS	; Get modem status
	 ENDIF		; NOT HARDMOD
;
;
	CMA		; Complement register, DCD bit set with LOSS of
			;   carrier.  Most I/O devices use active high.
	ANI	MDDCD	; Mask out everything but carrier LOSS bit
			; Z=1 Lost carrier
			; Z=0 Carrier present
	RET
;......
;
;
; Disconnect and wait for an incoming call
;
MDINIT:	CALL	RTSDIS	; Clear RTS causing hangup
	CALL	RTSNBL	; Turn on DTR so modem can answer phone
	CALL	OFFTIM	; Wait 2 seconds
;
	 IF	 IMODEM
	CALL	IMINIT	; Initialize smartmodem
	 ENDIF		; IMODEM
;
	 IF	HARDMOD
	CALL	INITCAR	; Reset carrier detect input on 6821 video PIA
	 ENDIF		; HARDMOD
;
	RET
;.....
;
;
; Input a character from the modem port
;
MDINP:	CALL	BNKIND	; Input data from RS-232 serial port
	PUSH	PSW	; Save the character
	LDA	SSTAT	; Load secondary ACIA status register from RAM
	ANI	RRDA	; Mask the RDA bit (reset RDA bit in secondary
			;   register)
	STA	SSTAT	; Save our updated status register in RAM
	POP	PSW	; Recover the character
	RET		; Return to sender
;.....
;
;
; Check the status to see if a character is available.	If not, return
; with the zero flag set.  If yes, use 0FFH to clear the flag.
;
MDINST:	PUSH	B	; Save BC registers
	LDA	SSTAT	; Load secondary ACIA status register
			;   (contains status of ACIA from last ACIA 
			;   operation)
	MOV	B,A	; Save it in register B
	CALL	BNKINS	; Input current ACIA status register
	ORA	B	; Perform an OR operation on both former
			;   as well as present ACIA register states.
	STA	SSTAT	; Save updated ACIA register state in secondary
			;   ACIA register
	ANI	MRDA	; Mask RDA bit
	POP	B	; Recover former BC registers
	RZ		; Nothing?  Return to sender with Z-flag set
	ORI	0FFH	; We got something....
	RET		; Return to sender with Z-flag not set
;.....
;
;
; Send a character to the modem
;
MDOUTP:	PUSH	PSW
	CALL	BNKOUTD	; Output data to RS-232 serial port
	LDA	SSTAT	; Load secondary ACIA register
	ANI	RTBE	; Mask the TBE bit
	STA	SSTAT	; Save secondary ACIA register (now updated)
	POP	PSW
	RET		; Return to sender
;.....
;
;
; Check the status to see if ACIA can output a character.  If not,
; return with the zero flag set.  If yes, use 0FFH to clear the flag.
;
MDOUTST:PUSH	B	; Save BC registers
	CALL	BNKINS	; Get present ACIA status register
	MOV	B,A	; Move it to 'B' register
	LDA	SSTAT	; Get secondary ACIA status register
	ORA	B	; Perform an OR operation on present and former
			;   ACIA status register states
	STA	SSTAT	; Save updated ACIA status register in secondary
			;   ACIA status register
	ANI	MTBE	; Mask the TBE bit
	POP	B	; Recover the former BC registers
	RZ		; Transmit buffer not empty so return
			;   to sender with Z-flag set
	ORI	0FFH	; If empty...
	RET		; Ready to send character
;.....
;
;
; Reinitialize the modem and hang up the phone by dropping RTS and
; leaving it inactive
;
MDQUIT:	CALL	RTSDIS	; Disable RTS output, forcing modem to hang-up
;
	 IF	IMODEM
	CALL	RTSNBL	; Turn on RTS so modem can be programmed
	CALL	IMQUIT	; If a smartmodem, tell it to shut down
	 ENDIF		; IMODEM
;
;
; Called by the main program after caller types BYE
;
MDSTOP:	CALL	RTSDIS	; Disable RTS causing modem hangup
;
	RET
;.....
;
;
; Initialize the 6850 ACIA and disable RTS line which serves as DTR
; control for the modem
;
RTSDIS:
;
	MVI	A,57H	; IRQ disabled
			; RTS disabled (valid for modified/unmodified
			; O-1)
			;    with HARDMOD on, modem forced to hang up
			;    with HARDMOD off, modem is disconnects
			; 8 data bits, 1 stop bit, MRESET
	CALL	BNKOUTS
;
OFFTIM:	PUSH	B	;2 second delay after dropping the ACIA RTS line
	MVI	B,20	;(which is DTR to the modem)
;
OFFTI:
	CALL	DELAY
	DCR	B
	JNZ	OFFTI
	POP	B
	RET
;.....
;
;
; Reset video 6820 PIA register for future detection of lost carrier
;
INITCAR:
	DI
	OUT	0
	LDA	CDATA	; Read video pia data register to reset cb2 bit
	OUT	1
	EI
	RET
;.....
;
;
RTSNBL:	LDA	WRKBAUD	; ACIA reset, set RTS state, set data parameters
	CALL	BNKOUTS
	RET
;.....
;
;
BNKINS:	DI		; Disable interrupts
	OUT	0	; Switch banks to shadow memory bank
	LDA	STATM	; Read ACIA status register (memory mapped)
	OUT	1	; Switch banks back to program memory bank
	EI		; Re-enable interrupts
	RET		; Go home
;.....
;
;
BNKIND:	DI		; Disable interrupts
	OUT	0	; Switch banks to shadow memory bank
	LDA	DATA	; Read ACIA data register (memory mapped)
	OUT	1	; Switch banks back to program memory bank
	EI		; Reenable interrupts
	RET		; Go home
;.....
;
;
BNKOUTS:DI		; Disable interrupts
	OUT	0	; Switch banks to shadow memory bank
	STA	STATM	; Write data to ACIA control register (memory
			;   mapped)
	OUT	1	; Switch banks to program memory bank
	EI		; Reenable interrupts
	RET		; Go home
;.....
;
;
BNKOUTD:DI		; Disable interrupts
	OUT	0	; Switch banks to shadow memory bank
	STA	DATA	; Write data to ACIA data register (memory
			;   mapped)
	OUT	1	; Switch banks to program memory bank
	EI		; Reenable interrupts
	RET		; Go home
;.....
;
;
; The following routines set the baudrate.  BYE5 would like the maximum
; speed you have available for controlling your modem.
;
;	the code below is for an osborne without the nuevo 80 column
;	video board and without the 1.45 ROM
;
	 IF NOT	NUEVO AND NOT BAUDMOD AND NOT HARDMOD
SET300:
	MVI	A,56H	; IRQ disabled, RTS disabled (required for
			;   non-modified O-1)
			; 8 data bits, 1 stop bit, 64X clock
	JMP	SETBAUD
;
SET1200:
	MVI	A,55H	; IRQ disabled, RTS disabled (required for
			;   non-modified O-1)
			; 8 data bits, 1 stop bit, 16X clock
	 ENDIF		; NOT NUEVO AND NOT BAUDMOD AND NOT HARDMOD
;
	 IF NOT	NUEVO AND NOT BAUDMOD AND HARDMOD
SET300:	MVI	A,16H	; IRQ disabled, RTS enabled (required for
			;   modified O-1)
			; 8 data bits, 1 stop bit, 64X clock
	JMP	SETBAUD
;
SET1200:
	MVI	A,15H	; IRQ disabled, RTS enabled (required for
			;   modified O-1)
			; 8 data bits, 1 stop bit, 16X clock
	 ENDIF		; NOT NUEVO AND NOT BAUDMOD AND HARMOD
;
	 IF NOT	NUEVO AND NOT BAUDMOD
SETBAUD:
	STA	WRKBAUD	; Save incoming baud rate and ACIA parameters
	CALL	BNKOUTS
	XRA	A	; Show baudrate was ok
	RET
;
SET2400	EQU	$	; The unmodified OS-1 doesn't like 2400
;
SETINV:	MVI	A,0FFH	; Return bad
	ORA	A	; Show baudrate was unacceptable
	RET
	 ENDIF		; NOT NUEVO AND NOT BAUDMOD
;...
;
;
; The following code is for an osborne with the ROM 1.45 and baudrate
; mods
;
	 IF	BAUDMOD	AND NOT	NUEVO
SET300:
	 ENDIF			; BAUDMOD AND NOT NUEVO
;
	 IF	BAUDMOD	AND NOT	NUEVO AND HARDMOD
	MVI	C,16H		; X64 clock, 8 DB 1 SB, RTS active
	 ENDIF			; BAUDMOD AND NOT NUEVO AND HARDMOD
;
	 IF	BAUDMOD	AND NOT	NUEVO AND NOT HARDMOD
	MVI	C,56H		; X64 clock, 8 DB 1 SB, RTS inactive
	 ENDIF			; BAUDMOD AND NOT NUEVO AND NOT HARDMOD
;
	 IF	BAUDMOD	AND NOT	NUEVO
	MVI	B,3FH		; Get low baud VIDEO PIA value
	JMP	SETBAUD		; Load PIA and ACIA control bytes
;
SET1200:
	 ENDIF			; BAUDMOD AND NOT NUEVO
;
	 IF	BAUDMOD	AND NOT	NUEVO AND HARDMOD
	MVI	C,15H		; X16 clock, 8 DB 1 SB, RTS active
	 ENDIF			; BAUDMOD AND NOT NUEVO AND HARDMOD
;
	 IF	BAUDMOD	AND NOT	NUEVO AND NOT HARDMOD
	MVI	C,55H		; X16 clock, 8 DB 1 SB, RTS inactive
	 ENDIF			; BAUDMOD AND NOT NUEVO AND NOT HARDMOD
;
	 IF	BAUDMOD	AND NOT	NUEVO
	MVI	B,3FH		; Get low baud VIDEO PIA value
	JMP	SETBAUD		; Load PIA and ACIA control bytes
;
SET2400:
	 ENDIF			; BAUDMOD AND NOT NUEVO
;
	 IF	BAUDMOD	AND NOT	NUEVO AND HARDMOD
	MVI	C,15H		; X16 clock, 8 DB 1 SB, RTS active
	 ENDIF			; BAUDMOD AND NOT NUEVO AND HARDMOD
;
	 IF	BAUDMOD	AND NOT	NUEVO AND NOT HARDMOD
	MVI	C,55H		; X16 clock, 8 DB 1 SB, RTS inactive
	 ENDIF			; BAUDMOD AND NOT NUEVO AND NOT HARDMOD
;
	 IF	BAUDMOD	AND NOT	NUEVO
	MVI	B,37H		; Get high baud VIDEO PIA value
;
SETBAUD:
	MOV	A,B		; Load Acc with PIA baud rate speed value
	DI
	OUT	0		; Switch to alternate bank
	STA	2C01H		; Output data to VIDEO PIA control
				;   register A
	OUT	1		; Switch to main bank
	EI
;
	MOV	A,C		; Load Acc with ACIA control byte
	STA	WRKBAUD		; Save incoming ACIA control byte
	CALL	BNKOUTS
	XRA	A		; Show baudrate was ok
	RET
	 ENDIF			; BAUDMOD AND NOT NUEVO
;...
;
;
; The code below is for an Osborne with Nuevo 80-column video board
; installed
;
	 IF NUEVO AND NOT BAUDMOD
SET300:
	MVI	A,05H	; 300 bps byte
	JMP	SETBAUD1
;
SET1200:
	MVI	A,07H	; 1200 bps byte
	JMP	SETBAUD1
;
SET2400:
	MVI	A,0AH	; 2400 bps byte
;
SETBAUD1:
	OUT	06H	; Send to Nuevo baud rate generator port
	 ENDIF		; NUEVO AND NOT BAUDMOD
;
	 IF NUEVO AND NOT BAUDMOD AND NOT HARDMOD
	MVI	A,55H	; IRQ disabled, RTS disabled (required for
			;   non-modified O-1)
			; 8 data bits, 1 stop bit, 16X clock
	 ENDIF		; NUEVO AND NOT BAUDMOD AND NOT HARDMOD
;
	 IF NUEVO AND NOT BAUDMOD AND HARDMOD
	MVI	A,15H	; IRQ disabled, RTS enabled (required for
			;   modified O-1)
			; 8 data bits, 1 stop bit, 16X clock
	 ENDIF		; NUEVO AND NOT BAUDMOD AND HARDMOD
;
	 IF NUEVO AND NOT BAUDMOD
SETBAUD:
	STA	WRKBAUD	; Save incoming baud rate and ACIA parameters
	CALL	BNKOUTS
	XRA	A	; Show baudrate was ok
	RET
	 ENDIF		; NUEVO AND NOT BAUDMOD
;
;
;		       end
;-----------------------------------------------------------------------