TCX is a propriertary database format for Garmin Training Centre which came out circa 2007.
Luckily for you lot I still have original format course files sitting around on my PC. There were two file formats the TCX database format which hold multiple things such as courses, workouts, profile data, plus the purer CRS format which just held courses.
First the TCX format, here is an original one I created in 2011 / 2012 for the Edge 500.
You get the summary info including any laps you have setup
<TrainingCenterDatabase xmlns="
http://www.garmin.com/xmlschemas/TrainingCenterDatabase/v2" xmlns:xsi="
http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="
http://www.garmin.com/xmlschemas/TrainingCenterDatabase/v2 http://www.garmin.com/xmlschemas/TrainingCenterDatabasev2.xsd">
<Folders/>
<Courses>
<Course>
<Name>Preston Circuit</Name>
<Lap>
<TotalTimeSeconds>16221.0000000</TotalTimeSeconds>
<DistanceMeters>72650.0000000</DistanceMeters>
<BeginPosition>
<LatitudeDegrees>52.8475017</LatitudeDegrees>
<LongitudeDegrees>0.6299989</LongitudeDegrees>
</BeginPosition>
<BeginAltitudeMeters>90.0000000</BeginAltitudeMeters>
<EndPosition>
<LatitudeDegrees>52.7197627</LatitudeDegrees>
<LongitudeDegrees>-0.2283500</LongitudeDegrees>
</EndPosition>
<EndAltitudeMeters>114.0000000</EndAltitudeMeters>
<Intensity>Active</Intensity>
</Lap>
Then you get the info you would recognise as equivalent of a track in GPX files. But notice you have additional information about how far along the track you are, the distance element.
<Trackpoint>
<Time>2012-02-25T04:24:33Z</Time>
<Position>
<LatitudeDegrees>51.9562005</LatitudeDegrees>
<LongitudeDegrees>0.4992400</LongitudeDegrees>
</Position>
<AltitudeMeters>82.0000000</AltitudeMeters>
<DistanceMeters>760.8699951</DistanceMeters>
</Trackpoint>
<Trackpoint>
<Time>2012-02-25T04:24:43Z</Time>
<Position>
<LatitudeDegrees>51.9560879</LatitudeDegrees>
<LongitudeDegrees>0.4985699</LongitudeDegrees>
</Position>
<AltitudeMeters>75.0000000</AltitudeMeters>
<DistanceMeters>808.5199585</DistanceMeters>
</Trackpoint>
Now for prompts you needed coursepoints and these are the only trigger for an alert on the earlier edge units (205/305/500)
Coursepoints look like this in TCX format. Notice there is a point type, this dictated the icon shown on the screen, and there were about half a dozen point type icons available to use. left, right, straight, water, food etc.
<CoursePoint>
<Name>Poppy's</Name>
<Time>2012-02-25T05:17:56Z</Time>
<Position>
<LatitudeDegrees>51.9536768</LatitudeDegrees>
<LongitudeDegrees>0.3436500</LongitudeDegrees>
</Position>
<AltitudeMeters>88.0000000</AltitudeMeters>
<PointType>Food</PointType>
</CoursePoint>
<CoursePoint>
<Name>Vill. Hall</Name>
<Time>2012-02-25T07:12:52Z</Time>
<Position>
<LatitudeDegrees>51.9502719</LatitudeDegrees>
<LongitudeDegrees>0.0352099</LongitudeDegrees>
</Position>
<AltitudeMeters>102.0000000</AltitudeMeters>
<PointType>Food</PointType>
</CoursePoint>
You notice there are times in the file. These were used for the Garmin virtual partner you could set in courses to pace yourself against. They were either generated in Training Centre or would be based on the times from your previous workout.
Finally you get the application info at the end of the TCX database.
<Author xsi:type="Application_t">
<Name>Garmin Training Center(r)</Name>
<Build>
<Version>
<VersionMajor>3</VersionMajor>
<VersionMinor>6</VersionMinor>
<BuildMajor>5</BuildMajor>
<BuildMinor>0</BuildMinor>
</Version>
<Type>Release</Type>
<Time>Aug 17 2011, 11:13:24</Time>
<Builder>sqa</Builder>
</Build>
<LangID>EN</LangID>
<PartNumber>006-A0119-00</PartNumber>
</Author>
</TrainingCenterDatabase>
You could build courses from scatch in Training Centre or you could elect to base them on a previous "workout". Workouts are also saved in the TCX. Workouts were not simply tracklogs but also contained summary information, lap information, heart rate, cadence and various other bits of data from a rider's profile as well.
With the Edge 500 and later units the internal format was changed to FIT another Garmin format. This latter format is binary but you can still find many of the structures and ideas from tcx carried over into it. This is why when later Garmins crash it can sometimes claim the distance is there but there is no tracklog. The summary record has been retained but the detail records were dumped from memory and not saved.
You can still dump tcx, crs files onto Garmin 500's and it will convert them to fit format for use. Not sure about later units as the Edge 500 was the last Edge I ever used due to them crashing on long rides.