190 lines
5.6 KiB
Plaintext
190 lines
5.6 KiB
Plaintext
Advanced Programming Information Fixed
|
|
--------------------------------------
|
|
30-MAR-85 By Homer Brothers Software
|
|
Please upload this doc on every bbs
|
|
you use so that everyone will start
|
|
programming your Cat correctly.
|
|
Along time ago when the Novation Apple
|
|
Cat was first released, Novation
|
|
thought that they would be nice people
|
|
and give all you hackers information
|
|
on how to diddle with there hardware.
|
|
Well since that time many of us have
|
|
found that they messed up in a few
|
|
places, in fact, Advanced Programming
|
|
Information has more bugs than
|
|
COM-WARE did. To my knowledge the
|
|
API manual has never been de-bugged.
|
|
So please throw away your programming
|
|
ego for a few minutes and take the
|
|
time to read this file.
|
|
Thanks
|
|
Homer Brothers
|
|
P.S. I never want to see another 212
|
|
card turn on unless it was suppose to!
|
|
--------------------------------------
|
|
The most important bug in the API
|
|
manual is the 212 card bug. Please
|
|
turn to page 7 students. If you will
|
|
notice the SQUBYT register's hi order
|
|
bit is the 212 disable/enable bit.
|
|
Yes dreaded ol' bit number 7 must be
|
|
on to disable the 212 card just like
|
|
it says here. That means to have the
|
|
handset squelched the cassette off
|
|
and the 212 card off, you would need
|
|
to store a $81 in SQUBYT. Now your
|
|
saying well thats not a bug in the
|
|
manual, well your correct, that
|
|
actual bug that has confused so many
|
|
is on another page. Please turn to
|
|
page 24 students. Please notice the
|
|
modem INIT routine where they load
|
|
the accum with binary 00000001, a hex
|
|
01... Right about now your saying
|
|
damn I shouldn't have cluged that code
|
|
I knew it sucked the second I looked
|
|
at it. Well give him a break, he wrote
|
|
this thing probably before the 212
|
|
card was finished.
|
|
Ok class, you have learned of the most
|
|
common error in programming the Cat.
|
|
Well now, if all you stud programmers
|
|
have managed to stay with us, let me
|
|
please point out some of the more
|
|
obscure mistakes in programming the
|
|
cat. (Ones even total stud programmers
|
|
have made)
|
|
Please turn to page 15 students. Ah
|
|
yes, the dreaded XMTBYT. The cause of
|
|
so many early apple-cat repairs. Yes
|
|
believe it or not, many programmers
|
|
never bother to shut off the carrier
|
|
when they hang up the phone line (As
|
|
the micron did in his Catsend bbs).
|
|
Leaving on the carrier after hanging
|
|
up the phone is not good for the poor
|
|
little heat sensitive LSI chips that
|
|
Novation designed, so you can only
|
|
add to the life of them by giving the
|
|
carrier a rest after the caller is
|
|
logged of by powering there bod's
|
|
down. That means a $1F to the XMTBYT
|
|
and a extended life time for the Cat.
|
|
Ok, well so what that wasn't a bug in
|
|
the manual heres another for you.
|
|
Please turn to page 4 students. Ah yes
|
|
the much loved SWBYT. This do all
|
|
register has been so misunderstood
|
|
because of the mistakes in API.
|
|
Ah those lovely firmware switches,
|
|
when used with the firmware protocol
|
|
they can tell you your modem defaults,
|
|
ie 212 installed? Welp as you may have
|
|
already noticed they botched the bit
|
|
order on the switches. The register
|
|
should read-
|
|
SWBYT
|
|
7 6 5 4 3 2 1 0
|
|
DV BSR CD AD SW3 SW2 SW1 SW4
|
|
Ok well you thought I would never find
|
|
more than one bug... So whats next?
|
|
Well students flip to page 21. On the
|
|
bottom of the page you should see the
|
|
Label CHKRNG, as you can see they check
|
|
ACBYT's ring bit. If the phone is
|
|
ringing, they print a nice little
|
|
message and wait for the line to stop
|
|
ringing. Now if your saying, well
|
|
thats stupid, why don't they just
|
|
pickup the phone?, well that would be
|
|
okay with most modems. BUT! Novation
|
|
botched the hardware on the Cat, and
|
|
if you pick up the line while the 55
|
|
volt ring pulse is there, WHAM! the
|
|
cat takes a jolt that nocks its
|
|
registers silly.
|
|
Well by now your saying, thats it,
|
|
nothing else... Well I am not out of
|
|
breath yet.
|
|
Bad programmers (shame on you) do
|
|
somthing like this when they init
|
|
there hardware.
|
|
INIT SEI
|
|
LDY SLOT
|
|
LDA #%10000001
|
|
STA .... etc etc etc
|
|
init init init....
|
|
RTS
|
|
More experienced programmers (I love
|
|
you guys) do somthing like this.
|
|
INIT PHP
|
|
SEI
|
|
LDY SLOT
|
|
LDA #%10000001
|
|
STA .... etc etc etc
|
|
init init init....
|
|
PLP
|
|
RTS
|
|
Hey, he knows that other devices use
|
|
interupts besides the CAT... boy that
|
|
guy must use ProDOS.
|
|
Well thats realy about all the bad
|
|
things I can say right now. I will try
|
|
to come up with some more. Please take
|
|
the time to make sure you understand
|
|
what I did here if you plan on
|
|
programming your cat from 6502 machine
|
|
code, then rip it up and say you knew
|
|
that a lot longer than Homer did.
|
|
Boy don't we programmers have big
|
|
easily dented ego's? I know I do.
|
|
OH! I cant end this file without
|
|
saying this.
|
|
REAL MEN USE EDASM ProDOS! Boys play
|
|
with Merlin and its wimpy little
|
|
symbol tables. Oh yeah and,
|
|
REAL MEN USE A DCI BASED PRINT
|
|
Whats that? This-
|
|
* PRINT, DCI based of course
|
|
* By Homer Brothers, some time in
|
|
* the late 80's
|
|
TINDR0 EQU $E0
|
|
LDA #0
|
|
STA TINDR0
|
|
* Above only need be done once in the
|
|
* begining of your program.
|
|
LOOP JSR PRINT
|
|
DCI "How the hell are you? "
|
|
JMP LOOP
|
|
PRINT EQU *
|
|
PLA
|
|
TAY
|
|
PLA
|
|
STA TINDR0+1
|
|
PRINTLOOP INY
|
|
BNE GETNCHAR
|
|
INC TINDR0+1
|
|
GETNCHAR LDA (TINDR0),Y
|
|
PHP
|
|
ORA #$80
|
|
JSR COUT
|
|
PLP
|
|
BPL PRINTLOOP
|
|
LDA TINDR0+1
|
|
PHA
|
|
TYA
|
|
PHA
|
|
RTS
|
|
Make sure that when you use this, you
|
|
tell everyone that you used it long
|
|
before Homer did, or that you would
|
|
have thought of it anyways.
|
|
God would somone please beat my ego up
|
|
please.
|
|
Homer Brothers
|
|
Call my catsend 24hrs 5meg
|
|
(312) 665-0264
|
|
Put your boards here-
|
|
VIEW FILE # OR ( M ):
|