English Amiga Board

English Amiga Board (http://eab.abime.net/index.php)
-   News (http://eab.abime.net/forumdisplay.php?f=29)
-   -   X-Copy source code released! (http://eab.abime.net/showthread.php?t=62391)

mr.vince 26 December 2011 16:55

X-Copy source code released!
 
Still in time... Here's the full source code for the most popular copy program on the Amiga:

http://www.kryoflux.com/download/xco...ource_2011.zip


Enjoy! As soon as it's been published on Aminet, I would ask the mods to change the link to make it permanent.

Retro1234 26 December 2011 18:58

Cool - You think this could be the basis for someone to create a new copier?

I still think a cheap Cyclone - Image to disk writer could be cool.

mr.vince 26 December 2011 19:19

For what? ADOS disks? I think there are better programs these days. As for copy protected stuff... There are better programs, too. Given the limitations and the pricing of these, it might be cheaper getting a KryoFlux or similar.

But feel free to surprise me / us. :D

Jope 26 December 2011 20:51

Cool! :-)

Akira 26 December 2011 20:58

Awesome! Was this reverse-engineered?

hitchhikr 26 December 2011 21:44

It's the original source code (commented in German).

Carlos Ace 26 December 2011 23:19

Awesome !!!!
:bowdown

mr.vince 26 December 2011 23:34

Indeed, this is the original source dated 09.1992; it comes straight from the ASI / Cachet master disk archive.

Enjoy and spread (the word).

phx 27 December 2011 14:39

The source is incomplete, or at least it requires some work to complete it.

The include files offsets.i and macros.i are missing, needed for config.asm.
gfx/solopic.raw and gfx/solopic_d.raw are missing. They have to be created from the IFF files first.
gfx/xcopypic.pp and gfx/xcopypic_d.pp are missing. They probably have to be created from the IFF files too and then packed with PowerPacker.
gfx/circle.raw is missing. No idea how to make it.

I stopped at that point. There may be more.

mr.vince 27 December 2011 15:31

Well that's what's left. It's the "complete" source directory as submitted by the maintainer (Hans Kurent in this case).

But I think I remember seeing a batch file that would call third party converters and the like to converte the IFFs etc. Did you check?

phx 27 December 2011 17:34

It is certainly possible to reproduce those raw images, as long as the IFF originals are present.

But circle.raw is missing completely. Also no IFF. Maybe we can get it from an original XCopy executable if we know what it is.

mr.vince 27 December 2011 19:12

I have no idea what circle would have been used for... X-copy only has a mouse pointer, and bulbs, off, illuminated and with a checkmark.

I have the complete master disks here, about 150. Only one has source files, the rest is binaries only. If you intend to rebuild it, I will be glad to help as much as I can...

Supamax 27 December 2011 20:50

Great news!

A new feature I would like to see added is the ability to save/load to/from hard disk :) (a feature PowerCopy ever had).

mr.vince 27 December 2011 21:57

You have PowerCopy for that... ;)

Minuous 27 December 2011 22:15

I had assumed the source was already leaked, based on the huge number of unofficial hacks of X-Copy that exist. But I guess they were just done via disassembly.

phx 28 December 2011 16:41

1 Attachment(s)
Attached you find the fixed source.

I added the missing raw images (ripped from the executable):
circle.raw, solopic.raw, solopic_d.raw, xcopypic.raw, xcopypic_d.raw

And the Powerpacked version of xcopypic.pp, xcopypic_d.pp and solo.pp, which are all needed to build the executable.

The missing macros.i for config.asm had been reconstructed.

Notes:

- I wrote a makefile to build XCopyPro with vasm. AsmOne could work too, Devpac not, because of the missing BASEREG directive.
- A Powerpacker cruncher is missing. I commented the line in the makefile. Anybody got a portable PP cruncher source?
- To build XCopy_config you need the assember includes from the NDK and the amiga.lib for the _LVOxxx symbols.

I can build it and it works, on configurations up to 68020/ECS. To make it work on higher configurations the program has to be fixed.

I do not intend to continue working on the source. I just had some free hours and some fun to make it assemble. :xmas

mr.vince 28 December 2011 18:06

Cool... I will rebuild the complete thing and then ask the guys at Aminet to archive this version instead...

acd2001 28 December 2011 23:37

1 Attachment(s)
Keyboard layout in FORMAT is completly broken.

Search in xio.s

ktab DC.B "`1234567890-=\",$00,"0qwertyuiop[]",$00 ; $00-$1C

and replace with

ktab DC.B "`1234567890-=",$5C,$00,"0qwertyuiop[]",$00 ; $00-$1C

\ in misinterpreted in vasm, simply replaced it with $5C.

phx 28 December 2011 23:48

You're right! Thanks. I didn't notice that in my quick test.

Like PhxAss vasm treats the '\' as an escape character in its default mode. To fix that either assemble with -devpac option for DevPac compatibility mode, or replace the '\' in the source by '\\'.

acd2001 29 December 2011 00:36

Another bug in FORMAT, QINSTALL and QFORMAT.

Xcopy bootblock has incorrect checksum.
in xcop.s search for:

DC.L $26ba261a
ELSE
DC.L $71E12C82

and replace with

DC.L $BA55926B
ELSE
DC.L $C0A6DDA9


All times are GMT +2. The time now is 16:59.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2018, vBulletin Solutions Inc.

Page generated in 0.04247 seconds with 11 queries