home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Hall of Fame
/
HallofFameCDROM.cdr
/
open
/
protect.lzh
/
SARGON.UNP
< prev
next >
Wrap
Text File
|
1986-06-30
|
21KB
|
461 lines
SARGON3.UNP Version 4.3 July 1, 1986
This file describes a method of allowing SARGON III to be run on a RAM disk.
Familiarity with the DOS utility DEBUG.COM is assumed.
When I bought SARGON III, I was very disappointed to find out that
(a) the diskette was copy-protected, and
(b) I couldn't put the program on my hard disk.
The following modification overcomes both of these difficulties. However, a
compromise is necessary. You will not be able to use the LIGHT PEN mode.
All the other features seem to work, though.
This is the place to mention all the usual caveats regarding disk
modifications. This procedure works for me, and I'm glad to share it.
However, by using it, you agree to assume all risks. I accept no
responsibility for any damage to your disks, your computer, your
love life, or anything else which may go wrong as a result of your
using this file.
The program, as originally furnished, uses BIOS call INT 13H to read sector
numbers from the 8 track, single-sided diskette, and those sector numbers are
hard-coded into the program. By eliminating the INT 13H instructions and
replacing them with DOS call 25H, we will accomplish the same thing with one
important addition - INT 13H only works with floppy diskettes; INT 25H will
also work with a RAM disk.
As furnished, the program reads the diskette directory (located at sector 4 of
the diskette), finds the starting cluster number of B000.BOK, and calculates
the appropriate sector to be read from that information. This occurs in three
different places during the running of the program:
1. At the very start of the program, the initial Book is set up.
2. After the first (or second) White move, the game position is
compared against the Book opening, and strategy is set from there.
3. Each time a move is taken back (Ctrl-B), the Book opening is
reviewed.
Rather than find the directory entry for B000.BOK on my hard disk, I opted to
always run the game from a RAM disk on my machine. By taking this approach, I
have hard coded DRIVE D and the sector location of the drive D directory into
my modifications.
Finally, since I found the black on blue color hard to see on my color monitor,
I have indicated the locations which contain the board color attributes. I
changed the bytes at these locations from 70 or 10 (black foreground on
blue or white background) to 7A or 1E (intense green foreground on blue or
white background). This modification is, of course, optional.
The changes indicated below will allow SARGON to
(a) Be run on a RAM disk (I used DOS 3.1 VDISK as drive D with 512
bytes per sector). Changes may be required if another RAM disk is
used. Changes in debug addresses 60A6 and 60C0 should be made if
the RAM disk is installed as a different drive letter.
(b) Return to DOS when exiting SARGON, instead of rebooting.
The first step is to run DEBUG against SARGON.III and check out that the
code indicated in File 2 is correct. If there are ANY differences, you
probably have a different version of SARGON, and this modification won't
work. However, my comments might help you to figure out what to change in
your version.
The next step is to confirm that the file directory on your ram disk appears
in the same place as in my ram disk. I've hard-coded that address into the
modifications which appear below. You can confirm the address as follows:
1. Starting with a clear ram disk, copy SARGON.III and B000.BOK from your
SARGON diskette to your ram disk.
2. Enter DEBUG.
3. Enter the following DEBUG commands:
-L CS:0100 3,3,1 (Assuming your ram disk is drive D. If not
change the first 3 to the appropriate number)
-D CS:100 Your file directory should appear on the
screen. If not, try changing the second 3
to various numbers. This second three appears
at DEBUG address 60AB in the modifications.
Next, use CHKDSK to confirm that all sectors are contiguous. (CHKDSK *.*). If
not, the best thing to do is re-boot and start again. If there are
non-contiguous sectors, you're asking for trouble.
Finally, rename SARGON.III to SARGON.COM, enter DEBUG SARGON.COM and make the
following changes (The original SARGON3.COM is no longer necessary). These
changes may be made by use of either the "E" or "A" DEBUG commands.
After these changes have been made, SARGON.COM, B000.BOK and any saved games
(but not the GREAT GAMES file - for some reason, this file doesn't seem to
work, and I'm not interested enough to find out why) may be kept on your hard
disk, to be copied over to your RAM disk when you want to play chess.
However, the program may not be run from your hard disk without additional
modifications. Additionally, before running SARGON, make sure that all
sectors are contiguous through the use of CHKDSK.
File 1: Modified File = SARGON.COM
File 2: Original File = SARGON.III
DEBUG FILE 1 FILE 2
ADDRESS
1 5FE6 File 1 = EB File 2 = 75 JMP 603C JNZ 603C
5FE7 File 1 = 54 File 2 = 54
2 5FE8 File 1 = 80 File 2 = E8 CMP BYTE PTR [5DDA],0 CALL 5D69
3 5FE9 File 1 = 3E File 2 = 7E
4 5FEA File 1 = DA File 2 = FD
5 5FEB File 1 = 5D File 2 = E8 CALL 3CFB
6 5FEC File 1 = 00 File 2 = 0D
7 5FED File 1 = 75 File 2 = DD JNZ 5FFB
8 5FEE File 1 = 0C File 2 = BE MOV AX,0200 MOV SI,6BF5
9 5FEF File 1 = B8 File 2 = F5
10 5FF0 File 1 = 00 File 2 = 6B
11 5FF1 File 1 = 02 File 2 = BF MOV DI,0D20
12 5FF2 File 1 = F9 File 2 = 20 STC
13 5FF3 File 1 = FE File 2 = 0D INC BYTE PTR [5DDA]
14 5FF4 File 1 = 06 File 2 = 8A MOV AL,[SI]
15 5FF5 File 1 = DA File 2 = 04
16 5FF6 File 1 = 5D File 2 = 3C CMP AL,24
17 5FF7 File 1 = C3 File 2 = 24 RET
18 5FF8 File 1 = 90 File 2 = 74 JZ 6002
19 5FF9 File 1 = 90 File 2 = 08
20 5FFA File 1 = 90 File 2 = 26
21 5FFB File 1 = 80 File 2 = 88 CMP BYTE PTR [5DDA],1 MOV [DI],AL
22 5FFC File 1 = 3E File 2 = 05
23 5FFD File 1 = DA File 2 = 47 INC DI
24 5FFE File 1 = 5D File 2 = 47 INC DI
25 5FFF File 1 = 01 File 2 = 46 INC SI
26 6000 File 1 = 75 File 2 = EB JNZ 600F JMP 5FF4
27 6001 File 1 = 0D File 2 = F2 MOV AX,0400
28 6002 File 1 = B8 File 2 = C6 MOV BYTE PTR [4E09],FF
29 6003 File 1 = 00 File 2 = 06
30 6004 File 1 = 04 File 2 = 09
31 6005 File 1 = F8 File 2 = 4E CLC
32 6006 File 1 = FE File 2 = FF INC BYTE PTR [5DDA]
33 6007 File 1 = 06 File 2 = B4 MOV AH,4
34 6008 File 1 = DA File 2 = 04
35 6009 File 1 = 5D File 2 = CD INT 10
36 600A File 1 = C3 File 2 = 10 RET
37 600B File 1 = 90 File 2 = 22 AND AH,AH
38 600C File 1 = 90 File 2 = E4
39 600D File 1 = 90 File 2 = 75 JNZ 601F
40 600E File 1 = 90 File 2 = 10
41 600F File 1 = 80 File 2 = B4 CMP BYTE PTR [5DDA],2 MOV AH,1
42 6010 File 1 = 3E File 2 = 01
43 6011 File 1 = DA File 2 = CD INT 16
44 6012 File 1 = 5D File 2 = 16
45 6013 File 1 = 02 File 2 = 74 JZ 6007
46 6014 File 1 = 75 File 2 = F2 JNZ 6020
47 6015 File 1 = 0A File 2 = B4 MOV AH,0
48 6016 File 1 = B8 File 2 = 00 MOV AX,0400
49 6017 File 1 = 00 File 2 = CD INT 16
50 6018 File 1 = 04 File 2 = 16
51 6019 File 1 = F8 File 2 = 3C CLC CMP AL,1B
52 601A File 1 = FE File 2 = 1B INC BYTE PTR [5DDA]
53 601B File 1 = 06 File 2 = 74 JZ 602F
54 601C File 1 = DA File 2 = 12
55 601D File 1 = 5D File 2 = EB JMP 6007
56 601E File 1 = C3 File 2 = E8 RET
57 601F File 1 = 90 File 2 = 33 XOR BX,BX
58 6020 File 1 = 80 File 2 = DB CMP BYTE PTR [5DDA],3
59 6021 File 1 = 3E File 2 = 80 SUB DL,17
60 6022 File 1 = DA File 2 = EA
61 6023 File 1 = 5D File 2 = 17
62 6024 File 1 = 03 File 2 = 88 MOV [6C0F],DL
63 6025 File 1 = 75 File 2 = 16 JNZ 6030
64 6026 File 1 = 09 File 2 = 0F
65 6027 File 1 = B8 File 2 = 6C MOV AX,0200
66 6028 File 1 = 00 File 2 = 80 SUB DH,15
67 6029 File 1 = 02 File 2 = EE
68 602A File 1 = F9 File 2 = 15 STC
69 602B File 1 = C6 File 2 = 88 MOV BYTE PTR [5DDA],0 MOV [6C0E],DH
70 602C File 1 = 06 File 2 = 36
71 602D File 1 = DA File 2 = 0E
72 602E File 1 = 5D File 2 = 6C
73 602F File 1 = 00 File 2 = E8 CALL 3CFB
74 6030 File 1 = C3 File 2 = C9 RET
75 6031 File 1 = 90 File 2 = DC
76 6032 File 1 = 90 File 2 = C6 MOV BYTE PTR [4E09],0
77 6033 File 1 = 90 File 2 = 06
78 6034 File 1 = 90 File 2 = 09
79 6035 File 1 = 90 File 2 = 4E
80 6036 File 1 = 90 File 2 = 00
81 6037 File 1 = 90 File 2 = 33 XOR AX,AX
82 6038 File 1 = 90 File 2 = C0
83 6039 File 1 = 90 File 2 = 32 XOR BH,BH
84 603A File 1 = 90 File 2 = FF
85 603B File 1 = 90 File 2 = C3 RET
This area originally contained the code for Light Pen use. We have
replaced that code with the simulated response for INT 13 when
saving a game to ram disk or loading a saved game from ram disk.
86 609D File 1 = 31 File 2 = 75 XOR AX,AX JNZ 60DD
87 609E File 1 = C0 File 2 = 3E
88 609F File 1 = C3 File 2 = BF RET MOV DI,0EED
89 60A0 File 1 = 83 File 2 = ED CMP CX,4
90 60A1 File 1 = F9 File 2 = 0E
91 60A2 File 1 = 04 File 2 = F6 TEST BYTE PTR [5DDA],FF
92 60A3 File 1 = 75 File 2 = 06 JNZ 60B1
93 60A4 File 1 = 0C File 2 = DA
94 60A5 File 1 = B0 File 2 = 5D MOV AL,3
95 60A6 File 1 = 03 File 2 = FF ** Change if other than Drive D (D=03) **
96 60A7 File 1 = B9 File 2 = C6 MOV CX,1 MOV BYTE PTR [5DDA],FF
97 60A8 File 1 = 01 File 2 = 06
98 60A9 File 1 = 00 File 2 = DA
99 60AA File 1 = BA File 2 = 5D MOV DX,3
100 60AB File 1 = 03 File 2 = FF
101 60AC File 1 = 00 File 2 = 74 JZ 60B8
102 60AD File 1 = CD File 2 = 0A INT 25
103 60AE File 1 = 25 File 2 = C6 MOV BYTE PTR [5DDA],0
104 60AF File 1 = 5A File 2 = 06 POP DX
105 60B0 File 1 = C3 File 2 = DA RET
106 60B1 File 1 = B0 File 2 = 5D MOV AL,8
107 60B2 File 1 = 08 File 2 = 00
108 60B3 File 1 = F6 File 2 = E8 MUL CH CALL 3D2B
109 60B4 File 1 = E5 File 2 = 75
110 60B5 File 1 = 00 File 2 = DC ADD CL,AL
111 60B6 File 1 = C1 File 2 = EB JMP 60CD
112 60B7 File 1 = 49 File 2 = 15 DEC CX
113 60B8 File 1 = 30 File 2 = E8 XOR CH,CH CALL 4B97
114 60B9 File 1 = ED File 2 = DC
115 60BA File 1 = 89 File 2 = EA MOV DX,CX
116 60BB File 1 = CA File 2 = BE MOV SI,6D2C
117 60BC File 1 = B9 File 2 = 2C MOV CX,1
118 60BD File 1 = 01 File 2 = 6D
119 60BE File 1 = 00 File 2 = BF MOV DI,070C
120 60BF File 1 = B8 File 2 = 0C MOV AX,3
121 60C0 File 1 = 03 File 2 = 07 ** Change if other than drive D. (D=03) **
122 60C1 File 1 = 00 File 2 = E8 CALL 4BA1
123 60C2 File 1 = EB File 2 = DD JMP 60AD
124 60C3 File 1 = E9 File 2 = EA
125 60C4 File 1 = 90 File 2 = BF MOV DI,07AC
126 60C5 File 1 = 90 File 2 = AC
127 60C6 File 1 = 90 File 2 = 07
128 60C7 File 1 = 90 File 2 = BE MOV SI,6D32
129 60C8 File 1 = 90 File 2 = 32
130 60C9 File 1 = 90 File 2 = 6D
131 60CA File 1 = 90 File 2 = E8 CALL 4BA1
132 60CB File 1 = 90 File 2 = D4
133 60CC File 1 = 90 File 2 = EA
134 60CD File 1 = 90 File 2 = E8 CALL 4166
135 60CE File 1 = 90 File 2 = 96
136 60CF File 1 = 90 File 2 = E0
137 60D0 File 1 = 90 File 2 = 33 XOR AX,AX
138 60D1 File 1 = 90 File 2 = C0
139 60D2 File 1 = 90 File 2 = C3 RET
140 60D3 File 1 = 90 File 2 = 4C DEC SP
141 60D4 File 1 = 90 File 2 = 49 DEC CX
142 60D5 File 1 = 90 File 2 = 47 INC DI
143 60D6 File 1 = 90 File 2 = 48 DEC AX
144 60D7 File 1 = 90 File 2 = 54 PUSH SP
145 60D8 File 1 = 90 File 2 = 24 AND AL,50
146 60D9 File 1 = 90 File 2 = 50
147 60DA File 1 = 90 File 2 = 45 INC BP
148 60DB File 1 = 90 File 2 = 4E DEC SI
149 60DC File 1 = 90 File 2 = 24 AND AL,33
150 60DD File 1 = 90 File 2 = 33
151 60DE File 1 = 90 File 2 = C0 DB C0
152 60DF File 1 = 90 File 2 = C3 RET
This section originally contained the code for calibrating the Light
Pen. We have replaced that code with code for reading a disk sector
using INT 25.
63E3 File 1 = CD File 2 = CD INT 19 INT 20
153 63E4 File 1 = 19 File 2 = 20
Change from - REBOOT - to - RETURN TO DOS - when exiting SARGON.
7B6C File 1 = 76 File 2 = 76 R R
154 7B6D File 1 = 65 File 2 = 45 e E
155 7B6E File 1 = 74 File 2 = 4D t M
156 7B6F File 1 = 75 File 2 = 4F u O
157 7B70 File 1 = 72 File 2 = 56 r V
158 7B71 File 1 = 6E File 2 = 45 n E
159 7B72 File 1 = 69 File 2 = 20 i
160 7B73 File 1 = 6E File 2 = 47 n G
161 7B74 File 1 = 67 File 2 = 41 g A
162 7B75 File 1 = 20 File 2 = 4D M
163 7B76 File 1 = 74 File 2 = 45 t E
164 7B77 File 1 = 6F File 2 = 20 o
165 7B78 File 1 = 20 File 2 = 44 D
166 7B79 File 1 = 53 File 2 = 49 S I
167 7B7A File 1 = 41 File 2 = 53 A S
168 7B7B File 1 = 52 File 2 = 4B R K
169 7B7C File 1 = 47 File 2 = 0D G CR
170 7B7D File 1 = 4F File 2 = 0A O LF
171 7B7E File 1 = 4E File 2 = 49 N I
172 7B7F File 1 = 20 File 2 = 4E N
173 7B80 File 1 = 49 File 2 = 53 I S
174 7B81 File 1 = 49 File 2 = 45 I E
175 7B82 File 1 = 49 File 2 = 52 I R
176 7B83 File 1 = 2E File 2 = 54 . T
177 7B84 File 1 = 0D File 2 = 20 CR
178 7B85 File 1 = 0A File 2 = 50 LF P
179 7B86 File 1 = 50 File 2 = 52 P R
180 7B87 File 1 = 72 File 2 = 4F r O
181 7B88 File 1 = 65 File 2 = 47 e G
182 7B89 File 1 = 73 File 2 = 52 s R
183 7B8A File 1 = 73 File 2 = 41 s A
184 7B8B File 1 = 20 File 2 = 4D M
185 7B8C File 1 = 61 File 2 = 20 a
186 7B8D File 1 = 6E File 2 = 44 n D
187 7B8E File 1 = 79 File 2 = 49 y I
188 7B8F File 1 = 20 File 2 = 53 S
189 7B90 File 1 = 6B File 2 = 4B k K
190 7B91 File 1 = 65 File 2 = 0D e CR
191 7B92 File 1 = 79 File 2 = 0A y LF
192 7B93 File 1 = 20 File 2 = 0A LF
193 7B94 File 1 = 74 File 2 = 50 t P
194 7B95 File 1 = 6F File 2 = 52 o R
195 7B96 File 1 = 20 File 2 = 45 E
196 7B97 File 1 = 63 File 2 = 53 c S
197 7B98 File 1 = 6F File 2 = 53 o S
198 7B99 File 1 = 6E File 2 = 20 n
199 7B9A File 1 = 74 File 2 = 41 t A
200 7B9B File 1 = 69 File 2 = 4E i N
201 7B9C File 1 = 6E File 2 = 59 n Y
202 7B9D File 1 = 75 File 2 = 20 u
203 7B9E File 1 = 65 File 2 = 4B e K
204 7B9F File 1 = 2E File 2 = 45 . E
205 7BA0 File 1 = 0D File 2 = 59 CR Y
206 7BA1 File 1 = 0A File 2 = 20 LF
207 7BA2 File 1 = 0A File 2 = 57 LF W
208 7BA3 File 1 = 20 File 2 = 48 H
209 7BA4 File 1 = 20 File 2 = 45 E
210 7BA5 File 1 = 20 File 2 = 4E N
7BA6 File 1 = 20 File 2 = 20
211 7BA7 File 1 = 20 File 2 = 52 R
212 7BA8 File 1 = 20 File 2 = 45 E
213 7BA9 File 1 = 20 File 2 = 41 A
214 7BAA File 1 = 20 File 2 = 44 D
215 7BAB File 1 = 20 File 2 = 59 Y
216 7BAC File 1 = 20 File 2 = 2E .
217 7BAE File 1 = 43 File 2 = 52 C R
218 7BAF File 1 = 68 File 2 = 45 h E
219 7BB0 File 1 = 65 File 2 = 4D e M
220 7BB1 File 1 = 63 File 2 = 4F c O
221 7BB2 File 1 = 6B File 2 = 56 k V
222 7BB3 File 1 = 69 File 2 = 45 i E
223 7BB4 File 1 = 6E File 2 = 20 n
224 7BB5 File 1 = 67 File 2 = 50 g P
225 7BB6 File 1 = 20 File 2 = 52 R
226 7BB7 File 1 = 67 File 2 = 4F g O
227 7BB8 File 1 = 61 File 2 = 47 a G
228 7BB9 File 1 = 6D File 2 = 52 m R
229 7BBA File 1 = 65 File 2 = 41 e A
230 7BBB File 1 = 20 File 2 = 4D M
231 7BBC File 1 = 61 File 2 = 20 a
232 7BBD File 1 = 72 File 2 = 44 r D
233 7BBE File 1 = 65 File 2 = 49 e I
234 7BBF File 1 = 61 File 2 = 53 a S
235 7BC0 File 1 = 2E File 2 = 4B . K
236 7BC3 File 1 = 50 File 2 = 49 P I
237 7BC4 File 1 = 72 File 2 = 4E r N
238 7BC5 File 1 = 65 File 2 = 53 e S
239 7BC6 File 1 = 73 File 2 = 45 s E
240 7BC7 File 1 = 73 File 2 = 52 s R
241 7BC8 File 1 = 20 File 2 = 54 T
242 7BC9 File 1 = 61 File 2 = 20 a
243 7BCA File 1 = 6E File 2 = 47 n G
244 7BCB File 1 = 79 File 2 = 41 y A
245 7BCC File 1 = 20 File 2 = 4D M
246 7BCD File 1 = 6B File 2 = 45 k E
247 7BCE File 1 = 65 File 2 = 20 e
248 7BCF File 1 = 79 File 2 = 44 y D
249 7BD0 File 1 = 20 File 2 = 49 I
250 7BD1 File 1 = 74 File 2 = 53 t S
251 7BD2 File 1 = 6F File 2 = 4B o K
252 7BD3 File 1 = 20 File 2 = 0D CR
253 7BD4 File 1 = 63 File 2 = 0A c LF
254 7BD5 File 1 = 6F File 2 = 0A o LF
255 7BD6 File 1 = 6E File 2 = 50 n P
256 7BD7 File 1 = 74 File 2 = 52 t R
257 7BD8 File 1 = 69 File 2 = 45 i E
258 7BD9 File 1 = 6E File 2 = 53 n S
259 7BDA File 1 = 75 File 2 = 53 u S
260 7BDB File 1 = 65 File 2 = 20 e
261 7BDC File 1 = 2E File 2 = 41 . A
262 7BDD File 1 = 0D File 2 = 4E CR N
263 7BDE File 1 = 0A File 2 = 59 LF Y
264 7BE0 File 1 = 20 File 2 = 4B K
265 7BE1 File 1 = 20 File 2 = 45 E
266 7BE2 File 1 = 20 File 2 = 59 Y
267 7BE4 File 1 = 20 File 2 = 57 W
268 7BE5 File 1 = 20 File 2 = 48 H
269 7BE6 File 1 = 20 File 2 = 45 E
270 7BE7 File 1 = 20 File 2 = 4E N
271 7BE9 File 1 = 20 File 2 = 52 R
272 7BEA File 1 = 20 File 2 = 45 E
273 7BEB File 1 = 20 File 2 = 41 A
274 7BEC File 1 = 20 File 2 = 44 D
275 7BED File 1 = 20 File 2 = 59 Y
276 7BEE File 1 = 20 File 2 = 2E .
These changes are purely cosmetic, and replaces the screen instructions
when saving a game to ram disk or loading a game from ram disk.
277 80BA File 1 = E8 File 2 = B8 CALL 5E6D MOV AX,0201
278 80BB File 1 = B0 File 2 = 01
279 80BC File 1 = DD File 2 = 02
280 80BD File 1 = 90 File 2 = CD INT 13
281 80BE File 1 = 90 File 2 = 13
When actually run, 5E6D will be replaced by 60A0. The original BIOS
INT 13 call will be replaced by a DOS INT 25 call in order to read
various disk sectors.
282 8314 File 1 = 90 File 2 = CD INT 13
283 8315 File 1 = 90 File 2 = 13
284 8316 File 1 = 90 File 2 = 73 JNB 8310
285 8317 File 1 = 90 File 2 = 05
286 8318 File 1 = 90 File 2 = 80 CMP AH,10
287 8319 File 1 = 90 File 2 = FC
288 831A File 1 = 90 File 2 = 10
289 831B File 1 = EB File 2 = 74 JMP 8330 JNZ 8330
831C File 1 = 13 File 2 = 13
By-pass INT 13 instruction
290 83EE File 1 = 90 File 2 = E8 CALL 86FF
291 83EF File 1 = 90 File 2 = 0E
292 83F0 File 1 = 90 File 2 = 03
By-pass this call. The procedure at 86FF contains an INT 13 call (at
8711) which checks the diskette and terminates the program if it gets
the wrong answers. We want to avoid that section in all cases except
when we are loading or saving a game.
293 870E File 1 = E8 File 2 = B8 CALL 5DB2 MOV AX,0401
294 870F File 1 = A1 File 2 = 01
295 8710 File 1 = D6 File 2 = 04
296 8711 File 1 = 90 File 2 = CD INT 13
297 8712 File 1 = 90 File 2 = 13
When actually run, 5DB2 will be replaced by 5FE8. The original BIOS
INT 13 call will be simulated by the code at that address. Although
the original program gets to this point many times, the only time which
we will reach it is when we are either saving a game to disk or loading
an already saved game.
87DA File 1 = B9 File 2 = B9 MOV CX,0 MOV CX,0AF1
298 87DB File 1 = 00 File 2 = F1
299 87DC File 1 = 00 File 2 = 0A
300 87DD File 1 = 90 File 2 = E2 LOOP 87DD
301 87DE File 1 = 90 File 2 = FE
I don't know the purpose of this code in the original SARGON.III file.
The looping takes up a lot of time, so I eliminated it. There doesn't
seem to be any ill effects.
OPTIONAL MODIFICATIONS FOR USE WITH A COLOR MONITOR
302-319 Changed every second byte beginning at address 0547 and continuing
to 0569 (0547,0549,054A,....0563,0567,0569) from screen attribute
byte 70 to 7A.
320-337 Changed every second byte beginning at address 056C and continuing
to 058E (056C,056E,0570,....058A,058C,058E) from screen attribute
byte 10 to 1A.
Les Moskowitz