From: "Jon Bettencourt" <jonrelay@napanet.net>
Subject: Jon Relay's Apple II Info Archives (Part 2 of 2)
Date: Saturday, December 02, 2000 10:16 PM

Jon Relay's Apple II Info Archives: 

* Zero Page Addresses
* ProDOS File Types
* Macintosh Computer Setups that Produce Readable ProDOS Disks
* Standard Color HiRes Information
* Video Display Theory
* Description of Memory Areas
@ I/O Memory
@ Screen Holes
@ Graphics Modes
@ Super Serial Card DIP Switches

A topic with a * will be found in part 1.
A topic with an @ will be found in part 2.

This file is best viewed with a monospaced
font (i.e. Monaco, Courier, etc.).

All topics are preceded with a ###. You
can easily jump to one by searching for

     ### <topic name>:

using your newsgroup reader's/web
browser's/text viewer's find command.

This file is posted every two months, starting
with February each year. Any input is welcome.



### I/O Memory:

Comp:  O = Apple II+  E = Apple IIe  C = Apple IIc  G = Apple IIgs
Act: R = Read  W = Write  7 = Bit 7  V = Value

Address    Name         Comp Act  Description

C000 49152 KBD          OECG  R   Last Key Pressed + 128
           80STOREOFF    ECG W    Use $C002-$C005 for Aux Memory
C001 49153 80STOREON     ECG W    Use PAGE2 for Aux Memory
C002 49154 RDMAINRAM     ECG W    If 80STORE Off: Read Main Mem $0200-$BFFF
C003 49155 RDCARDRAM     ECG W    If 80STORE Off: Read Aux Mem $0200-$BFFF
C004 49156 WRMAINRAM     ECG W    If 80STORE Off: Write Main Mem $0200-$BFFF
C005 49157 WRCARDRAM     ECG W    If 80STORE Off: Write Aux Mem $0200-$BFFF
C006 49158 SETSLOTCXROM  E G W    Peripheral ROM ($C100-$CFFF)
C007 49159 SETINTCXROM   E G W    Internal ROM ($C100-$CFFF)
C008 49160 SETSTDZP      ECG W    Main Stack and Zero Page
C009 49161 SETALTZP      ECG W    Aux Stack and Zero Page
C00A 49162 SETINTC3ROM   E G W    ROM in Slot 3
C00B 49163 SETSLOTC3ROM  E G W    ROM in Aux Slot
C00C 49164 CLR80VID      ECG W    40 Columns
C00D 49165 SET80VID      ECG W    80 Columns
C00E 49166 CLRALTCHAR    ECG W    Primary Character Set
C00F 49167 SETALTCHAR    ECG W    Alternate Character Set
C010 49168 KBDSTRB      OECG WR   Keyboard Strobe
C011 49169 RDLCBNK2      ECG  R7  Status of Selected $Dx Bank
C012 49170 RDLCRAM       ECG  R7  Status of $Dx ROM / $Dx RAM
C013 49171 RDRAMRD       ECG  R7  Status of Main/Aux RAM Reading
C014 49172 RDRAMWRT      ECG  R7  Status of Main/Aux RAM Writing
C015 49173 RDCXROM       E G  R7  Status of Periph/ROM Access
           RSTXINT        C   R   Reset Mouse X0 Interrupt
C016 49174 RDALTZP       ECG  R7  Status of Main/Aux Stack and Zero Page
C017 49175 RDC3ROM       E G  R7  Status of Slot 3/Aux Slot ROM
           RSTYINT        C   R   Reset Mouse Y0 Interrupt
C018 49176 RD80STORE     ECG  R7  Status of $C002-$C005/PAGE2 for Aux Mem
C019 49177 RDVBL         E G  R7  Vertical Blanking (E:1=drawing G:0=drawing)
           RSTVBL         C   R   Reset Vertical Blanking Interrupt
C01A 49178 RDTEXT        ECG  R7  Status of Text/Graphics
C01B 49179 RDMIXED       ECG  R7  Status of Full Screen/Mixed Graphics
C01C 49180 RDPAGE2       ECG  R7  Status of Page 1/Page 2
C01D 49181 RDHIRES       ECG  R7  Status of LoRes/HiRes
C01E 49182 RDALTCHAR     ECG  R7  Status of Primary/Alternate Character Set
C01F 49183 RD80VID       ECG  R7  Status of 40/80 Columns
C020 49184 TAPEOUT      OE    R   Toggle Cassette Tape Output
C021 49185 MONOCOLOR       G W 7  Color/Mono
C022 49186 TBCOLOR         G    V Screen Color: Low Nibble is BG, High
Nibble is Text
C023 49187 VGCINT          G    V Video Graphics Controller Interrupts:
                                   b0-2=ext,scan,1sec enable
b4-7=ext,scan,1sec,VGC
C024 49188 MOUSEDATA       G    V Mouse Data: High Bit is Button, Other
Bits are Movement
C025 49189 KEYMODREG       G    V Modifier Keys: Bit 7: Command, Bit 6: Option,
                                                 Bit 5: NotUsed, Bit 4: Keypad,
                                                 Bit 3: Repeat, Bit 2: Caps,
                                                 Bit 1: Control, Bit 0: Shift
C026 49190 DATAREG         G    V ADB Command/Data b0-2=# b3=valid b4=clr buf
                                                   b5=reboot b6=abort b7=status
C027 49191 KMSTATUS        G    V ADB Status: b0=cmdFull b1=mouseX
b2=keyIntr b3=key
                                              b4=cmdIntr b5=data
6=mouseInt 7=mouse
C028 49192 ROMBANK      ????      ROM bank select toggle
C029 49193 NEWVIDEO        G    V New Video: 129=SHR, 1=None, Bit
6=Linearize, Bit 5=BW
C02B 49195 LANGSEL         G      Bit 3=Secondary Bit 4=50Hz Bits
5-7=Display Language
C02C 49196 CHARROM      ????      Addr for test mode read of character ROM
C02D 49197 SLTROMSEL       G      Slot Register; Bits 1-7=use slot card
C02E 49198 VERTCNT      ????      Addr for read of video cntr bits V5-VB
C02F 49199 HORIZCNT     ????      Addr for read of video cntr bits VA-H0
C030 48200 SPKR         OECG  R   Toggle Speaker
C031 49201 DISKREG         G      Disk Interface: Bit 6=3.5 Bit 7=RWHead 1
C032 49202 SCANINT         G    V VGC Interrupt-Clear
C033 49203 CLOCKDATA       G      Interface to Battery RAM (undocumented)
C034 49204 CLOCKCTL        G      b0-3=borderColor b5=stopBit b6=read b7=start
C035 49205 SHADOW          G      Inhibit Shadowing: Bit 6: I/O Memory,
Bit 5: Alternate
                                                     Display Mode, Bit 4:
Auxilary HGR,
                                                     Bit 3: Super HiRes,
Bit 2: HiRes
                                                     Page 2, Bit 1: HiRes
Page 1,
                                                     Bit 0: Text/LoRes
C036 49206 CYAREG          G      Bits 0-3=Disk Detect Bit 4=Shadow All
Banks Bit 7=Fast
C037 49207 BMAREG          G      Bit 5=BW
C038 49208 SCCBREG         G      SCC Command Channel B
C039 49209 SCCAREG         G      SCC Command Channel A
C03A 49210 SCCBDATA        G      SCC Data Channel B
C03B 49211 SCCADATA        G      SCC Data Channel A
C03C 49212 SOUNDCTL        G    V Sound Settings: Bits 0-3=Volume Bit 5=AutoIncr
                                                  Bit 6=RAM Bit 7=Busy
C03D 49213 SOUNDDATA       G      Sound Data
C03E 49214 SOUNDADRL       G      Address Pointer L
C03F 49215 SOUNDADRH       G      Address Pointer H
C040 49216              OE    R   Game I/O Strobe Output
           RDXYMSK        C   R7  Read X0/Y0 Interrupt
C041 49217 RDVBLMSK       C   R7  Read VBL Interrupt
C042 49218 RDX0EDGE       C   R7  Read X0 Edge Selector
C043 49219 RDY0EDGE       C   R7  Read Y0 Edge Selector
C044 49220 MMDELTAX        G    V Mega II Mouse Delta Movement X
C045 49221 MMDELTAY        G    V Mega II Mouse Delta Movement Y
C046 49222 DIAGTYPE     ????      Self or Burn-In diagdistics: Bit
7=burn-in diag
           INTFLAG      ????      b0=IRQ b1=MMmov b2=MMbut b3=VBL b4=qsec
                                  b5=AN3 b6=mouse was down b7=mouse is down
C047 49223 CLRVBLINT    ????      Clear VBL Interrupt
C048 49224 CLRXYINT     ????      Clear MM Interrupt
C048 49224 RSTXY          C  WR   Reset X and Y Interrupts
C050 49232 TXTCLR       OECG WR   Display Graphics
C051 49233 TXTSET       OECG WR   Display Text
C052 49234 MIXCLR       OECG WR   Display Full Screen
C053 49235 MIXSET       OECG WR   Display Split Screen
C054 49236 TXTPAGE1     OECG WR   Display Page 1
C055 49237 TXTPAGE2     OECG WR   If 80STORE Off: Display Page 2
                         ECG WR   If 80STORE On: Read/Write Aux Display Mem
C056 49238 LORES        OECG WR   Display LoRes Graphics
C057 49239 HIRES        OECG WR   Display HiRes Graphics
C058 49240 CLRAN0       OE G WR   If IOUDIS off: Annunciator 0 Off
           DISXY          C  WR   If IOUDIS on: Mask X0/Y0 Move Interrupts
C059 49241 SETAN0       OE G WR   If IOUDIS off: Annunciator 0 On
           ENBXY          C  WR   If IOUDIS on: Allow X0/Y0 Move Interrupts
C05A 49242 CLRAN1       OE G WR   If IOUDIS off: Annunciator 1 Off
           DISVBL         C  WR   If IOUDIS on: Disable VBL Interrupts
C05B 49243 SETAN1       OE G WR   If IOUDIS off: Annunciator 1 On
           ENVBL          C  WR   If IOUDIS on: Enable VBL Interrupts
C05C 49244 CLRAN2       OE G WR   If IOUDIS off: Annunciator 2 Off
           X0EDGE         C  WR   If IOUDIS on: Interrupt on X0 Rising
C05D 49245 SETAN2       OE G WR   If IOUDIS off: Annunciator 2 On
           X0EDGE         C  WR   If IOUDIS on: Interrupt on X0 Falling
C05E 49246 CLRAN3       OE G WR   If IOUDIS off: Annunciator 3 Off
           Y0EDGE         C  WR   If IOUDIS on: Interrupt on Y0 Rising
           DHIRESON      ECG WR   In 80-Column Mode: Double Width Graphics
C05F 49247 SETAN3       OE G WR   If IOUDIS off: Annunciator 3 On
           Y0EDGE         C  WR   If IOUDIS on: Interrupt on Y0 Falling
           DHIRESOFF     ECG WR   In 80-Column Mode: Single Width Graphics
C060 49248              OE    R7  Read Cassette Input
                          C   R7  Status of 80/40 Column Switch
           BUTN3           G  R7  Switch Input 3
C061 49249 RDBTN0        EC   R7  Switch Input 0 / Open Apple
C062 49250 BUTN1         E    R7  Switch Input 1 / Solid Apple
C063 49251 RD63          E    R7  Switch Input 2 / Shift Key
                          C   R7  Bit 7 = Mouse Button Not Pressed
C064 49252 PADDL0       OECG  R7  Analog Input 0
C065 49253 PADDL1       OECG  R7  Analog Input 1
C066 49254 PADDL2       OE G  R7  Analog Input 2
           RDMOUX1        C   R7  Mouse Horiz Position
C067 49255 PADDL3       OE G  R7  Analog Input 3
           RDMOUY1        C   R7  Mouse Vert Position
C068 49256 STATEREG        G    V b0=INTCXROM b1=ROMBANK b2=LCBNK2 b3=RDROM
                                  b4=RAMWRT b5=RAMRD b6=PAGE2 b7=ALTZP
C06D 49261 TESTREG      ????      Test Mode Bit Register
C06E 49262 CLRTM        ????      Clear Test Mode
C06F 49263 ENTM         ????      Enable Test Mode
C070 49364 PTRIG         E    R   Analog Input Reset
                          C  WR   Analog Input Reset + Reset VBLINT Flag
C073 49367 BANKSEL       ECG W    Memory Bank Select for > 128K
C078 49372                C  W    Disable IOU Access
C079 49373                C  W    Enable IOU Access
C07E 49278 IOUDISON      EC  W    Disable IOU
           RDIOUDIS      EC   R7  Status of IOU Disabling
C07F 49279 IOUDISOFF     EC  W    Enable IOU
           RDDHIRES      EC   R7  Status of Double HiRes
C080 49280              OECG  R   Read RAM bank 2; no write
C081 49281 ROMIN        OECG  RR  Read ROM; write RAM bank 2
C082 49282              OECG  R   Read ROM; no write
C083 49283 LCBANK2      OECG  RR  Read/write RAM bank 2
C084 49284              OECG  R   Read RAM bank 2; no write
C085 49285 ROMIN        OECG  RR  Read ROM; write RAM bank 2
C086 49286              OECG  R   Read ROM; no write
C087 49287 LCBANK2      OECG  RR  Read/write RAM bank 2
C088 49288              OECG  R   Read RAM bank 1; no write
C089 49289              OECG  RR  Read ROM; write RAM bank 1
C08A 49290              OECG  R   Read ROM; no write
C08B 49291              OECG  RR  Read/write RAM bank 1
C08C 49292              OECG  R   Read RAM bank 1; no write
C08D 49293              OECG  RR  Read ROM; write RAM bank 1
C08E 49294              OECG  R   Read ROM; no write
C08F 49295              OECG  RR  Read/write RAM bank 1
C090--C09F                     slot 1
C0A0--C0AF                     slot 2
C0B0--C0BF                     slot 3
C0C0--C0CF                     slot 4
C0D0--C0DF                     slot 5
C0E0--C0EF                     slot 6
C0F0--C0FF                     slot 7


### Screen Holes:

N is the slot number a card is in.

Apple II
--------
$0478    1144    Slot address of card using $C800 space
                 //c mouse: clamping minimum, lo byte
$04F8    1272    //c mouse: clamping maximum, lo byte
$0578    1400    //c mouse: clamping minimum, hi byte
$05F8    1528    //c mouse: clamping maximum, hi byte

Super Serial Card
-----------------
$0478+n  1144+n  Delay: b0-1=FF b2-3=LF b4-5=CR b6-7=translate option
$04F8+n  1272+n  Accumulator for firmware's command processor
$0578+n  1400+n  b0-2=cmd mode b3-5=slot to ch to b6=lc b7=terminal/CR
$05F8+n  1528+n  b0-6=command byte b7=zap control commands
$0678+n  1656+n  Error: b0=parity b1=framing b2=overrun b3=carrier b5=error
$06F8+n  1784+n  Modem Mode: b0-2=screen slot b3-7=$Cs00 space entry point
                 Printer Mode: current printer width
$0778+n  1912+n  Modem Mode: input buffer
                 Printer Mode: current column
$07F8+n  2040+n  b0=auto LF b1=comm.mode b2=keyb inp b3=chk XOFF b4=Pascal
                 b5=ignore LF b6=enable lc/tabs b7=echo

Apple IIc Serial
----------------
$0578+n  1400+n  printer width
$05F8+n  1528+n  scratch
$0678+n  1656+n  b7=parsing command string
$06F8+n  1784+n  current command character
$0778+n  1912+n  b6=auto LF b7=echo
$07F8+n  2040+n  current printer column

80-Column Card
--------------
$0478+n  1144+n  address of last output routine used by firmware
$04F8+n  1272+n  video firmware operating mode
$0578+n  1400+n  horizontal cursor position
$05F8+n  1528+n  vertical cursor position
$0678+n  1656+n  character to be printed/read
$06F8+n  1784+n  Pascal GOTOXY X coordinate
$0778+n  1912+n  scratch
$07F8+n  2040+n  scratch

Mouse Card
----------
$0478+n  1144+n  X coordinate, lo byte
$04F8+n  1272+n  Y coordinate, lo byte
$0578+n  1400+n  X coordinate, hi byte
$05F8+n  1528+n  Y coordinate, hi byte
$0778+n  1912+n  status: b1=movement int b2=button int b3=VBL int
                 b5=movement b6=still down from last b7=button down
$07F8+n  2040+n  mode: b0=active b1=VBL on move b2=VBL on button b3=VBL

Apple IIc Auxilary Memory
-------------------------
$0478    1144    printer port ACIA control reg
$0479    1145    printer port ACIA command reg
$047A    1146    printer port flags: b0=comm b6=auto LF b7=echo
$047B    1147    printer port printer width
$047C    1148    modem port ACIA control reg
$047D    1149    modem port ACIA command reg
$047E    1150    modem port flags: b0=comm b6=auto LF b7=echo
$047F    1151    modem port line length


### Graphics Modes:

.____________________________________________________________________________.
|Name                                   |Gr/Tx|Resol|Cols|AN3|NEWVIDEO|VGCINT|
|---------------------------------------+-----+-----+----+---+--------+------|
|40-Column Text                         |TEXT |IRR  |40  |IRR|1       |64    |
|---------------------------------------+-----+-----+----+---+--------+------|
|80-Column Text                         |TEXT |IRR  |80  |IRR|1       |64    |
|---------------------------------------+-----+-----+----+---+--------+------|
|Color 40-Column Text *                 |TEXT |IRR  |40  |OFF| Not on | IIgs |
|---------------------------------------+-----+-----+----+---+--------+------|
|Lo-Res Graphics                        |GR   |LOW  |IRR |ON |1       |64    |
|---------------------------------------+-----+-----+----+---+--------+------|
|Double Lo-Res Graphics                 |GR   |LOW  |80  |OFF|1       |64    |
|---------------------------------------+-----+-----+----+---+--------+------|
|Lo-Res Graphics w/ HiRes Bit Patterns  |GR   |LOW  |40  |OFF|1       |64    |
|---------------------------------------+-----+-----+----+---+--------+------|
|Hi-Res Graphics                        |GR   |HIGH |IRR |ON |1       |64    |
|---------------------------------------+-----+-----+----+---+--------+------|
|Double Hi-Res Graphics                 |GR   |HIGH |80  |OFF|1       |64    |
|---------------------------------------+-----+-----+----+---+--------+------|
|320x200 w/ 16 Colors, 16 Colors/Line,  |IRR  |IRR  |IRR |IRR|129     |???   |
|           1 Palette                   |     |     |    |   |        |      |
|---------------------------------------+-----+-----+----+---+--------+------|
|320x200 w/ 256 Colors; 16 Colors/Line, |IRR  |IRR  |IRR |IRR|129     |???   |
|           16 Palettes                 |     |     |    |   |        |      |
|---------------------------------------+-----+-----+----+---+--------+------|
|320x200 w/ 3200 Colors; 16 Colors/Line,|IRR  |IRR  |IRR |IRR|129     |???   |
|           200 Palettes                |     |     |    |   |        |      |
|---------------------------------------+-----+-----+----+---+--------+------|
|640x200 w/ 4 Pure Colors               |IRR  |IRR  |IRR |IRR|129     |???   |
|---------------------------------------+-----+-----+----+---+--------+------|
|640x200 w/ 16 Dithered Colors; 4 Colors|IRR  |IRR  |IRR |IRR|129     |???   |
|           on Odd Columns, 4 Colors on |     |     |    |   |        |      |
|           Even Columns                |     |     |    |   |        |      |
|---------------------------------------+-----+-----+----+---+--------+------|
|Fill Mode                              |IRR  |IRR  |IRR |IRR|129     |???   |
|---------------------------------------+-----+-----+----+---+--------+------|
|640x480 @ 24b <- up to -> 1024x768 @ 8b|       VIA SECOND SIGHT CARD        |
|---------------------------------------+------------------------------------|
| * This mode only works on RGB monitors connected to AppleColor 80-column   |
|   cards. It requires the 80-column firmware to be active, but showing 40   |
|   columns. It uses auxilary memory to determine the foreground and         |
|   background colors.                                                       |
'----------------------------------------------------------------------------'


### Super Serial Card DIP Switches

 .______________________ Switch Block #1 ______________________.
 |Switch number      Definition | Switch number      Definition|
 |------------------------------|------------------------------|
 |1   2   3   4       Baud Rate | 5   6            Mode Setting|
 |==============================|==============================|
 |ON  ON  ON  ON      Undefined | ON  ON         Communications|
 |ON  ON  ON  OFF            50 | OFF ON                Printer|
 |ON  ON  OFF ON             75 | ON  OFF      SIC P8 emulation|
 |ON  ON  OFF OFF           110 | OFF OFF     SIC P8A emulation|
 |ON  OFF ON  ON            135 |______________________________'
 |ON  OFF ON  OFF           150 |
 |ON  OFF OFF ON            300 |
 |ON  OFF OFF OFF           600 |
 |OFF ON  ON  ON           1200 |
 |OFF ON  OFF ON           2400 |
 |OFF ON  OFF OFF          3600 |
 |OFF OFF ON  ON           4800 |
 |OFF OFF ON  OFF          7200 |
 |OFF OFF OFF ON           9600 |
 |OFF OFF OFF OFF         19200 |
 '______________________________'
  
 .______________________ Switch Block #2 _____________________________.
 |Switch   Definition  | Switch  Def | Switch    Definition           |
 |---------------------|-------------|--------------------------------|
 |1        Data Format | 2  CR delay | 3   4     Line width/video     |
 |=====================|=============|================================|
 |ON   8 data, 1 stop  | ON   32 ms  | ON  ON   40 columns, video ON  |
 |OFF  8 data, 2 stop  | OFF  none   | ON  OFF  72 columns, video OFF |
 |                     |             | OFF ON   80 columns, video OFF |
 |                     |             | OFF OFF  132 columns, video OFF|
 '_____________________|_____________|________________________________'

 .____________ Switch Block #2 cont'd __________. ._____ Handshaking _____.
 |Switch   Definition  | Switch  Definition     | | Switch    Definition  |
 |---------------------|------------------------| |-----------------------|
 |5    Linefeeds       | 6       Interrupts     | | 1-7/2-7     CTS       |
 |---------------------|------------------------| |-----------------------|
 |ON   add LF after CR | ON      Interrupts on  | | ON/OFF Normal (Pin 20)|
 |OFF  don't add LFs   | OFF     No interrupts  | | OFF/ON Alt    (Pin 19)|
 '_____________________|________________________' '_______________________'
 .______________________________..________________________________________.
 |  Connector Pin Assignments   ||         Jumper Block Wiring            |
 |------------------------------||----------------------------------------|
 |  10 Pin   DB-25      Signal  || SSC signal  MODEM (pin) TERMINAL (pin) |
 |  Header  Connector    Name   ||----------------------------------------|
 |------------------------------||    TXD         TXD   2       RXD  3    |
 |    1        1      Frame GND ||    RXD         RXD   3       TXD  2    |
 |    2        2        TXD     ||    RTS         RTS   4       DCD  8    |
 |    3        3        RXD     ||    CTS         CTS   5       DCD  8    |
 |    4        4        RTS     ||    DSR         DSR   6       DTR 20    |
 |    5        5        CTS     ||    DCD         DCD   8       RTS  4    |
 |    6        6        DSR     ||    DCD         DCD   8       CTS  5    |
 |    7       19       SCTS     ||    DTR         DTR  20       DSR  6    |
 |    8        7     Signal GND ||----------------------------------------|
 |    9       20        DTR     || Note that RS-232-C signals on the SSC  |
 |   10        8        DCD     || use negative-true logic; that is, they |
 '______________________________'| are true at 0v and false at +5 volts   |
                                 '________________________________________'
 ._________________________________________. ._____________________.
 | Explanation Of Signals                  | |    Jumper Block     |
 | ----------------------------------------| |---------------------|
 | GND     Ground, either Frame or Signal  | |       MODEM         |
 | TXD     Transmit Data                   | |   ______________    |
 | RXD     Receive Data                    | |  |              |   |
 | RTS     Request To Send                 | |  |      /\      |   |
 | CTS     Clear To Send                   | |  |     /__\     |   |
 | DSR     Data Set Ready                  | |  |______________|   |
 | SCTS    Secondary CTS                   | |                     |
 | DTR     Data Terminal Ready             | |      TERMINAL       |
 | DCD     Data Carrier Detect             | |      (Printer)      |
 '_________________________________________' '_____________________'
  
 Pins 1-7 and 2-7 are set together to determine the SSC pin to be read
 for the Hardware Handshaking signal. Generally set to monitor Pin #20.
  
 Common Configurations: [Don't Forget The JUMPER Block]
  
        Hi Speed Modem                  ImageWriter I/II
       1234567  1234567                 1234567  1234567
 ON     XXXXXX  XXXXXX                     X XX  X  XX
 OFF   X              X                 XXX X     XX  XX

-- 
 _/_/_/ _/_/    _/        _/      _/    _/  Jonathyn Bet'nct
  _/     _/_/  _/_/ _/   _/_/ _/   _/_/_/  The Tammy Messenger
 _/    _/  _/ _/  _/ _/ _/  _/ _/     _/ http://tammynet.cjb.net
_/      _/_/ _/  _/ _/ _/  _/ _/  _/_/    jonrelay@napanet.net 