Download Print this page

Atari 400 Technical Reference Manual page 279

Home computer system
Hide thumbs Also See for 400:

Advertisement

ERR LINE
ADDR
Bl B2 B3 B4
CENTRAL INPUT/OUTPUT (CIO) 2-7-79
PAGE
18
807
. PAGE
808
809
;
CIa LOCAL RAM <USES SPARE BYTES IN ZERO PAGE IOCB>
810
002C
ENTVEC
=
ICSPRZ
811
812
;
CIa MAIN ROUTINE
813
814
i
CIa INTERFACES BETWEEN USER AND INPUT/OUTPUT DE
815
E4C4
85 2F
CIa:
STA
C IOCHR
iSAVE POSSIBLE OUTPUT CHARACTER
816
E4C6
86 2E
STX
ICIDNO
iSAVE IOCB NUMBER
*
N
817
818
;
CHECK FOR LEGAL IOCB
819
E4C8
8A
TXA
820
E4C9
29 OF
AND
i$F
i
IS IOCB MULTIPLE OF 16?
821
E4CB
DO 04
BNE
CIERRl
i
NO, ERROR
822
E4CD
EO 80
CPX
#MAXIOC
i
IS INDEX TOO LARGE?
823
E4CF
90 05
BCC
IOCl
i
NO
824
825
INVALID IOCB NUMBER -- RETURN ERROR
826
E4Dl
AO 86
C IERR1: LDY
iBADIOC
i
ERROR CODE
827
E4D3
4C lB E6
JMP
CIRTNl
i
RETURN
828
829
i
MOVE USER IOCB TO ZERO PAGE
830
E4D6
AO 00
IOCl :
LDY
#0
831
E4D8
BD 40 03
IOC1A:
LOA
IOCB,X
i
USER IOCB
832
E4DB
99 20 00
STA
IOCBAS,Y
j
TO ZERO PAGE
833
E4DE
E8
INX
834
E4DF
C8
INY
835
E4EO
CO OC
CPY
i12
; 12 BYTES
836
E4E2
90 F4
BCC
IOC1A
837
838
COMPUTE CIa INTERNAL VECTOR FOR COMMAND
839
E4E4
AO 84
LOY
iNVALID
iASSUME INVALID CODE
840
E4E6
AS 22
LDA
ICCOMZ
iCOMMAND CODE TO INDEX
841
E4E8
C9 03
CMP
#OPEN
i
IS COMMAND LEGAL?
842
E4EA
90 25
BCC
CIERR4
i
NO
843
E4EC
A8
TAY
844
845
MOVE COMMAND TO ZERO BASE FOR INDEX
846
E4ED
CO OE
CPY
iSPECIL
i
IS COMMAND SPECIAL?
847
E4EF
90 02
BCC
IOC2
i
NO
848
E4Fl
AO OE
LDY
#SPECIL
i
YES, SET SPECIAL OFFSET INDEX
849
E4F3
84 17
IOC2:
STY
ICCOMT
iSAVE COMMAND FOR VECTOR
850
E4F5
B9 C6 E6
LOA
COMTAB-3,Y
iGET VECTOR OFFSET FROM TABLE
851
E4F8
FO OF
BEG
CIOPEN
iGO IF OPEN COMMAND
852
E4FA
C9 02
CMP
#2
i IS IT CLOSE?
853
E4FC
FO 35
BEG
CICLOS
; YES
854
E4FE
C9 08
CMP
#8
i IS IT STATUS OR SPECIAL?
855
E500
BO 4C
BCS
CISTSP
; YES
856
E502
C9 04
CMP
#4
i IS IT READ?
857
E504
FO 63
BEG
CIREAD
i
YES
858
E506
4C C9 E5
JMP
CIWRIT
i ELSE, MUST BE WRITE

Hide quick links:

Advertisement

loading

This manual is also suitable for:

800