home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.barnyard.co.uk
/
2015.02.ftp.barnyard.co.uk.tar
/
ftp.barnyard.co.uk
/
cpm
/
walnut-creek-CDROM
/
CPM
/
MEX
/
ATRPAT.MEX
< prev
next >
Wrap
Text File
|
2000-06-30
|
3KB
|
87 lines
; Mex patches for ATR8000 with MDM7 overlay
; These patches allow MEX to test the atr's
; Parelell port status - Select a baud rate
; Automatically from MEX's PHONE library.
;
; To install, use DDT and overlay the .HEX files over MEX.
;
;
; Ex. DDT MEX112.COM
; -IMXO-ATR1.HEX
; -R
; -IMXO-SM13.HEX
; -R
; -S0D11
; -94 D5(<- YOU TYPE D5)
; -46 1D(<- YOU TYPE 1D) - - - You just installed the printer!
; -G0
;
; DDT Will return to the logged drive at which time type SAVE 95 ATRMEX.COM
; at cp/m's comand prompt.
;
;
; My thanks to the author of M7ATR
;
; also
;
; to Ron Fowler author of MEX
;
;
; PATCHES
; Authored by Rich Gortatowsky [72376,2153]
;
; (12/22/84)
;
.Z80
ORG 01D5H ;Place printer status routine in LOGON
;as MEX does'nt use that area.
PSTAT: IN A,(20H) ;Get printer status
RLCA ;If busy = 0BFH.. Carry set on busy
JR NC,PRED ;If 3FH, printers ready
LD A,00H ;A REAL busy code back to MEX.
RET
PRED: LD A,0FFH ;A REAL ready status back to MEX.
;
; This next routine allows for auto-baud selection from the PHONE command
; This has only been tested in MEX112.COM, Mex passes a value from 0 to 9
; to the routine in the A register, 0 corresponding to 110 baud and 9
; corresponding to 19.2k baud.
;
; * HOW CONVIENIENT! considering the ATR's SETCMD: routine uses these *
; * same values! *
;
NBAUD: ORG 06ADH ;Right after physical modem ovly
PUSH HL
PUSH DE ;Save all regs.
PUSH BC
LD HL,03F0H ;Time values for CTC (baud values)
PUSH AF ;Save the Baud select value passed from MEX
ADD A,L ;Add to get offset to baud rate.
LD L,A ;Store back to L.
LD B,(HL) ;B now contains the Baud value
LD HL,06AAH ;Parity values? HA! CTC init bytes!
LD A,(0683H) ;Index from SETCMD.
ADD A,L ;Must keep parity (?) the same
LD L,A ;HL now points to it.
LD C,(HL) ;C contains ctc control.
POP AF ;Get Baud select value (from MEX)
CP 06H ;greater than 1200 bps?
JR NC,GRTR ;If > 1200
SET 5,C ;Pre-scale of 256, not 16.
GRTR: LD (02BAH),BC ;Set up parameter for use by COMINIT
LD (0398H),A ;Set SETCMD:'s counter.
LD (0107H),A ;Set MSPEED in modem ovly (MEX looks at it).
CALL 02BCH ;Call COMINIT, will init CTC.
POP BC
POP DE ;Restore regs (DE used by COMINIT)
POP HL
RET ;All DONE!
;
;
;
ORG 0107H ;Newbaud vector.
DW NBAUD
;
END