💾 Archived View for mirrors.apple2.org.za › archive › www.textfiles.com › apple › applecatapi.txt captured on 2024-08-19 at 03:22:41.
View Raw
More Information
⬅️ Previous capture (2023-03-20)
-=-=-=-=-=-=-
- *************************************
- *
- Apple-Cat Modem A.P.I. *
- *
- By: The Tailpipe *
- *
- *************************************
This is a disk copy of what is in the
Cat-API book..
Register Index
Hex Decimal Read Write
---------------------------------------
$C080 -16256 SWBYT DACBYT
$C081 -16255 TONBYT SQUBYT
$C082 -16254 --- SHBYT
$C083 -16253 --- BSRBYT
$C089 -16247 --- RECBYT
$C08A -16246 --- CON
$C08B -16245 INDAT SPDBYT
$C08C -16244 --- COM
$C08D -16243 ACBYT XMBYT
$C08D -16242 --- OUTDAT
$C08F -16241 STATUS DEVBYT
212 CARD
$C080 -16256 --- 212BYT
- ADD $N0 to hex address or 16*N to
decimal base address (where N=slot of
apple cat or 212 card) to obtain slot
adjusted address.
---------------------------------------
BIT COMPONENT INDEX
Bit Component Register
---------------------------------------
Audio detect SWBYT
BSR 60 Hz input SWBYT
BSR 120 KHz output BSRBYT
Carrier detect SWBYT
Carrier detect timing RECBYT
Clear DV SHBYT
Clear to send ACBYT
DAC bits DACBYT
DV from touch tone SWBYT
Fiarmware switches SWBYT
From UART tdx to DEVBYT
IRQ 29.1 Hz enable XMTBYT
IRQ 29.12 Hz enable RSRBYT
IRQ 29,12 Hz status TONBYT
Microphone squelch SQUBYT
Mode control bits RECBYT
Receive baud rate SPDBYT
Receive data from UART INDAT
Ring detect ACBYT
Speaker squelch SQUBYT
Swith hook SHBYT
Tape recorder motor cont. SQUBYT
Touch tone bits TONBYT
Transmit baud rate SPDBYT
Transmit data to UART OUTDAT
Transmitter mode XMTBYT
UART command receiver COM
UART command transmitter COM
UART control parity mnable CON
UART control parity CON
UART control #stop bits CON
UART control #data bits CON
UART rxd to DEVBYT
UART status overrun error STATUS
UART status framing error STATUS
UART status parity error STATUS
UART status tx data
register empty STATUS
UART status rx data
register full STATUS
UART status transmit IRQ STATUS
UART status receive IRQ STATUS
UART status ring IRQ STATUS
212 analog loopback 212JYT
212 carrier ACBYT
212 character length 212BYT
212 digital loopback 212BYT
212 enable SQUBYT
212 mode SQUBYT
212 remote digital loopback 212BYT
212 reset option 212BYT
--------------------------------------
SWBYT
$C080
-16256
READ
---------------------------------------_
BIT #
7 DV FROM TOUCHTONE
1 valid touch tome present
0 no valid touch tone present
(CLRDV high)
6 BSR 60 HZ INPUT
continuous 1 no 60 Hz
alternation 60Hz
5 CARRIER DETECT
1 carvier present
0 no carrier present
4 AUDIO DETECT*
1 no audio present
0 audio present
3 FIRMWARE SWITCH 4
1 open (off)
0 closed (on)
2 FIRMWARE SWITCH 3
1 open (off)
0 closed (on)
1 FIRMWARE SWITCH 2
1 open (off)
0 closed (on)
0 FIRMWARE SWITCH 1
1 open (off)
0 closed (on)
- Audio detect input changes with
speach, dial tone, and busy signal.
The input to the audio detector is the
output of the receiver filter.
---------------------------------------
TONBYT
$C081
-16255
READ
---------------------------------------
7 NOT USED
6 NOT USED
5 NOT USED
4 IRQ29.12 HZ STATUS
3 TOUCH TONE BIT D8
2 TOUCH TONE BIT D4
1 TOUCH TONE BIT D2
0 TOUCH TONE BIT D1
--------------------------------------
SQUBYT
$C081
-16255
WRITE
--------------------------------------
7 212 ENABLE*
1 212 disable
0 212 enable
6 NOT USED
5 212 MODE
1 212 originate
0 212 answer
4-2 TAPE RECORDER MOTOR CONT.
111 motor on
000 motor off
1 SPEAKER SQUELCH
1 not squelched
0 squelched
0 MICROPHONE SQUELCH
1 squelched
0 not squelched
- 212 ENABLE is sut to 1 in 212 analog
loopgack test (see 212BYT)
NOTE: When changing ANS/ORIG dome, first
write word with bit 5 in desired state
and with bit 7 high; then wait 5-10 msec
and write word with same state for bit
5 but with bit 7 low. Bit 7 must be
left enabled (low) whenever operating
212.
--------------------------------------
SHBYT
$C082
-16254
WRITE
--------------------------------------
7 NOT USED
6 NOT USED
5 NOT USED
4 NOT USED
3 NOT USED
2 NOT USED
1 SWITH HOOK
1 off hook (holding line)
0 on hook (not holding line)
0 CLEAR VD (reset touch tone)
1 clear DV to 0
0 DV set
--------------------------------------
BSRBYT
$C083
-16253
WRITE
--------------------------------------
7 NOT USED
6 NOT USED
5 NOT USED
4 NOT USED
3 NOT USED
2 IRQ 29.12 HZ ENABLE
1 IRQ disabled/rest*
0 IRQ enabled
1 BSR 120 KHZ OUTPUT
1 disabled
0 enabled
0 NOT USED
- To clear IRQ< Bit 2 nust be disabled,
then enabled immediately.
--------------------------------------
RECBYT
$C089
-16247
WRITE
--------------------------------------
7 NOT USED
6 CARRIER DETECT TIMING*
1 normal carrier
0 fast carrier
5-0 MODE CONTROL BITS
mode value
103 ANS $64
103 ANS (mark carrier detect) $60
103 ORIG $65
103 ORIG(mark carrier detect) $61
202 $5C
202(mark carrier detect) $58
DEAF(TDD) $2D
ANS V.21 $66
ANS V.21(mark carrier detect) $62
ORIG V.21 $67
ORIG V.21(mark carrier detect) $63
900 Hz detect $6F
dial tone & busy signal* $7E
- This mode does not detect dial tone
or busy but simply puts the receiver
filter in the frequency range of dial
ton, busy signals and ringing. The
audio detect bit (SWBYT bit 4) should
be looked at to determine what is dial
tone, busy, or speech.
---------------------------------------
CON
$C08A
-16246
WRITE
--------------------------------------
7 NOT USED
6 PARITY ENABLE
1 enabled
0 disabled
5-4 PARITY*
Z1
mark
10 odd
01 space
00 even
3-2 NUMBER OF STOP BITS
11-
10 2
01 1.5
00 1
1-0 NUMBER OF DATA BITS
11 8
10 6
01 7
00 5
- The parity bit is additional to the
number of data bits.
--------------------------------------
SPDBYT
$C08B
-16245
WRITE
--------------------------------------
7-4 TRANSMIT BAUD RATE*
3-0 RECEIVE BAUD RATE*
baud bit value
rate time
1200 .831ms $0
600 1.66ms $1
300 3.33ms $2
150 6.65ms $3
110 9.15ms $5
75 13.3ms $6
50 20.0ms $7
45.5 22.0ms $4
- Transmit and receive baud rates are
independent.
--------------------------------------
COM
$C08C
-16244
WRITE
--------------------------------------
7 NOT USED
6 NOT USED
5 NOT USED
4 NOT USED
3-2 TRANSMITTER
11 xmit off
10 xmit on, enable IRQ
01 xmit on, disable IRQ
00 xmit bread (space)
1-0 RECEIVER
11 --
10 receiver on, enable IRQ
01 reveiver on, disable IRQ
00 receiver off
--------------------------------------
ACBYT
$C08D
-16243
READ
--------------------------------------
7 NOT USED
6 NOT USED
5 NOT USED
4 NOT USED
3 CLEAR TO SEND
printer handshake (busy)
Follows input
2 212 CARRIER DETECT
1 carrier present
0 no carrier present
1 NOT USED
0 RING DETECT*
1 ring present
0 ring not present
- If IRQ enabled on ring, IRQ occurs on
leading edge of ring (when RING goes
high)
--------------------------------------
XMTBYT
$C08D
-16243
WRITE
--------------------------------------
7 NOT USED
6 NOT USED
5 NOT USED
4 IRQ RING ENABLE*
1 disabled/reset
0 enabled
3-0 TRANSMITTER MODE
function value
103 ANS $0
103 ORIG $1
CCITT ANS $2
CCITT ORIG $3
DEAF (TDD) $4
202 SOFT CAR $5
202 U.S. OR CCITT V.23 $6
REV CHAN ING (VIEWDATA) $7
disabled >$7
- To clear IRQ, write 1 then 0
--------------------------------------
STATUS
$C08F
-16241
READ
--------------------------------------
7 OVMRRUN ERROR
1 error
0 ok
6 FRAMING ERROR
1 error
0 ok
5 PARITY ERROR
1 error
0 ok
4 TX DATA REG EMPTY
1 empty
0 full
3 RX DATA REF FULL
1 full
0 empty
2 TRANSMIT IRQ
1 transmit IRQ
0 no transmit IRQ
1 RECEIVE IRQ
1 receive IRQ
0 no receive IRQ
0 RING IRQ
1 no IRQ
0 IRQ
--------------------------------------
DEVBYT
$C08F
-16241
WRITE
--------------------------------------
7 NOT USED
6 NOT USED
5 NOT USED
4 NOT USED
3-2 FROM UART TXD TO
11 --
10 add-on 212
01 printer port
00 main modem
1-0 UART RDX TO
11 --
10 add-on 212
01 printer prot
00 main modem
- Register must be written to when
entering 212 mode
--------------------------------------
212BYT
$C080
-16256
WRITE
--------------------------------------
7 NOT USED
6 NOT USED
5 ANALOG LOOPBACK
1 analog loopback
0 normal
4 DIGITAL LOOPBACK
1 digital loopback
0 normal
3 REMOTE DIGITAL LOOPBACK
1 remote digital loopback
0 normal
2-1 212 CHARACTER LENGTH*
10 10 bits
01 9 bits
0 RESET
1 normal
0 reset option
- Length includes one start and one
stop bit.
NOTE: 1) Write with bits as desired and
bit 0 low
2) Delay at least 500ms
3) Write with bit 0 high, all
other bits unchanged
---------------------------------------
CALL THE PITSTOP 10 MEG
AE/CAT-FUR LINE