GENWiki

Premier IT Outsourcing and Support Services within the UK

User Tools

Site Tools


archive:apple: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 

/home/gen.uk/domains/wiki.gen.uk/public_html/data/pages/archive/apple/correct.app.txt · Last modified: 2019/05/17 09:32 by 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki