Home » Archimedes archive » Archimedes World » archimedes_world_volume_15_issue_4_scp.adf » DarcWorld » !DarcWorld/Files/Cheats/!CHOCKHACK/!RUNIMAGE

!DarcWorld/Files/Cheats/!CHOCKHACK/!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 » Archimedes archive » Archimedes World » archimedes_world_volume_15_issue_4_scp.adf » DarcWorld
Filename: !DarcWorld/Files/Cheats/!CHOCKHACK/!RUNIMAGE
Read OK:
File size: 0834 bytes
Load address: 0000
Exec address: 0000
File contents
   10REM Chocks Away Hack   BY T. Oliver
   20REM ================   == == ======
   30REM
   40REM Written with Chocks II, so should work with Chocks I
   50REM Should work ok, on all Archies, I tested it on an A3000
   60REM It is setup to load the Hst file on the Chocks Disk 2
   70REM (in drive 0),from the !Maps directory, but this can be
   80REM changed by altering the SOURCE$ string on the line below.
   90REM Its a bit bodged, but it works ok.
  100REM
  110REM You should really back up the second disc, just in case
  120REM Something goes horribly wrong. It is quite straight
  130REM forward, as it should be unprotected. If anything does
  140REM Go wrong, it is not my fault, but contact me, I may
  150REM Be able to help. (If I feel kind).
  160REM
  170REM The main use of this is to allow you to access missions
  180REM That you have not encountered yet, simply by entering
  190REM Scores for them. It should work even with the Extra
  200REM Missions disc, (as the rountines are on Disc1 which
  210REM Probably won't change).
  220REM
  230DIM A% &960
  240SOURCE$=":0.$.!Maps_2."
  250MODE 0
  260PRINT ''"Insert (preferably backed-up)Chocks Away Disk 2 and Press any Key":A=GET
  270OSCLI "LOAD "+SOURCE$+"Hst "+STR$~A%
  280CLS
  290PRINT'"1 or 2 Player (1/2) ? ";:A$=GET$:PRINT;A$'
  300E%=0
  310IF A$="2" THEN E%=1200:ELSE A$="1"
  320CLS
  330I%=0:M%=0:C$="":G%=0:J%=0:K%=0:S%=0
  340PRINT 'SPC(14);A$;" Player Scores"''
  350FOR M%=1 TO 20
  360C$=""
  370FOR I%=((M%-1)*13*4)+4+E% TO ((M%-1)*13*4)+4*12+E% STEP 4
  380C$=C$+CHR$(A%!I%)
  390NEXT I%
  400PRINTM%;") ";C$;
  410PRINT;"  Score - ";A%!((M%-1)*13*4+E%)
  420NEXT M%
  430PRINT'"Overwrite a Score (Y/N) ? ";:A$=GET$:PRINT;A$
  440IF A$="N" THEN GOTO 590
  450INPUT "Which Mission to Overwrite (1-20) - "M%
  460IF M%<1 OR M%>20 THEN M%=1
  470PRINT"New Name for Score - ";
  480REPEAT
  490IF S%<>1 THEN G%=GET
  500IF G%=13 THEN S%=1
  510PRINT;CHR$G%;
  520IF G%=127 THEN J%-=1:GOTO 550
  530IF S%<>1 A%!(((M%-1)*13*4)+(4+J%*4)+E%)=G%:ELSE A%!(((M%-1)*13*4)+(4+J%*4)+E%)=32
  540J%+=1
  550UNTIL G%=10 OR J%=12
  560INPUT'"New Score - "K%
  570A%!((M%-1)*13*4+E%)=K%
  580GOTO 320
  590PRINT "Do you want to resave your Edited Score (Y/N) ? ";:T$=GET$
  600PRINT;T$
  610IF T$="Y" THEN OSCLI"SAVE "+SOURCE$+"Hst "+STR$~A%+"+960"
  620OSCLI "SETTYPE "+SOURCE$+"Hst Data"
  630PRINT"Do you want to Quit (Y/N) ? ";:A$=GET$:PRINT;A$:IF A$="Y" THEN END
  640GOTO 280

%� Chocks Away Hack   BY T. Oliver
%� ================   == == ======
�
(:� Written with Chocks II, so should work with Chocks I
2=� Should work ok, on all Archies, I tested it on an A3000
<;� It is setup to load the Hst file on the Chocks Disk 2
F<� (in drive 0),from the !Maps directory, but this can be
P?� changed by altering the SOURCE$ string on the line below.
Z(� Its a bit bodged, but it works ok.
d�
n=� You should really back up the second disc, just in case
x9� Something goes horribly wrong. It is quite straight
�<� forward, as it should be unprotected. If anything does
�9� Go wrong, it is not my fault, but contact me, I may
�(� Be able to help. (If I feel kind).
��
�=� The main use of this is to allow you to access missions
�;� That you have not encountered yet, simply by entering
�9� Scores for them. It should work even with the Extra
�9� Missions disc, (as the rountines are on Disc1 which
�� Probably won't change).
��
�
� A% &960
�SOURCE$=":0.$.!Maps_2."
�� 0
O� ''"Insert (preferably backed-up)Chocks Away Disk 2 and Press any Key":A=�
!� "LOAD "+SOURCE$+"Hst "+�~A%
�
"*�'"1 or 2 Player (1/2) ? ";:A$=�:�;A$'
,E%=0
6� A$="2" � E%=1200:� A$="1"
@�
J'I%=0:M%=0:C$="":G%=0:J%=0:K%=0:S%=0
T"� '�(14);A$;" Player Scores"''
^� M%=1 � 20
h	C$=""
r7� I%=((M%-1)*13*4)+4+E% � ((M%-1)*13*4)+4*12+E% � 4
|C$=C$+�(A%!I%)
�� I%
��M%;") ";C$;
�&�;"  Score - ";A%!((M%-1)*13*4+E%)
�� M%
�-�'"Overwrite a Score (Y/N) ? ";:A$=�:�;A$
�� A$="N" � � �DNB
�.� "Which Mission to Overwrite (1-20) - "M%
�� M%<1 � M%>20 � M%=1
��"New Name for Score - ";
��
�� S%<>1 � G%=�
�� G%=13 � S%=1
�
�;�G%;
� G%=127 � J%-=1:� �TfB
Q� S%<>1 A%!(((M%-1)*13*4)+(4+J%*4)+E%)=G%:� A%!(((M%-1)*13*4)+(4+J%*4)+E%)=32
	J%+=1
&� G%=10 � J%=12
0�'"New Score - "K%
:A%!((M%-1)*13*4+E%)=K%
D
� �D@A
N>� "Do you want to resave your Edited Score (Y/N) ? ";:T$=�
X�;T$
b2� T$="Y" � �"SAVE "+SOURCE$+"Hst "+�~A%+"+960"
l#� "SETTYPE "+SOURCE$+"Hst Data"
v;�"Do you want to Quit (Y/N) ? ";:A$=�:�;A$:� A$="Y" � �
�
� �TXA
�
00000000  0d 00 0a 25 f4 20 43 68  6f 63 6b 73 20 41 77 61  |...%. Chocks Awa|
00000010  79 20 48 61 63 6b 20 20  20 42 59 20 54 2e 20 4f  |y Hack   BY T. O|
00000020  6c 69 76 65 72 0d 00 14  25 f4 20 3d 3d 3d 3d 3d  |liver...%. =====|
00000030  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 3d 20 20 20 3d 3d  |===========   ==|
00000040  20 3d 3d 20 3d 3d 3d 3d  3d 3d 0d 00 1e 05 f4 0d  | == ======......|
00000050  00 28 3a f4 20 57 72 69  74 74 65 6e 20 77 69 74  |.(:. Written wit|
00000060  68 20 43 68 6f 63 6b 73  20 49 49 2c 20 73 6f 20  |h Chocks II, so |
00000070  73 68 6f 75 6c 64 20 77  6f 72 6b 20 77 69 74 68  |should work with|
00000080  20 43 68 6f 63 6b 73 20  49 0d 00 32 3d f4 20 53  | Chocks I..2=. S|
00000090  68 6f 75 6c 64 20 77 6f  72 6b 20 6f 6b 2c 20 6f  |hould work ok, o|
000000a0  6e 20 61 6c 6c 20 41 72  63 68 69 65 73 2c 20 49  |n all Archies, I|
000000b0  20 74 65 73 74 65 64 20  69 74 20 6f 6e 20 61 6e  | tested it on an|
000000c0  20 41 33 30 30 30 0d 00  3c 3b f4 20 49 74 20 69  | A3000..<;. It i|
000000d0  73 20 73 65 74 75 70 20  74 6f 20 6c 6f 61 64 20  |s setup to load |
000000e0  74 68 65 20 48 73 74 20  66 69 6c 65 20 6f 6e 20  |the Hst file on |
000000f0  74 68 65 20 43 68 6f 63  6b 73 20 44 69 73 6b 20  |the Chocks Disk |
00000100  32 0d 00 46 3c f4 20 28  69 6e 20 64 72 69 76 65  |2..F<. (in drive|
00000110  20 30 29 2c 66 72 6f 6d  20 74 68 65 20 21 4d 61  | 0),from the !Ma|
00000120  70 73 20 64 69 72 65 63  74 6f 72 79 2c 20 62 75  |ps directory, bu|
00000130  74 20 74 68 69 73 20 63  61 6e 20 62 65 0d 00 50  |t this can be..P|
00000140  3f f4 20 63 68 61 6e 67  65 64 20 62 79 20 61 6c  |?. changed by al|
00000150  74 65 72 69 6e 67 20 74  68 65 20 53 4f 55 52 43  |tering the SOURC|
00000160  45 24 20 73 74 72 69 6e  67 20 6f 6e 20 74 68 65  |E$ string on the|
00000170  20 6c 69 6e 65 20 62 65  6c 6f 77 2e 0d 00 5a 28  | line below...Z(|
00000180  f4 20 49 74 73 20 61 20  62 69 74 20 62 6f 64 67  |. Its a bit bodg|
00000190  65 64 2c 20 62 75 74 20  69 74 20 77 6f 72 6b 73  |ed, but it works|
000001a0  20 6f 6b 2e 0d 00 64 05  f4 0d 00 6e 3d f4 20 59  | ok...d....n=. Y|
000001b0  6f 75 20 73 68 6f 75 6c  64 20 72 65 61 6c 6c 79  |ou should really|
000001c0  20 62 61 63 6b 20 75 70  20 74 68 65 20 73 65 63  | back up the sec|
000001d0  6f 6e 64 20 64 69 73 63  2c 20 6a 75 73 74 20 69  |ond disc, just i|
000001e0  6e 20 63 61 73 65 0d 00  78 39 f4 20 53 6f 6d 65  |n case..x9. Some|
000001f0  74 68 69 6e 67 20 67 6f  65 73 20 68 6f 72 72 69  |thing goes horri|
00000200  62 6c 79 20 77 72 6f 6e  67 2e 20 49 74 20 69 73  |bly wrong. It is|
00000210  20 71 75 69 74 65 20 73  74 72 61 69 67 68 74 0d  | quite straight.|
00000220  00 82 3c f4 20 66 6f 72  77 61 72 64 2c 20 61 73  |..<. forward, as|
00000230  20 69 74 20 73 68 6f 75  6c 64 20 62 65 20 75 6e  | it should be un|
00000240  70 72 6f 74 65 63 74 65  64 2e 20 49 66 20 61 6e  |protected. If an|
00000250  79 74 68 69 6e 67 20 64  6f 65 73 0d 00 8c 39 f4  |ything does...9.|
00000260  20 47 6f 20 77 72 6f 6e  67 2c 20 69 74 20 69 73  | Go wrong, it is|
00000270  20 6e 6f 74 20 6d 79 20  66 61 75 6c 74 2c 20 62  | not my fault, b|
00000280  75 74 20 63 6f 6e 74 61  63 74 20 6d 65 2c 20 49  |ut contact me, I|
00000290  20 6d 61 79 0d 00 96 28  f4 20 42 65 20 61 62 6c  | may...(. Be abl|
000002a0  65 20 74 6f 20 68 65 6c  70 2e 20 28 49 66 20 49  |e to help. (If I|
000002b0  20 66 65 65 6c 20 6b 69  6e 64 29 2e 0d 00 a0 05  | feel kind).....|
000002c0  f4 0d 00 aa 3d f4 20 54  68 65 20 6d 61 69 6e 20  |....=. The main |
000002d0  75 73 65 20 6f 66 20 74  68 69 73 20 69 73 20 74  |use of this is t|
000002e0  6f 20 61 6c 6c 6f 77 20  79 6f 75 20 74 6f 20 61  |o allow you to a|
000002f0  63 63 65 73 73 20 6d 69  73 73 69 6f 6e 73 0d 00  |ccess missions..|
00000300  b4 3b f4 20 54 68 61 74  20 79 6f 75 20 68 61 76  |.;. That you hav|
00000310  65 20 6e 6f 74 20 65 6e  63 6f 75 6e 74 65 72 65  |e not encountere|
00000320  64 20 79 65 74 2c 20 73  69 6d 70 6c 79 20 62 79  |d yet, simply by|
00000330  20 65 6e 74 65 72 69 6e  67 0d 00 be 39 f4 20 53  | entering...9. S|
00000340  63 6f 72 65 73 20 66 6f  72 20 74 68 65 6d 2e 20  |cores for them. |
00000350  49 74 20 73 68 6f 75 6c  64 20 77 6f 72 6b 20 65  |It should work e|
00000360  76 65 6e 20 77 69 74 68  20 74 68 65 20 45 78 74  |ven with the Ext|
00000370  72 61 0d 00 c8 39 f4 20  4d 69 73 73 69 6f 6e 73  |ra...9. Missions|
00000380  20 64 69 73 63 2c 20 28  61 73 20 74 68 65 20 72  | disc, (as the r|
00000390  6f 75 6e 74 69 6e 65 73  20 61 72 65 20 6f 6e 20  |ountines are on |
000003a0  44 69 73 63 31 20 77 68  69 63 68 0d 00 d2 1d f4  |Disc1 which.....|
000003b0  20 50 72 6f 62 61 62 6c  79 20 77 6f 6e 27 74 20  | Probably won't |
000003c0  63 68 61 6e 67 65 29 2e  0d 00 dc 05 f4 0d 00 e6  |change).........|
000003d0  0d de 20 41 25 20 26 39  36 30 0d 00 f0 1b 53 4f  |.. A% &960....SO|
000003e0  55 52 43 45 24 3d 22 3a  30 2e 24 2e 21 4d 61 70  |URCE$=":0.$.!Map|
000003f0  73 5f 32 2e 22 0d 00 fa  07 eb 20 30 0d 01 04 4f  |s_2."..... 0...O|
00000400  f1 20 27 27 22 49 6e 73  65 72 74 20 28 70 72 65  |. ''"Insert (pre|
00000410  66 65 72 61 62 6c 79 20  62 61 63 6b 65 64 2d 75  |ferably backed-u|
00000420  70 29 43 68 6f 63 6b 73  20 41 77 61 79 20 44 69  |p)Chocks Away Di|
00000430  73 6b 20 32 20 61 6e 64  20 50 72 65 73 73 20 61  |sk 2 and Press a|
00000440  6e 79 20 4b 65 79 22 3a  41 3d a5 0d 01 0e 21 ff  |ny Key":A=....!.|
00000450  20 22 4c 4f 41 44 20 22  2b 53 4f 55 52 43 45 24  | "LOAD "+SOURCE$|
00000460  2b 22 48 73 74 20 22 2b  c3 7e 41 25 0d 01 18 05  |+"Hst "+.~A%....|
00000470  db 0d 01 22 2a f1 27 22  31 20 6f 72 20 32 20 50  |..."*.'"1 or 2 P|
00000480  6c 61 79 65 72 20 28 31  2f 32 29 20 3f 20 22 3b  |layer (1/2) ? ";|
00000490  3a 41 24 3d be 3a f1 3b  41 24 27 0d 01 2c 08 45  |:A$=.:.;A$'..,.E|
000004a0  25 3d 30 0d 01 36 1f e7  20 41 24 3d 22 32 22 20  |%=0..6.. A$="2" |
000004b0  8c 20 45 25 3d 31 32 30  30 3a 8b 20 41 24 3d 22  |. E%=1200:. A$="|
000004c0  31 22 0d 01 40 05 db 0d  01 4a 27 49 25 3d 30 3a  |1"..@....J'I%=0:|
000004d0  4d 25 3d 30 3a 43 24 3d  22 22 3a 47 25 3d 30 3a  |M%=0:C$="":G%=0:|
000004e0  4a 25 3d 30 3a 4b 25 3d  30 3a 53 25 3d 30 0d 01  |J%=0:K%=0:S%=0..|
000004f0  54 22 f1 20 27 89 28 31  34 29 3b 41 24 3b 22 20  |T". '.(14);A$;" |
00000500  50 6c 61 79 65 72 20 53  63 6f 72 65 73 22 27 27  |Player Scores"''|
00000510  0d 01 5e 0f e3 20 4d 25  3d 31 20 b8 20 32 30 0d  |..^.. M%=1 . 20.|
00000520  01 68 09 43 24 3d 22 22  0d 01 72 37 e3 20 49 25  |.h.C$=""..r7. I%|
00000530  3d 28 28 4d 25 2d 31 29  2a 31 33 2a 34 29 2b 34  |=((M%-1)*13*4)+4|
00000540  2b 45 25 20 b8 20 28 28  4d 25 2d 31 29 2a 31 33  |+E% . ((M%-1)*13|
00000550  2a 34 29 2b 34 2a 31 32  2b 45 25 20 88 20 34 0d  |*4)+4*12+E% . 4.|
00000560  01 7c 12 43 24 3d 43 24  2b bd 28 41 25 21 49 25  |.|.C$=C$+.(A%!I%|
00000570  29 0d 01 86 08 ed 20 49  25 0d 01 90 10 f1 4d 25  |)..... I%.....M%|
00000580  3b 22 29 20 22 3b 43 24  3b 0d 01 9a 26 f1 3b 22  |;") ";C$;...&.;"|
00000590  20 20 53 63 6f 72 65 20  2d 20 22 3b 41 25 21 28  |  Score - ";A%!(|
000005a0  28 4d 25 2d 31 29 2a 31  33 2a 34 2b 45 25 29 0d  |(M%-1)*13*4+E%).|
000005b0  01 a4 08 ed 20 4d 25 0d  01 ae 2d f1 27 22 4f 76  |.... M%...-.'"Ov|
000005c0  65 72 77 72 69 74 65 20  61 20 53 63 6f 72 65 20  |erwrite a Score |
000005d0  28 59 2f 4e 29 20 3f 20  22 3b 3a 41 24 3d be 3a  |(Y/N) ? ";:A$=.:|
000005e0  f1 3b 41 24 0d 01 b8 15  e7 20 41 24 3d 22 4e 22  |.;A$..... A$="N"|
000005f0  20 8c 20 e5 20 8d 44 4e  42 0d 01 c2 2e e8 20 22  | . . .DNB..... "|
00000600  57 68 69 63 68 20 4d 69  73 73 69 6f 6e 20 74 6f  |Which Mission to|
00000610  20 4f 76 65 72 77 72 69  74 65 20 28 31 2d 32 30  | Overwrite (1-20|
00000620  29 20 2d 20 22 4d 25 0d  01 cc 19 e7 20 4d 25 3c  |) - "M%..... M%<|
00000630  31 20 84 20 4d 25 3e 32  30 20 8c 20 4d 25 3d 31  |1 . M%>20 . M%=1|
00000640  0d 01 d6 1d f1 22 4e 65  77 20 4e 61 6d 65 20 66  |....."New Name f|
00000650  6f 72 20 53 63 6f 72 65  20 2d 20 22 3b 0d 01 e0  |or Score - ";...|
00000660  05 f5 0d 01 ea 12 e7 20  53 25 3c 3e 31 20 8c 20  |....... S%<>1 . |
00000670  47 25 3d a5 0d 01 f4 12  e7 20 47 25 3d 31 33 20  |G%=...... G%=13 |
00000680  8c 20 53 25 3d 31 0d 01  fe 0a f1 3b bd 47 25 3b  |. S%=1.....;.G%;|
00000690  0d 02 08 1b e7 20 47 25  3d 31 32 37 20 8c 20 4a  |..... G%=127 . J|
000006a0  25 2d 3d 31 3a e5 20 8d  54 66 42 0d 02 12 51 e7  |%-=1:. .TfB...Q.|
000006b0  20 53 25 3c 3e 31 20 41  25 21 28 28 28 4d 25 2d  | S%<>1 A%!(((M%-|
000006c0  31 29 2a 31 33 2a 34 29  2b 28 34 2b 4a 25 2a 34  |1)*13*4)+(4+J%*4|
000006d0  29 2b 45 25 29 3d 47 25  3a 8b 20 41 25 21 28 28  |)+E%)=G%:. A%!((|
000006e0  28 4d 25 2d 31 29 2a 31  33 2a 34 29 2b 28 34 2b  |(M%-1)*13*4)+(4+|
000006f0  4a 25 2a 34 29 2b 45 25  29 3d 33 32 0d 02 1c 09  |J%*4)+E%)=32....|
00000700  4a 25 2b 3d 31 0d 02 26  13 fd 20 47 25 3d 31 30  |J%+=1..&.. G%=10|
00000710  20 84 20 4a 25 3d 31 32  0d 02 30 16 e8 27 22 4e  | . J%=12..0..'"N|
00000720  65 77 20 53 63 6f 72 65  20 2d 20 22 4b 25 0d 02  |ew Score - "K%..|
00000730  3a 1a 41 25 21 28 28 4d  25 2d 31 29 2a 31 33 2a  |:.A%!((M%-1)*13*|
00000740  34 2b 45 25 29 3d 4b 25  0d 02 44 0a e5 20 8d 44  |4+E%)=K%..D.. .D|
00000750  40 41 0d 02 4e 3e f1 20  22 44 6f 20 79 6f 75 20  |@A..N>. "Do you |
00000760  77 61 6e 74 20 74 6f 20  72 65 73 61 76 65 20 79  |want to resave y|
00000770  6f 75 72 20 45 64 69 74  65 64 20 53 63 6f 72 65  |our Edited Score|
00000780  20 28 59 2f 4e 29 20 3f  20 22 3b 3a 54 24 3d be  | (Y/N) ? ";:T$=.|
00000790  0d 02 58 08 f1 3b 54 24  0d 02 62 32 e7 20 54 24  |..X..;T$..b2. T$|
000007a0  3d 22 59 22 20 8c 20 ff  22 53 41 56 45 20 22 2b  |="Y" . ."SAVE "+|
000007b0  53 4f 55 52 43 45 24 2b  22 48 73 74 20 22 2b c3  |SOURCE$+"Hst "+.|
000007c0  7e 41 25 2b 22 2b 39 36  30 22 0d 02 6c 23 ff 20  |~A%+"+960"..l#. |
000007d0  22 53 45 54 54 59 50 45  20 22 2b 53 4f 55 52 43  |"SETTYPE "+SOURC|
000007e0  45 24 2b 22 48 73 74 20  44 61 74 61 22 0d 02 76  |E$+"Hst Data"..v|
000007f0  3b f1 22 44 6f 20 79 6f  75 20 77 61 6e 74 20 74  |;."Do you want t|
00000800  6f 20 51 75 69 74 20 28  59 2f 4e 29 20 3f 20 22  |o Quit (Y/N) ? "|
00000810  3b 3a 41 24 3d be 3a f1  3b 41 24 3a e7 20 41 24  |;:A$=.:.;A$:. A$|
00000820  3d 22 59 22 20 8c 20 e0  0d 02 80 0a e5 20 8d 54  |="Y" . ...... .T|
00000830  58 41 0d ff                                       |XA..|
00000834