Home » Personal collection » Acorn hard disk » misc » misc2 » shipw4/!Porter/!RunImage

shipw4/!Porter/!RunImage

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 hard disk » misc » misc2
Filename: shipw4/!Porter/!RunImage
Read OK:
File size: 0302 bytes
Load address: 0000
Exec address: 0000
Duplicates

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

File contents
   10REM Commodore 64 Porter Utility
   20REM (C) Dominic Ford 1998
   30:
   40REM Use in conjunction with "Porter" module for C64
   50:
   60ON ERROR REPORT:PRINT" @ ";ERL:END
   70:
   80MODE 0:VOICE 1,"SquareWave"
   90PRINT"Commodore 64 Porter Utility"'
  100PRINT"Programmed and Designed by Dominic Ford 1998"'
  110INPUT"Filename";f$
  120DIM space &8000
  130FORr=space TO space+&8000 STEP 4:!r=0:NEXT
  140OSCLI"LOAD "+f$+" "+STR$~space
  150:
  160CLS:SOUND1,-15,100,5:FORR=0TO50000:NEXT:SOUND1,-15,100,10
  170FORr=space TO space+&8000:PRINTTAB(0,0)~r-space:byte=?r:sum=sum+byte
  180PROCsend(byte)
  190IF ((r-space)MOD8)=7 THEN PROCxsum
  200NEXT
  210:
  220DEFPROCsend(byte)
  230FORb=0 TO 7
  240FORR=0TO500:NEXT:T=16-16*((byte AND 1)=1):SOUND1,0,100,1:T=TIME+T
  250REPEAT UNTIL TIME=T:SOUND1,-15,100,20
  260byte=byte DIV2:NEXT
  270ENDPROC
  280:
  290DEFPROCxsum
  300PROCsend((sum AND&FF)EOR&BD)
  310PROCsend(0):sum=0
  320SOUND1,0,100,1:T=TIME+128
  330REPEAT UNTIL TIME=T
  340SOUND1,-15,100,10
  350ENDPROC

!� Commodore 64 Porter Utility
� (C) Dominic Ford 1998
:
(5� Use in conjunction with "Porter" module for C64
2:
<� � �:�" @ ";�:�
F:
P� 0:ȡ 1,"SquareWave"
Z#�"Commodore 64 Porter Utility"'
d4�"Programmed and Designed by Dominic Ford 1998"'
n�"Filename";f$
x� space &8000
�%�r=space � space+&8000 � 4:!r=0:�
��"LOAD "+f$+" "+�~space
�:
�-�:�1,-15,100,5:�R=0�50000:�:�1,-15,100,10
�>�r=space � space+&8000:�0,0)~r-space:byte=?r:sum=sum+byte
��send(byte)
�� ((r-space)�8)=7 � �xsum
��
�:
���send(byte)
��b=0 � 7
�6�R=0�500:�:T=16-16*((byte � 1)=1):�1,0,100,1:T=�+T
�� � �=T:�1,-15,100,20
byte=byte �2:�
�
:
"
��xsum
,�send((sum �&FF)�&BD)
6�send(0):sum=0
@�1,0,100,1:T=�+128
J� � �=T
T�1,-15,100,10
^�
�
00000000  0d 00 0a 21 f4 20 43 6f  6d 6d 6f 64 6f 72 65 20  |...!. Commodore |
00000010  36 34 20 50 6f 72 74 65  72 20 55 74 69 6c 69 74  |64 Porter Utilit|
00000020  79 0d 00 14 1b f4 20 28  43 29 20 44 6f 6d 69 6e  |y..... (C) Domin|
00000030  69 63 20 46 6f 72 64 20  31 39 39 38 0d 00 1e 05  |ic Ford 1998....|
00000040  3a 0d 00 28 35 f4 20 55  73 65 20 69 6e 20 63 6f  |:..(5. Use in co|
00000050  6e 6a 75 6e 63 74 69 6f  6e 20 77 69 74 68 20 22  |njunction with "|
00000060  50 6f 72 74 65 72 22 20  6d 6f 64 75 6c 65 20 66  |Porter" module f|
00000070  6f 72 20 43 36 34 0d 00  32 05 3a 0d 00 3c 14 ee  |or C64..2.:..<..|
00000080  20 85 20 f6 3a f1 22 20  40 20 22 3b 9e 3a e0 0d  | . .:." @ ";.:..|
00000090  00 46 05 3a 0d 00 50 19  eb 20 30 3a c8 a1 20 31  |.F.:..P.. 0:.. 1|
000000a0  2c 22 53 71 75 61 72 65  57 61 76 65 22 0d 00 5a  |,"SquareWave"..Z|
000000b0  23 f1 22 43 6f 6d 6d 6f  64 6f 72 65 20 36 34 20  |#."Commodore 64 |
000000c0  50 6f 72 74 65 72 20 55  74 69 6c 69 74 79 22 27  |Porter Utility"'|
000000d0  0d 00 64 34 f1 22 50 72  6f 67 72 61 6d 6d 65 64  |..d4."Programmed|
000000e0  20 61 6e 64 20 44 65 73  69 67 6e 65 64 20 62 79  | and Designed by|
000000f0  20 44 6f 6d 69 6e 69 63  20 46 6f 72 64 20 31 39  | Dominic Ford 19|
00000100  39 38 22 27 0d 00 6e 12  e8 22 46 69 6c 65 6e 61  |98"'..n.."Filena|
00000110  6d 65 22 3b 66 24 0d 00  78 11 de 20 73 70 61 63  |me";f$..x.. spac|
00000120  65 20 26 38 30 30 30 0d  00 82 25 e3 72 3d 73 70  |e &8000...%.r=sp|
00000130  61 63 65 20 b8 20 73 70  61 63 65 2b 26 38 30 30  |ace . space+&800|
00000140  30 20 88 20 34 3a 21 72  3d 30 3a ed 0d 00 8c 1b  |0 . 4:!r=0:.....|
00000150  ff 22 4c 4f 41 44 20 22  2b 66 24 2b 22 20 22 2b  |."LOAD "+f$+" "+|
00000160  c3 7e 73 70 61 63 65 0d  00 96 05 3a 0d 00 a0 2d  |.~space....:...-|
00000170  db 3a d4 31 2c 2d 31 35  2c 31 30 30 2c 35 3a e3  |.:.1,-15,100,5:.|
00000180  52 3d 30 b8 35 30 30 30  30 3a ed 3a d4 31 2c 2d  |R=0.50000:.:.1,-|
00000190  31 35 2c 31 30 30 2c 31  30 0d 00 aa 3e e3 72 3d  |15,100,10...>.r=|
000001a0  73 70 61 63 65 20 b8 20  73 70 61 63 65 2b 26 38  |space . space+&8|
000001b0  30 30 30 3a f1 8a 30 2c  30 29 7e 72 2d 73 70 61  |000:..0,0)~r-spa|
000001c0  63 65 3a 62 79 74 65 3d  3f 72 3a 73 75 6d 3d 73  |ce:byte=?r:sum=s|
000001d0  75 6d 2b 62 79 74 65 0d  00 b4 0f f2 73 65 6e 64  |um+byte.....send|
000001e0  28 62 79 74 65 29 0d 00  be 1d e7 20 28 28 72 2d  |(byte)..... ((r-|
000001f0  73 70 61 63 65 29 83 38  29 3d 37 20 8c 20 f2 78  |space).8)=7 . .x|
00000200  73 75 6d 0d 00 c8 05 ed  0d 00 d2 05 3a 0d 00 dc  |sum.........:...|
00000210  10 dd f2 73 65 6e 64 28  62 79 74 65 29 0d 00 e6  |...send(byte)...|
00000220  0c e3 62 3d 30 20 b8 20  37 0d 00 f0 36 e3 52 3d  |..b=0 . 7...6.R=|
00000230  30 b8 35 30 30 3a ed 3a  54 3d 31 36 2d 31 36 2a  |0.500:.:T=16-16*|
00000240  28 28 62 79 74 65 20 80  20 31 29 3d 31 29 3a d4  |((byte . 1)=1):.|
00000250  31 2c 30 2c 31 30 30 2c  31 3a 54 3d 91 2b 54 0d  |1,0,100,1:T=.+T.|
00000260  00 fa 19 f5 20 fd 20 91  3d 54 3a d4 31 2c 2d 31  |.... . .=T:.1,-1|
00000270  35 2c 31 30 30 2c 32 30  0d 01 04 12 62 79 74 65  |5,100,20....byte|
00000280  3d 62 79 74 65 20 81 32  3a ed 0d 01 0e 05 e1 0d  |=byte .2:.......|
00000290  01 18 05 3a 0d 01 22 0a  dd f2 78 73 75 6d 0d 01  |...:.."...xsum..|
000002a0  2c 19 f2 73 65 6e 64 28  28 73 75 6d 20 80 26 46  |,..send((sum .&F|
000002b0  46 29 82 26 42 44 29 0d  01 36 12 f2 73 65 6e 64  |F).&BD)..6..send|
000002c0  28 30 29 3a 73 75 6d 3d  30 0d 01 40 16 d4 31 2c  |(0):sum=0..@..1,|
000002d0  30 2c 31 30 30 2c 31 3a  54 3d 91 2b 31 32 38 0d  |0,100,1:T=.+128.|
000002e0  01 4a 0b f5 20 fd 20 91  3d 54 0d 01 54 11 d4 31  |.J.. . .=T..T..1|
000002f0  2c 2d 31 35 2c 31 30 30  2c 31 30 0d 01 5e 05 e1  |,-15,100,10..^..|
00000300  0d ff                                             |..|
00000302