Home » Recent acquisitions » Acorn tapes » tape023d_acorn_play_it_again_sam_4_electron.wav » SPB.1

SPB.1

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 » Recent acquisitions » Acorn tapes » tape023d_acorn_play_it_again_sam_4_electron.wav
Filename: SPB.1
Read OK:
File size: 0800 bytes
Load address: FFFF0E00
Exec address: FFFF0E00
File contents
   10*|
   20*| Display List Interupts
   30*|
   40*|  (c) Gary Partis 1985
   50*|
   60FORZ%=0TO2STEP2
   70P%=&880
   80[OPTZ%
   90LDA#12:JSR&FFEE
  100LDA#23:JSR&FFEE
  110LDA#95:JSR&FFEE
  120LDX#0:.chr
  130LDA&CF8,X:JSR&FFEE
  140INX:CPX#8:BNEchr
  150SEI
  160LDA&204:STAret+1
  170LDA&205:STAret+2
  180LDA#irq MOD256:STA&204
  190LDA#irq DIV256:STA&205
  200CLI:JMP&1A00
  210]P%=&100
  220[OPTZ%
  230.irq:PHP:PHA:TXA:PHA
  240LDA&FE00:AND#8:BNEnot_top
  250JSRoff:LDA#58:JSRdelay
  260LDX&370:LDAtable,X:STA&FE08
  270LDAtable+8,X:STA&FE09
  280JMPleave
  290.not_top:LDA&FE00:AND#4:BNEleave
  300LDA#90:JSRdelay:JSRoff
  310.leave:PLA:TAX:PLA:PLP
  320.ret:JMP&FFFF
  330.off:LDA#255:STA&FE08:STA&FE09:RTS
  340.delay:LDX#15:.wait:DEX:BPLwait
  350SEC:SBC#1:BNEdelay:RTS
  360.table
  370]NEXT
  380FORc=0TO7
  390c?table=255EOR((c AND2)*2)EOR((c AND4)*16)
  400c?(table+8)=255EOR((c AND1)*4)
  410NEXT
  420PAGE=&E00
  430CHAIN"SPB.1A"

*|
*| Display List Interupts
*|
(*|  (c) Gary Partis 1985
2*|
<
�Z%=0�2�2
FP%=&880
P
[OPTZ%
ZLDA#12:JSR&FFEE
dLDA#23:JSR&FFEE
nLDA#95:JSR&FFEE
xLDX#0:.chr
�LDA&CF8,X:JSR&FFEE
�INX:CPX#8:BNEchr
�SEI
�LDA&204:STAret+1
�LDA&205:STAret+2
�LDA#irq �256:STA&204
�LDA#irq �256:STA&205
�CLI:JMP&1A00
�]P%=&100
�
[OPTZ%
�.irq:PHP:PHA:TXA:PHA
�LDA&FE00:�#8:BNEnot_top
�JSRoff:LDA#58:JSRdelay
LDX&370:LDAtable,X:STA&FE08
LDAtable+8,X:STA&FE09
JMPleave
"".not_top:LDA&FE00:�#4:BNEleave
,LDA#90:JSRdelay:JSRoff
6.leave:PLA:TAX:PLA:PLP
@.ret:JMP&FFFF
J&.off:LDA#255:STA&FE08:STA&FE09:RTS
T#.delay:LDX#15:.wait:DEX:BPLwait
^SEC:SBC#1:BNEdelay:RTS
h
.table
r]�
|
�c=0�7
�&c?table=255�((c �2)*2)�((c �4)*16)
�c?(table+8)=255�((c �1)*4)
��
�
�=&E00
�
�"SPB.1A"
�
00000000  0d 00 0a 06 2a 7c 0d 00  14 1d 2a 7c 20 44 69 73  |....*|....*| Dis|
00000010  70 6c 61 79 20 4c 69 73  74 20 49 6e 74 65 72 75  |play List Interu|
00000020  70 74 73 0d 00 1e 06 2a  7c 0d 00 28 1c 2a 7c 20  |pts....*|..(.*| |
00000030  20 28 63 29 20 47 61 72  79 20 50 61 72 74 69 73  | (c) Gary Partis|
00000040  20 31 39 38 35 0d 00 32  06 2a 7c 0d 00 3c 0d e3  | 1985..2.*|..<..|
00000050  5a 25 3d 30 b8 32 88 32  0d 00 46 0b 50 25 3d 26  |Z%=0.2.2..F.P%=&|
00000060  38 38 30 0d 00 50 0a 5b  4f 50 54 5a 25 0d 00 5a  |880..P.[OPTZ%..Z|
00000070  13 4c 44 41 23 31 32 3a  4a 53 52 26 46 46 45 45  |.LDA#12:JSR&FFEE|
00000080  0d 00 64 13 4c 44 41 23  32 33 3a 4a 53 52 26 46  |..d.LDA#23:JSR&F|
00000090  46 45 45 0d 00 6e 13 4c  44 41 23 39 35 3a 4a 53  |FEE..n.LDA#95:JS|
000000a0  52 26 46 46 45 45 0d 00  78 0e 4c 44 58 23 30 3a  |R&FFEE..x.LDX#0:|
000000b0  2e 63 68 72 0d 00 82 16  4c 44 41 26 43 46 38 2c  |.chr....LDA&CF8,|
000000c0  58 3a 4a 53 52 26 46 46  45 45 0d 00 8c 14 49 4e  |X:JSR&FFEE....IN|
000000d0  58 3a 43 50 58 23 38 3a  42 4e 45 63 68 72 0d 00  |X:CPX#8:BNEchr..|
000000e0  96 07 53 45 49 0d 00 a0  14 4c 44 41 26 32 30 34  |..SEI....LDA&204|
000000f0  3a 53 54 41 72 65 74 2b  31 0d 00 aa 14 4c 44 41  |:STAret+1....LDA|
00000100  26 32 30 35 3a 53 54 41  72 65 74 2b 32 0d 00 b4  |&205:STAret+2...|
00000110  18 4c 44 41 23 69 72 71  20 83 32 35 36 3a 53 54  |.LDA#irq .256:ST|
00000120  41 26 32 30 34 0d 00 be  18 4c 44 41 23 69 72 71  |A&204....LDA#irq|
00000130  20 81 32 35 36 3a 53 54  41 26 32 30 35 0d 00 c8  | .256:STA&205...|
00000140  10 43 4c 49 3a 4a 4d 50  26 31 41 30 30 0d 00 d2  |.CLI:JMP&1A00...|
00000150  0c 5d 50 25 3d 26 31 30  30 0d 00 dc 0a 5b 4f 50  |.]P%=&100....[OP|
00000160  54 5a 25 0d 00 e6 18 2e  69 72 71 3a 50 48 50 3a  |TZ%.....irq:PHP:|
00000170  50 48 41 3a 54 58 41 3a  50 48 41 0d 00 f0 1b 4c  |PHA:TXA:PHA....L|
00000180  44 41 26 46 45 30 30 3a  80 23 38 3a 42 4e 45 6e  |DA&FE00:.#8:BNEn|
00000190  6f 74 5f 74 6f 70 0d 00  fa 1a 4a 53 52 6f 66 66  |ot_top....JSRoff|
000001a0  3a 4c 44 41 23 35 38 3a  4a 53 52 64 65 6c 61 79  |:LDA#58:JSRdelay|
000001b0  0d 01 04 1f 4c 44 58 26  33 37 30 3a 4c 44 41 74  |....LDX&370:LDAt|
000001c0  61 62 6c 65 2c 58 3a 53  54 41 26 46 45 30 38 0d  |able,X:STA&FE08.|
000001d0  01 0e 19 4c 44 41 74 61  62 6c 65 2b 38 2c 58 3a  |...LDAtable+8,X:|
000001e0  53 54 41 26 46 45 30 39  0d 01 18 0c 4a 4d 50 6c  |STA&FE09....JMPl|
000001f0  65 61 76 65 0d 01 22 22  2e 6e 6f 74 5f 74 6f 70  |eave.."".not_top|
00000200  3a 4c 44 41 26 46 45 30  30 3a 80 23 34 3a 42 4e  |:LDA&FE00:.#4:BN|
00000210  45 6c 65 61 76 65 0d 01  2c 1a 4c 44 41 23 39 30  |Eleave..,.LDA#90|
00000220  3a 4a 53 52 64 65 6c 61  79 3a 4a 53 52 6f 66 66  |:JSRdelay:JSRoff|
00000230  0d 01 36 1a 2e 6c 65 61  76 65 3a 50 4c 41 3a 54  |..6..leave:PLA:T|
00000240  41 58 3a 50 4c 41 3a 50  4c 50 0d 01 40 11 2e 72  |AX:PLA:PLP..@..r|
00000250  65 74 3a 4a 4d 50 26 46  46 46 46 0d 01 4a 26 2e  |et:JMP&FFFF..J&.|
00000260  6f 66 66 3a 4c 44 41 23  32 35 35 3a 53 54 41 26  |off:LDA#255:STA&|
00000270  46 45 30 38 3a 53 54 41  26 46 45 30 39 3a 52 54  |FE08:STA&FE09:RT|
00000280  53 0d 01 54 23 2e 64 65  6c 61 79 3a 4c 44 58 23  |S..T#.delay:LDX#|
00000290  31 35 3a 2e 77 61 69 74  3a 44 45 58 3a 42 50 4c  |15:.wait:DEX:BPL|
000002a0  77 61 69 74 0d 01 5e 1a  53 45 43 3a 53 42 43 23  |wait..^.SEC:SBC#|
000002b0  31 3a 42 4e 45 64 65 6c  61 79 3a 52 54 53 0d 01  |1:BNEdelay:RTS..|
000002c0  68 0a 2e 74 61 62 6c 65  0d 01 72 06 5d ed 0d 01  |h..table..r.]...|
000002d0  7c 0a e3 63 3d 30 b8 37  0d 01 86 26 63 3f 74 61  ||..c=0.7...&c?ta|
000002e0  62 6c 65 3d 32 35 35 82  28 28 63 20 80 32 29 2a  |ble=255.((c .2)*|
000002f0  32 29 82 28 28 63 20 80  34 29 2a 31 36 29 0d 01  |2).((c .4)*16)..|
00000300  90 1e 63 3f 28 74 61 62  6c 65 2b 38 29 3d 32 35  |..c?(table+8)=25|
00000310  35 82 28 28 63 20 80 31  29 2a 34 29 0d 01 9a 05  |5.((c .1)*4)....|
00000320  ed 0d 01 a4 0a d0 3d 26  45 30 30 0d 01 ae 0d d7  |......=&E00.....|
00000330  22 53 50 42 2e 31 41 22  0d ff 00 00 00 00 00 00  |"SPB.1A"........|
00000340  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
00000800
SPB.1.m0
SPB.1.m1
SPB.1.m2
SPB.1.m4
SPB.1.m5