[Coco] CASM Cross Assembler V3.0 Alpha

Roger Taylor rtaylor at bayou.com
Fri Apr 9 19:52:18 EDT 2004

Ok, that'll work great.  Your -raw option looks like CCASM's -nr option, as 
I suspected.  This forces a ROM-like binary without any padding, as 
well.  Any RMB's are converted to data, and ORG headers are not output 
(however, they can be used to set the base address).

Disk BASIC, ofcourse, deals with multi-record binary files (LOADMable) 
quite well no matter how many ORGigin headers are encountered or (to my 
knowledge) the size of each.  I don't have a clue why EDTASM output such 
small packets, but that's the first thing I did away with when I created 
CCASM.  I haven't had a file yet to be rejected by Disk BASIC.  In fact, 
you can manually SAVEM a block of RAM of a large size and go check that 
disk file and it will be a single-record file instead of a multi-record.

Also, your -o= option appears to accept a pathname instead of just a 
directory name.  Portal-9 forces an output file based on what you tell it 
to create.  Without the filename being known, any assembler could really 
output anything it wanted to and the IDE would have no way of knowing what 
file was created for the binary.  CCASM accepts a full pathname for the 
output file.

Oh, I am getting some phasing errors with CASM with source that is quite 
simple, so I will write you about this in a while with the code and let you 
take a look.  Other than that, I have one Portal-9 project (called 'Rom 
Pak') which is assembling and running in M.E.S.S. perfectly when assembled 
using your CASM.  Your -rom option computes an 8k rom, which mounts fine, 

Keep up the good work.

At 09:31 PM 4/9/2004 +0000, you wrote:
>-bin causes CASM to generate single or multi record files depending on
>the size of the output file. Each record can be up to 32k before it
>starts a new record. I'm in the process of updating it to allow for a
>full 64k record. I know that some of the CoCo assemblers like Macro-80c
>and Edt/Asm 64, and Edt/Asm III used to generate multiple record with
>128 to 256 bytes per record depending on the assembler.
>The formats that are implemented or are planned are as follows:
>-bin    - RS-DOS binary
>-rom    - Padded ROM file
>-os9    - OS-9 module (via mod directive)
>-raw    - raw binary output (same as -rom but with no padding)
>-s19    - Motorola S Record format (historical legacy)
>-mod    - Shared library module
>-noout  - Disables the creation of the output file (used for debugging)
>Currently the -rom option relies on -romsize in order to specify a size
>other than 8k. The next release will change this and use the CCASM
>syntax of -rom[=size]
>The following formats are planned but not completed:
>-rof    - RMA relocatable object file (ROF)
>-erof   - Extended ROF (dependant on ROF support)
>Some other options are:
>-6309         - Enable 6309 opcodes
>-I=directory  - Add directory for includes/lib/use
>-O=directory  - Set the output directory
>-D=label      - Define label
>-C            - Use case sensative labels (dunno if this still works)
>-N            - Sets the output name

Roger Taylor

More information about the Coco mailing list