166 lines
5.6 KiB
Plaintext
166 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
|
|||
|
(312) 665-0264
|
|||
|
|