Home » Personal collection » Acorn tapes » Electron_User » Electron_User_tape17b_acorn_eu_1990_december.wav » FastElk
FastElk
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 » Personal collection » Acorn tapes » Electron_User » Electron_User_tape17b_acorn_eu_1990_december.wav |
Filename: | FastElk |
Read OK: | ✔ |
File size: | 03FC bytes |
Load address: | FFFF1A00 |
Exec address: | FFFF8023 |
File contents
10REM Speed up (part 2) 20REM by Tony Oakden 30REM (c) The Micro User 40PROCassemble 50A%=163:X%=128:Y%=1:CALL&FFF4 60MODE1 70CALLsetint 80TIME=0 90PROCtriangle 100PRINTTAB(7,20);"FAST MODE ";TIME/100;" SECS" 110STOP 120** 130DEF PROCtriangle 140GCOL 3,1 150FOR A=0 TO 1023 STEP 32 160MOVE 640-A,0 170MOVE 640+A,0 180PLOT 85,640,A 190NEXT 200ENDPROC 210* 220DEF PROCassemble 230FOR A=0 TO 2 STEP 2 240P%=&900 250[ 260OPT A 270.setint 280SEI 290LDA&204:STAoldvector 300LDA&205:STAoldvector+1 310LDA#interrupt MOD 256:STA&204 320LDA#interrupt DIV 256:STA&205 330CLI 340RTS 350: 360.interrupt 370\ALTER SCREEN START ADDRESS REGISTERS TO COMPENSATE FOR SCROLL 380LDA#&0:STA&FE02:LDA#&22:STA&FE03 390\ 400LDA&FC:PHA:TXA:PHA:TYA:PHA 410LDA&FE00:AND#4:BEQrtc 420\BLANK PALETTE 430LDA#&FF:STA&FE08:STA&FE09 440\FORCE MODE CHANGE 450LDA#&B0:STA&FE07:STA&282 460.exit 470PLA:TAY:PLA:TAX:PLA:STA&FC 480JMP(oldvector) 490: 500.rtc 510LDA&FE00:AND#8:BEQexit 520\FORCE MODE CHANGE TO MODE1 530LDA#&88:STA&FE07:STA&282 540\RESET PALETTE 550LDA#&34:STA&FE08 560LDA#&35:STA&FE09 570JMPexit 580.oldvector:EQUW0 590] 600NEXT 610ENDPROC
� Speed up (part 2) � by Tony Oakden � (c) The Micro User ( �assemble 2A%=163:X%=128:Y%=1:�&FFF4 <�1 F�setint P�=0 Z �triangle d&�7,20);"FAST MODE ";�/100;" SECS" n� x** �� �triangle � � 3,1 �� A=0 � 1023 � 32 � � 640-A,0 � � 640+A,0 �� 85,640,A �� �� �* �� �assemble �� A=0 � 2 � 2 �P%=&900 �[ OPT A .setint SEI "LDA&204:STAoldvector ,LDA&205:STAoldvector+1 6 LDA#interrupt � 256:STA&204 @LDA#interrupt � 256:STA&205 JCLI TRTS ^: h.interrupt r?\ALTER SCREEN START ADDRESS REGISTERS � COMPENSATE � SCROLL |$LDA#&0:STA&FE02:LDA#&22:STA&FE03 �\ �LDA&FC:PHA:TXA:PHA:TYA:PHA �LDA&FE00:�#4:BEQrtc �\BLANK PALETTE �LDA#&FF:STA&FE08:STA&FE09 �\�CE � CHANGE �LDA#&B0:STA&FE07:STA&282 � .exit �PLA:TAY:PLA:TAX:PLA:STA&FC �JMP(oldvector) �: �.rtc �LDA&FE00:�#8:BEQexit \�CE � CHANGE � �1 LDA#&88:STA&FE07:STA&282 \RESET PALETTE &LDA#&34:STA&FE08 0LDA#&35:STA&FE09 :JMPexit D.oldvector:EQUW0 N] X� b� �
00000000 0d 00 0a 17 f4 20 53 70 65 65 64 20 75 70 20 28 |..... Speed up (| 00000010 70 61 72 74 20 32 29 0d 00 14 14 f4 20 62 79 20 |part 2)..... by | 00000020 54 6f 6e 79 20 4f 61 6b 64 65 6e 0d 00 1e 18 f4 |Tony Oakden.....| 00000030 20 28 63 29 20 54 68 65 20 4d 69 63 72 6f 20 55 | (c) The Micro U| 00000040 73 65 72 0d 00 28 0d f2 61 73 73 65 6d 62 6c 65 |ser..(..assemble| 00000050 0d 00 32 1d 41 25 3d 31 36 33 3a 58 25 3d 31 32 |..2.A%=163:X%=12| 00000060 38 3a 59 25 3d 31 3a d6 26 46 46 46 34 0d 00 3c |8:Y%=1:.&FFF4..<| 00000070 06 eb 31 0d 00 46 0c d6 73 65 74 69 6e 74 20 0d |..1..F..setint .| 00000080 00 50 07 d1 3d 30 0d 00 5a 0d f2 74 72 69 61 6e |.P..=0..Z..trian| 00000090 67 6c 65 0d 00 64 26 f1 8a 37 2c 32 30 29 3b 22 |gle..d&..7,20);"| 000000a0 46 41 53 54 20 4d 4f 44 45 20 22 3b 91 2f 31 30 |FAST MODE ";./10| 000000b0 30 3b 22 20 53 45 43 53 22 0d 00 6e 05 fa 0d 00 |0;" SECS"..n....| 000000c0 78 06 2a 2a 0d 00 82 0f dd 20 f2 74 72 69 61 6e |x.**..... .trian| 000000d0 67 6c 65 0d 00 8c 09 e6 20 33 2c 31 0d 00 96 15 |gle..... 3,1....| 000000e0 e3 20 41 3d 30 20 b8 20 31 30 32 33 20 88 20 33 |. A=0 . 1023 . 3| 000000f0 32 0d 00 a0 0d ec 20 36 34 30 2d 41 2c 30 0d 00 |2..... 640-A,0..| 00000100 aa 0d ec 20 36 34 30 2b 41 2c 30 0d 00 b4 0e f0 |... 640+A,0.....| 00000110 20 38 35 2c 36 34 30 2c 41 0d 00 be 05 ed 0d 00 | 85,640,A.......| 00000120 c8 05 e1 0d 00 d2 05 2a 0d 00 dc 10 dd 20 f2 61 |.......*..... .a| 00000130 73 73 65 6d 62 6c 65 20 0d 00 e6 11 e3 20 41 3d |ssemble ..... A=| 00000140 30 20 b8 20 32 20 88 20 32 0d 00 f0 0b 50 25 3d |0 . 2 . 2....P%=| 00000150 26 39 30 30 0d 00 fa 05 5b 0d 01 04 09 4f 50 54 |&900....[....OPT| 00000160 20 41 0d 01 0e 0b 2e 73 65 74 69 6e 74 0d 01 18 | A.....setint...| 00000170 07 53 45 49 0d 01 22 18 4c 44 41 26 32 30 34 3a |.SEI..".LDA&204:| 00000180 53 54 41 6f 6c 64 76 65 63 74 6f 72 0d 01 2c 1a |STAoldvector..,.| 00000190 4c 44 41 26 32 30 35 3a 53 54 41 6f 6c 64 76 65 |LDA&205:STAoldve| 000001a0 63 74 6f 72 2b 31 0d 01 36 20 4c 44 41 23 69 6e |ctor+1..6 LDA#in| 000001b0 74 65 72 72 75 70 74 20 83 20 32 35 36 3a 53 54 |terrupt . 256:ST| 000001c0 41 26 32 30 34 20 0d 01 40 1f 4c 44 41 23 69 6e |A&204 ..@.LDA#in| 000001d0 74 65 72 72 75 70 74 20 81 20 32 35 36 3a 53 54 |terrupt . 256:ST| 000001e0 41 26 32 30 35 0d 01 4a 07 43 4c 49 0d 01 54 07 |A&205..J.CLI..T.| 000001f0 52 54 53 0d 01 5e 05 3a 0d 01 68 0e 2e 69 6e 74 |RTS..^.:..h..int| 00000200 65 72 72 75 70 74 0d 01 72 3f 5c 41 4c 54 45 52 |errupt..r?\ALTER| 00000210 20 53 43 52 45 45 4e 20 53 54 41 52 54 20 41 44 | SCREEN START AD| 00000220 44 52 45 53 53 20 52 45 47 49 53 54 45 52 53 20 |DRESS REGISTERS | 00000230 b8 20 43 4f 4d 50 45 4e 53 41 54 45 20 e3 20 53 |. COMPENSATE . S| 00000240 43 52 4f 4c 4c 0d 01 7c 24 4c 44 41 23 26 30 3a |CROLL..|$LDA#&0:| 00000250 53 54 41 26 46 45 30 32 3a 4c 44 41 23 26 32 32 |STA&FE02:LDA#&22| 00000260 3a 53 54 41 26 46 45 30 33 0d 01 86 05 5c 0d 01 |:STA&FE03....\..| 00000270 90 1e 4c 44 41 26 46 43 3a 50 48 41 3a 54 58 41 |..LDA&FC:PHA:TXA| 00000280 3a 50 48 41 3a 54 59 41 3a 50 48 41 0d 01 9a 17 |:PHA:TYA:PHA....| 00000290 4c 44 41 26 46 45 30 30 3a 80 23 34 3a 42 45 51 |LDA&FE00:.#4:BEQ| 000002a0 72 74 63 0d 01 a4 12 5c 42 4c 41 4e 4b 20 50 41 |rtc....\BLANK PA| 000002b0 4c 45 54 54 45 0d 01 ae 1d 4c 44 41 23 26 46 46 |LETTE....LDA#&FF| 000002c0 3a 53 54 41 26 46 45 30 38 3a 53 54 41 26 46 45 |:STA&FE08:STA&FE| 000002d0 30 39 0d 01 b8 11 5c e3 43 45 20 eb 20 43 48 41 |09....\.CE . CHA| 000002e0 4e 47 45 0d 01 c2 1d 4c 44 41 23 26 42 30 3a 53 |NGE....LDA#&B0:S| 000002f0 54 41 26 46 45 30 37 3a 53 54 41 26 32 38 32 20 |TA&FE07:STA&282 | 00000300 0d 01 cc 09 2e 65 78 69 74 0d 01 d6 1e 50 4c 41 |.....exit....PLA| 00000310 3a 54 41 59 3a 50 4c 41 3a 54 41 58 3a 50 4c 41 |:TAY:PLA:TAX:PLA| 00000320 3a 53 54 41 26 46 43 0d 01 e0 12 4a 4d 50 28 6f |:STA&FC....JMP(o| 00000330 6c 64 76 65 63 74 6f 72 29 0d 01 ea 05 3a 0d 01 |ldvector)....:..| 00000340 f4 08 2e 72 74 63 0d 01 fe 18 4c 44 41 26 46 45 |...rtc....LDA&FE| 00000350 30 30 3a 80 23 38 3a 42 45 51 65 78 69 74 0d 02 |00:.#8:BEQexit..| 00000360 08 16 5c e3 43 45 20 eb 20 43 48 41 4e 47 45 20 |..\.CE . CHANGE | 00000370 b8 20 eb 31 0d 02 12 1d 4c 44 41 23 26 38 38 3a |. .1....LDA#&88:| 00000380 53 54 41 26 46 45 30 37 3a 53 54 41 26 32 38 32 |STA&FE07:STA&282| 00000390 20 0d 02 1c 12 5c 52 45 53 45 54 20 50 41 4c 45 | ....\RESET PALE| 000003a0 54 54 45 0d 02 26 14 4c 44 41 23 26 33 34 3a 53 |TTE..&.LDA#&34:S| 000003b0 54 41 26 46 45 30 38 0d 02 30 14 4c 44 41 23 26 |TA&FE08..0.LDA#&| 000003c0 33 35 3a 53 54 41 26 46 45 30 39 0d 02 3a 0b 4a |35:STA&FE09..:.J| 000003d0 4d 50 65 78 69 74 0d 02 44 14 2e 6f 6c 64 76 65 |MPexit..D..oldve| 000003e0 63 74 6f 72 3a 45 51 55 57 30 0d 02 4e 05 5d 0d |ctor:EQUW0..N.].| 000003f0 02 58 06 ed 20 0d 02 62 05 e1 0d ff |.X.. ..b....| 000003fc