Home » Archimedes archive » Micro User » MU 1990-06.adf » L-2-II

L-2-II

This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.

Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.

Tape/disk: Home » Archimedes archive » Micro User » MU 1990-06.adf
Filename: L-2-II
Read OK:
File size: 037B bytes
Load address: FFFFFB43
Exec address: 6D398AA8
Duplicates

There is 1 duplicate copy of this file in the archive:

File contents
   10 REM   Listing II
   20 REM   By Glenn Marshall
   30 REM   (C) The Micro User
   40 :
   50 .set_pointer_interrupts
   60 SEI
   70 LDA &204:STA &230
   80 LDA &205:STA &231
   90 LDA #pointer_interrupt MOD 256
  100 STA &204
  110 LDA #pointer_interrupt DIV 256
  120 STA &205
  130 LDA #&50:STA &FE4E
  140 CLI
  150 rts
  160 :
  170 .reset_pointer_interrupts
  180 LDA &230:STA &204
  190 LDA &231:STA &205
  200 LDA #242:STA &FE4E
  210 LDA #96:STA &FE4B
  220 rts
  230 :
  240 .pointer_interrupt
  250 LDA &FC:PHA:TYA:PHA:TXA:PHA
  260 LDA #2:BIT &FE4D:BEQ not_sync
  270 LDA &FE4B:AND #&DF:STA &FE4B
  280 LDA &FE4E:ORA #&20:STA &FE4E
  290 LDA #80:STA &FE48
  300 LDA #70:STA &FE49
  310 .pointer_interrupt_exit
  320 PLA:TAX:PLA:TAY:PLA:STA &FC
  330 JMP (&230)
  340 .not_sync
  350 LDA #&20:BIT &FE4D
  360 BEQ pointer_interrupt_exit
  370 STA &FE4D:PHP:CLI
  380 JSR pointer_off
  390 JSR pointer_direction
  400 JSR pointer_on
  410 PLP:JMP pointer_interrupt_exit

 �   Listing II
 �   By Glenn Marshall
 �   (C) The Micro User
( :
2 .set_pointer_interrupts
< SEI
F LDA &204:STA &230
P LDA &205:STA &231
Z! LDA #pointer_interrupt � 256
d
 STA &204
n! LDA #pointer_interrupt � 256
x
 STA &205
� LDA #&50:STA &FE4E
� CLI
� rts
� :
� .reset_pointer_interrupts
� LDA &230:STA &204
� LDA &231:STA &205
� LDA #242:STA &FE4E
� LDA #96:STA &FE4B
� rts
� :
� .pointer_interrupt
�  LDA &FC:PHA:TYA:PHA:TXA:PHA
" LDA #2:BIT &FE4D:BEQ not_sync
 LDA &FE4B:� #&DF:STA &FE4B
  LDA &FE4E:�A #&20:STA &FE4E
" LDA #80:STA &FE48
, LDA #70:STA &FE49
6 .pointer_interrupt_exit
@  PLA:TAX:PLA:TAY:PLA:STA &FC
J JMP (&230)
T .not_sync
^ LDA #&20:BIT &FE4D
h BEQ pointer_interrupt_exit
r STA &FE4D:PHP:CLI
| JSR pointer_off
� JSR pointer_direction
� JSR pointer_on
�# PLP:JMP pointer_interrupt_exit
�
00000000  0d 00 0a 13 20 f4 20 20  20 4c 69 73 74 69 6e 67  |.... .   Listing|
00000010  20 49 49 0d 00 14 1a 20  f4 20 20 20 42 79 20 47  | II.... .   By G|
00000020  6c 65 6e 6e 20 4d 61 72  73 68 61 6c 6c 0d 00 1e  |lenn Marshall...|
00000030  1b 20 f4 20 20 20 28 43  29 20 54 68 65 20 4d 69  |. .   (C) The Mi|
00000040  63 72 6f 20 55 73 65 72  0d 00 28 06 20 3a 0d 00  |cro User..(. :..|
00000050  32 1c 20 2e 73 65 74 5f  70 6f 69 6e 74 65 72 5f  |2. .set_pointer_|
00000060  69 6e 74 65 72 72 75 70  74 73 0d 00 3c 08 20 53  |interrupts..<. S|
00000070  45 49 0d 00 46 16 20 4c  44 41 20 26 32 30 34 3a  |EI..F. LDA &204:|
00000080  53 54 41 20 26 32 33 30  0d 00 50 16 20 4c 44 41  |STA &230..P. LDA|
00000090  20 26 32 30 35 3a 53 54  41 20 26 32 33 31 0d 00  | &205:STA &231..|
000000a0  5a 21 20 4c 44 41 20 23  70 6f 69 6e 74 65 72 5f  |Z! LDA #pointer_|
000000b0  69 6e 74 65 72 72 75 70  74 20 83 20 32 35 36 0d  |interrupt . 256.|
000000c0  00 64 0d 20 53 54 41 20  26 32 30 34 0d 00 6e 21  |.d. STA &204..n!|
000000d0  20 4c 44 41 20 23 70 6f  69 6e 74 65 72 5f 69 6e  | LDA #pointer_in|
000000e0  74 65 72 72 75 70 74 20  81 20 32 35 36 0d 00 78  |terrupt . 256..x|
000000f0  0d 20 53 54 41 20 26 32  30 35 0d 00 82 17 20 4c  |. STA &205.... L|
00000100  44 41 20 23 26 35 30 3a  53 54 41 20 26 46 45 34  |DA #&50:STA &FE4|
00000110  45 0d 00 8c 08 20 43 4c  49 0d 00 96 08 20 72 74  |E.... CLI.... rt|
00000120  73 0d 00 a0 06 20 3a 0d  00 aa 1e 20 2e 72 65 73  |s.... :.... .res|
00000130  65 74 5f 70 6f 69 6e 74  65 72 5f 69 6e 74 65 72  |et_pointer_inter|
00000140  72 75 70 74 73 0d 00 b4  16 20 4c 44 41 20 26 32  |rupts.... LDA &2|
00000150  33 30 3a 53 54 41 20 26  32 30 34 0d 00 be 16 20  |30:STA &204.... |
00000160  4c 44 41 20 26 32 33 31  3a 53 54 41 20 26 32 30  |LDA &231:STA &20|
00000170  35 0d 00 c8 17 20 4c 44  41 20 23 32 34 32 3a 53  |5.... LDA #242:S|
00000180  54 41 20 26 46 45 34 45  0d 00 d2 16 20 4c 44 41  |TA &FE4E.... LDA|
00000190  20 23 39 36 3a 53 54 41  20 26 46 45 34 42 0d 00  | #96:STA &FE4B..|
000001a0  dc 08 20 72 74 73 0d 00  e6 06 20 3a 0d 00 f0 17  |.. rts.... :....|
000001b0  20 2e 70 6f 69 6e 74 65  72 5f 69 6e 74 65 72 72  | .pointer_interr|
000001c0  75 70 74 0d 00 fa 20 20  4c 44 41 20 26 46 43 3a  |upt...  LDA &FC:|
000001d0  50 48 41 3a 54 59 41 3a  50 48 41 3a 54 58 41 3a  |PHA:TYA:PHA:TXA:|
000001e0  50 48 41 0d 01 04 22 20  4c 44 41 20 23 32 3a 42  |PHA..." LDA #2:B|
000001f0  49 54 20 26 46 45 34 44  3a 42 45 51 20 6e 6f 74  |IT &FE4D:BEQ not|
00000200  5f 73 79 6e 63 0d 01 0e  1f 20 4c 44 41 20 26 46  |_sync.... LDA &F|
00000210  45 34 42 3a 80 20 23 26  44 46 3a 53 54 41 20 26  |E4B:. #&DF:STA &|
00000220  46 45 34 42 0d 01 18 20  20 4c 44 41 20 26 46 45  |FE4B...  LDA &FE|
00000230  34 45 3a 84 41 20 23 26  32 30 3a 53 54 41 20 26  |4E:.A #&20:STA &|
00000240  46 45 34 45 0d 01 22 16  20 4c 44 41 20 23 38 30  |FE4E..". LDA #80|
00000250  3a 53 54 41 20 26 46 45  34 38 0d 01 2c 16 20 4c  |:STA &FE48..,. L|
00000260  44 41 20 23 37 30 3a 53  54 41 20 26 46 45 34 39  |DA #70:STA &FE49|
00000270  0d 01 36 1c 20 2e 70 6f  69 6e 74 65 72 5f 69 6e  |..6. .pointer_in|
00000280  74 65 72 72 75 70 74 5f  65 78 69 74 0d 01 40 20  |terrupt_exit..@ |
00000290  20 50 4c 41 3a 54 41 58  3a 50 4c 41 3a 54 41 59  | PLA:TAX:PLA:TAY|
000002a0  3a 50 4c 41 3a 53 54 41  20 26 46 43 0d 01 4a 0f  |:PLA:STA &FC..J.|
000002b0  20 4a 4d 50 20 28 26 32  33 30 29 0d 01 54 0e 20  | JMP (&230)..T. |
000002c0  2e 6e 6f 74 5f 73 79 6e  63 0d 01 5e 17 20 4c 44  |.not_sync..^. LD|
000002d0  41 20 23 26 32 30 3a 42  49 54 20 26 46 45 34 44  |A #&20:BIT &FE4D|
000002e0  0d 01 68 1f 20 42 45 51  20 70 6f 69 6e 74 65 72  |..h. BEQ pointer|
000002f0  5f 69 6e 74 65 72 72 75  70 74 5f 65 78 69 74 0d  |_interrupt_exit.|
00000300  01 72 16 20 53 54 41 20  26 46 45 34 44 3a 50 48  |.r. STA &FE4D:PH|
00000310  50 3a 43 4c 49 0d 01 7c  14 20 4a 53 52 20 70 6f  |P:CLI..|. JSR po|
00000320  69 6e 74 65 72 5f 6f 66  66 0d 01 86 1a 20 4a 53  |inter_off.... JS|
00000330  52 20 70 6f 69 6e 74 65  72 5f 64 69 72 65 63 74  |R pointer_direct|
00000340  69 6f 6e 0d 01 90 13 20  4a 53 52 20 70 6f 69 6e  |ion.... JSR poin|
00000350  74 65 72 5f 6f 6e 0d 01  9a 23 20 50 4c 50 3a 4a  |ter_on...# PLP:J|
00000360  4d 50 20 70 6f 69 6e 74  65 72 5f 69 6e 74 65 72  |MP pointer_inter|
00000370  72 75 70 74 5f 65 78 69  74 0d ff                 |rupt_exit..|
0000037b