Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.sys.apple2.programmer > #1168

Source Code for Multitasking Mouse Draw Demo v1.1

From D Finnigan <dog_cow@macgui.com>
Newsgroups comp.sys.apple2.programmer
Subject Source Code for Multitasking Mouse Draw Demo v1.1
Date 2014-02-25 21:01 +0000
Organization bbs-scene usenet news
Message-ID <dog_cow-multitasking-sourcev1.1-24feb14@macgui.com> (permalink)
References <dog_cow-1393361871@macgui.com>

Show all headers | View raw


For the benefit of all Apple II users, the source code is hereby 
surrendered into the public domain. I claim no copyright on the source code. 

Assembler used is Merlin. 


                1    KBD      EQU   $C000      
                2    KBDSTRB  EQU   $C010      
                3    SPKR     EQU   $C030      
                4    PRBYTE   EQU   $FDDA      
                5    PRNTAX   EQU   $F941      
                6    DOSWARM  EQU   $3D0       
                7    IRQLOC   EQU   $3FE       
                8    COUT     EQU   $FDED      
                9    VBLINT   EQU   $09        
                10   MOUIDLOC1 EQU  $05        
                11   MOUIDLOC2 EQU  $07        
                12   MOUIDLOC3 EQU  $0B        
                13   MOUIDLOC4 EQU  $0C        
                14   MOUIDLOC5 EQU  $FB        
                15   MOUID1   EQU   $38        
                16   MOUID2   EQU   $18        
                17   MOUID3   EQU   $01        
                18   MOUID4   EQU   $20        
                19   MOUID5   EQU   $D6        
                20   BASEADDR EQU   $06        ; 2-BYTES FOR INDEXED ADDRESSING 
                21   MSLOT    EQU   $08        
                22   CTR      EQU   $09        ; IRQ COUNTER 
                23   ACT      EQU   $19        ; ACTIVE PROCESS 
                24   MAXP     EQU   $06        
                25   MOUXPOS  EQU   $1A        ; 2 BYTES FOR MOUSE X-POSITION 
                26   MOUYPOS  EQU   $1C        
                27   MOUSTAT  EQU   $1E        
                28   CLRTOP   EQU   $F836      
                29   SETCOL   EQU   $F864      
                30   PLOT     EQU   $F800      
                31   SCRN     EQU   $F871      
                32   GR       EQU   $C050      
                33   MIX      EQU   $C053      
                34   RED      EQU   $01        
                35   BLUE     EQU   $02        
                36   BLACK    EQU   $00        
                37   WHITE    EQU   $0F        
                38   * 
8000: A9 9B     39            LDA   #$9B       
8002: 20 ED FD  40            JSR   COUT       
8005: A9 91     41            LDA   #$91       ; KILL 80-COLS FIRMWARE 
8007: 20 ED FD  42            JSR   COUT       
800A: A9 14     43            LDA   #$14       
800C: 85 22     44            STA   $22        ; TOP OF TEXT WINDOW 
800E: 85 25     45            STA   $25        
                46   * 
8010: A9 00     47   FINDMOUSE LDA  #$00       
8012: 85 06     48            STA   BASEADDR   
8014: A9 C8     49            LDA   #$C8       
8016: 85 07     50            STA   BASEADDR+1 
8018: A2 08     51            LDX   #$08       
801A: CA        52   :LOOP1   DEX              
801B: F0 42     53            BEQ   :NOMOUSE   
801D: C6 07     54            DEC   BASEADDR+1 
801F: A0 05     55            LDY   #MOUIDLOC1 
8021: B1 06     56            LDA   (BASEADDR),Y 
8023: C9 38     57            CMP   #MOUID1    
8025: D0 F3     58            BNE   :LOOP1     
8027: A0 07     59            LDY   #MOUIDLOC2 
 
 
                              ===== Page 2 ===== 
 
8029: B1 06     60            LDA   (BASEADDR),Y 
802B: C9 18     61            CMP   #MOUID2    
802D: D0 EB     62            BNE   :LOOP1     
802F: A0 0B     63            LDY   #MOUIDLOC3 
8031: B1 06     64            LDA   (BASEADDR),Y 
8033: C9 01     65            CMP   #MOUID3    
8035: D0 E3     66            BNE   :LOOP1     
8037: A0 0C     67            LDY   #MOUIDLOC4 
8039: B1 06     68            LDA   (BASEADDR),Y 
803B: C9 20     69            CMP   #MOUID4    
803D: D0 DB     70            BNE   :LOOP1     
803F: A0 FB     71            LDY   #MOUIDLOC5 
8041: B1 06     72            LDA   (BASEADDR),Y 
8043: C9 D6     73            CMP   #MOUID5    
8045: D0 D3     74            BNE   :LOOP1     
8047: 8A        75            TXA              
8048: 0A        76            ASL              
8049: 0A        77            ASL              
804A: 0A        78            ASL              
804B: 0A        79            ASL              
804C: 85 08     80            STA   MSLOT      
804E: A9 8D     81            LDA   #$8D       
8050: 20 ED FD  82            JSR   COUT       
8053: 8A        83            TXA              
8054: 20 DA FD  84            JSR   PRBYTE     
8057: A9 8D     85            LDA   #$8D       
8059: 20 ED FD  86            JSR   COUT       
805C: 4C 7C 80  87            JMP   CREATEALL  
805F: A0 00     88   :NOMOUSE LDY   #$00       
8061: B9 71 80  89   :LOOP    LDA   NOMOUMSG,Y 
8064: F0 08     90            BEQ   :DONE      
8066: 09 80     91            ORA   #$80       
8068: 20 ED FD  92            JSR   COUT       
806B: C8        93            INY              
806C: D0 F3     94            BNE   :LOOP      
806E: 4C D0 03  95   :DONE    JMP   DOSWARM    
8071: 8D CE CF  96   NOMOUMSG HEX   8DCECFA0CDCFD5D3C58D00 
8074: A0 CD CF D5 D3 C5 8D 00 
                97   * 
807C: 58        98   CREATEALL CLI             
807D: 08        99            PHP              
807E: 78        100           SEI              
807F: A9 FF     101           LDA   #$FF       
8081: 8D 00 82  102           STA   STKTAB     
8084: 85 19     103           STA   ACT        
8086: A0 16     104           LDY   #$16       
8088: A9 83     105           LDA   #<PROC0    
808A: A2 82     106           LDX   #>PROC0    
808C: 20 9A 80  107           JSR   NEWPROC    
808F: 20 F1 80  108           JSR   VBLON      
8092: A9 13     109           LDA   #$13       
8094: 85 09     110           STA   CTR        
8096: 28        111           PLP              ; ENABLE IRQ 
8097: 4C 97 80  112  :IDLE    JMP   :IDLE      
                113  * 
809A: 08        114  NEWPROC  PHP              
809B: 78        115           SEI              
 
 
                              ===== Page 3 ===== 
 
809C: 48        116           PHA              
809D: 8A        117           TXA              
809E: 48        118           PHA              
809F: 98        119           TYA              
80A0: 48        120           PHA              
80A1: AC 00 82  121           LDY   STKTAB     
80A4: C8        122           INY              ; NEXT PROCESS ID 
80A5: F0 04     123           BEQ   :CURR      ; FIRST PROCESS? 
80A7: C0 06     124           CPY   #MAXP      ; PROCESS LIMIT REACHED? 
80A9: F0 45     125           BEQ   :DONE      
80AB: 8C 00 82  126  :CURR    STY   STKTAB     
80AE: F0 0F     127           BEQ   :TSX       ; OFFSET FROM CURRENT SP 
80B0: 88        128           DEY              ; OFFSET FROM LAST PROC SP 
80B1: C4 19     129           CPY   ACT        ; CURRENT PROCESS? 
80B3: F0 0A     130           BEQ   :TSX       
80B5: BE 01 82  131           LDX   STKTAB+1,Y 
80B8: 8A        132           TXA              
80B9: 38        133           SEC              
80BA: E9 20     134           SBC   #$20       ; NEW PROC SP 
80BC: C8        135           INY              
80BD: D0 08     136           BNE   :STORSP    
80BF: BA        137  :TSX     TSX              
80C0: 8A        138           TXA              
80C1: 38        139           SEC              
80C2: E9 20     140           SBC   #$20       
80C4: AC 00 82  141           LDY   STKTAB     ; RELOAD NEW PROCESS ID 
80C7: AA        142  :STORSP  TAX              
80C8: 99 01 82  143           STA   STKTAB+1,Y 
80CB: 68        144           PLA              ; PROCESS PRIORITY 
80CC: 99 07 82  145           STA   PRIOTAB,Y  
80CF: 68        146           PLA              ; HI-BYTE OF START ADDR 
80D0: 9D 00 01  147           STA   $0100,X    
80D3: CA        148           DEX              
80D4: 68        149           PLA              ; LO-BYTE OF START ADDR 
80D5: 9D 00 01  150           STA   $0100,X    
80D8: A9 00     151           LDA   #$00       ; INITIAL PROCESSOR STATUS 
80DA: CA        152           DEX              
80DB: 9D 00 01  153           STA   $0100,X    
80DE: CA        154           DEX              
80DF: 9D 00 01  155           STA   $0100,X    ; INITIAL REGISTERS 
80E2: CA        156           DEX              
80E3: 9D 00 01  157           STA   $0100,X    
80E6: CA        158           DEX              
80E7: 9D 00 01  159           STA   $0100,X    
80EA: CA        160           DEX              
80EB: 8A        161           TXA              
80EC: 99 01 82  162           STA   STKTAB+1,Y 
80EF: 28        163           PLP              
80F0: 60        164  :DONE    RTS              
                165  * 
80F1: A9 01     166  VBLON    LDA   #$01       
80F3: 20 15 81  167           JSR   SETMOUSE   
80F6: 20 09 81  168           JSR   INITMOUSE  
80F9: A9 8B     169           LDA   #<IRQ      
80FB: 8D FE 03  170           STA   IRQLOC     
80FE: A9 81     171           LDA   #>IRQ      
8100: 8D FF 03  172           STA   IRQLOC+1   
 
 
                              ===== Page 4 ===== 
 
8103: A9 09     173           LDA   #VBLINT    
8105: 20 15 81  174           JSR   SETMOUSE   ; TURN ON MOUSE VBL INTERRUPTS 
8108: 60        175           RTS              
                176  * 
8109: A0 19     177  INITMOUSE LDY  #$19       
810B: A9 00     178           LDA   #$00       
810D: 85 06     179           STA   BASEADDR   
810F: B1 06     180           LDA   (BASEADDR),Y 
8111: 85 06     181           STA   BASEADDR   
8113: D0 3E     182           BNE   MOUSEJMP   
                183  * 
8115: A0 12     184  SETMOUSE LDY   #$12       
8117: AA        185           TAX              
8118: A9 00     186           LDA   #$00       
811A: 85 06     187           STA   BASEADDR   
811C: B1 06     188           LDA   (BASEADDR),Y 
811E: 85 06     189           STA   BASEADDR   
8120: 8A        190           TXA              
8121: 10 30     191           BPL   MOUSEJMP   
                192  * 
8123: A0 13     193  SERVEMOUSE LDY #$13       
8125: A9 00     194           LDA   #$00       
8127: 85 06     195           STA   BASEADDR   
8129: B1 06     196           LDA   (BASEADDR),Y 
812B: 85 06     197           STA   BASEADDR   
812D: D0 24     198           BNE   MOUSEJMP   
                199  * 
812F: AA        200  CLAMPMOUSE TAX            
8130: A0 17     201           LDY   #$17       
8132: A9 00     202           LDA   #$00       
8134: 85 06     203           STA   BASEADDR   
8136: B1 06     204           LDA   (BASEADDR),Y 
8138: 85 06     205           STA   BASEADDR   
813A: 8A        206           TXA              
813B: 10 16     207           BPL   MOUSEJMP   
                208  * 
813D: A0 18     209  HOMEMOUSE LDY  #$18       
813F: A9 00     210           LDA   #$00       
8141: 85 06     211           STA   BASEADDR   
8143: B1 06     212           LDA   (BASEADDR),Y 
8145: 85 06     213           STA   BASEADDR   
8147: D0 0A     214           BNE   MOUSEJMP   
                215  * 
8149: A0 14     216  READMOUSE LDY  #$14       
814B: A9 00     217           LDA   #$00       
814D: 85 06     218           STA   BASEADDR   
814F: B1 06     219           LDA   (BASEADDR),Y 
8151: 85 06     220           STA   BASEADDR   
                221  * 
8153: A6 07     222  MOUSEJMP LDX   BASEADDR+1 
8155: A4 08     223           LDY   MSLOT      
8157: 6C 06 00  224           JMP   (BASEADDR) 
                225  * 
815A: 08        226  SLEEP    PHP              
815B: 78        227           SEI              
815C: 29 7F     228           AND   #$7F       
815E: 48        229           PHA              
 
 
                              ===== Page 5 ===== 
 
815F: 8A        230           TXA              
8160: 48        231           PHA              
8161: 98        232           TYA              
8162: 48        233           PHA              
8163: A4 19     234           LDY   ACT        
8165: BA        235           TSX              
8166: E8        236           INX              
8167: E8        237           INX              
8168: E8        238           INX              
8169: BD 00 01  239           LDA   $0100,X    
816C: 99 0D 82  240           STA   SLPTAB,Y   
816F: D0 09     241           BNE   YIELD2     
8171: F0 07     242           BEQ   YIELD2     
                243  * 
8173: 08        244  YIELD    PHP              
8174: 78        245           SEI              
8175: 48        246           PHA              
8176: 8A        247           TXA              
8177: 48        248           PHA              
8178: 98        249           TYA              
8179: 48        250           PHA              
817A: BA        251  YIELD2   TSX              ; FIX JSR RETURN FOR RTI 
817B: 8A        252           TXA              
817C: 18        253           CLC              
817D: 69 05     254           ADC   #$05       
817F: AA        255           TAX              
8180: FE 00 01  256           INC   $0100,X    
8183: D0 47     257           BNE   RESETCTR   
8185: E8        258           INX              
8186: FE 00 01  259           INC   $0100,X    
8189: D0 41     260           BNE   RESETCTR   
                261  
                262  * 
818B: A5 45     263  IRQ      LDA   $45        
818D: 48        264           PHA              
818E: 8A        265           TXA              
818F: 48        266           PHA              
8190: 98        267           TYA              
8191: 48        268           PHA              
8192: 20 23 81  269           JSR   SERVEMOUSE 
8195: B0 63     270           BCS   IRQDONE    
8197: 20 49 81  271           JSR   READMOUSE  
819A: A5 07     272           LDA   BASEADDR+1 
819C: 29 0F     273           AND   #$F        
819E: AA        274           TAX              
819F: BD 78 04  275           LDA   $478,X     
81A2: 85 1A     276           STA   MOUXPOS    
81A4: BD F8 04  277           LDA   $4F8,X     
81A7: 85 1C     278           STA   MOUYPOS    
81A9: BD 78 05  279           LDA   $578,X     
81AC: 85 1B     280           STA   MOUXPOS+1  
81AE: BD F8 05  281           LDA   $5F8,X     
81B1: 85 1D     282           STA   MOUYPOS+1  
81B3: BD 78 07  283           LDA   $778,X     
81B6: 85 1E     284           STA   MOUSTAT    
81B8: A4 19     285           LDY   ACT        
81BA: 30 1B     286           BMI   IRQNEXT    ; BOOTSTRAP INITIAL PROCESS 
 
 
                              ===== Page 6 ===== 
 
81BC: AD 00 82  287           LDA   STKTAB     
81BF: F0 39     288           BEQ   IRQDONE    ; ONLY 1 PROCESS 
81C1: A5 09     289  :CTR     LDA   CTR        
81C3: D9 07 82  290           CMP   PRIOTAB,Y  
81C6: F0 04     291           BEQ   RESETCTR   
81C8: E6 09     292           INC   CTR        
81CA: D0 2E     293           BNE   IRQDONE    
81CC: A9 00     294  RESETCTR LDA   #$00       
81CE: 85 09     295           STA   CTR        
81D0: A4 19     296           LDY   ACT        
81D2: BA        297           TSX              
81D3: 8A        298           TXA              
81D4: 99 01 82  299           STA   STKTAB+1,Y 
81D7: C8        300  IRQNEXT  INY              
81D8: CC 00 82  301           CPY   STKTAB     
81DB: 90 04     302           BCC   :SLEEP     
81DD: F0 02     303           BEQ   :SLEEP     
81DF: A0 00     304           LDY   #$00       ; LOOP BACK TO PROCESS 0 
81E1: B9 0D 82  305  :SLEEP   LDA   SLPTAB,Y   
81E4: F0 08     306           BEQ   :CTXSW     ; PROCESS IS NOT ASLEEP 
81E6: AA        307           TAX              
81E7: CA        308           DEX              
81E8: 8A        309           TXA              
81E9: 99 0D 82  310           STA   SLPTAB,Y   
81EC: D0 E9     311           BNE   IRQNEXT    
81EE: BE 01 82  312  :CTXSW   LDX   STKTAB+1,Y 
81F1: 9A        313           TXS              
81F2: 84 19     314           STY   ACT        
81F4: AD 30 C0  315           LDA   SPKR       
81F7: AD 30 C0  316           LDA   SPKR       
81FA: 68        317  IRQDONE  PLA              
81FB: A8        318           TAY              
81FC: 68        319           PLA              
81FD: AA        320           TAX              
81FE: 68        321           PLA              
81FF: 40        322           RTI              
                323  * 
8200: 00 00 00  324  STKTAB   DS    MAXP+1     
8203: 00 00 00 00 
8207: 00 00 00  325  PRIOTAB  DS    MAXP       ; PROCESS PRIORITIES TABLE 
820A: 00 00 00 
820D: 00 00 00  326  SLPTAB   DS    MAXP       ; SLEEPING PROCESSES TABLE 
8210: 00 00 00 
                327  * 
8213: A5 1E     328  PROC3    LDA   MOUSTAT    
8215: 10 17     329           BPL   :NEXT      
8217: A5 1A     330           LDA   MOUXPOS    
8219: 08        331           PHP              
821A: 78        332           SEI              
821B: 20 DA FD  333           JSR   PRBYTE     
821E: A9 A0     334           LDA   #$A0       
8220: 20 ED FD  335           JSR   COUT       
8223: A5 1C     336           LDA   MOUYPOS    
8225: 20 DA FD  337           JSR   PRBYTE     
8228: A9 8D     338           LDA   #$8D       
822A: 20 ED FD  339           JSR   COUT       
822D: 28        340           PLP              
 
 
                              ===== Page 7 ===== 
 
822E: 20 73 81  341  :NEXT    JSR   YIELD      
8231: 4C 13 82  342           JMP   PROC3      
                343  * 
8234: A2 27     344  PROC2    LDX   #$27       
8236: A0 27     345           LDY   #$27       
8238: A9 03     346           LDA   #$03       
823A: 20 5A 81  347           JSR   SLEEP      
823D: 08        348  :L1      PHP              
823E: 78        349           SEI              
823F: A9 02     350           LDA   #BLUE      
8241: 20 64 F8  351           JSR   SETCOL     
8244: 8A        352           TXA              
8245: 20 00 F8  353           JSR   PLOT       
8248: 28        354           PLP              
8249: 20 73 81  355           JSR   YIELD      
824C: 88        356           DEY              
824D: 10 EE     357           BPL   :L1        
824F: A0 27     358           LDY   #$27       
8251: CA        359           DEX              
8252: 10 E9     360           BPL   :L1        
8254: A2 27     361           LDX   #$27       
8256: D0 E5     362           BNE   :L1        
                363  * 
8258: A0 00     364  PROC1    LDY   #$00       
825A: A2 00     365           LDX   #$00       
825C: 08        366  :L1      PHP              
825D: 78        367           SEI              
825E: A9 01     368           LDA   #RED       
8260: 20 64 F8  369           JSR   SETCOL     
8263: 8A        370           TXA              
8264: 20 00 F8  371           JSR   PLOT       
8267: 28        372           PLP              
8268: 20 73 81  373           JSR   YIELD      
826B: C8        374           INY              
826C: C0 28     375           CPY   #$28       
826E: D0 EC     376           BNE   :L1        
8270: A0 00     377           LDY   #$00       
8272: A9 07     378           LDA   #$07       
8274: 20 5A 81  379           JSR   SLEEP      
8277: E8        380           INX              
8278: E0 28     381           CPX   #$28       
827A: D0 E0     382           BNE   :L1        
827C: A2 00     383           LDX   #$00       
827E: F0 DC     384           BEQ   :L1        
8280: 4C 58 82  385           JMP   PROC1      
                386  * 
8283: 08        387  PROC0    PHP              
8284: 78        388           SEI              
8285: A9 00     389           LDA   #$00       
8287: A2 27     390           LDX   #$27       ; MAX X CLAMP 
8289: 8D 78 04  391           STA   $478       
828C: 8E F8 04  392           STX   $4F8       
828F: 8D 78 05  393           STA   $578       
8292: 8D F8 05  394           STA   $5F8       
8295: 20 2F 81  395           JSR   CLAMPMOUSE 
8298: A0 00     396           LDY   #$00       
829A: A9 01     397           LDA   #$01       
 
 
                              ===== Page 8 ===== 
 
829C: A2 27     398           LDX   #$27       
829E: 8C 78 04  399           STY   $478       
82A1: 8E F8 04  400           STX   $4F8       
82A4: 8C 78 05  401           STY   $578       
82A7: 8C F8 05  402           STY   $5F8       
82AA: 20 2F 81  403           JSR   CLAMPMOUSE 
82AD: 20 3D 81  404           JSR   HOMEMOUSE  
82B0: 28        405           PLP              
82B1: AD 53 C0  406           LDA   MIX        
82B4: AD 50 C0  407           LDA   GR         
82B7: 08        408           PHP              
82B8: 78        409           SEI              
82B9: 20 36 F8  410           JSR   CLRTOP     
82BC: 28        411           PLP              
82BD: A0 0B     412           LDY   #$0B       ; PROCESS PRIORITY 
82BF: A9 58     413           LDA   #<PROC1    
82C1: A2 82     414           LDX   #>PROC1    
82C3: 20 9A 80  415           JSR   NEWPROC    
82C6: A0 06     416           LDY   #$06       
82C8: A9 34     417           LDA   #<PROC2    
82CA: A2 82     418           LDX   #>PROC2    
82CC: 20 9A 80  419           JSR   NEWPROC    
82CF: A0 0B     420           LDY   #$0B       
82D1: A9 13     421           LDA   #<PROC3    
82D3: A2 82     422           LDX   #>PROC3    
82D5: 20 9A 80  423           JSR   NEWPROC    
82D8: 2C 00 C0  424  :NEXT    BIT   KBD        
82DB: 30 16     425           BMI   :CLRIT     
82DD: 08        426           PHP              
82DE: 78        427           SEI              
82DF: A5 1E     428           LDA   MOUSTAT    ; CHECK BUTTON STATUS 
82E1: 10 0C     429           BPL   :PULL      
82E3: A9 0F     430           LDA   #WHITE     
82E5: 20 64 F8  431           JSR   SETCOL     
82E8: A5 1C     432           LDA   MOUYPOS    
82EA: A4 1A     433           LDY   MOUXPOS    
82EC: 20 00 F8  434           JSR   PLOT       
82EF: 28        435  :PULL    PLP              
82F0: 4C D8 82  436           JMP   :NEXT      
82F3: 2C 10 C0  437  :CLRIT   BIT   KBDSTRB    
82F6: A0 00     438           LDY   #$00       
82F8: A2 00     439           LDX   #$00       
82FA: 8A        440  :L1      TXA              
82FB: 08        441           PHP              
82FC: 78        442           SEI              
82FD: 20 71 F8  443           JSR   SCRN       
8300: 28        444           PLP              
8301: 48        445           PHA              
8302: 68        446           PLA              
8303: C9 0F     447           CMP   #WHITE     
8305: D0 0C     448           BNE   :L2        
8307: A9 00     449           LDA   #BLACK     
8309: 08        450           PHP              
830A: 78        451           SEI              
830B: 20 64 F8  452           JSR   SETCOL     
830E: 8A        453           TXA              ; VERTICAL POSITION IN A-REG 
830F: 20 00 F8  454           JSR   PLOT       
 
 
                              ===== Page 9 ===== 
 
8312: 28        455           PLP              
8313: C8        456  :L2      INY              
8314: C0 28     457           CPY   #$28       
8316: D0 E2     458           BNE   :L1        
8318: A0 00     459           LDY   #$00       
831A: E8        460           INX              
831B: E0 28     461           CPX   #$28       
831D: D0 DB     462           BNE   :L1        
831F: A0 00     463           LDY   #$00       
8321: B9 34 83  464  :MSGL    LDA   CLRMSG,Y   
8324: F0 0B     465           BEQ   :MSGDONE   
8326: 09 80     466           ORA   #$80       
8328: 08        467           PHP              
8329: 78        468           SEI              
832A: 20 ED FD  469           JSR   COUT       
832D: 28        470           PLP              
832E: C8        471           INY              
832F: D0 F0     472           BNE   :MSGL      
8331: 4C D8 82  473  :MSGDONE JMP   :NEXT      
8334: 43 4C 45  474  CLRMSG   ASC   B4CLEARB4 
8337: 41 52 
8339: 8D 00     475           HEX   8D00       
--End assembly, 827 bytes, Errors: 0 
Symbol table - alphabetical order: 
   ACT     =$19        BASEADDR=$06        BLACK   =$00        BLUE    =$02 
   CLAMPMOUSE=$812F      CLRMSG  =$8334      CLRTOP  =$F836      COUT    =$FDED 
   CREATEALL=$807C      CTR     =$09        DOSWARM =$03D0   ?  FINDMOUSE=$8010 
   GR      =$C050      HOMEMOUSE=$813D      INITMOUSE=$8109      IRQ     =$818B 
   IRQDONE =$81FA      IRQLOC  =$03FE      IRQNEXT =$81D7      KBD     =$C000 
   KBDSTRB =$C010      MAXP    =$06        MIX     =$C053      MOUID1  =$38 
   MOUID2  =$18        MOUID3  =$01        MOUID4  =$20        MOUID5  =$D6 
   MOUIDLOC1=$05        MOUIDLOC2=$07        MOUIDLOC3=$0B        MOUIDLOC4=$0C 
   MOUIDLOC5=$FB        MOUSEJMP=$8153      MOUSTAT =$1E        MOUXPOS =$1A 
   MOUYPOS =$1C        MSLOT   =$08        NEWPROC =$809A      NOMOUMSG=$8071 
   PLOT    =$F800      PRBYTE  =$FDDA      PRIOTAB =$8207   ?  PRNTAX  =$F941 
   PROC0   =$8283      PROC1   =$8258      PROC2   =$8234      PROC3   =$8213 
   READMOUSE=$8149      RED     =$01        RESETCTR=$81CC      SCRN    =$F871 
   SERVEMOUSE=$8123      SETCOL  =$F864      SETMOUSE=$8115      SLEEP   =$815A 
   SLPTAB  =$820D      SPKR    =$C030      STKTAB  =$8200      VBLINT  =$09 
   VBLON   =$80F1      WHITE   =$0F        YIELD   =$8173      YIELD2  =$817A 
Symbol table - numerical order: 
   BLACK   =$00        MOUID3  =$01        RED     =$01        BLUE    =$02 
   MOUIDLOC1=$05        BASEADDR=$06        MAXP    =$06        MOUIDLOC2=$07 
   MSLOT   =$08        VBLINT  =$09        CTR     =$09        MOUIDLOC3=$0B 
   MOUIDLOC4=$0C        WHITE   =$0F        MOUID2  =$18        ACT     =$19 
   MOUXPOS =$1A        MOUYPOS =$1C        MOUSTAT =$1E        MOUID4  =$20 
   MOUID1  =$38        MOUID5  =$D6        MOUIDLOC5=$FB        DOSWARM =$03D0 
   IRQLOC  =$03FE   ?  FINDMOUSE=$8010      NOMOUMSG=$8071      CREATEALL=$807C 
 
 
                              ===== Page 10 ===== 
 
   NEWPROC =$809A      VBLON   =$80F1      INITMOUSE=$8109      SETMOUSE=$8115 
   SERVEMOUSE=$8123      CLAMPMOUSE=$812F      HOMEMOUSE=$813D      READMOUSE=$8149 
   MOUSEJMP=$8153      SLEEP   =$815A      YIELD   =$8173      YIELD2  =$817A 
   IRQ     =$818B      RESETCTR=$81CC      IRQNEXT =$81D7      IRQDONE =$81FA 
   STKTAB  =$8200      PRIOTAB =$8207      SLPTAB  =$820D      PROC3   =$8213 
   PROC2   =$8234      PROC1   =$8258      PROC0   =$8283      CLRMSG  =$8334 
   KBD     =$C000      KBDSTRB =$C010      SPKR    =$C030      GR      =$C050 
   MIX     =$C053      PLOT    =$F800      CLRTOP  =$F836      SETCOL  =$F864 
   SCRN    =$F871   ?  PRNTAX  =$F941      PRBYTE  =$FDDA      COUT    =$FDED

Back to comp.sys.apple2.programmer | Previous | NextPrevious in thread | Find similar | Unroll thread


Thread

Multitasking Mouse Draw Demo v1.1 D Finnigan <dog_cow@macgui.com> - 2014-02-25 20:57 +0000
  Source Code for Multitasking Mouse Draw Demo v1.1 D Finnigan <dog_cow@macgui.com> - 2014-02-25 21:01 +0000

csiph-web