correct.app

  1. Directory
  2. Apple II Textfiles
  3. correct.app
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

DOWNLOAD FILE
MD5
b98c28eb47dc353e3d98c1755a42f895

AAAAH! MY EYES! Click here if you prefer a black and white color scheme.