Apple Communication Card Question [message #378680] |
Thu, 20 December 2018 09:01 |
|
Originally posted by: 6502enhanced
I want to use my Apple Communication Card with my WiModem232.
So far I can do this but only with terminal programs that allow to set the Modem Output to "8th Bit Off (Low)" (like "Transend Data Communication System" does) or that already have set that (like VisiTerm).
This is needed because turning that off gives the lower 127 characters that the WiModem232 understands in command mode.
Now I want to use the Communication Card directly with "IN#SlotWhereItIs" or write my own Basic program to open the terminal mode of the Communication Card and use it with the WiModem232.
How can I turn that off (which lines do I have to write in a Basic program)?
In the manual of the card ( http://www.computinghistory.org.uk/downloads/32502 ) is written that
"Normally, the APPLE 11 will convert lower-case characters coming from the external device into upper-case characters. For slot #n, the location
$6F8 -h n
contains a byte that is exclusive ORed with each lower-case incoming character. If the contents of this location are zeroed, then lower-case characters will go out unmodified instead of being converted to upper-case. Ifthis byte contains $A0 then lower-case will print as upper-case, but in reverse video. In BASIC, the equivalent operation is POKE in location 1784 + n. ($A0 = 160). (...)
Clearing bit 7 of location $778 + n directs the output of characters to the APPLE'S screen.
Location $7F8 -I- n is the ACIA status word. Users familiar with the 6850 can set parity, start and stop bits, character length and transmission rate. See the appropriate manual for that device (not supplied by APPLE). The status word contains $52 for 110 baud, $11 for 300 baud, and $51 for the non-standard 440 baud. The contents of this location are loaded into the ACIA status register with each keystroke (except on Q commands).
Location $7F8 contains SCOplus the current slot number for the Communica tions Interface.
$C08E + (n * $10) is the status register address for the 6850. Before using the 6850 it must be reset by
STA$C080 + $n003
This is always done by the default sequence in the Communications Interface card. $60, instead of $03, willset BREAK. The 6850's data address is $C08F + $n0. Thus, to operate the 6850 in your own machine-language program you must go through the following sequence:
J10*D S0133HN03 czea
1. 2. 3. 4.
5.
6.
Define STATUS to be $C08E -i- $n0
Define DATA to be $C08F+ $n0
ResettheACIAafterpoweronbySTASTATUS03
Set the baud rate by
STA STATUS $11
for 300 baud, or set whatever baud rate you require.
Send data by
STA DATA char
where char is the location of the character. You can read data by LDA DATA char
BREAK is set (if needed) by
STA STATUS $60
and Is reset by
STA STATUS $11
for 300 baud, or with whatever baud rate you wish.
m
^a- a "as
Two signals from the ACIA are used in a non-standard way. RTS Is used to switch countfrequency inthe card. If RTSisset, then the ACIA clock frequency is 110*64. If reset then it is 300*16. DCD is set by liiyiaa on the keyboard. It will stay until the ACIA is used, so it may be tested to determine if an APPLE system reset has occurred."
|
|
|
Re: Apple Communication Card Question [message #378955 is a reply to message #378680] |
Mon, 24 December 2018 04:22 |
sicklittlemonkey
Messages: 570 Registered: October 2012
Karma: 0
|
Senior Member |
|
|
On Friday, 21 December 2018 03:02:00 UTC+13, 6502en...@gmail.com wrote:
> How can I turn that off (which lines do I have to write in a Basic program)?
The manual says: POKE in location 1784 + n. ($A0 = 160)
So one of the following should work, where n is the slot you're using:
POKE 1784 + n,0
POKE 1784 + n,32
POKE 1784 + n,128
POKE 1784 + n,160
Without having the card or reading the firmware listing I don't know which one, so please try them all. ; - )
Cheers,
Nick.
|
|
|
|
Re: Apple Communication Card Question [message #379135 is a reply to message #378968] |
Fri, 28 December 2018 19:05 |
sicklittlemonkey
Messages: 570 Registered: October 2012
Karma: 0
|
Senior Member |
|
|
Hmm, looking at the firmware listing in the manual, the EOR is only performed for text out (TOUT in the listing) to the screen, so not characters sent (I think).
These other programs you're using might access the hardware registers directly, so you could do that too. For instance, even if you use the firmware you could use a 7-bit protocol as shown on page 27.
Otherwise, you could try adding chain handlers for CSWL and KSWL that do AND #$7F to clear the high bit.
Cheers,
Nick.
|
|
|