Apple II User Manual

Page of 257
0799   859D 8D 4C A6           STA P2L
0800   85A0 18                 CLC
0801   85A1 69 07              ADC #$07
0802   85A3 8D 4A A6           STA P3L
0803   85A6 AD 4B A6           LDA P3H
0804   85A9 8D 4D A6           STA P2H
0805   85AC 69 00              ADC #0
0806   85AE 8D 4B A6           STA P3H
0807   85B1 4C 40 86           JMP VER2+4
0808   85B4 C9 4A       JUMP1  CMP #'J'        ;JUMP (JUMP TABLE IN SYS RAM)
0809   85B6 D0 1F              BNE L11B
0810   85B8 AD 4A A6           LDA P3L
0811   85BB C9 08              CMP #8          ;0-7 ONLY VALID
0812   85BD B0 26              BCS JUM2
0813   85BF 20 9C 8B           JSR NACCES      ;WRITE PROT SYS RAM
0814   85C2 0A                 ASL A
0815   85C3 A8                 TAY
0816   85C4 A2 FF              LDX #$FF        ;INIT STK PTR
0817   85C6 9A                 TXS
0818   85C7 A9 7F              LDA #$7F        ;PUSH COLD RETURN
0819   85C9 48                 PHA
0820   85CA A9 FF              LDA #$FF
0821   85CC 48                 PHA
0822   85CD B9 21 A6           LDA JTABLE+1,Y  ;GET ADDR FROM TABLE
0823   85D0 48                 PHA             ;PUSH ON STACK
0824   85D1 B9 20 A6           LDA JTABLE,Y
0825   85D4 4C 08 84           JMP NR10        ;LOAD UP USER REG'S AND RTI
0826   85D7 C9 12       L11B   CMP #$12        ;LOAD KIM FMT, 1 PARM
0827   85D9 D0 14              BNE L21B
0828   85DB A0 00              LDY #0          ;MODE = KIM
0829   85DD AD 4A A6    L11C   LDA P3L
0830   85E0 C9 FF              CMP #$FF        ;ID MUST NOT BE FF
0831   85E2 D0 02              BNE *+4
0832   85E4 38                 SEC
0833   85E5 60          JUM2   RTS
0834   85E6 20 08 82           JSR PSHOVE      ;FIX PARM POSITION
0835   85E9 20 08 82    L11D   JSR PSHOVE
0836   85EC 4C 78 8C           JMP LENTRY
0837   85EF C9 13       L21B   CMP #$13        ;LOAD TAPE, HS FMT, 1 PARM
0838   85F1 D0 04              BNE WPR1B
0839   85F3 A0 80              LDY #$80        ;MODE = HS
0840   85F5 D0 E6              BNE L11C
0841   85F7 C9 57       WPR1B  CMP #'W'        ;WRITE PROT USER RAM
0842   85F9 D0 1B              BNE E1PARM
0843   85FB AD 4A A6           LDA P3L         ; FIRST DIG IS 1K ABOVE 0,
0844   85FE 29 11              AND #$11        ; SECOND IS 2K ABOVE 0
0845   8600 C9 08              CMP #8          ; THIRD IS 3K ABOVE 0.
0846   8602 2A                 ROL A
0847   8603 4E 4B A6           LSR P3H
0848   8606 2A                 ROL A
0849   8607 0A                 ASL A
0850   8608 29 0F              AND #$0F
0851   860A 49 0F              EOR #$0F        ;0 IS PROTECT
0852   860C 8D 01 AC           STA OR3A
0853   860F A9 0F              LDA #$0F
0854   8611 8D 03 AC           STA DDR3A
0855   8614 18                 CLC
0856   8615 60                 RTS
0857   8616 4C 27 88    E1PARM JMP CALC3
0858   8619             B2PARM =*
0859   8619             ;
0860   8619             ; 2 PARAMETER EXEC BLOCKS