Udo Munk schrieb:
>
> Well, assemble and link this program and see your self.
>
Ok, lets try ...
It needs the TDL Assembler for CP/M, found "TDL Stuff.zip" from
s100computers Assembler Collection.
Get sargon.asm,
SARGON.COM from Andre. Also Jupiter-SARGON.zip and
Jupiter-SARGON-src.zip.
>
> Formatting not fixed, still OCR errors or typos, not really working.
> The one for the Jupiter III emulation seems to work, but no source for that one,
> and I need this as starting point.
>
Now it gets interesting :-)
Inside Jupiter-SARGON-src.zip is *another*
Jupiter-SARGON.zip with a smaller
SARGON.COM (8832 Bytes).
Rename
SARGON.COM from Andre to
SARGONX.COM for reference.
Extract this smaller
SARGON.COM and name it
SARGONY.COM.
Assemble it...
zasm-tdl sargon o
TDL Z80 CP/M DISK ASSEMBLER VERSION 2.21
.MAIN.
tdl-link sargon
TDL LINKER (CP/M) 3/28/78
SARGON.COM (2402H, 10K)
Result...
$ ls -la SARGON* sargon*
-rw-r--r-- 1 martin users 9088 Dec 23 2011
SARGONX.COM
-rw-r--r-- 1 martin users 8832 Dec 19 2011
SARGONY.COM
-rw-r--r-- 1 martin users 98155 Dec 23 2011 sargon.asm
-rw-r--r-- 1 martin users 9088 Sep 14 00:35
sargon.com
-rw-r--r-- 1 martin users 263296 Sep 14 00:44 sargon.prn
-rw-r--r-- 1 martin users 7552 Sep 14 00:35 sargon.rel
$ cksum SARGON* sargon*
3818949195 9088
SARGONX.COM
3949416565 8832
SARGONY.COM
2555951587 98155 sargon.asm
3818949195 9088
sargon.com
2719842347 263296 sargon.prn
1595414158 7552 sargon.rel
Fine, binary matched the larger one at first try :-)
What's the difference between
SARGONX.COM and
SARGONY.COM?
Obviously 256 Bytes :-)
Looking inside using a very handy tool "vbindiff" from
<
http://www.cjmweb.net/vbindiff/>.
The code starting with 0BF0' in the listing (0C00 absolute)
begins at 0B00 absolute, otherwise identical
Save a copy as sargon0.asm and change every .LOC:
$ diff sargon0.asm sargon.asm
189c189
< .LOC START+3EFH ;X START+2FFH
---
> .LOC START+2EFH ;X START+2FFH
379c379
< .LOC START+3F0H ;X START+300H
---
> .LOC START+2F0H ;X START+300H
2072c2072
< .LOC START+18F0H ;X START+1800H
---
> .LOC START+17F0H ;X START+1800H
2209c2209
< .LOC START+1AF0H ;X START+1A00H ; Above the move logic
---
> .LOC START+19F0H ;X START+1A00H ; Above the move logic
Assemble again, and
sargon.com is identical to
SARGONY.COM.
One of the two should work, not ok to start with?
Martin