Previous disk News
Next disk News
Disk 15 News
COMET Reviewed by Ian D Spencer
-------------------------------
I was pleasantly suprised when Dave asked me to review the
COMET assembler. There is nothing that I enjoy more than
programming in assembler and I've used many, from the Infrared
assembler on the ZX81 up to assemblers on large mainframe
computers. I was especially intrigued by COMET as it is praised
so highly by SAMCO and has some impressive features such as up
to 400K of source code and the ability to include multiple
source and code files.
Normally I just jump straight in but this time I was lying in
bed with the flu when COMET arrived and so I did something
completely out of character and 'read the manual', which turned
out to be a 23 page handbook in a spiral bound A4 format. I was
impressed with the manual, it's very well written, though it
concentrates on COMET and is not orientated towards the
beginner. Don't expect a list of Z80 Mnuemonics or a Z80
assembler language course.
As a first step I loaded the 'Install' program which allows
you to customise your assembler to suite your taste with a
choice of screen fonts, colours and printer parameters. This
produces a working disk, so you don't have to use your master
copy and can put it safely away. At this point I'd already
decided that to give this assembler a real test I would transfer
my current project to it.
This transfer turned out to be more of a challenge than I had
expected. There are two conversion programs sensibly included to
convert source programs from the 'SC' and LERM assemblers but
being an odd ball I use the OCP assembler on Sam running under
Specmaker (yes, I like the OCP assembler despite it's one or two
funny quirks). Unfortunately COMET tokenises most of the input
to the editor, so for example if you type 'ld bc,1000' then the
' ld' and the 'bc' are each converted into a token which only
take a byte each. This is a very good idea because it saves
memory space and makes the assembly quicker but it does make
transferring programs from exotic assemblers a little tricky, so
that in the end I had to 'bite the bullet' and type it all in
again.
It wasn't however a total loss as I did learn a lot about the
'Editor', which automatically formats the input into label,
opcode, parameter and coment fields and converts all of your
opcodes and registers to upper case to give a very neat
presentation on a 64 character/line mode 3 screen. The author,
Edwin Bliss, has put in a number of features most often found on
professional editors, for example it doesn't use line numbers,
which really aren't necessary, and it allows 14 letter labels
(as does the SC assembler), the usual features such as insert,
block move, searching functions and so on are all present.
The commands are very sensibly chosen which meant I rarely
had to look at the manual. An example of this can be seen in the
function key layout, it's very logical, 'F7' which is at the top
of the function block means go to the first page and 'F0' which
is at the bottom of the block means go to last page. As you
might then expect, the two function keys inbetween 'F1' and 'F4'
mean page down and page up. This attention to detail simplifies
the handling enormously.
All in all, I rate the editor VERY GOOD and it has a very
professional feel to it, the only small irritation is the fact
that there is no 'status line' on the screen and so, for example
you can't see if you're in 'Insert mode' nor how big your file
is.
Obviously not only the editor is important and I was very
interested in the assembler itself. All assemblers 'assemble'
but what seperates the good from the bad (other than a good
editor) are the features they offer and how fast they are. From
the features point of view COMET looks good, especially
interesting is the 'include' pseudo-operation which allows you
effectively to merge other source files into the assembly as you
run it, and the ability to insert existing code files into the
output code, so for example you can build up a handy set of
routines and can include them in any future programs.
There is however a restriction if you want to include code
files, this program is not what the professionals call a
'Linker' which means it's mainly useful for relocatable routines
or graphic screens (as demonstrated in the manual). If your
routines aren't relocatable (and most aren't), then it's better
to include them as source code.
COMET is fast, it even switches off the screen to get the Z80
running at it's full 6Mhz and I don't think anyone would
complain about the speed of assembly. From all of that you will
probably get the idea that I am impressed with this assembler
and you would be right. The author has given a lot of thought to
many of the complex areas of both the editor and the assembler
and done a first class job. Unfortunately there are weaknesses
and suprisingly they are in what would normally be considered
the 'easy' parts of the package.
Take my first try at assembly, after correcting all of my
typing errors it assembled with 'zero errors' and on the screen
was a code length of 2050 bytes. Obviously I now wanted to save
both my source file and code file (COMET calls it an Object
file). So I went to command mode and typed smyfile, the 's'
(save source file) was accepted but it then asked me for the
file name, it wouldn't accept the file name with the command,
even though many other COMET assembler commands do use this
format. On the plus side if you already have a copy of your file
on the disk then it automatically renames it from 'xxxx.s' to
'xxxx.b' as a backup file, this is very useful, especially if
your new version turns out to be a complete disaster, as mine
often do.
I then wanted to save the 'object' code. It not only wanted the
name input seperately but asked me for the start address and
then the length of my code. This really suprised me, the
assembler had just assembled my code it knew where it was in the
memory and how long, I at least expected these to be used as
default parameters but no, after assembly you have to write them
down on a piece of paper and then type them in again.
My first try at reloading the code (object file) was also a
disaster because COMET didn't name my file 'myfile.o' but uses
10 character names, so it was 'myfile space space .o'. That in
my opinion is totally unnecessary and just makes the file
handling awkward. Worse was to come, I reloaded my program and
tried to run it, Sam didn't like it and crashed. In fact my
program wasn't even loaded and my object file was empty, the
reason was that I had used an 'ORG 50000' statement to tell the
assembler that my code should run from location '50000' but with
COMET you also have to use a 'DUMP 50000' or 'DUMP $' command to
tell COMET where to put your program in the memory as it doesn't
automatically default to the ORG address. Where COMET puts your
code if you don't use the 'DUMP' pseudo op is not mentioned in
the manual and the assembler doesn't report any error ( I
suspect it defaults to location 32768).
What else didn't I like ? Well when displaying the main menu
the whole screen flashes continuously making it very tiring to
read and serves no usefull purpose, though using the install
program you can turn this feature off. From the main menu I
tried to select a directory in the ramdisk 'd3' but the ramdisk
wasn't formatted, it reported 'Device not available - press a
key' but on pressing a key it just repeated the message, in fact
the program was completly hung-up and the only way out I could
find was a 'reset' losing all of my source code in the process.
The listing is only to the printer you can't list to the
screen to have a 'quick look', however you can tell COMET to
only list part of your program so it doesn't have to waste too
much paper. Also the listing isn't very tidy, it doesn't try to
page the output but just prints continuously over the
perforations. There isn't a symbol table at the end of the
listing, if you want one then you have to type the command 'V*'
and when it's printed it isn't alphabetically sorted, so if you
have a 400K program with 1000 labels and want to look for a
particular label it could take some time to find.
One last small point is that COMET marks all of the memory
pages it is using as 'Software reserved' which is a good idea as
then masterdos will not overwrite them. Unfortunately when you
return to basic from COMET the pages are not released and so
stay unavailable to Masterdos until you do a 'RESET'. Also
'RAMTOP' is left set at a very low value which means unless you
move it, trying to load something new is likely to produce an
'OUT OF MEMORY' report.
Most of what I've just said refers to grumbles and not
serious problems and I hope that Edwin may find the time to
'tinker' with the file handling/listing areas in what is without
a doubt a very good assembler. The question is would I recommend
it? Well at #29.99 it costs nearly three times as much as the
other Sam assemblers and I feel that at this price it should
have included a machine code monitor and disassembler, after all
with Sam's large memory it's really logical to have the
assembler and monitor in the memory at the same time. I don't
know about others but my programs never run first time and I
always have to use a debugging program. It's as I say, a good
assembler but in my opinion doesn't have enough extra features
to justify the higher then average price tag. .
.
GERMAN SPECTRUM/SAM PROFI CLUB (SPC)
------------------------------------
A news item from Ian D Spencer
------------------------------
Germany has a small but loyal band of Spectrum users to which
can be added an even smaller but just as loyal group of Sam
enthusiasts. At the present time about 150 of us are members of
'SPC' which is the 'Spectrum/Sam Profi Club' and we communicate
mostly via our monthly newsletter 'Rainbow User'. The idea of a
club meeting has been discussed many times but due to members
being scattered all over the country it didn't seem like a
feasible suggestion. That was, however, not going to stop our
joint chairmen (in this case chairpersons) of the club, Wolfgang
and Monika Haller, who decided against all odds to dive in at
the deep- end and book a room at the hotel 'MONDIAL' right in
the heart of Cologne.
On the 10th of October I turned up complete with my Sam setup
(and fingers crossed) to be greeted by the first group of about
10 enthusiasts. However it wasn't long before a number of
systems were up and running and the crowd of nearly 50 members
had filled the small room to capacity and a general good hearted
chaos took control. Many members had brought their systems and
in the end there were about 10 Spectrums and 2 Sams all
hammering out music and graphics to an enthusiastic throng. The
systems were really varied and included, Spectrums with
microdrives, Beta disk, Opus and Plus D's and even a home-made
Spectrum copy running at 10 Mhz which generated quite a lot of
respect.
Stephan Haller and myself spent all day demonstrating Sam to the
Spectrum users, for many it was their first chance to see the
Coupe in action and I think everyone was impressed with the
quality of the graphics and sound. I'm fairly sure that this
demonstation will lead to an increase in the number of Sam users
here in Germany. The graphics programs from Dave Tonks were
especially well received by everyone and did more than their
share to impress (especially the 1MB WALKER demo). Every sam
user wanted a copy of the 'Frog on the swing' and the other
animated demos.
When I could tear myself away from demonstrating I managed to
dive into the crowd and come out with a couple of programs I had
been looking for and an Interface 1 for DM15 (about 5 pounds).
Some members had left home at 4 a.m. in the morning to get to
the meeting and although tired I think everyone left the meeting
in the evening with the feeling that it had been a great
success. Wolfgang is already talking about the meeting next year
to celebrate 10 years of the Spectrum as being 'Something
special', though anything more sucessfull than this year would
be hard to imagine.
________________________________________________________________
THE BIRMINGHAM ALL FORMATS SHOW (10/11/91)
The show was held at the National Motorcycle Museum Birmingham,
and as is usual at these shows, the Supplement was represented.
Again I dragged myself from my bed at some unearthly hour, and
proceeded to load the car with what seems like most of my
computer equipment.
These shows get easier, as I only have to whistle, and my Sam
will jump off the desk, and pack itself into its carrying case,
its so used to it by now.
Anyway, having got to the show and set up the stand, made sure
that everything was working, it was just a matter of waiting for
the public to appear.
We weren't to be disappointed.. at 10 o clock the doors were
opened and the public streamed in by the hundred. I was kept
busy for most of the morning just trying to keep by the
machines, and great interest was shown in both the Sam and the
Supplement.
As is normal at these shows, a lot of the people were already
members of the mag, and wanted to chat about their latest
program or discuss some problem that had arisen. At one stage
the scene behind our stand looked like the Sam computer club,
with little groups of people gathered round, getting to know
each other and talking over computer related problems and hints.
The rest of the Sam contingent for most of the day, only
consisted of the Samco stand and Bob Brenchley on the Format
stand. Colin MacDonald was held up for 6 hours and didn't
arrive until late afternoon, and neither PBT or Blue Alpha came
at all.
I understand that Paul of PBT had recently been in hospital, so
this could have been the reason for his absence.
There was, as usual, plenty of computer orientated bargains to
be had from the many traders that filled the 3 halls, and I got
a couple of items that I needed at silly prices.
All in all, a good show, and I hope to see more of you at the
next one.. D.T
A great piece of news is that Prince of Persia is finally on
sale. I hope to be able to publish a full review in the next
issue.
----------------------------------------------------------------
Andy Wright is at this moment working on a games designer for
the Sam. I saw a demo of this at the show, and it looked very
good.
With it you will be able to design your own games without having
to learn machine code. This was of course tried on the Spectrum
in the shape of HURG, but the Sam version will of course be much
more colourful and will give more flexibility for your designs.
Further news on it as soon as I get it.
----------------------------------------------------------------
.
Link to the top of this document
Link to the main index
Previous disk News
Next disk News