Home » Personal collection » Acorn ADFS disks » Electron_User_Group » EUG_18.ADF » F/C/DecMsrc

F/C/DecMsrc

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 ADFS disks » Electron_User_Group » EUG_18.ADF
Filename: F/C/DecMsrc
Read OK:
File size: 0451 bytes
Load address: FFFF1D00
Exec address: FFFF8023
Duplicates

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

File contents
   10REM ****************************
   20REM TEXT COMPRESSION CODE Source
   30REM by Richard Dimond
   40REM March 1994
   50REM ****************************
   60REM
   70MODE6
  110FORp=0TO2STEP2
  120P%=&B00
  130[OPTp
  135LDA#0:STA&70:LDA#&28:STA&71
  140LDY#0:STYcount:CLC
  150.loop LDA(&70),Y
  160JMPdecode
  170.decode
  180STAtemp
  190AND#&F0:LSR A:LSR A:LSR A:LSR A
  200STAnib:LDAtemp:AND#&0F:STAnib+1
  210LDX#0:.xlp
  220LDAflag:CMP#&FF:BNEn1:LDAnib,X:CMP#8:BCCless:JSRout:.less
  230.n1 LDAflag:CMP#&FF:BNEaa:LDAnib,X:CMP#8:BCSaa:LDAnib,X:STAi:LDA#0:STAflag:JMPnext 
  240.aa CLC:LDAflag:CMP#0:BNEnext:LDAnib,X:STAj:JSRppr:LDA#&FF:STAflag
  250.next INX:CPX#2:BNExlp:INCcount:LDYcount:CPY#0:BNEo:INC&71:.o LDAtemp:CMP#0:BNEloop:RTS
  260.out SBC#8:TAY:LDAdat,Y:JSR&FFEE:RTS
  270.ppr LDAi:ASL A:ASL A:ASL A:ASL A:STAtemp:LDAj:ORAtemp:STAtemp:CMP#&0D:BNEprt:.lf JMP&FFE7:.prt JMP&FFEE
  280.dat EQUS" etaonri"
  290.nib EQUW0:.i EQUB0:.j EQUB0:.tno EQUB0:.temp EQUB0:.count EQUB0:.flag EQUB-1
  300LDA#0:STA&72:LDA#&28:STA&73
  310.clrlp LDY#0
  320.clrlp1 LDA#0:STA(&72),Y
  330INY:BNEclrlp1:INC&73
  340LDA&73:CMP#&40:BNEclrlp
  350RTS
  360]
  370NEXT
  380OSCLI"SAVE DecM/C B00 "+STR$~P%

"� ****************************
"� TEXT COMPRESSION CODE Source
� by Richard Dimond
(� March 1994
2"� ****************************
<�
F�6
n�p=0�2�2
xP%=&B00
�	[OPTp
�LDA#0:STA&70:LDA#&28:STA&71
�LDY#0:STYcount:CLC
�.loop LDA(&70),Y
�
JMPdecode
�.decode
�STAtemp
�!�#&F0:LSR A:LSR A:LSR A:LSR A
�!STAnib:LDAtemp:�#&0F:STAnib+1
�LDX#0:.xlp
�=LDAflag:CMP#&FF:BNEn1:LDAnib,X:CMP#8:BCCless:JSRout:.less
�W.n1 LDAflag:CMP#&FF:BNEaa:LDAnib,X:CMP#8:BCSaa:LDAnib,X:STAi:LDA#0:STAflag:JMPnext 
�F.aa CLC:LDAflag:CMP#0:BNEnext:LDAnib,X:STAj:JSRppr:LDA#&FF:STAflag
�[.next INX:CPX#2:BNExlp:INCcount:LDYcount:CPY#0:BNEo:INC&71:.o LDAtemp:CMP#0:BNEloop:RTS
(.out SBC#8:TAY:LDAdat,Y:JSR&FFEE:RTS
k.ppr LDAi:ASL A:ASL A:ASL A:ASL A:STAtemp:LDAj:�Atemp:STAtemp:CMP#&0D:BNEprt:.lf JMP&FFE7:.prt JMP&FFEE
.dat EQUS" etaonri"
"Q.nib EQUW0:.i EQUB0:.j EQUB0:.tno EQUB0:.temp EQUB0:.count EQUB0:.flag EQUB-1
,LDA#0:STA&72:LDA#&28:STA&73
6.clrlp LDY#0
@.clrlp1 LDA#0:STA(&72),Y
JINY:BNEclrlp1:INC&73
TLDA&73:CMP#&40:BNEclrlp
^RTS
h]
r�
|�"SAVE DecM/C B00 "+�~P%
�
00000000  0d 00 0a 22 f4 20 2a 2a  2a 2a 2a 2a 2a 2a 2a 2a  |...". **********|
00000010  2a 2a 2a 2a 2a 2a 2a 2a  2a 2a 2a 2a 2a 2a 2a 2a  |****************|
00000020  2a 2a 0d 00 14 22 f4 20  54 45 58 54 20 43 4f 4d  |**...". TEXT COM|
00000030  50 52 45 53 53 49 4f 4e  20 43 4f 44 45 20 53 6f  |PRESSION CODE So|
00000040  75 72 63 65 0d 00 1e 17  f4 20 62 79 20 52 69 63  |urce..... by Ric|
00000050  68 61 72 64 20 44 69 6d  6f 6e 64 0d 00 28 10 f4  |hard Dimond..(..|
00000060  20 4d 61 72 63 68 20 31  39 39 34 0d 00 32 22 f4  | March 1994..2".|
00000070  20 2a 2a 2a 2a 2a 2a 2a  2a 2a 2a 2a 2a 2a 2a 2a  | ***************|
00000080  2a 2a 2a 2a 2a 2a 2a 2a  2a 2a 2a 2a 2a 0d 00 3c  |*************..<|
00000090  05 f4 0d 00 46 06 eb 36  0d 00 6e 0c e3 70 3d 30  |....F..6..n..p=0|
000000a0  b8 32 88 32 0d 00 78 0b  50 25 3d 26 42 30 30 0d  |.2.2..x.P%=&B00.|
000000b0  00 82 09 5b 4f 50 54 70  0d 00 87 1f 4c 44 41 23  |...[OPTp....LDA#|
000000c0  30 3a 53 54 41 26 37 30  3a 4c 44 41 23 26 32 38  |0:STA&70:LDA#&28|
000000d0  3a 53 54 41 26 37 31 0d  00 8c 16 4c 44 59 23 30  |:STA&71....LDY#0|
000000e0  3a 53 54 59 63 6f 75 6e  74 3a 43 4c 43 0d 00 96  |:STYcount:CLC...|
000000f0  14 2e 6c 6f 6f 70 20 4c  44 41 28 26 37 30 29 2c  |..loop LDA(&70),|
00000100  59 0d 00 a0 0d 4a 4d 50  64 65 63 6f 64 65 0d 00  |Y....JMPdecode..|
00000110  aa 0b 2e 64 65 63 6f 64  65 0d 00 b4 0b 53 54 41  |...decode....STA|
00000120  74 65 6d 70 0d 00 be 21  80 23 26 46 30 3a 4c 53  |temp...!.#&F0:LS|
00000130  52 20 41 3a 4c 53 52 20  41 3a 4c 53 52 20 41 3a  |R A:LSR A:LSR A:|
00000140  4c 53 52 20 41 0d 00 c8  21 53 54 41 6e 69 62 3a  |LSR A...!STAnib:|
00000150  4c 44 41 74 65 6d 70 3a  80 23 26 30 46 3a 53 54  |LDAtemp:.#&0F:ST|
00000160  41 6e 69 62 2b 31 0d 00  d2 0e 4c 44 58 23 30 3a  |Anib+1....LDX#0:|
00000170  2e 78 6c 70 0d 00 dc 3d  4c 44 41 66 6c 61 67 3a  |.xlp...=LDAflag:|
00000180  43 4d 50 23 26 46 46 3a  42 4e 45 6e 31 3a 4c 44  |CMP#&FF:BNEn1:LD|
00000190  41 6e 69 62 2c 58 3a 43  4d 50 23 38 3a 42 43 43  |Anib,X:CMP#8:BCC|
000001a0  6c 65 73 73 3a 4a 53 52  6f 75 74 3a 2e 6c 65 73  |less:JSRout:.les|
000001b0  73 0d 00 e6 57 2e 6e 31  20 4c 44 41 66 6c 61 67  |s...W.n1 LDAflag|
000001c0  3a 43 4d 50 23 26 46 46  3a 42 4e 45 61 61 3a 4c  |:CMP#&FF:BNEaa:L|
000001d0  44 41 6e 69 62 2c 58 3a  43 4d 50 23 38 3a 42 43  |DAnib,X:CMP#8:BC|
000001e0  53 61 61 3a 4c 44 41 6e  69 62 2c 58 3a 53 54 41  |Saa:LDAnib,X:STA|
000001f0  69 3a 4c 44 41 23 30 3a  53 54 41 66 6c 61 67 3a  |i:LDA#0:STAflag:|
00000200  4a 4d 50 6e 65 78 74 20  0d 00 f0 46 2e 61 61 20  |JMPnext ...F.aa |
00000210  43 4c 43 3a 4c 44 41 66  6c 61 67 3a 43 4d 50 23  |CLC:LDAflag:CMP#|
00000220  30 3a 42 4e 45 6e 65 78  74 3a 4c 44 41 6e 69 62  |0:BNEnext:LDAnib|
00000230  2c 58 3a 53 54 41 6a 3a  4a 53 52 70 70 72 3a 4c  |,X:STAj:JSRppr:L|
00000240  44 41 23 26 46 46 3a 53  54 41 66 6c 61 67 0d 00  |DA#&FF:STAflag..|
00000250  fa 5b 2e 6e 65 78 74 20  49 4e 58 3a 43 50 58 23  |.[.next INX:CPX#|
00000260  32 3a 42 4e 45 78 6c 70  3a 49 4e 43 63 6f 75 6e  |2:BNExlp:INCcoun|
00000270  74 3a 4c 44 59 63 6f 75  6e 74 3a 43 50 59 23 30  |t:LDYcount:CPY#0|
00000280  3a 42 4e 45 6f 3a 49 4e  43 26 37 31 3a 2e 6f 20  |:BNEo:INC&71:.o |
00000290  4c 44 41 74 65 6d 70 3a  43 4d 50 23 30 3a 42 4e  |LDAtemp:CMP#0:BN|
000002a0  45 6c 6f 6f 70 3a 52 54  53 0d 01 04 28 2e 6f 75  |Eloop:RTS...(.ou|
000002b0  74 20 53 42 43 23 38 3a  54 41 59 3a 4c 44 41 64  |t SBC#8:TAY:LDAd|
000002c0  61 74 2c 59 3a 4a 53 52  26 46 46 45 45 3a 52 54  |at,Y:JSR&FFEE:RT|
000002d0  53 0d 01 0e 6b 2e 70 70  72 20 4c 44 41 69 3a 41  |S...k.ppr LDAi:A|
000002e0  53 4c 20 41 3a 41 53 4c  20 41 3a 41 53 4c 20 41  |SL A:ASL A:ASL A|
000002f0  3a 41 53 4c 20 41 3a 53  54 41 74 65 6d 70 3a 4c  |:ASL A:STAtemp:L|
00000300  44 41 6a 3a 84 41 74 65  6d 70 3a 53 54 41 74 65  |DAj:.Atemp:STAte|
00000310  6d 70 3a 43 4d 50 23 26  30 44 3a 42 4e 45 70 72  |mp:CMP#&0D:BNEpr|
00000320  74 3a 2e 6c 66 20 4a 4d  50 26 46 46 45 37 3a 2e  |t:.lf JMP&FFE7:.|
00000330  70 72 74 20 4a 4d 50 26  46 46 45 45 0d 01 18 17  |prt JMP&FFEE....|
00000340  2e 64 61 74 20 45 51 55  53 22 20 65 74 61 6f 6e  |.dat EQUS" etaon|
00000350  72 69 22 0d 01 22 51 2e  6e 69 62 20 45 51 55 57  |ri".."Q.nib EQUW|
00000360  30 3a 2e 69 20 45 51 55  42 30 3a 2e 6a 20 45 51  |0:.i EQUB0:.j EQ|
00000370  55 42 30 3a 2e 74 6e 6f  20 45 51 55 42 30 3a 2e  |UB0:.tno EQUB0:.|
00000380  74 65 6d 70 20 45 51 55  42 30 3a 2e 63 6f 75 6e  |temp EQUB0:.coun|
00000390  74 20 45 51 55 42 30 3a  2e 66 6c 61 67 20 45 51  |t EQUB0:.flag EQ|
000003a0  55 42 2d 31 0d 01 2c 1f  4c 44 41 23 30 3a 53 54  |UB-1..,.LDA#0:ST|
000003b0  41 26 37 32 3a 4c 44 41  23 26 32 38 3a 53 54 41  |A&72:LDA#&28:STA|
000003c0  26 37 33 0d 01 36 10 2e  63 6c 72 6c 70 20 4c 44  |&73..6..clrlp LD|
000003d0  59 23 30 0d 01 40 1c 2e  63 6c 72 6c 70 31 20 4c  |Y#0..@..clrlp1 L|
000003e0  44 41 23 30 3a 53 54 41  28 26 37 32 29 2c 59 0d  |DA#0:STA(&72),Y.|
000003f0  01 4a 18 49 4e 59 3a 42  4e 45 63 6c 72 6c 70 31  |.J.INY:BNEclrlp1|
00000400  3a 49 4e 43 26 37 33 0d  01 54 1b 4c 44 41 26 37  |:INC&73..T.LDA&7|
00000410  33 3a 43 4d 50 23 26 34  30 3a 42 4e 45 63 6c 72  |3:CMP#&40:BNEclr|
00000420  6c 70 0d 01 5e 07 52 54  53 0d 01 68 05 5d 0d 01  |lp..^.RTS..h.]..|
00000430  72 05 ed 0d 01 7c 1c ff  22 53 41 56 45 20 44 65  |r....|.."SAVE De|
00000440  63 4d 2f 43 20 42 30 30  20 22 2b c3 7e 50 25 0d  |cM/C B00 "+.~P%.|
00000450  ff                                                |.|
00000451
F/C/DecMsrc.m0
F/C/DecMsrc.m1
F/C/DecMsrc.m2
F/C/DecMsrc.m4
F/C/DecMsrc.m5