1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
|
2CDT
====
(c) Kevin Thacker
(Original code written in May 2000, fixed and released in May 2001)
2CDT is a utility to transfer files into a ".CDT" Tape-Image.
A ".CDT" is a tape-image file which describes the data stored on a cassette tape.
This file format is very powerful and can describe fast and custom loaders as well
as standard operating system formats.
The ".CDT" file format is identical to the ".TZX" format. The extension is used
to differentiate between Spectrum and Amstrad Tape-Images.
The ".TZX" file format was originally designed to store Spectrum tape programs,
it's format can be found from various sources, one of these is "World Of Spectrum":
http://www.void.jump.org/
There are a number of tools which already create .TZX files, Taper, Voc2TZX and MakeTZX.
However, these are designed to recognise Spectrum tape loaders, and so do not do well
at creating a tape-image for Amstrad formats.
This tool has been designed as a starting point for furthur Amstrad CDT tools,
and as a program to generate reference tape-images which can be used by emulator
authors to support this tape-image format in their programs.
This tool is designed to "inject" one or more file into a ".CDT" in the format written
by the Amstrad operating system. The tool allows the user to define the ".CDT" "recording"
method and baud rate.
2CDT [parameters] <source file> <output CDT filename>
parameters:
-n
- Blank CDT file before use
Use this to create a new CDT, otherwise file
will be added to the end of an existing CDT.
-s <speed write>
- Write data with 'speed write' 0 or 1.
This is the same as typing "SPEED WRITE 0" or "SPEED WRITE 1"
in BASIC. Speed Write '0' is 1000 baud. Speed write '1' is
2000 baud.
-b <baud rate>
- Specify Baud Rate.
Allows you to specify faster or slower loading.
-t <method>
- Method to write data into TZX (for Amstrad blocks)
0 = Pure Data Block
1 = Turbo Loading Data Block (default)
-m <method>
- Method to write CPC data
0 = blocks (default)
1 = headerless (Firmware function CAS READ for reading, CAS WRITE for writing )
To be loaded with firmware function CAS READ.
Not readable from BASIC. Allows entire program
to be stored as a single continuous block.
2 = Spectrum ROM loader
-r <tape filename>
- Give the tape file a name. Up to 16 characters.
This allows you to give the file on tape a different
name to the name given on your local filesystem.
If no name is defined, the file will be unnamed.
This option applies to CPC 'blocks' methods only.
-X <address>
Define execution address (where file doesn't have header), or
override execution address (where file has a header)
-L <address>
Define load address (where file doesn't have header), or
override load address (where file has a header)
-T <address>
Define type (where file doesn't have header), or
override type address (where file has a header)
0 = BASIC, 2 = BINARY
-p <number>
Set initial pause (default 3000ms)
-P
Add a small initial pause block for buggy emulators (e.g. old versions of Arnold)
Not recommended. Please use newer version of this emulator.
Examples:
The following in a bacth file will create the master tape for 'Stranded':
REM create new CDT and put binary loader
2cdt -n -r stranded strandlod.bin stranded.cdt
REM add screen to existing CDT data
2cdt -r screen loading.bin stranded.cdt
REM add code to existing CDT data
2cdt -r code stranded.bin stranded.cdt
If you wanted to create a master tape for a game called 'Columns':
REM create new CDT and put binary loader
2cdt -n -r loader colload.bin columns.cdt
REM put binary file as headerless
2cdt -m 1 colcode.bin columns.cdt
This archive contains a Windows command-line executable that will run under Win95, Win98,
Win2000 and WinNT.
License:
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|