0000        0100        .OPT NOEJECT            0105 ;            0110 ; ******************************            0115 ;            0120 ;   ASSEMBLER LIGHTPEN DRIVER             0125 ;            0130 ;     (C)1984 BERNHARD ENGL            0135 ;            0140 ; ******************************            0145 ;0012        0150 RTCLOK =     $120234        0155 LPENH  =     $2340235        0160 LPENV  =     $235            0165 ;00D4        0170 PENX   =     $21204D5        0175 PENY   =     $213            0180 ;0000        0185        *=    $600            0190 ;0600 68     0195 GETPEN PLA               PULL NO PARAMS0601 A9FF   0200        LDA #$FF          INIT RESULTS0603 85D4   0205        STA PENX0605 85D5   0210        STA PENY0607 A203   0215        LDX #3            SAMPLE COUNTER0609 A514   0220 GETPE1 LDA RTCLOK+2      WAIT FOR NEXT FRAME060B C514   0225 GETPE2 CMP RTCLOK+2060D F0FC   0230        BEQ GETPE2060F AD3402 0235        LDA LPENH         GET LIGHTPEN H-REGISTER0612 C90A   0240        CMP #10           CALCULATE X-COORDINATE0614 9002   0245        BBC GETPE30616 E9E4   0250        SBC #2280618 18     0255 GETPE3 CLC0619 699A   0260        ADC #154061B C5D4   0265        CMP PENX061D B002   0270        BCS GETPE4061F 85D4   0275        STA PENX          ACCEPT MINIMUM ONLY0621 AD3502 0280 GETPE4 LDA LPENV         GET LIGHTPEN V-REGISTER0624 38     0285        SEC               CALCULATE Y-KOORDINATE0625 E910   0290        SBC #160627 C5D5   0295        CMP PENY0629 B002   0300        BCS GETPE5        ACCEPT MINIMUM ONLY062B 85D5   0305        STA PENY062D CA     0310 GETPE5 DEX062E D0D9   0315        BNE GETPE1        NEXT SAMPLE0630 A5D4   0320        LDA PENX          TEST FOR LEGAL RANGE0632 C9A0   0325        CMP #1600634 B0CB   0330        BCS GETPEN+10636 A5D5   0335        LDA PENY0638 C960   0340        CMP #96063A B0C5   0345        BCS GETPEN+1063C 60     0350        RTS