Opening page

Web site: https://marabella.org

Click the Start button or use the contents panel on the left

to navigate around the documentation

This help file is for Marabella IV

Version 4.006.02

Last updated 2025-02-03

Acknowledgements


About Marabella

About Marabella IV

Welcome to Marabella!

Marabella is a simple utility designed to help you with scoring and logging error resolution for FOC Marathon logs.

Marabella IV is the latest generation of the original Marabella concept, which stretches right back to 2003 when I decided that there had to be a better way to score Marathon logs. It accepts a wide range of input log types and creates standard HTML output for viewing with your Internet browser.

Marabella IV brings the program up to date for working with the most recent versions of the Windows operating system and includes Tyler, N4TY's members database to help with member identification. It also includes the Club Log entity database, which is generally recognised as the best out there. Finally, Marabella IV has an on-line updating facility, so updates to the program and data files can be done automatically.

What Marabella does

Marabella is not a logging program! Marabella processes log files from your own logger and...

  • Creates HTML documents comprising summary sheet, tick sheets and logbook in very similar format to the Marathon paper entry.
  • Fully and correctly scores the Marathon, including G*4FOC QSOs, 5/6 banders, Entity and Continent bonuses.
  • Creates a detailed error log to help you with fixing problems in your log.

What Marabella does not do

Unlike previous versions, Marabella IV does not produce results for submission to the adjudicator. The Marathon adjudicator now has an on-line upload facility that expects Cabrillo or ADIF files, as produced by your logging program. Do not try to send any Marabella files.

Availability

Marabella IV is available free of charge to all FOC Members. The latest version is always available at the Marabella support web site, https://marabella.org. Please do not copy the software to other sites - provide a link instead. Always get updates from the official site.

You may give Marabella to any other FOC Member but please do not circulate it outside of the club. Please only distribute the full installation package, complete and unaltered.

Copyright

Marabella is created by and copyright of John Linford, G3WGV, FOC 1600.

Why "Marabella"?

It's always nice to have an easy way of referring to a piece of software. I could have called it the FOC Marathon Cabrillo entry formatter by G3WGV but somehow that doesn't quite have the same ring about it. So, Marabella...

Mara The first four letters of Marathon

bella Something nice or good.

So now you know!

Tell me what you think

If you use Marabella, please let me know how you get on. If there is sufficient interest then I will continue to develop it.

73,

John, G3WGV, FOC 1600

JohnL@g3wgv.com


Getting started

Getting started with Marabella IV

What you need to be able to use Marabella

Your logging program must be able to create a one of the following standard text formats:

Cabrillo

Cabrillo is the standard format for contest logging programs. By far the most common Cabrillo record layout is The standard Cabrillo file format, sometimes referred to as the CQWW format. All logging programs should be able to be configured to output Cabrillo in this format. Cabrillo is the preferred file format for Marabella.

Other Cabrillo formats are supported but not recommended:

  • The default TR Log Cabrillo file format. This format is produced if you operate TR Log in general QSO mode.
  • The FOC-BWQP Cabrillo file from N1MM Logger. Intended for BWQP use its use is not recommended for the Marathon. Please set Logger to CQWW.
  • The N1MM DX contest format. Intended for International DX contest use its use is not recommended for the Marathon. Please set Logger to CQWW.

See Cabrillo format for the formal definition of the supported Cabrillo record formats.

See Cabrillo preferences for how to set up user-defined Cabrillo record formats

ADIF

ADIF is the format generally used by station logging programs. ADIF is extremely flexible and therein lies most of its problems! In particular different logging programs have no common strategy for which field to put the FOC number received in. That's a real problem for the Marathon, given that the number determines the point. Because of these limitations, ADIF should only be used if your logging program cannot create Cabrillo files.

Considerable effort has been put into making Marabella able to handle the numerous different formats. There are also features to let you define your own ADIF fields. If your logging program cannot create a Cabrillo output file then ADIF format will work OK.

See ADIF format for the formal definition of ADIF fields supported by Marabella

See ADIF preferences for user-defined ADIF field support

Field requirements

Your logger must output the FOC number received for each FOC QSO, as well as the usual date, time, band/frequency and callsign fields. There is considerable flexibility in the field layouts but it is much easier if your logger can output one of the standard formats. Non-member QSOs can be logged with either a blank FOC number field or, if your logger won't allow that set the field to zero.


System requirements

Hardware

Any reasonably modern Windows-based computer should be able to run Marabella, as it is neither processor nor memory intensive. If your computer will run your logging program then it will run Marabella.

Windows operating system

Marabella IV was developed using Delphi 10.4 running on Windows 10. It has been tested and found to work just fine on Windows XP, Windows Vista, Windows 7, 8 and 10. It'll almost certainly run on Windows 11 but this has not yet been tested. If you run it on Windows 11 please let me know how you get on.

Browser

Marabella IV uses your Internet browser for viewing its results. Only simple HTML is used, so any browser from the earliest versions of Internet Explorer should work fine. Marabella IV has been tested on current versions of Firefox, Microsoft Edge and Google Chrome. Please let me know if you have problems with other browsers.

Internet access

Marabella IV needs access to the Internet to check for updates. Your anti-virus software may warn you that it has blocked access when you first run Marabella because it is a new application. Please permit Marabella to access the Internet.


Installing Marabella

Downloading and installing

Marabella can be downloaded from https://marabella.org as a standard Windows installer file, Marabella.msi. Save the file somewhere convenient and then double click it.

By default, Marabella IV installs at C:\MarabellaIV but the installer lets you choose a different location if you wish. When selecting your installation location please bear in mind that Marabella creates folders and sub folders that you are likely to need access to. Please do not install Marabella in a folder that is protected, either by Windows or, perhaps, your A/V software, as that is likely to interfere with creating your results files.

Marabella folder structure

Assuming that you install Marabella in its default location, following installation you should have the following folder structure:

C:\MarabellaIV Contains the application and various helper files, DLLs, etc.

\Cabrillo Contains the Cabrillo work files

\Files Contains the databases of members and entities

\HTML Is the folder for Marabella's output files. It also contains other files associated with HTML production such as images, CSS, etc.

\Logs Is the default folder for your logs (see setting your preferences)

\Updates Used by the on line update service

Run time problems

If you get run time problems then it is likely that your system is preventing Marabella from creating files. Windows 10 and some anti-virus programs can make folders protected without telling you and then Marabella will not work properly.

Examples of run time problems that may be due to folder protection:

  • I/O Error 32 reports
  • Unable to process log files and/or produce output files
  • Unable to update Marabella using the auto-update facility

It is usually possible to turn off folder protection but some anti-virus programs make that quite difficult to do. The alternative is to install Marabella somewhere else, perhaps on a different drive or on a memory stick.


Running Marabella for the first time

Initial preferences set-up

When you first run Marabella you will be prompted to do some initial set up

Click on OK and you will be presented with the preferences set-up screen

At this stage it is only necessary to enter your call sign and FOC number. There are several other options in the other tabs, which you may come to later but are probably best left unchanged for now. Full details can be found in Setting your preferences.

When you have entered your call sign and FOC number, press OK. Note: you can't exit this set up until you have entered these details. If you press Cancel at this stage then Marabella will terminate.

If all is well then the next window you see will be the main Marabella screen and now you can get to work!


Setting your entry details

Your first task is to select the input conditions to the program.

1. Click on the Select input log type drop down and select the type of file that your logging program has produced. Options are, in order of preference: Cabrillo, ADIF.

2. Click on Open input file and select the file that your logging program produced. You can navigate to other drives/folders as required. If wanted, you can set your user preferences to start in any convenient folder.

3. You can now, optionally, View/edit input file. This opens your input file in Notepad for inspection. Note that it is generally preferable to make any modifications to your log using your logging program, rather than modifying this output file.

4. If necessary, modify your callsign used during the event and FOC number

A note about the automatic update facility

Marabella has an automatic update checking service which, by default, runs five seconds after the program is started, so it might pop up around now. If you are connected to the Internet you will be notified that updates are available and given the option to run the update service. You can do this now or at any convenient time.


Processing your log

With everything set up you are now ready to run the program and see what Marabella makes of your log. Click on Process log to start.

The event log will fill with information showing Marabella's progress and will complete with a summary report showing the number of errors or warnings detected. Depending on the speed of your computer, the size of your log and the output method you have selected the process will take anything from less than a second to a few tens of seconds to complete.

When the run has completed, click on View results to check on the results, which will open in your browser. You can now review your cover sheet, tick sheet, logbook and warnings/errors by clicking on the appropriate links.

Please see the following help pages for assistance with fixing any logging problems:

Warnings & errors reported by Marabella

Warnings & errors basics

Logging error classes

Incorrect entity errors

Strategies for fixing logging errors

NB: Unlike previous versions, Marabella IV does not produce results for submission to the adjudicator. The Marathon adjudicator now has an on-line upload facility that expects Cabrillo or ADIF files, as produced by your logging program. Do not send any Marabella files to the adjudicator.


Warnings & errors reported by Marabella

Introduction

Marabella includes extensive and very carefully debugged error reporting logic to help you with finding logging errors. The report is posted in the Warnings & Errors log page.

The critically important thing to remember in fixing errors is this: The FOC number determines the point. This is what the Marathon rules say and it is the way that Marabella goes about detecting logging errors. Marabella includes a database containing a full list of all members, their FOC numbers and known alternative callsigns. This enables Marabella to carefully cross check log entries and suggest corrections to the errors that it detects. In particular, Marabella checks logged FOC numbers to ensure that they are valid (i.e. the number belongs to a currently active member).

The Marathon lets members use any callsign with their FOC number, for example, I could as easily operate in the Marathon with my USA callsign, N3GV as I could with G3WGV. That's completely legitimate and many people do that sort of thing every year. What is not legitimate is that the callsign changes during the course of the Marathon weekend! Therefore, Marabella will show a warning if the callsign does in fact change, but otherwise is unconcerned what the actual callsign is.

It is amazing how many callsign and/or FOC number errors occur in some logs. Very few logs are completely free of such errors and so considerable effort has been put into catching these classes of error. It is in your interests to take note of these errors and to fix them. You'll get more points that way!

Special note about G4FOC QSOs

Please note that QSOs with G4FOC count as two QSOs in all respects. So if you make a five band sweep with G4FOC, that will count as ten QSOs. This is not a bug! It is the way the rules are written. Marabella correctly scores Gx4FOC QSOs when the club callsign is being used outside of England.


Warnings & errors basics

The Warnings/Error log should be your first port of call after you've run Marabella. I've tried to make the warning/error log as informative as possible and here I will explain some of the basics of debugging your log. More information can be found in Strategies for fixing logging errors.

Each warning/error follows a standard format, as follows:

QSO:

This is a copy of the QSO record where the error was detected. The record is in Cabrillo format regardless of the format of your original log file.

Warning/error message(s) and analysis

One or more lines describing the warnings/errors detected by Marabella. Where possible, additional analysis is presented that may help you identify the problem. For example if the error is Incorrect FOC number then the analysis will show the expected number. It is important to note that the warning or error may be due to erroneous logging in an earlier QSO. For example, if you logged the wrong callsign for one QSO and then later logged the correct callsign then the error will be shown on the later QSO. This is because a member can use any callsign, so Marabella is unable to detect the error on the initial QSO.

Warnings and errors are fully described on the next page. Click Next.


Logging warning/error classes

Here is a detailed description of each warning/error class, with possible causes and impact analysis.

Errors are hard faults that will definitely result in loss of points and must be investigated.

Warnings are generally logging inconsistencies that may result in loss of points. Depending on context, some will be of no consequence (a "No FOC number" warning for a QSO that really was with a non-member, for example) but you should always check any unexpected warning.

Remember that a warning or error may be reported as a result of a logging error in an earlier QSO. Marabella tries its best to report the error in the right place but that isn't always possible because of how the Marathon rules work. Be willing to go back through your log to find the mistake.

Warning/error class Description, possible causes and impact

ADIF format error: ... ERROR

There is a format error or inconsistency in the ADIF record fields for one or more QSOs. This error only occurs if you are using an ADIF file. Generally Cabrillo files are more reliable and Cabrillo is the preferred format for that reason. The log file cannot be processed.

Invalid FOC number ERROR

The FOC number supplied for this QSO is not a current FOC member number or it is non-numeric. Marabella will say what number it expected if the callsign is recognised as a current member. The QSO is not counted.

Invalid frequency ERROR

Logged frequency is not in a valid amateur band for the Marathon. This will happen if you log non-Marathon QSOs on, say, the WARC bands. Or it could be due to your logging program not picking up the band data from your rig. The QSO is not counted.

Duplicate WARNING

Generally self explanatory. Remember that the number determines the point. According to the log you worked that particular FOC number already on this band. Of course it might be that you logged the wrong FOC number in an earlier QSO and that gives an erroneous duplicate report. Either way it is possible that something is wrong and you need to investigate. The QSO is not counted.

No FOC number WARNING

Generally self explanatory. The error analysis suggests that this might have been a QSO with a non member. If that is the case then that's fine but if not then it's a logging error that should be investigated. Marabella will say what number it expected if the callsign is recognised as a current member. The QSO is not counted.

If you get this error for every QSO in your log it means that Marabella has been unable to locate his FOC number in the supplied log format. This problem is most likely to occur when using ADIF input files, as some logging programs put his FOC number in unusual places! There are ways to fix this in Marabella: see ADIF format and ADIF preferences for more information.

Callsign has changed WARNING

For the logged FOC number, you have logged a different callsign to that which you logged in your first QSO with that member. It may be that the callsign is wrong, or the FOC number is wrong. It is possible that the error is in a previous QSO. The QSO may be counted or adjudicated incorrectly.

The important point here is that for the duration of the Marathon, Marabella expects there to be a unique one-to-one mapping between the callsign and the associated FOC number. Things to look out for include leaving suffixes or prefixes off the callsign (VA3CH/W4 is not the same callsign as VA3CH, nor is N3RS the same as N3RS/M, though in this case the error can be ignored if it turns out that Sig did some operating from home and some from the car).

Other common errors include logging G4BUE as FOC 1486 (wrong) and then later logging G4BUO as FOC 1486 (correct) or vice versa. The error was in the first QSO but it is not detected until the later QSOs that have the correct data. Or logging G3WG (missing the V off) or G4WGV. There has been a trend in recent years to log 0 (zero) instead of the letter "O" or vice-versa. They are different! And so on.

Callsign suffix has changed WARNING

The callsign was logged earlier with a different, or non-existent suffix. For example, you logged G3WGV/P for the first QSO and then some time later logged G3WGV (without the /P). It may be that G3WGV really did do some operating /P and some at home, in which case the warning can be ignored. You should check it out, as if you have logged the suffix incorrectly you will lose points at adjudication. The QSO may be counted or adjudicated incorrectly.

FOC number has changed WARNING

For the logged callsign, you have logged a different FOC number to that which you logged in an earlier QSO. It may be that the callsign is wrong, or the FOC number is wrong. Or it may be that the earlier QSO was the one with the mistake. The QSO may be counted or adjudicated incorrectly.

The important point here is that for the duration of the contest, Marabella expects there to be a unique one-to-one mapping between the callsign and the associated FOC number.

Wrong FOC number WARNING

Where a call sign is known to Marabella (including contest calls and other members calls) this error indicates that the FOC number you logged was not that member's number. The error analysis shows the number that Marabella was expecting. The QSO is counted.

Wrong FOC numbers often come about because operators of special event stations, e.g. G4FOC, W2FOC, are changed at the last minute. The warning is advisory - the QSO is still scored correctly, provided that the FOC number is correct and no other errors occurred.


Incorrect entity errors

DXCC entity errors

Marabella uses the very comprehensive and highly regarded Club Log prefixes database, cty.xml, to determine the entity of each QSO (thanks, Michael!). This information is only used to compute the number of FOC countries worked, so that entity bonus points can be correctly allocated.

Every now and again, an FOC member will turn up from a new entity or one that has changed its prefix. Or he'll use a wacky prefix which although a valid ITU prefix is not in general amateur radio usage. There is also an increasing and very unfortunate trend to use the wrong prefix altogether - DXpeditions to French and US islands are frequent offenders. Marabella is likely to incorrectly apply entity bonus points in these cases.

The solution is to always let Marabella update this important file. I will make a new version of cty.xml available immediately before the Marathon each year. If I realise there is a problem brewing during the event then I'll issue an updated database as soon as I can. My own logging program uses exactly the same entity database, so I have a good chance of noticing any problems but sometimes the first I know about it is when members start complaining that "Marabella got it wrong"!


Strategies for fixing logging errors

Always fix errors in your logging program

The only correct way to fix logging errors is to fix the source data. Either edit the QSOs in your logging program or, if for some reason that's not possible edit the Cabrillo (or other source) file to correct mistakes. When the errors have been corrected, run Marabella again and check to see that all the errors have been eradicated. If not, repeat the process.

Remember that "The number determines the point"

That's what the Marathon rules say and it's how Marabella works. The callsign is, for the most part not relevant. Scoring, dupe checking and so on are all based on the member's FOC number.

Remember that the error may be in a prior QSO

Sometimes Marabella will report an error for a perfectly correct QSO and the actual error is in an earlier QSO. There will always be an error somewhere in the log, either at the place that the error is detected or before that point. This is particularly so for unexpected FOC number has changed and Callsign has changed errors. Be willing to work back through your log, using the callsign/FOC number as the search parameter.

Always accept updates, especially to the entity and FOC calls databases

The entity and FOC calls databases are always changing. Entities come and go, or new prefixes that break the entity "rules" pop up, resulting in incorrect DXCC allocation. That's important, because entities means points in the Marathon! And, of course new members are appearing all the time, member's callsigns change and so on. I try my level best to keep up with all this and the latest databases will be as close as I can get them.


It's Marabella that got it wrong!

As far as I know, Marabella is fully debugged. In every Marathon from 2003 to 2025 (so far!) I have had a few people claim that Marabella was incorrectly throwing up errors but when I came to investigate, in every case the error reports were correctly identifying an actual logging error.

But it's always possible that you've uncovered a bug or perhaps a problem with one of the databases, so I am glad to hear from you if you're having difficulties that you can't seem to fix. Please continue to the next page...


Setting your preferences

Preferences enable you to set up a wide range of parameters that are specific to you and your logging program. With only two exceptions (your call sign and FOC number) all settings are optional and Marabella will work just fine without any need to make changes. However, you can, if you wish, fine tune Marabella to your environment via the preferences facility.

The preferences facility is accessed via the main menu | Operation | Set Preferences menu item.

Your preferences are saved whenever they are changed and are reloaded whenever Marabella is started. In the following pages I will describe the various options in detail.


User preferences

On this page you can set up your personal details.

My callsign This is set when Marabella is run for the first time. You can change it here if necessary.

My FOC # This is set when Marabella is run for the first time. You can change it here if necessary.

Auto updating You can disable automatic update checking if you wish but please only do so if the updating system is causing problems. The default is Enabled.


Input preferences

By default Marabella looks for Cabrillo files in C:\MarabellaIV\Logs. You can change the file type and location defaults here and Marabella will remember the location you have chosen for future runs.

Type Select the type of file that your logging program produces.

Location Click on Browse to set any location in your system (including networked drives) where Marabella will initially look for input files.


Cabrillo preferences

If Marabella is unable to recognise your Cabrillo file then you may be able to set these Cabrillo preferences to make the file readable. These preferences let you assign a particular word position to each of the fields that Marabella needs in order to do its magic.

Consider the following line from a Cabrillo file.

QSO:  7023 CW 2015-02-06 2308 G3WGV  599 1600 GM0GAV   599 1998

Note that each QSO line is made up of a number of fields separated by spaces. We number these fields from the left, counting QSO: as field 1. The date is counted as a single field.

To set Marabella to read this format, proceed as follows:

  • Ensure that you have ticked the Use these field positions checkbox.
  • Locate the RST sent field. It is field number 7.Set that in the RST sent thumb wheel, using the up/down arrows to select the right number.
  • Locate the His callsign field. It is field 9. Set that in the His callsign thumb wheel.
  • Locate the RST received field. It is field 10. Set that in the RST received thumb wheel.
  • Locate the His FOC number field. It is field 11. Set that in the His FOC number thumb wheel.

Note that if you use this facility you must define all four fields as described above.


ADIF preferences

The big issue with ADIF input files is where to find the worked member's FOC number. The ADIF specification, unlike Cabrillo, provides no guidance and different logging software writers have their own ideas, sometimes completely zany, about what to do with this field.

Marabella tries its best. It really does! Look at the ADIF specification to see all the different places that Marabella goes in search of the elusive member's number! But sometimes that just isn't enough and we have to invoke user-defined ADIF field specifications. To use this facility you will have to be familiar with ADIF and able to determine where the member's FOC number has been placed and what, if anything else, is in that field.

Consider the following ADIF record:

<CALL:4>PA5V <QSO_DATE:8>20150206 <TIME_ON:6>212455 <MODE:2>CW <BAND:3>80m <FREQ:5>3.500 <RST_SENT:3>599 <STX:4>2033 <RST_RCVD:3>599 <SRX:4>1865 <NOTES:12>FOC Marathon <COMMENT:4>1234 <EOR>

The member's number appears in the <COMMENT:nn> field. To tell Marabella to look there, just enter the field name, COMMENT in User defined "His FOC number". Note that you should just enter the field name, not any of the other characters.

It is possible that the FOC number is wrapped up in some other text. For example one popular logging program puts the number in the COMMENT field as in this ADIF record:

<BAND:3>40M <CALL:5>UR5MM <FREQ:8>7.030500 <GRIDSQUARE:6>KN67dm <MODE:2>CW <NAME:4>Rudy <OPERATOR:5>G3YJQ <PFX:3>UR5 <QSO_DATE:8>20170203 <TIME_ON:6>211310 <QTH:8>Privolie <RST_RCVD:3>599 <RST_SENT:3>599 <TIME_OFF:6>211310 <COMMENT:10><FOC-2081> <EOR>

Not only does this use ADIF field delimiter characters within a field (naughty!) but it also makes extracting the number an interesting challenge. Marabella defines the text before the number as the Lead-in and the text after it as the Lead-out. In this case then, the lead-in is <FOC- and the lead-out is >.

Another example (I'm being silly now) might be THEMEMBERNUMBERIS"1600"???.

<BAND:3>40M <CALL:5>UR5MM <FREQ:8>7.030500 <GRIDSQUARE:6>KN67dm <MODE:2>CW <NAME:4>Rudy <OPERATOR:5>G3YJQ <PFX:3>UR5 <QSO_DATE:8>20170203 <TIME_ON:6>211310 <QTH:8>Privolie <RST_RCVD:3>599 <RST_SENT:3>599 <TIME_OFF:6>211310 <COMMENT:26>THEMEMBERNUMBERIS"2081"??? <EOR>

In this case the lead-in is THEMEMBERNUMBERIS" and the lead-out is "???.

See how it works? You need to determine the lead-in and lead-out for your particular ADIF file. If there is no lead-in then leave Lead-in to his FOC number blank. Similarly if nothing follows the number, leave Lead-out following his FOC number blank.

The user defined field has another useful feature. If there are multiple words in the field (as there may well be for a comments field) then Marabella will search through every word in the field looking for the lead-in and lead-out sequences or a valid member number.

Notes

  • The lead-in/lead-out logic only operates in the user defined "His FOC number" field.
  • The ability to search multiple words in a field only operates in the user defined "His FOC number" field.
  • There can be no spaces between the lead-in, the member's number and the lead-out. In other words, the entire sequence must appear as a single word.
  • Marabella searches the user defined field before looking in other places for the member's number. The order of search is specified in the ADIF specification.


HTML preferences

The HTML tick sheets and, especially, the log sheet can be very long, so you can set options for the column headers to repeat at a fixed interval.


Warnings preferences

Often warnings created by Marabella are really nothing to worry about. For example you might make lots of non member QSOs during the course of the Marathon and, because no FOC number is logged, Marabella creates a warning. Sometimes all these unimportant warning messages make it difficult to see the important ones! You can instruct Marabella to ignore these errors.

Hide warnings for duplicate QSOs

Despite our best efforts we all end up with genuine duplicate QSOs in our logs. Ticking this box will suppress all duplicate QSO warnings.

Take care using this feature. What appears to be a duplicate may in fact be a case of incorrect logging. Remember the golden rule "the FOC number determines the point". If you enter the wrong FOC number then you might just create a duplicate where none really exists because you already worked the member with the number you entered. This is not a duplicate! It is a logging error that needs to be corrected. Marabella tries to help by also warning that the callsign for the supplied FOC number has changed. Do not ignore this warning!

Once you are certain that all duplicates are indeed genuine duplicates then you can hide the warning.

Hide warnings for missing His FOC number (e.g. non-member QSOs)

A missing His FOC number most likely means that you worked a non member. But it might be a valid FOC member QSO and you just forgot to enter his number. You need to check!

Once you are certain that all missing His FOC number warnings are for non-member QSOs then you can hide the warning.


Cabrillo format

The formal definition of the Cabrillo file format is at https://wwrof.org/cabrillo.

Note that Marabella now conforms to Cabrillo V3 specification, which no longer expects fields to be column aligned as shown below. Cabrillo V3 requires one or more spaces (white space) between each field and as a result ALL fields must be present. The only exception is the exchange received field, which being the last field can be blank for a non-member QSO.

CQWW Cabrillo format

CQWW Cabrillo format is the "default" and it should be supported by any logging program. It is the preferred format for Marabella. Note that the TN field is ignored and can be blank.

QSO: Freq  Mo Date       Time Call          RST Exch   Call          RST Exch   t

QSO: ***** ** yyyy-mm-dd nnnn ************* snt ****** ************* rcd ****** n

QSO:  3525 CW 2008-02-01 0711 G3WGV         579 1600   N3RS          599 888

000000000111111111122222222223333333333444444444455555555556666666666777777777788

123456789012345678901234567890123456789012345678901234567890123456789012345678901

Other Cabrillo formats

The following formats are supported by Marabella but the CQWW format should be used if possible.

TR Log General QSO Cabrillo template

QSO: freq  mo date       time My call                  His call      rst rst Exch

QSO: ***** ** yyyy-mm-dd nnnn ************* *** ****** ************* snt rcd rcvd

QSO:  7025 CW 2008-02-01 2105 K9QVB                    K9UIY         599 599 1627

000000000111111111122222222223333333333444444444455555555556666666666777777777788

123456789012345678901234567890123456789012345678901234567890123456789012345678901

N1MM bespoke FOC-BWQP Cabrillo template

QSO: freq  mo date       time My call         rst My name      My    His call        RST His name   His

QSO: ***** ** yyyy-mm-dd nnnn *************   snt ************ FOC   *************** rcd ********** FOC

QSO:  7027 CW 2015-03-28 0000 N3AM            599 John         1809  N3RS            599 SIG        888

QSO: 14024 CW 2015-09-12 1301 G4IIY           599 IAN          2015  OK2LA           599 Jindra     2080  00000000011111111112222222222333333333344444444445555555555666666666677777777778888888888999999999900000

12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234

The N1MM DX contest format

QSO: freq  mo date       time My call       rst  His call      rst  Name       Exch

QSO: ***** ** yyyy-mm-dd nnnn ************* snt  ************  rcd  ********** rcvd

QSO:  3521 CW 2015-02-06 2106 YO3FRI        599  GM0GAV        599  GAVIN      1998

00000000011111111112222222222333333333344444444445555555555666666666677777777778888

12345678901234567890123456789012345678901234567890123456789012345678901234567890123

Marabella field usage

Fields have their standard meaning and are used as such, except as noted below:

Mo Not used. It is assumed that you made the QSO on CW! The field is ignored but must be present.

Info sent

RST This field is only used in the logbook output but it must be present.

Exch This can be set to your FOC number. If it is, then Marabella will use it for your entry instead of the FOC number you provided for Marabella's set up. The field must be present in the CQWW template. It is non-existent in the TR Log format.

Info rcvd

RST This field is only used in the logbook output but it must be present.

Exch This must contain the FOC number of the station that you worked. The field can be left blank or set to 0000 or 9999 for non-member QSOs.

TN Not used. The field is ignored and can be missing from the record.

Cabrillo header

The following standard keywords are recognised. Keywords should be in UPPER CASE. Keywords shown in bold are required.

START-OF-LOG: Standard Cabrillo verb indicating that this is a Cabrillo file and giving the Cabrillo version, which is generally 2.0 or 3.0.

CREATED-BY: The software used to create the Cabrillo file

CALLSIGN: Your callsign.

END-OF-LOG: Standard Cabrillo verb denoting end of data.

User defined Cabrillo fields

If you have a Cabrillo file that refuses to follow one of the above formats then a facility exists in Marabella to define the location of each field in turn. These definitions are set up in User preferences.


ADIF format

The formal definition of the Amateur Data Interchange Format (ADIF) is at https://www.adif.org/

Marabella supports ADIF format source files. It is generally preferable to use Cabrillo source files if your logging program can create them. Marabella first converts the ADIF file to Cabrillo format and then processes the Cabrillo file.

Marabella ADIF field usage

Fields have their standard meaning and are used as follows:

<QSO_TIME> QSO time.

<CALL> His call sign.

<FREQ> Operating frequency.

<BAND> Operating band. Only used if no <FREQ> field is present.

<RST_SENT> Report sent. If My FOC number is not found in <STX> then word two, if present is used.

<RST_RCVD> Report received (word 1) and optionally his FOC number (word 2), see below.

<SRX> His FOC number. If the <SRX> field is not present then Marabella looks for the FOC number as described below

Finding his FOC number

Marabella tries really hard to find the His FOC number field. Various logging programs do the strangest things, making this a necessity. Logger32 even seems to use different fields when it feels like it, presumably based on some configuration option. Marabella searches ADIF fields in the following order, stopping as soon as it finds a valid FOC number:

1. User defined "His FOC number" field (see ADIF preferences)

2. <SRX>

3. <SRX_STRING>

4. <FOC>

5. <FOC_NUM>

6. <FOC_NUMBER>

7. <RST_RCVD> (as word 2)

8. <CONTEST_ID>

9. <APP_LOGGER32_USER_1>

10. <TEN_TEN>

11. <APP_N1MM_EXCHANGE1>

12. <APP_WRITELOG_FOC_NUM>

13. <NAME>

Members should try to ensure that their logging programs put His FOC number into one of the above fields, ideally in <SRX> which is where it really should be. I would prefer not to add numerous additional fields because that just increases the risk of a field being misinterpreted.

If you get No FOC number errors for every QSO in your log it means that Marabella has been unable to locate his FOC number in the supplied log format.If it is hiding there in some hitherto unexpected field then you can define your own His FOC number ADIF field in your preferences, which will enable you to fix this problem. See below for details.

ADIF header

The ADIF header is ignored by Marabella.

User defined ADIF fields

It is nearly impossible for Marabella to second guess where your logging program will put His FOC number! Over the years I have added fields as they have cropped up (see above) and now I have, (in frustration!) added user definition functions to Marabella. These definitions are set up in User preferences.

ADIF file format issues

Adding ADIF to Marabella opened a bit of a can of worms! There are many different interpretations of how an ADIF file should be constructed and every logging program seems to be subtly different. It is better to use Cabrillo if possible but there seems to be a trend to using ADIF instead and I guess this means that there will be more problems to fix. Please see Marabella doesn't work for me! for guidance on what to do if you have a problem.


Acknowledgements

Many thanks to the following members who have worked with me to make Marabella IV as good as it can be:

Beta trial

The beta trial for Marabella IV took place in early January 2021 and the team comprised Pista, VE3USP and Ken CT7AGZ/G4RWL. Several strange bugs were teased out of Marabella IV during the beta test phase and an number of features were refined and improved. I am grateful to Ken and Pista for their assistance. The Marabella you are using is a better product as a result of their hard work.

Databases

My thanks to Michael, G7VJR for making his Club Log entities database available. Marabella is a better program for being able to make use of it.

Thanks also to Tyler, N4TY who made the FOC database available in a format that can be used for Marabella. This saves me having to maintain my own members' database.


Marabella worked for me!

Great! Please let me know by sending me an e-mail to JohnL@g3wgv.com! Not many members bother to do this but the occasional words of support really do make it worthwhile and encourage me to continue. It does take a fair bit of my time and effort each year to get troublesome logs sorted out and to keep the development going.

What members have said about Marabella over the years

"I had never looked at this program before (Marabella) just sent in my log and prayed Hi Hi. What a nice piece of programming - and for me was easy install and run. The stuff some of you programmers turn out has to be a labor of love! Thanks for a great program." Hank, K7HP

"Thanks for developing such a great program!" Phil, G3SWH

"I am a long time user of Marabella and a huge fan of it. I sincerely appreciate G3WGV's contribution to Marathon logging. I believe I have used John's work since 2008." Vic, W9RGB

"I managed to get Marabella set up properly, for my log ADIF now and its working super. What an awesome piece of software. I shall certainly be using this from now on." Pete, G0PNM

"It worked right away and had no problem at all, very easy program to use, have used it several times in the past, and will also use it next year, if you still support it! Thanks a lot for supplying it to all of us in the club." Carsten, OY1CT

"On Monday I manually did the working out of my score. A long and tedious process as you are so well aware. Then I took a closer look at the cover sheet and read the information on the Marabella programme, downloaded it, made an ADIF file of my marathon log, and 'bingo', all done in a couple of minutes flat, and also came up with the same score as my manual effort. I encountered no problems at all, and I can only thank you kindly for an absolutely amazing utility. I would certainly be happy to recommend it to other members. You have my total, utmost and unbounded appreciation. Go well. Keep up the good work." Joe, 7Q7BP

"Just a quick email to say a huge thank you for all the work you put into making our lives so much easier with Marabella etc. It is all "magic" to me, I have enough trouble using software let alone trying to write any. I had to do some Pascal at Uni but it taught me that I wouldn't ever make a programmer." Tony, G3ZRJ

"A big thank you for your support with Marabella! It works great." Karsten, DL8LBK

Thanks guys. Your feedback is greatly appreciated.


Marabella doesn't work for me!

So you tried Marabella but it didn't work for you? Marabella now supports many different Cabrillo and ADIF input file formats but every year another variant seems to surface. I cannot possibly predict this and program for it in advance but what I will do is to take your input log and find out what the problem is. If I find a problem then I am on the case immediately and this generally results in a new version of Marabella within hours. With the new automatic update facility it is easy to always have the latest version.

If you are getting I/O errors or the program simply won't run properly then this may be because Windows or your anti-virus software has marked Marabella's folders as protected. See Installing Marabella for some helpful tips on fixing this problem.

What you can do to help

Send me a message directly at JohnL@g3wgv.com. This is far more effective that sending messages to the reflector, where I may well not see it in all the other messages.

Please help me to help you. A message along the lines of "Marabella doesn't work" with no other information is next to useless! I cannot possibly start on any diagnostic work unless I have some idea what is going wrong for you. If you can't make Marabella work then you can speed up a resolution to your problem if you do the following:

  • Tell me what version of Marabella you are using.
  • Tell me what Operating System you are running.
  • Tell me what you did and what the results were.
  • Always send me the input log file and send the output HTML files* as well, if they were produced.
  • Always ensure that you are using the latest version on Marabella and that your database files are up to date.

Please send as much information as you can to me at JohnL@g3wgv.com

* Each Marabella run creates a new set of four HTML files. See HTML output files for more information.


Technical notes

These notes are intended to give some insight into the technical design of Marabella IV

Development environment

Marabella IV was developed using the Delphi XE7 Rapid Application Development (RAD) tools and is now maintained using the more recent Delphi RAD10.4 environment. Delphi is an object orientated, Pascal-based language that I have found to be particularly well suited to the development of amateur radio applications. Marabella comprises approximately 5000 lines of code.

My current development computer as of the start of 2021 is a home-built AMD 3950 system on an ASUS Crosshair VIII motherboard with a 1TB Samsung 970 EVO Plus SSD, 2 off 4TB hard disc drives and 64GB of RAM, running Windows 10 Professional.

Databases

Marabella uses two databases:

Club Log's cty.xml is an entity database that is updated daily and is probably the most complete and accurate entity database available today. This database is only used to determine what entity the member you worked is in, so that Marabella can calculate the total number of entities worked for scoring. I am grateful to Michael, G7VJR for Club Log and for making the entity database available.

FOCCurrentCallList.txt is a database of all known current members' calls and their FOC numbers. This is derived directly from the FOC all time database maintained by Tyler, N4TY. Additionally, I maintain a file containing callsign/FOC numbers that for whatever reason do not appear in Tyler's list which is also folded into FOCCurrentCallList.txt. This database is used in the log error detection logic to cross check the exchanged received against the expected number for the member.

On-line update

I have always struggled to keep the latest versions of both the application and the databases out there in the wild. I therefore decided to implement an automatic update facility in Marabella III, which continues in Marabella IV and checks for updates whenever the program is run. If updates are found then they are offered to the user who can then select which, if any, to accept.

See How the online update works for more information.


HTML output files

Each Marabella run creates a new set of four HTML files with the following file naming convention:

<FOC#>~<callsign>~<Time-stamp>~<sheetname>

For example, here is a complete set of files produced by me during a beta testing run:

F-1600~G3WGV~2021-01-08T09-26-28~ticksheet.html

F-1600~G3WGV~2021-01-08T09-26-28~coversheet.html

F-1600~G3WGV~2021-01-08T09-26-28~logsheet.html

F-1600~G3WGV~2021-01-08T09-26-28~errorsheet.html

The file naming convention means that you can sort each set of results by callsign, FOC number or date/time of production.

If you need to send your results to me for help resolving a problem, please be sure to select the correct set and send all four files.

Accessing your HTML files

To open the folder containing your HTML files, click on the main menu, select View and then select HTML results folder.

Do not send HTML files to the adjudicator

Unlike previous versions, Marabella IV does not produce results for submission to the adjudicator. The Marathon adjudicator now has an on-line upload facility that expects Cabrillo or ADIF files, as produced by your logging program. Do not try to send any Marabella files.


Cabrillo work files

Accessing your HTML files

To open the folder containing your HTML files, click on the main menu, select View and then select Processed Cabrillo folder.


Program update service

When Marabella starts it attempts to connect to the Marabella server to see if there are any program updates available. This is completely automatic, requiring no user action but, of course, your computer must be on-line to the Internet for the update service to work. If updates are available then you'll see the following pop-up a few seconds after Marabella starts.

Generally it is recommended that you apply updates as soon as they become available. The entity and FOC member databases in particular are prone to frequent changes and the application itself often goes through several iterations around the time of the Marathon. Click Yes to open the updates window.

In this example you can see that the Entity database and Marabella version information file have been updated. The update checkbox is automatically ticked for each file that has an update waiting. You can choose which updates to apply. Any updates that you do not apply will be offered again next time you start Marabella.

Once you have selected what you want to download, click on Update.

Wait until the Update status shows Downloaded OK for all selected files. Note that an additional file is downloaded at the end of the download sequence. This is the restart program, used to restart Marabella with its new settings. When all downloads have completed the Restart button will appear. Now click on Restart. Marabella will terminate and restart with the new software and/or files.

Marabella update strategy

Marabella tends to lie dormant for about 11 months of the year. Just before the Marathon I take a look at it to see if there are any obvious changes needed (perhaps due to a tweak in the rules, for example). Immediately after the Marathon I usually get a flurry of e-mails, most of them telling me that it didn't work. Very very occasionally I get one telling me that it did work well and thanking me for the software. One tends not to hear from satisfied customers!

I investigate every issue that I am made aware of and will usually get back to members within 48 hours with a fix or a request for more information. Sometimes I need to tinker with the program and that means that there tends to be a flurry of updates in the two weeks immediately after the Marathon.

A note about on-line security

Marabella uses the HTTP get process to download files from https://marabella.org/downloads/. The only files held at this location are Marabella related and I regularly review the folder's contents. Marabella will only download files that are specific to the application. I have very advanced virus scanning software installed on all of my systems, automatically updated several times a day. If, despite this, you are concerned about the on-line security of Marabella's updating service then please do not use it. You can disable the automatic update check in your preferences. You can find out more about the files that Marabella downloads here.


How the on-line update works

The Marabella on-line update facility is intended to ensure that members always have the latest version of the application and the various files that are needed for proper operation. It works as follows:

  • Five seconds after Marabella is started a small file, UpdateInfo.txt is downloaded from https://marabella.org/downloads/. This file contains the version number of the current version of Marabella and the file changed dates of the various files used by the application.
  • Marabella compares the update versions with what it is currently running. If there are updates then the user is notified and can choose to view the updates form.
  • The update form shows the status of all items and, where there is an update available, enables and ticks an Update check box for that item. The user can un-tick any items he does not wish to update.
  • The user clicks Update.
  • Each of the updated files is downloaded in turn, the update status and progress bar show how the task is progressing.
  • A further file is downloaded, MarabellaRestart.exe.
  • The user is presented with a Restart button, replacing the Update button.
  • The user clicks Restart.
  • Marabella executes MarabellaRestart.exe and terminates itself.
  • MarabellaRestart.exe waits for two seconds to allow the Marabella application time to terminate. It then moves the downloaded files to their correct locations. Finally it restarts Marabella.
  • Marabella restarts then deletes MarabellaRestart.exe and UpdateInfo.txt.
  • The update process is completed.

Notes

  • The user can choose to disable the automatic update facility. In that case the user can select "Check for updates" from the main menu and the process starts as above, without the five second wait.
  • The user must, of course, be on-line for the update process to work.

File locations

If MarabellaRestart fails for any reason then the updated files will be in the wrong location and the update will, in effect, not have worked. All update files are placed in the \Updates folder. The correct disposition for these files is as follows:

cty.xml                           \MarabellaIV\Files

FOCCurrentCallList.txt            \MarabellaIV\Files

Marabella version information.txt \MarabellaIV

Marabella.chm                     \MarabellaIV

Marabella.css                     \MarabellaIV\HTML

Marabella.exe                     \MarabellaIV

The following files in \Updates are not required by Marabella and should be deleted:

MarabellaRestart.exe

UpdateInfo.txt


Download files information

The following files can potentially be downloaded by the Marabella update service:

File name Size Function

UpdateInfo.txt <200 bytes This file is downloaded, if updates are enabled, whenever Marabella is started. It contains details that enable the update service to determine what files need updating.

Marabella.exe ~4.2MB The Marabella application.

cty.xml ~8MB Club Log's entity database.

FOCCurrentCallList.txt ~82kB Members' callsign/number database, derived from Tyler, N4TY's official members database.

marabella.css ~3kB The CSS (Cascading Style Sheet) used to format Marabella's HTML output.

Marabella.chm ~700kB Marabella help.

Marabella version information.txt ~14kB Version release information.

MarabellaRestart.exe ~2.2MB The Marabella restart application, used to process downloaded updates and restart Marabella.