Apple II User Manual

Page of 257
0119   A416             CURPOS .BLOCK 1        ;PRINTER POINTER
0120   A417             CNTH30 .BLOCK 1        ;BAUD RATE &...
0121   A418             CNTL30 .BLOCK 1        ;DELAY FOR TTY
0122   A419             COUNT  .BLOCK 1        ;# OF LINES (0-99)
0123   A41A             S1     .BLOCK 2        ;START ADDRESS
0124   A41C             ADDR   .BLOCK 2        ;END ADDRESS
0125   A41E             CKSUM  .BLOCK 2        ;CHECKSUM
0126   A420             S2     =BKS+6          ;VERTICAL COUNT (ONLY ON DUMP)
0127   A420
0128   A420             ;MONITOR REGISTERS
0129   A420             SAVPS  .BLOCK 1        ;STATUS
0130   A421             SAVA   .BLOCK 1        ;ACCUM
0131   A422             SAVX   .BLOCK 1        ;X REG
0132   A423             SAVY   .BLOCK 1        ;Y REG
0133   A424             SAVS   .BLOCK 1        ;STACK POINTER
0134   A425             SAVPC  .BLOCK 2        ;PROGR COUNTER
0135   A427
0136   A427             ;WORK AREAS FOR PAGE ZERO SIMULATION
0137   A427             ;SIMULATE LDA (NNNN),Y ,WHERE NNNN IS ABSOLUTE
0138   A427             STIY   .BLOCK 3        ;STA NM,Y
0139   A42A             CPIY   .BLOCK 3        ;CMP NM,Y   OR  LDA NM,Y
0140   A42D                    .BLOCK 1        ;RTS
0141   A42E             LDIY   =CPIY           ;LDA NM,Y
0142   A42E
0143   A42E             ;VARIABLES FOR TAPE
0144   A42E             NAME   .BLOCK 6        ;FILE NAME
0145   A434             TAPIN  .BLOCK 1        ;IN  FLG (TAPE 1 OR 2)
0146   A435             TAPOUT .BLOCK 1        ;OUT FLG (TAPE 1 OR 2)
0147   A436             TAPTR  .BLOCK 1        ;TAPE BUFF POINTER
0148   A437             TAPTR2 .BLOCK 1        ;TAPE OUTPUT BUFF PTR
0149   A438             HIST   =NAME           ;FOUR LAST ADDR + NEXT (SINGL STEP)`
0150   A438             BLK    =$0115          ;BLOCK COUNT
0151   A438             TABUFF =$0116          ;TAPE BUFFER (I/O)
0152   A438             BLKO   =$0168          ;OUTPUT BLOCK COUNT
0153   A438             TABUF2 =$00AD          ;OUTPUT BUFF WHEN ASSEMB (PAG0)
0154   A438             DIBUFF .BLOCK 40       ;DISPLAY BUFFER
0155   A460
0156   A460             ;VARIABLES USED IN PRINTING
0157   A460             IBUFM  .BLOCK 20       ;PRINTER BUFFER
0158   A474             IDIR   .BLOCK 1        ;DIRECTION == 0=>+ , FF=>-
0159   A475             ICOL   .BLOCK 1        ;COLUMN  LEFTMOST=0,RIGHTMOST=4
0160   A476             IOFFST .BLOCK 1        ;OFFSET  0=LEFT DGT,1=RIGHT DGT
0161   A477             IDOT   .BLOCK 1        ;# OF LAST DOT ENCOUNTERED
0162   A478             IOUTL  .BLOCK 1        ;LOWER 8 OUTPUTS(8 COLS ON RIGHT)
0163   A479             IOUTU  .BLOCK 1        ;UPPER 2 DIGITS
0164   A47A             IBITL  .BLOCK 1        ;1 BIT MSK FOR CURRENT OUTPUT
0165   A47B             IBITU  .BLOCK 1
0166   A47C             IMASK  .BLOCK 1        ;MSK FOR CURRENT ROW
0167   A47D             JUMP   .BLOCK 2        ;INDIR & ADDR OF TABL FOR CURR ROW
0168   A47F
0169   A47F             ;VARIABLES FOR KEYBOARD
0170   A47F             ROLLFL .BLOCK 1        ;SAVE LAST STROBE FOR ROLLOVER
0171   A480             KMASK  =CPIY           ;TO MASK OFF CTRL OR SHIFT
0172   A480             STBKEY =CPIY+1         ;STROBE KEY (1-8 COLUMNS)
0173   A480
0174   A480             ;               I/O ASSIGNMENT
0175   A480                    *=$A480
0176   A480             DRA2   .BLOCK 1        ;DATA REG A
0177   A481             DDRA2  .BLOCK 1        ;DATA DIR REG A
0178   A482             DRB2   .BLOCK 1        ;DATA REG B
0179   A483             DDRB2  .BLOCK 1        ;DATA DIR REG B
0180   A484